Classpath Behavior with Datasource

If I put this line in my orion-web.xml
<web-app-class-loader search-local-classes-first="true"  include-war-manifest-class-path="true" />I get this exception when my application module is checked out
JBO-30003: The application pool (website.model.services.WebsiteServiceLocal) failed to checkout an application module due to the following exception:
oracle.jbo.JboException: JBO-29000: Unexpected exception caught: java.lang.ClassCastException, msg=com.evermind.sql.OracleConnectionBCELProxy__com_evermind_sql_OrionCMTConnection__SQLBCELProxy
If I remove the entry to load local classes first, I have no problem. Are my local classes conflicting with the server's? I have gone through every jar, and cannot find the one responsible. Has anyone seen this?

I had a similar problem and I don't know the cause of it either. After I commented out that same line I was able to use Data-Sources. The error I got was:
JBO-30003: The application pool (myservices.appmodules.MyAppModuleLocal) failed to checkout an application module due to the following exception:
oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-27200: JNDI failure. Unable to lookup Data Source at context jdbc/MyDS

Similar Messages

  • Get default audit field behavior with an external datasource

    Others have posted and blogged extensively about creating a robust audit trail for LightSwitch. However, if you are looking to achieve the default behavior with an external datasource, you could simply add the fields to your database
    and write code in every entity's Inserting() and Updating() method.  However, if you have many tables in your app this can be a lot of work.  Here is a very easy way to DRY this up. 
    1. Add the audit fields to your tables
    - CreatedBy
    - DateCreated
    - UpdatedBy
    - DateUpdated
    2. Use this code in the DataService class for your datasource.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Microsoft.LightSwitch;
    using Microsoft.LightSwitch.Security.Server;
    namespace LightSwitchApplication
    public partial class ApplicationDataService
    partial void SaveChanges_Executing()
    EntityChangeSet changes = this.Details.GetChanges();
    IReadOnlyCollection<IEntityObject> addedEntities = changes.AddedEntities;
    IReadOnlyCollection<IEntityObject> modifiedEntities = changes.ModifiedEntities;
    if (addedEntities.Any())
    foreach (IEntityObject entity in addedEntities)
    InsertAuditFields(entity);
    if (modifiedEntities.Any())
    foreach (IEntityObject entity in modifiedEntities)
    UpdateAuditFields(entity);
    private void InsertAuditFields(IEntityObject entity)
    string userName = this.Application.User.FullName;
    DateTimeOffset currentDateTime = DateTimeOffset.Now;
    entity.Details.Properties["CreatedBy"].Value = userName;
    entity.Details.Properties["DateCreated"].Value = currentDateTime;
    entity.Details.Properties["UpdatedBy"].Value = userName;
    entity.Details.Properties["DateUpdated"].Value = currentDateTime;
    private void UpdateAuditFields(IEntityObject entity)
    string userName = this.Application.User.FullName;
    DateTimeOffset currentDateTime = DateTimeOffset.Now;
    entity.Details.Properties["UpdatedBy"].Value = userName;
    entity.Details.Properties["DateUpdated"].Value = currentDateTime;
    Hopefully this helps someone.

    This version will check whether the table has the audit properties, thus allowing you to opt in.  Paul's solution is going to be better in the long run because it checks at compile time.  This was meant to be a quick way to get the default behavior. 
    This is not a substitute for a full audit capability (see Paul's blog) if that is your requirement.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Microsoft.LightSwitch;
    using Microsoft.LightSwitch.Security.Server;
    using Microsoft.LightSwitch.Details;
    namespace LightSwitchApplication
    public partial class ApplicationDataService
    partial void SaveChanges_Executing()
    EntityChangeSet changes = this.Details.GetChanges();
    IReadOnlyCollection<IEntityObject> addedEntities = changes.AddedEntities;
    IReadOnlyCollection<IEntityObject> modifiedEntities = changes.ModifiedEntities;
    if (addedEntities.Any())
    foreach (IEntityObject entity in addedEntities)
    if (AuditProperties(entity))
    InsertAuditFields(entity);
    if (modifiedEntities.Any())
    foreach (IEntityObject entity in modifiedEntities)
    if (AuditProperties(entity))
    UpdateAuditFields(entity);
    private bool AuditProperties(IEntityObject entity)
    bool hasAuditProperties = true;
    bool createdBy = entity.Details.Properties.Contains("CreatedBy");
    bool dateCreated = entity.Details.Properties.Contains("DateCreated");
    bool updatedBy = entity.Details.Properties.Contains("UpdatedBy");
    bool dateUpdated = entity.Details.Properties.Contains("DateUpdated");
    bool[] checkForAuditProperties = new bool[]
    createdBy,
    dateCreated,
    updatedBy,
    dateUpdated
    if (checkForAuditProperties.Any(a => a == false))
    hasAuditProperties = false;
    return hasAuditProperties;
    private void InsertAuditFields(IEntityObject entity)
    string userName = this.Application.User.FullName;
    DateTimeOffset currentDateTime = DateTimeOffset.Now;
    entity.Details.Properties["CreatedBy"].Value = userName;
    entity.Details.Properties["DateCreated"].Value = currentDateTime;
    entity.Details.Properties["UpdatedBy"].Value = userName;
    entity.Details.Properties["DateUpdated"].Value = currentDateTime;
    private void UpdateAuditFields(IEntityObject entity)
    string userName = this.Application.User.FullName;
    DateTimeOffset currentDateTime = DateTimeOffset.Now;
    entity.Details.Properties["UpdatedBy"].Value = userName;
    entity.Details.Properties["DateUpdated"].Value = currentDateTime;

  • Erratic Report Region Behavior with Dynamic SQL Queries

    I'm running HTMLDB v 1.5.1.00.12 and I've noticed some odd behavior with report regions using dynamic SQL queries. Every so often, our testers will run a page containing a dynamic sql report region and get the following error, (despite the fact the query was working only moments ago and no other developer has touched it):
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    or sometimes
    failed to parse SQL query:ORA-01403: no data found
    The only solution I've found so far is to:
    1) Make a copy of the failed report region.
    2) Disable or delete the original failed report region.
    The new copy of the report region runs without issue.
    My search of the forums turned up the following two threads, but neither provided me with a clear explanation of the cause, and how to avoid it:
    ORA-06502:PL/SQL: numeric or value error: character string buffer too small
    Re: Import Export Error (ORA-06502)
    The columns being returned are below the 4000 character limit, and the rows being returned are far less than 32k in size.
    Could this have anything to do with the way HTMLDB is internally storing the PL/SQL used to generate the dynamic SQL Query? Is there any known issue related to this with that version of HTMLDB?
    This problem occurs without any discernable pattern or consistency, making it hard to determine where I should focus my efforts in tracking down the cause.

    Hi all,
    My report seems to be behaving correctly once i set it to "Use Generic Column Names (parse query at runtime only)" :)
    Cheers,
    Joel

  • Strange window behavior with CS5

    I have begun experiencing strange behavior with PS CS5. I should begun with the machine configuration: 2.66GHz iMac (8,1) Intel Core Duo with 4GB RAM and OSX 10.6.6, Radeon HD 2600 Pro graphics card. The initial symptom showed up suddenly as an inability to display an image window; that is, I could open PS normally, everything would show up properly, but when I opened an image file of any sort, there would be no image window. Other cues indicated that the file was open; for example, the window menu would show it selected, and the layers palette would show the file's layers.
    It did not seem to matter what type of file was involved: PSD, JPG, TIF, whatever. Occasionally, this behavior would begin during a session. Sometimes it would happen right off the bat. Sometimes, stopping and restarting PS seemed to clean things up; other times, this had no effect. After messing around quite a bit with different permutations and combinations, all I could say was that the problem was random.
    I might add that I've had PS CS5 on this machine pretty much since it was announced, and had not had problems with it before. So this issue came along quite suddenly a couple of weeks ago. This was a little after I'd installed an update for Nik's Viveza 2; and I began to suspect that. Although why Viveza should do such a strange thing was odd, and Viveza was never part of the files I was experiencing issues with. Anyway, I went back to an earlier version of Viveza and the problem persisted.
    Since I run Time Machine, I also went back to versions of the entire PS folder from a month back, and found the same problem. Along the way, I experimented with the files I was using with PS CS4 & CS3, which I also have installed on this machine. These two versions of PS run perfectly well. At least the CS4 version has precisely the same plugins as the CS5 folder, and this seems to discount the potential problem with plugins.
    To be sure about CS5, I completely deactivated, deinstalled, and reinstalled it. The same issues occurred. Now, I have to admit that I let PS run its update process so that I brought it back to the most recent version in this step of my troubleshooting. So, I can't be certain that the issue isn't with some update of CS5.
    I might add that I have been running CS5 in 32-bit mode, for compatibility with certain plugins. This may or may not be an issue, since I have limited experience with running in 64-bit mode. At this point, I should add a bit more about the confusing behavior.
    While messing around with CS5, I also suspected the GPU support, since my problem had to do with windows. When the problem presents itself, the usual cycle through window views that you get by pressing the "F" key seems to get messed up. In particular, the "F" key doesn't work at all. Next, if you use the View menu to select different views, the full screen with menu bar view will often have garbled pixels, while the full screen view will show a blank grey screen. Then, cycling back to a window view will show a window with blank grey contents. This is interesting since the starting point was no window at all; but going into full screen and then back will produce a window with bogus contents.
    Now, the next strange thing, having to do with the GPU, is that CS5 often fails to recognize the Radeon HD 2600 card. Oddly enough, it did originally. And I had it running in Basic mode. However, CS4 does recognize the GPU; and I can set it in any variety of modes: Basic, Normal, and Advanced. This behavior is not consistent at all either; that is, while CS5 almost always now fails to detect the GPU, sometimes it does. As near as I can tell, this failure to detect the card does not depend upon whether I start CS5 in 32-bit or 64-bit mode. OTOH, CS4 always recognizes the GPU.
    Another form of this odd behavior arises if I start CS5 cold, and then just open a new blank window. This almost always works. I get a blank white window, and I can paint on it with a brush, etc. However, if I go ahead at this point and open a file, then the new file takes over the window; and there are no tabs. If I select the original new file, usually labelled "Untitled", the window bar will show the change of filename but the window's contents and the layers palette will continue to show the old file that I had opened. Cycling through views can sometimes get back to the new Untitled file, but just selecting file windows never works.
    Yet another aspect of this messed up window behavior is that the workspace bar, which shows the Bridge, MiniBridge and view icons on the upper left and the various workspace options and CS Live on the upper right, is present but blank. OTOH, the tool bar is always displayed correctly, as is the horizontal bar that shows the various tool options. Likewise, the palettes for the workspace such as layers, swatches, adjustments, and so on, are always correctly displayed on the left.
    My next steps in trying to figure this out will be to ensure that I am running the latest of all plugins so that I can get everything running in 64-bit mode and try this again. However, the single factor that seems consistent in this whole mess is that whenever I do find this odd behavior, the performance preferences window will indicate that CS5 is not detecting the GPU. Whenever this happens, if I open up CS4 and check the same performance preference in it, the GPU is detected. I can have the two preference windows side by side on the screen in fact, CS4 sees the GPU and CS5 does not. The counter-indication is that sometimes CS5 will work properly and the preferences window still shows that the GPU has not been detected. Having said that, I can add that if I have opened up CS5, and it has found the GPU, and I have set it into, say, Basic mode, and then later found CS5 messing up, and I go back and check the performance preferences again, the GPU has always been lost. So, CS5 can mess up windows with or without the GPU detected and active; but when if it started with the GPU present, it will show up as lost after the weird behavior starts.
    To add one more observation, I have had Macs and other computers with failing GPUs. This computer is showing none of the typical signs of that. Every other program seems to be working just fine, and I have a lot of these, many graphics intensive; e.g., Corel Painter 11, Parallels v6 running Windows 7, PS CS4, Lightroom v3, Aperture v3, and so on. It is just CS5 that is messing up.
    I could load up this message with screen shots of all this nonsense, but I'm not sure what that would add to the strange tale, other than I'm not pulling your legs. I am, however, pulling out my own hair.
    As I stated before, this began quite suddenly a couple of weeks ago, early Feb 2011. My best guess as to cause is some combination of incompatible updates between CS5, OSX, and maybe some plugin or other. I found unusual behavior with onOne's FocalPoint v2 last year after Apple updated GPU drivers in some OSX update, and cratered that program. It took onOne a month or two to fix that. I have CS5 on a laptop with the same OSX version, and on that I haven't seen these issues; but then, I haven't been using it as intensely over there. Also, that machine has different CPU and GPU models than this iMac.
    So, to the community: is anybody else starting to see this odd stuff? Am I alone?

    Here's the reason I say that the same plugins exist for both CS4 & CS5. Sometime last year, the internal hard drive on this computer died (as they so often do), and it was replaced under the Apple care warranty. As a consequence, I decided to rebuild the OS and applications from scratch and bring back my user files from backup. I among other things, I reinstalled all of CS4 as well as CS5 (and I had to put CS3 back too for reasons having to do with printing calibration images for Quad Tone RIP). Then, I went to reinstall the plugins that I needed. I use Nik Software, onOne, Portrait Professional and various Topaz plugins. To my recollection, most of these install in PS CS3, CS4, CS5, Aperture, and Lightroom. In short, it is not that I've copied or moved plugin folders from one application folder to another, just that the installers automatically detect the presence of the various applications and put the various plugins into each, as appropriate.
    The only 32-bit plugins that I have that don't fit into this category are from Vincent Versace. He provides special versions of certain Nik plugins (Tonal Contrast, Contrast Only, etc) that function with some Acme Educational extensions for performing B&W conversion, sharpening, blah blah blah. These plugins are only 32-bit and the extensions are only CS5 compatible. I've installed these ones only into CS5; so, you've got me. OTOH, I've had these from Vincent as soon as CS5 was available; and they've worked so far without problems. Perhaps I should just edit the extensions so I could use the latest plugins direct from Nik instead of the Versace special editions...
    I've checked fonts and repaired permissions. I am presently going through the rather tedious process of disabling plugins and extensions to see if anything yields consistent results. The rather random arrival of the strangeness makes ensuring that a change is really having an effect more difficult to validate, as you will appreciate.
    I apologize for my long-winded original post. I add all of the detail so that anyone who'd experienced similar strange behaviors might properly pattern-match what they were seeing. On the one hand, in finding the cause of a problem, you look for what's changed; and theoretically nothing is new. On the other hand, there's always so much changing behind the scenes with automatic updates of this, that, and the other thing that it's impossible to make the claim that nothing's new. 

  • Strange Permissions Behavior with Public/Private Drop Box

    Strange Permissions Behavior with Non-Course Drop Box
    In an effort to promote iTunes U on campus this semester (and to get people working with audio and video more) we're having a contest in which people can submit personal or group audio/video projects.
    This being an iTunes promo, we intend for students to submit their contributions via a drop box.
    To that end, I began experimenting with drop boxes in iTunes U, which I haven't done much of previously. I've created a course called "iTunes U Drop Box Test" under "Campus Events". Within that, I have two tabs: "Featured Submissions" and "Dropbox". My goal with this drop box was to allow faculty, students and college folks the ability to use the drop box ("college" being a role I've defined for those who don't fit into the faculty/student roles).
    When I first started experimenting, access to the "iTunes U Drop Box Test" course looked like this:
    --- Credentials (System) ---
    Edit: Administrator@urn:mace:itunesu.com:sites:lafayette.edu
    Download: Authenticated@urn:mace:itunesu.com:sites:lafayette.edu
    Download: Unauthenticated@urn:mace:itunesu.com:sites:lafayette.edu
    Download: All@urn:mace:itunesu.com:sites:lafayette.edu
    --- Credentials ----
    Download: College@urn:mace:lafayette.edu
    Download: Instructor@urn:mace:lafayette.edu
    Download: Instructor@urn:mace:lafayette.edu:classes:${IDENTIFIER}
    Download: Student@urn:mace:lafayette.edu
    Download: Student@urn:mace:lafayette.edu:classes:${IDENTIFIER}
    For the "Featured" Submissions tab, I gave the non-system credentials the "download" right, and for the "Dropbox" tab I gave the non-system credentials the "dropbox" right.
    My understanding of this setup is that everyone should have had the ability to view the course and the contents of the "Featured Submissions" tab and that those in the College/Instructor/Student roles would be able to upload files via the "Dropbox" tab ... but not see the contents of said tab after the files were uploaded (aside from any files they uploaded themselves).
    This is not the behavior we saw however. While the College/Instructor/Student roles could upload files to the dropbox, everyone (including the unauthenticated public) was able to see all of the contents of the dropbox.
    The only way I could get this to work as advertised was to change all of the system credentials save the "Administrator" to "No Access":
    --- Credentials (System) ---
    Edit: Administrator@urn:mace:itunesu.com:sites:lafayette.edu
    No Access: Authenticated@urn:mace:itunesu.com:sites:lafayette.edu
    No Access: Unauthenticated@urn:mace:itunesu.com:sites:lafayette.edu
    No Access: All@urn:mace:itunesu.com:sites:lafayette.edu
    Once I did this, everything worked as advertised: College/Instructor/Student roles could upload tracks, and the "Dropbox" tab would only display tracks they uploaded.
    So my question is ... is this the correct behavior for the drop box? It looks like when the system credentials are in play, they're simply overriding whatever the normal "view" rule is for the drop box, which doesn't seem right.

    Your current configuration where things work as you wanted does seem correct to me. You are not using any System Credentials to accomplish the functionality and that's fine.
    Here's some more info to clarify how / why this is working for you and why you had to set "No Access" for the System Credentials:
    The System Credential "Authenticated@..." is going to get assigned to any user that goes through your transfer script. Even if you transfer script assigns no credentials to a user, upon entering iTunes U they will have at least 1 - the "Authenticated@..." credential. Therefore, unless you block access using "No Access", any user that passes through your transfer script is going to be able to access the area in question.
    When you change values for "Unauthenticated@..." or "All@..." you are defining what someone that DOES NOT pass through your transfer script can do. You want both of those to be "No Access" at the top level of your site if you do not want unauthenticated visitors.
    The distinction between "Unauthenticated" and "All" is that "All" applies to all users whether they pass through the transfer script or not.
    Here's another way to remember things:
    User passes through your transfer script, iTunes U automatically assigns:
    Authenticated@....
    All@....
    User does not pass through your transfer script and instead access your iTunes U site through derivable URL*, they get assigned:
    Unauthenticated@....
    All@....
    *The derivable URL for a site is: http://deimos.apple.com/WebObjects/Core.woa/Browse/site-domain-name
      Mac OS X (10.4.6)  

  • Strange behavior with DefaultCellEditor

    Hello everybody,
    I found a strange behavior with DefaultCellEditor using a JTextField in a JTable. The following line will show, what I mean:
    setDefaultCellEditor(String.class,new DefaultCellEditor(new JTextField()));
    Imho this should do the same as JTable does already, when it installs a JTextField as default cell editor for cell values of the String class. But, it seems, that it is not the same:
    When I add this line in the constructor of a JTable subclass the editor component seems to be less wide and less high to the right and bottom - it looks so with Win95 with JDK 1.4.0 - but with Win2000 it is correct for example.
    My question is - how can it be, that the normal default cell editor does not have this behavior but when I use the line above, it is displayed in the wrong way?- What does the default cell editor in another way than I do it, that it has not this ugly display?
    I would like to look in the sources, but unfortunately I can't find the source code in JDK 1.4.0 - perhaps you have a hint, where to find it.
    greetings Marsian

    It seems the Label doesn't like it, that it is in a GridCell with rowspan = 2
    If it is in a normal cell (no rowspan), it works.
    If I add ColumnConstraints to the gridpane, it kind of works, but the Label still occupies more space than it should.
    Edited by: csh on 19.07.2012 03:51

  • Strange behavior with Collections

    Hello!
    I have a - from my point of view - strange behavior with a List (same also applies to Vector, LinkedList, and others):
    List<String> myList = new myList<String>;
    myList.add("One");
    while (true) {
    try {
    System.out.println(myList.size());
    throw new Exception();
    } catch (Exception e) {
    e.printStackTrace();
    }And the result is 1, 2, 2, 2, ...although I added only one element. The two elements in the List point to the same object.
    What could case this issue?
    Regards,

    len00x wrote:
    List<String> myList = new myList<String>;This doesn't even look like it will compile for at least one reason, easily two.

  • Strange behavior with Label#setWrapText(true) in GridPane.

    I've got a strange behavior with a Label, which has setWrapText(true) in a GridPane.
    Check out the sample and click the button.
    You see, that the GridPane suddenly behaves as if it had GridPane.setVGrow and HGrow set for the lblStatus.
    (it takes the full available space).
    Furthermore the first column shrinks to a minimum, so that lblText1 can't display its text anymore.
    Tested with 2.1 GA.
    Any help with that?
    import javafx.application.Application;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.geometry.Insets;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.control.Label;
    import javafx.scene.layout.GridPane;
    import javafx.stage.Stage;
    public class TestApp4 extends Application {
        public static void main(String[] args) {
            launch(args);
        @Override
        public void start(final Stage stage) throws Exception {
            GridPane gridPane = new GridPane();
            gridPane.setPadding(new Insets(2, 2, 2, 2));
            Label lblText1 = new Label();
            lblText1.textProperty().set("Some text");
            Label lblText2 = new Label();
            lblText2.textProperty().set("Some other text");
            Button btnClick = new Button();
            btnClick.textProperty().set("Click me");
            final Label lblStatus = new Label();
            lblStatus.setWrapText(true);
            gridPane.add(lblText1, 0, 0, 1, 1);
            gridPane.add(lblText2, 1, 0);
            gridPane.add(lblStatus, 0, 2, 2, 1);
            gridPane.add(btnClick, 0, 3, 2, 1);
            btnClick.setOnAction(new EventHandler<ActionEvent>() {
                @Override
                public void handle(ActionEvent actionEvent) {
                    lblStatus.setText("very long text, very long text, very long text, very long text,very long text, very long text");
            gridPane.setGridLinesVisible(true);
            Scene scene = new Scene(gridPane, 300, 300);
            stage.setScene(scene);
            stage.show();
    }Edited by: csh on 19.07.2012 03:35

    It seems the Label doesn't like it, that it is in a GridCell with rowspan = 2
    If it is in a normal cell (no rowspan), it works.
    If I add ColumnConstraints to the gridpane, it kind of works, but the Label still occupies more space than it should.
    Edited by: csh on 19.07.2012 03:51

  • Strange behavior with Bindings??

    Hello to all JavaFX 2 Binding experts,
    I have a strange behavior with Bindings in JavaFX 2.2 (Java 1.7 update 21). Please have a look at the following source code:
    package test;
    import javafx.application.Application;
    import javafx.beans.binding.BooleanBinding;
    import javafx.beans.property.SimpleBooleanProperty;
    import javafx.beans.value.ChangeListener;
    import javafx.beans.value.ObservableValue;
    import javafx.fxml.FXML;
    import javafx.fxml.FXMLLoader;
    import javafx.scene.Parent;
    import javafx.scene.Scene;
    import javafx.scene.control.Label;
    import javafx.scene.control.RadioButton;
    import javafx.stage.Stage;
    public class BindingVsProperty extends Application
        @FXML
        private RadioButton opt11;
        @FXML
        private RadioButton opt12;
        @FXML
        private RadioButton opt21;
        @FXML
        private RadioButton opt22;
        @FXML
        private Label lbl11And21;
      @Override
        public void start(Stage arg0) throws Exception
            FXMLLoader l_loader = new FXMLLoader();
            l_loader.setLocation(BindingVsProperty.class.getResource("BindingVsproperty.fxml"));
            l_loader.setController(this);
            l_loader.load();
            Scene l_scene = new Scene((Parent)l_loader.getRoot());
            arg0.setScene(l_scene);
            useBinding1();
            //useBinding2();
            //useBinding3();
            arg0.show();
        private void useBinding1() // NOT WORKING - ChangeListener.changed(..) is not called
            BooleanBinding l_andOpt11Opt21 = opt11.selectedProperty().and(opt21.selectedProperty());
            l_andOpt11Opt21.addListener(new ChangeListener<Boolean>()
                @Override
                public void changed(ObservableValue<? extends Boolean> arg0, Boolean arg1, Boolean arg2)
                    System.out.println("Opt 1.1 AND Opt 2.1 changed to: " + arg2);
        private void useBinding2() // OK - ChangeListener.changed(..) is called
            BooleanBinding l_andOpt11Opt21 = opt11.selectedProperty().and(opt21.selectedProperty());
            lbl11And21.visibleProperty().bind(l_andOpt11Opt21);
            l_andOpt11Opt21.addListener(new ChangeListener<Boolean>()
                @Override
                public void changed(ObservableValue<? extends Boolean> arg0, Boolean arg1, Boolean arg2)
                    System.out.println("Opt 1.1 AND Opt 2.1 changed to: " + arg2);
        private void useBinding3() // NOT WORKING - ChangeListener.changed(..) is not called
            BooleanBinding l_andOpt11Opt21 = opt11.selectedProperty().and(opt21.selectedProperty());
            new SimpleBooleanProperty(false).bind(l_andOpt11Opt21);
            l_andOpt11Opt21.addListener(new ChangeListener<Boolean>()
                @Override
                public void changed(ObservableValue<? extends Boolean> arg0, Boolean arg1, Boolean arg2)
                    System.out.println("Opt 1.1 AND Opt 2.1 changed to: " + arg2);
        public static void main(String[] args)
            launch(args);
    <?xml version="1.0" encoding="UTF-8"?>
    <?import java.lang.*?>
    <?import java.util.*?>
    <?import javafx.scene.control.*?>
    <?import javafx.scene.layout.*?>
    <?import javafx.scene.paint.*?>
    <BorderPane id="BorderPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefWidth="371.0" xmlns:fx="http://javafx.com/fxml">
      <center>
        <AnchorPane prefHeight="200.0" prefWidth="200.0">
          <children>
            <Label id="lblAnd" fx:id="lbl11And21" layoutX="82.0" layoutY="121.0" text="Group1 Opt1 AND Group2 Opt1 is true" textFill="#41cc00" visible="false" />
            <RadioButton fx:id="opt21" layoutX="216.0" layoutY="24.0" mnemonicParsing="false" text="Group 2 - Opt 1">
              <toggleGroup>
                <ToggleGroup fx:id="group2" />
              </toggleGroup>
            </RadioButton>
            <RadioButton fx:id="opt22" layoutX="216.0" layoutY="67.0" mnemonicParsing="false" text="Group 2 - Opt 2" toggleGroup="$group2" />
            <RadioButton fx:id="opt11" layoutX="29.0" layoutY="24.0" mnemonicParsing="false" text="Group 1 - Opt 1">
              <toggleGroup>
                <ToggleGroup fx:id="group1" />
              </toggleGroup>
            </RadioButton>
            <RadioButton fx:id="opt12" layoutX="29.0" layoutY="67.0" mnemonicParsing="false" text="Group 1- Opt 2" toggleGroup="$group1" />
          </children>
        </AnchorPane>
      </center>
    </BorderPane>
    What I need for my application is the use case in useBinding1(), i.e., a BooleanBinding where several listeners are attached to. The problem is that I never get a callback in the ChangeListener if one of the RadioButton.selectedProperty() is changed.
    Now I tried what happens if I use the same BooleanBinding for another binding to a property plus the listener, now the listener gets callbacks as expected! (see useBinding2() )
    Than I thought may be Bindings must be bound in order to trigger listeners and tried useBinding3() where I bind the BooleanBinding to a new BooleanProperty, in this case the listener doesn't get callback anymore...
    And now I'm very frustrated and hope that anyone out there can help me to understand this strange behavior.
    Thanks a lot!
    WhiteAntelope

    All these work just fine for me: the listeners are all called as expected. Note that the listener is only invoked when the value of the binding actually changes, which doesn't happen every time a radio button is pressed. (For example, if both buttons are unselected, the binding is false. If one button is selected, the binding remains false and the listener is not invoked. When the second button is selected, the binding becomes true, and the listener is invoked.)

  • Weird behavior with Ctrl-Tab

    Dear members,
    (Forms 6i c/s)
    I have two tab canvases in one form. For each one, the first tab page is a master list, and the second one is a single-record detail block.
    I try to prevent the user from going to the second tab page if the list is empty, so I check the cursor-block in the When-Tab-Page-Changed trigger.
    It works fine when I use the mouse, but I get a different behavior with the Ctrl-Tab keys:
    In the first canvas, when WTPC trigger fires, the cursor-block is the list block, which is fine.
    But in the other canvas, the cursor-block is already the detail block as soon as the trigger fires.
    I don't understand where the difference comes from, and I don't really know where to search.
    Does anyone have a clue ?
    Thanks for your help.

    I don't, since my code has to be generic (it's the same for both canvases, and many more).
    And I can only get the name of a canvas from a block, not the name of a block from a canvas.
    That's why the cursor-block was the best solution.

  • "Run Script" (F5) Flacky Behavior with CREATE PROCEDURE and PACKAGE

    When I have the following create statement in a SQL Worksheet and run the script using "Run Script" (F5), I get the "PROCEDURE bogus Compiled." message. Why does it not tell me that there was a compile error? The procedure is marked with a little red "X" in the connections pane.
    CREATE OR REPLACE PROCEDURE bogus IS
    BEGIN
      x := 1;
    END;
    /Also, when I have the following command in a SQL Worksheet and run the script using "Run Script" (F5), I get the "PROCEDURE bogus Compiled." message. The difference is that I removed the slash after the CREATE PROCEDURE command. I can go into that procedure in the database via the Connections pane, click on the compile button, and the procedure compiles with no errors. Why does it not compile in a script when missing the slash?
    CREATE OR REPLACE PROCEDURE bogus IS
    BEGIN
      NULL;
    END;I noticed the same flaky behavior with CREATE PACKAGE BODY as well. This is in version 1.0.0.14.67 on Windows XP. Has this been fixed in the latest version?
    Mike

    I found a number of earlier posts on this (going back to at least v804), but I cannot find a thread with a response from the SQL Developer team - see:
    Package compilation error
    Succesful compilation message and Compiling Invalid Objects
    Creating a stored procedure from a file does not show compilation errors
    Re: Syntax Error Feedback
    I assume that it is just a bug with SQL Developer that it does not check for compilation errors when determining the status message to display (ie "PROCEDURE bogus Compiled"). At least now we get the little red cross on the navigator to tell us it is invalid :)

  • Bizzare behavior with RMI using the localhost

    I'm still new to RMI and I'm observing some strange behavior with RMI.
    I'm using RMI as a communication protocol in a client/server database application. Since I don't have access to a network at the moment I was running the application on a single host and using the local host parameter to test my RMI code.
    In my code if I do a naming lookup on the local host and it works as I would expect it to. (Note before this code fragment runs I've all ready started the rmi registry and bound the RemoteDatabase to it.)
    try{
    String name = "rmi://" + "127.0.0.1" +":"+1099+"/RemoteDatabase";
    thedb = (RemoteDB)Naming.lookup(name);
    }catch
    Now if I replace "127.0.0.1" with a garbage value such as "12453" it still works!
    This is not the behavior I expected. I expected that the Naming.lookup would throw a exception of some kind.
    Can any one explain this behavior?
    The reason I would like this to work as I expected is that in my application the IP address string and port number are variables that I allow the user to set through a dialog. If the user puts in a garbage string for the IP address I want to catch the exception and display an appropriate warning dialog to the user. I can't seem to do that since the Naming.lookup() for a garbage IP address doesn't seem to throw any exception that I have been able to detect.
    I've actually observed even stranger behavior. If I use a garbage string such as 124.4.1.2, which is invalid IP address, the Naming.lookup() will throw an exception. If I put in a garbage string such as "aaaaaa" for the IP address the Naming.lookup() throws an exception. This is the behavior I would expect.
    However as I mentioned if I use a string such as "12345" for the IP address the code works! This seemingly inconsistent behavior is driving me nuts so if any of you RMI gurus out there can help me out I would very much appreciate it.
    Thanks in advance.

    Hi, there.
    lookup uses URI parsing so the fact that your using numbers being equivalent to localhost seems to be due to the fact that that is an invalid host according to the javadocs for the getHost primitive attached below(marked the most important parts). In this case returning null is interpreted as absent , therefore => localhost. Nothing about the port! Maybe you can take it from here. Seems you'll have to make some user input validation yourself, in your application. Hope I haven't missed anything.
    Good luck.
    Nuno
    getHost
    public String getHost()Returns the host component of this URI.
    The host component of a URI, if defined, will have one of the following forms:
    A domain name consisting of one or more labels separated by period characters ('.'), optionally followed by a period character. Each label consists of alphanum characters as well as hyphen characters ('-'), though hyphens never occur as the first or last characters in a label.
    The last, or only, label in a domain name begins with an alpha character.
    A dotted-quad IPv4 address of the form digit+.digit+.digit+.digit+, where no digit sequence is longer than three characters and no sequence has a value larger than 255.
    An IPv6 address enclosed in square brackets ('[' and ']') and consisting of hexadecimal digits, colon characters (':'), and possibly an embedded IPv4 address. The full syntax of IPv6 addresses is specified in RFC 2373: IPv6 Addressing Architecture.
    The host component of a URI cannot contain escaped octets, hence this method does not perform any decoding.
    Returns:
    The host component of this URI, or null if the host is undefined
    ********************************************************************

  • Strange behavior with "insertTextAsContent"

    Hi,
    I've got a strange behavior with this loop :
    for (j = 0; j < myParagraph.characters.length-1; j++) {
         var myCharacter = myParagraph.characters[j];
         if (myCharacter.appliedFont.fontStyleName == "Regular") {
              alert(myCharacter.contents);
              myXmlElement.insertTextAsContent(myCharacter.contents, XMLElementPosition.ELEMENT_END);
    I loop through every characters of a paragraph, test if they are "regular", "italic", "bold"..., and store them in different xmlElement. Everything is fine except that every double characters (in french : homme, cette, elle, ville...) output in my xmlElement as one only character (home, cete, ele, vile...). I try with "aaaaaazzzzzzeeeeeerrrrrtttttyyyyy" and it give me, the same way, "azerty" ?!
    The "alert" line output the correct full sentences character by character ("h", "o", "m", "m", "e"...).
    If you have any idea to explain, you are more than welcome
    Thanks
    ** edit : don't know if it's important but I'm using CS6 **

    Hi
    Have you seen this in the object model viewer?
    XMLElement.insertTextAsContent (using:varies, position: XMLElementPosition ): Text
    Adobe InDesign CC (8.0) Object Model
    Inserts the specified text as content before, in, or after the XML element.
    using: Data Type: varies
    The text to be inserted. Can accept: String or SpecialCharacters enumerator.
    position: Data Type: XMLElementPosition
    The position at which to insert the text. Note that text inserted before or after the element does not become part of the content of the element. Instead, it becomes content of the parent of the element.
    Don't ask me why it works when there is no doubled character
    So i tried the following and it worked. I hope this will solve your problem.
    function main() {
         if (app.documents.length != 0) {
            var myDoc = app.activeDocument;
            var myParagraph = myDoc.textFrames[0].paragraphs[0];
            var myXmlElement  = myDoc.xmlElements[0];
            for (j = 0; j < myParagraph.characters.length-1; j++) {
                var myCharacter = myParagraph.characters[j];
                if (myCharacter.appliedFont.fontStyleName == "Regular") {
                    alert(myCharacter.contents);
                    myXmlElement.contents += myCharacter.contents;
                    alert(">" + myXmlElement.contents+ "<");
                }     // if
            }     //for
        }     // if
    }   // main()
    Kind regards
    Dani (from Switzerland)

  • Strange behavior with csv flat file integration

    Hi,
    i've a real strange behavior with csv flat file integration.
    I've defined the file inbound with | as separator
    Here is the sender payload result, extra columns appears !
    <row>
      <VAL1>D</VAL1>
      <VAL2 />
      <VAL3>01</VAL3>
      <VAL4 />
      <VAL5 />
      <VAL6>003160000</VAL6>
      <VAL7 />
      <col>003160001</col>
      <col />
      <col>2</col>
      <col />
      <col>91200604212</col>
      <col />
      <col>VIRTUAL DJ HOME EDITION</col>
      <col />
      <col>2</col>
      <col />
      <col>2</col>
      <col />
      <col />
      <col>2</col>
      <col />
      </row>
    When i changed the separator to ; in my file and in the file inbound it gives the following.
    Everything is ok.
    <row>
      <VAL1>D</VAL1>
      <VAL2>01</VAL2>
      <VAL3 />
      <VAL4>003160000</VAL4>
      <VAL5>003160001</VAL5>
      <VAL6>7</VAL6>
      <VAL7>91200604212</VAL7>
      <col>VIRTUAL DJ HOME EDITION</col>
      <col>10</col>
      <col>10</col>
      <col />
      <col>10</col>
      </row>
    Why using a different separator would change the payload ?
    It will be a good thing for me if I could use the pipe separator.
    Thanks

    Can you give the steps you're using to get this error? I'm not seeing any problem here.
    1) Create a new audio project (44.1 KHz).
    2) Arm the record head in track 1 by pressing the "R" button in that track. Verify audio levels.
    3) Record by pressing the record button in the audio controls.
    4) Stop recording by pressing the stop button.
    5) Play back the resulting audio. Sounds fine.
    6) Select File > Export.
    7) Change the file format to WAVE file. Change the bit depth to 16 bit, change the sample rate to 44.1 KHz.
    8) Type the name SAVETEST.wav and click on the Export button.
    9) Play back the resulting WAV file in QuickTime Player, Apple Loops Utility, etc. and it seems just fine.
    What am I missing that you're doing?

  • Broken Archive Behavior with Yosemite Mac Mail and Gmail?

    Hi -
    It seems that with the Yosemite upgrade of Mail, the archive behavior with gmail (google apps) has broken. You can not change the Archive command to select the archive folder. The command just seems just to move the message from the Inbox to to the All Mail folder and no longer shows any messages in my folder called Archive. I have to go to gmail web to view these messages. This broke from Mavericks where I was able to archive to a mailbox called 'Archive'.
    Is there anyway to change the behavior of Mail to select the archive folder and view the contents of my IMAP folder named 'Archive'?
    Thanks

    Hello VMH!
    When either one of us deletes a message, it is automatically deleted from the other's Mail Inbox
    That's exactly what IMAP is for: to sync mailboxes on different machines.
    We would very much like to find a simple way to make sure whatever messages get downloaded into our Mail Inboxes stay there regardless of what the other person does.
    As far as I know, that's not possible with IMAP. Besides, as I indicated above, it contradicts the idea behind IMAP. For info on IMAP and Gmail see this [Help Page|http://mail.google.com/support/bin/answer.py?hl=en&ctx=mail&answer=75725] (click the link) and for info on deleting IMAP messages in Gmail see [this page|http://mail.google.com/support/bin/answer.py?hl=en&answer=78755] (again, click the link).
    In your case I would recommend using POP instead of IMAP. But you have to make sure that the messages you download are kept on the server, so that your wife can access them, too. In the following I'll give some instructions on how to accomplish that.
    *1) Switch from IMAP to POP in Gmail*
    1.1 Log into your Gmail account via mail.google.com, click "Settings" in the upper right corner of the window and select "Forwarding and POP/IMAP". Make sure POP is enabled for "all mail".
    1.2 Set the option "When messages are accessed with POP" via the drop-down menu to "Keep Google Mail's copy in the Inbox".
    1.3 Disable IMAP access.
    *2) Create a new POP mail account in Apple Mail*
    *3) Adjust Apple Mail's settings*
    In Apple Mail's Preferences > Accounts, select your new POP account and click on the "Advanced" tab. There you have to uncheck the checkbox next to "Remove copy from server after retrieving a message".
    (You'll have to repeat steps 2) and 3) on your wife's computer as well.)
    Hope that helps to get you started.
    Good computing.
    floba
    (MN592)

Maybe you are looking for

  • How to execute a procedure if out parameter is table type

    Hi, I need to execute a procedure, output parameter of the procedure is table type. Oracle version I am using is 9.2.0.8 . I am using SQL*Plus Procedure declaration PROCEDURE current_open_cycle (p_ban IN repl_cust2.billing_account.ban%TYPE, v_bill_se

  • Table : Production Order in the sales order

    Hi, When can we found in the tables of the sales order the link to the PO numer. And, In which field screen in the sales order document we can find the order number. Thanks for yur quick answer.

  • Latest update for iTunes won't update - says path cannot be found!

    I am trying to update iTunes.  I have iTunes version 11.1.0.126 and my computer runs on Windows XP v. 5.1.  The iTunes.msi installer is downloading to a folder on my computer but then both automatic and manual update fail and I am getting a message s

  • Question mark instead of photo

    When I am browsing an internet forum on safari using my iPod touch, I often see a blue box with a white question mark in it instead of the photo that has been uploaded. Is there anything I can do to fix this? Any help is much appreciated. I'm using t

  • Photo cutouts on Apple TV

    I noticed I have this one image that scrolls up on my Apple TV when it's in Screensaver mode (Photos mode, not Slideshow) that is CUT OUT. It's of one of my parrots flying, and a long time ago I traced him and saved the channel, and Apple TV recogniz