Repost -Bug? UIX - errors management in event handling

Scenario:
We have an UIX page bound to a BC4J view. An attribute of the entity behind this view has two validator rules. We change the value of the edit box corresponding to this attribute in such manner that on update, the validation fails for both rules. Since the transaction is into bundled exception mode, no error is thrown. Finally, we try to commit the transaction. This time the error is reported but not as expected. Rather than obtaining at least two error messages we get something like this: "JBO-27023: Failed to validate all rows in a transaction." Of course, for any user, this error message is useless :-(.
Digging a little bit into the RenderingContext->dataProviders... we can see that the messageData contains (as expected) only a string: "JBO-27023: Failed to validate all rows in a transaction."
I think that we should be able to find into this messageData, the original exception (if existing)? Maybe BaseEventHandler.processValidationError should also be able to receive this exception. etc. Or maybe, we may use a mechanism similar to oracle.jbo.uicli.binding.JUApplication and oracle.jbo.uicli.binding.JUErrorHandler.
Meantime, do we have any workaround?
thanks

This is a bug. I have filed it.
Thanks Gabrielle. Do you have any workaround? Or do you know when this bug will be fixed? I don't want to rewrite all handlers. ;-)

Similar Messages

  • Bug? UIX - errors management in event handling

    Scenario:
    We have an UIX page bound to a BC4J view. An attribute of the entity behind this view has two validator rules. We change the value of the edit box corresponding to this attribute in such manner that on update, the validation fails for both rules. Since the transaction is into bundled exception mode, no error is thrown. Finally, we try to commit the transaction. This time the error is reported but not as expected. Rather than obtaining at least two error messages we get something like this: "JBO-27023: Failed to validate all rows in a transaction." Of course, for any user, this error message is useless :-(.
    Digging a little bit into the RenderingContext->dataProviders... we can see that the messageData contains (as expected) only a string: "JBO-27023: Failed to validate all rows in a transaction."
    I think that we should be able to find into this messageData, the original exception (if existing)? Maybe BaseEventHandler.processValidationError should also be able to receive this exception. etc. Or maybe, we may use a mechanism similar to oracle.jbo.uicli.binding.JUApplication and oracle.jbo.uicli.binding.JUErrorHandler.
    Meantime, do we have any workaround?
    thanks

    repost

  • View not copied or enhanced with wizard Error while creating Event Handler method in Z Component

    Hello Friends,
    In one Z Component (Custom Component), in one of the views, while creating event handler, it gave me error message that view not copied or enhanced with wizard.
    I am aware that in Standard Component, if we want to create the event handler method then we need to first Enhance the Component and then we need to enhance the view.
    But, in the Z Component (Custom Component), how to create event handler method in one of the views as while creating event handler method i am getting view not copied or enhanced with wizard error.

    Hi,
    Add a method in views impl class with naming convention eh_on__* with htmt and html_ex parameters.  I dont have have the system right now. Please check any existing event import export parameters.
    Check out do handle event method in the same class.
    Redefine that method.  Call that event method in this handle method. See existing code for reference.
    Attach that event to the button on click event in .htm page.
    Regards,
    Bhushan

  • What is the correct process to return errors from an Event Handler

    I have a pre-Create and pre-Modify Event Handlers. If the event handler detects an error, I want to throw an exception back to terminate the create user or modify user event. I also want to display a meaningful error message on the OIM UI. In my pre-modify event handler I am throwing the following exception when an error is detected:
    throw new EventFailedException(processId, null, "User ID not available", "", "MODIFY", null);
    However, the OIM UI is not displaying the message "User ID not available" as I want it to. Instead it is displaying the following error message:
    An error occurred. The corresponding error code is IAM-0080062
    Does anyone know where that error code is coming from? My event handler is not doing that. Also, does anyone know where I can find any documentation on the proper use of the EventFailedException? What do the parameters mean? How do I get a meaningful error message to display on the OIM UI?
    Thank you for any help here.
    -Dave

    Please try to cancel the PO 1st and then Cancel Sales order...
    Refer following note id
    How to Cancel a Drop Ship Order Line (Doc ID 393688.1)
    Thanks

  • Error management in an event handler in a powershell form

    Hi guys
    I wrote a powershell form using event handler. It ask for a name and a IP adress and other things
    In the event handler,
    - if the user leave the name blank, I open a message box saying it should not be empty
    - if the user enter a wrong ip adress, I open a message box saying it should be like x.x.x.x
    If both occurs, it displays 2 message box.
    But I would like to display only the first message box of the first error and then exit the handler, to avoid displaying many messages.
    How to exit from a handler  and stay in the form  (not like the cancel button handler which close the form with a form.close() statement)
    I tried break statement or exit without success
    thanks
    ML

    Hi guys
    This is the code I wrote today. I may give also the full code of the interface, but it reach 1300 lines.
    $Retry variable lets me control the first error in the interface to display the message box.
    It's not finished yet, I need to add something like "formclose" if $Retry is false.
    I use semicolons because for me, it's easier to read :-).
    I'm sorry I don't understand the explanation in your link.
    http://msdn.microsoft.com/en-us/library/system.componentmodel.canceleventargs%28v=vs.110%29.aspx
    What would happen if I type
    $_.Cancel = $true
    instead of $Retry = 1, it will exit immediately from the handler ? I can't try now, I'm came back home
    Thanks
    ML
    function IsIP($value) {
    $match = "\b(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}\b"
    return $value -match $match
    function IsURL([string]$Url)
    if($Url -eq $null) {return $false}
    else {return $Url -match "^(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*"+`
    "(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]*)?$"}
    function toBinary ($dottedDecimal){
    $dottedDecimal.split(".") | %{$binary=$binary + $([convert]::toString($_,2).padleft(8,"0"))}
    return $binary
    #Provide Custom Code for events specified in PrimalForms.
    $handler_WinFactoryGUI_Load=
    #TODO: Place custom script here
    $HardwareCombo.SelectedIndex = 0 # Default values of Combo boxes
    $WindowsEditionCombo.SelectedIndex = 0
    $ServerName.Select()
    $handler_cancel_Click=
    #TODO: Place custom script here
    $WinFactoryGUI.Close()
    $Handler_Server_Info_Leave=
    #TODO: Place custom script here
    $Handler_DNS_Config_Leave=
    #TODO: Place custom script here
    $Handler_GenerateIso_Click=
    #TODO: Place custom script here
    $Retry = $false
    # ServerName
    $ServerName2Install = $ServerName.Text
    if ($ServerName2Install -eq "") {$MSg = "Server name is missing"; $Retry = $true}
    # Windows Version
    $TabWindowsVersion = @("2008R2STD","2008R2ENT","2008R2DTC","2012R2STD","2012R2DTC")
    $i = $WindowsEditionCombo.SelectedIndex
    $WindowsVersion = $TabWindowsVersion[$i]
    if (! $Retry) {
    # OperIP : mandatory
    $OperIP = $OperIP1.Text + "." + $OperIP2.Text + "." + $OperIP3.Text + "." + $OperIP4.Text
    $OperMask = $OperMask1.Text + "." + $OperMask2.Text + "." + $OperMask3.Text + "." + $OperMask4.Text
    $DefaultGateway = $Gateway1.Text + "." + $Gateway2.Text + "." + $Gateway3.Text + "." + $Gateway4.Text
    $Msg = ""
    $OperIPOK = IsIP($OperIP); if (! $OperIPOK) { $Msg = $Msg + "OperIP is invalid`n";$Retry = $true }
    $OperMaskOK = IsIP($OperMask); if (! $OperMaskOK) { $Msg = $Msg + "OperMask is invalid`n";$Retry = $true }
    $DefaultGatewayOK = IsIP($DefaultGateway); if (! $DefaultGatewayOK) { $Msg = $Msg + "DefaultGateway is invalid`n";$Retry = $true}
    $ipBinary = toBinary $OperIP
    $smBinary = toBinary $OperMask
    #how many bits are the network ID
    $netBits=$smBinary.indexOf("0")
    #validate the subnet mask
    if(($smBinary.length -ne 32) -or ($smBinary.substring($netBits).contains("1") -eq $true)) {$Msg = "Subnet Mask is invalid!";$Retry = $true}
    else {
    #validate that the IP address
    if(($ipBinary.length -ne 32) -or ($ipBinary.substring($netBits) -eq "00000000") -or ($ipBinary.substring($netBits) -eq "11111111")) {$Msg = "IP Address is invalid!";$Retry = $True}
    # TechIP : optional
    if (!$Retry) {
    if (($TechIP1.Text -eq "") -and ($TechIP2.Text -eq "") -and ($TechIP3.Text -eq "") -and ($TechIP4.Text -eq ""))
    $TechIP = "0.0.0.0"
    $TechMask = "0.0.0.0"
    else
    $TechIP = $TechIP1.Text + "." + $TechIP2.Text + "." + $TechIP3.Text + "." + $TechIP4.Text
    $TechMask = $TechMask1.Text + "." + $TechMask2.Text + "." + $TechMask3.Text + "." + $TechMask4.Text
    $TechIPOK = IsIP($TechIP)
    if (! $TechIPOK) { $Msg = $Msg + "TechIP is invalid`n";$Retry = $true }
    $TechMaskOK = IsIP($TechMask)
    if (! $TechMaskOK) { $Msg = $Msg + "TechMask is invalid`n";$Retry = $true }
    # DNS domain
    if (! $Retry) {
    $DnsDomainSrv2Install = $DnsDomain.Text
    if ($DnsDomainSrv2Install -eq "") {$Msg = $Msg + "DNS Domain is invalid`n";$Retry = $true }
    # DNS Suffixes
    if (! $Retry) {
    $DnsSuffixes2Install = $DnsSuffixes.Text.replace("`n",":")
    if ($DnsSuffixes2Install[$DnsSuffixes2Install.Length] -eq ":") {
    $DnsSuffixes2Install = $DnsSuffixes2Install.Substring(0,$DnsSuffixes2Install.Length-1)
    if ($DnsSuffixes2Install -eq "") {$Msg = $Msg + "DNS suffixes list is invalid`n";$Retry = $true }
    # DNS adresses
    if (! $Retry) {
    if ($DNSIP11.Text -ne "") {
    $DNSIP1 = $DNSIP11.Text + "." + $DNSIP12.Text + "." + $DNSIP13.Text + "." + $DNSIP14.Text
    $DNSIP1POK = IsIP($DNSIP1) ; if (! $DNSIP1POK) { $Msg = $Msg + "DNS IP 1 is invalid`n";$Retry = $true } else { $DNSAddrList = $DNSIP1}
    if ($DNSIP21.Text -ne "") {
    $DNSIP2 = $DNSIP21.Text + "." + $DNSIP22.Text + "." + $DNSIP23.Text + "." + $DNSIP24.Text
    $DNSIP2POK = IsIP($DNSIP2) ; if (! $DNSIP2POK) { $Msg = $Msg + "DNS IP 2 is invalid`n";$Retry = $true } else {$DNSAddrList = $DNSAddrList + ":" + $DNSIP2}
    if ($DNSIP31.Text -ne "") {
    $DNSIP3 = $DNSIP31.Text + "." + $DNSIP32.Text + "." + $DNSIP33.Text + "." + $DNSIP34.Text
    $DNSIP3POK = IsIP($DNSIP3) ; if (! $DNSIP3POK) { $Msg = $Msg + "DNS IP 3 is invalid`n";$Retry = $true } else {$DNSAddrList = $DNSAddrList + ":" + $DNSIP3}
    if ($DNSIP41.Text -ne "") {
    $DNSIP4 = $DNSIP41.Text + "." + $DNSIP42.Text + "." + $DNSIP43.Text + "." + $DNSIP44.Text
    $DNSIP4POK = IsIP($DNSIP4) ; if (! $DNSIP4POK) { $Msg = $Msg + "DNS IP 4 is invalid`n";$Retry = $true } else {$DNSAddrList = $DNSAddrList + ":" + $DNSIP4}
    else { $Msg = $Msg + "At least, one Dns server IP must be provided`n";$Retry = $true }
    # Hardware
    $TabHardware = @("VM","HP","MS")
    $i = $HardwareCombo.SelectedIndex
    $Hardware = $TabHardware[$i]
    # vCenter
    $vCenterName = "parameter.not.used"
    # Flags
    #""_;_;_;1;_;http://m011ML-SCCM.pocx86.tstwinx.net:8530;1"""
    if (! $Retry) {
    $Flag = ""
    if ($CheckBoxPED.Checked -eq $true) {$Flag = $Flag + "1;"} else {$Flag = $Flag + "_;"}
    if ($CheckBoxOmnivision.Checked -eq $true) {$Flag = $Flag + "1;"} else {$Flag = $Flag + "_;"}
    if ($CheckBoxBackup.Checked -eq $true) {$Flag = $Flag + "1;"} else {$Flag = $Flag + "_;"}
    if ($CheckBoxNagiosInstall.Checked -eq $true) {$Flag = $Flag + "1;"} else {$Flag = $Flag + "_;"}
    if ($CheckBoxInstallSRM.Checked -eq $true) {$Flag = $Flag + "1;"} else {$Flag = $Flag + "_;"}
    $WsusUrl2Configure = $WsusUrl.Text;
    if ($WsusUrl2Configure -eq "") {$WsusUrl2Configure = "_"}
    else {
    $WsusURLOK = IsUrl($WsusUrl2Configure)
    if (! $WsusURLOK) {$Msg = $Msg + "WSUS Url is Invalid`n";$Retry = $true }
    $Flag = $Flag + $WsusUrl2Configure
    if ($CheckBoxHPSA.Checked -eq $true) {$Flag = $Flag + ";1"} else {$Flag = $Flag + ";_"}
    $Flag = """""$Flag"""""""
    if ($Retry) {[System.Windows.Forms.MessageBox]::Show($Msg,"Status",0);$Msg = ""}
    else { $WinFactoryCall = "start-process ""cmd.exe"" ""/c .\GenBootImage.cmd "
    $WinFactoryCall = $WinFactoryCall + $ServerName2Install + " " + $WindowsVersion + " " + $OperIP + " " + $OperMask + " " + $DefaultGateway + " " + $TechIP + " " + $TechMask
    $WinFactoryCall = $WinFactoryCall + " " + $DNSAddrList + " " + $DnsDomainSrv2Install + " " + $DnsSuffixes2Install + " " + $Hardware + " " + $vCenterName + " " + $Flag + " -wait"
    write-host $WinFactoryCall
    $OnLoadForm_StateCorrection=
    {#Correct the initial state of the form to prevent the .Net maximized form issue
    $WinFactoryGUI.WindowState = $InitialFormWindowState
    ML

  • Event Handler/Cr​eate User Event bug

    This is a problem I've run into a few times on my system (Win2k) so I finally went back and reproduced it step by step since it wasn't too hard. It causes LabVIEW to crash and exit without saving.
    - Create an Event Handler
    - Place 'Register Events', wire output to dynamic event terminal
    - Place 'Create User Event', wire output to 'Register Events'/User Event
    - Place an Empty String Constant [""], wire to input of 'Create User Event'
    - Set empty string property -> Visible Items > Label = True
    - Rename label from "Empty String Constant" to other such as "Event"
    OR
    - Create a cluster constant with something in it
    OR
    - Place a boolean constant
    - Set boolean property -> Visible Items > Label = True
    - Name label something su
    ch as "Event"
    - 'Add Event Case...' to the Event Handler, select Dynamic / : User Event
    - Delete the constant wired to 'Create User Event'.
    - Place a constant of a different data type and wire it to the input of 'Create User Event'
    LabVIEW immediately disappears (all changes are lost) and this error is displayed:
    ================================
    LabVIEW.exe has generated errors and will be closed by
    Windows. You wlil need to restart the program.
    An error log is being created.
    ================================
    If there is a more appropriate place to post things of this nature that don’t really add to the discussion group, but need to be brought to the attention of NI, please post a URL or submittal method. Thanks...

    Thanks for the detailed request. We are aware of this exact issue, and the problem was actually fixed for LabVIEW 7.0 for Mac/Unix. Unfortunately, it did not get fixed for the initial release of LabVIEW 7.0 for Windows, but we have plans to include the fix in the first LabVIEW patch for 7.0.
    Also, the Discussion Forum is great for notifications of this kind. For future reference, you also have the options of emailing NI engineers directly, or calling us with suspected bug fixes, if you would like more direct communication.
    Thanks again, and have a great day!
    Liz Fausak
    Applications Engineer
    National Instruments
    www.ni.com/support

  • Event handler eats up memory. Bad programing and/or bug.

    Hello
    I've been programming a GUI for a project. The basics of the program is a sample routine that updates a array once a second. Once the array is updated I use a event handler to plot the new array in a graph.
    When I wrote this gui I think I've stumbled upon a bug in Labviews memory allocation.
    If you have two loops. One that builds a array and then signals a loop with a eventhandler that reads the array and the event handler is stoped for a few seconds (by opening a sub vi or something inside the event handler), the memory goes berserk. When the event handler is free after the stop the memory is still allocated and does not return.
    I could not find any information on this problem in the forum so I thought I would share this information with everyone. I managed to reproduce this phenomena in a small example (attached), if anyone is interested in it. The problem is simple to fix once you recognize the problem. However it was not the simplest problem to find (imho that is ).
    Regards
    Andreas Beckman
    Attachments:
    bug.zip ‏23 KB

    Where are you seeing the memory being allocated? What tool are you using, task manager or LabVIEW profiling? I'm not seeing what you describe (LV 7.1.1 on a 3.4 GHz Pentium 4 w/ 1 Gb memory)
    Thanks,
    Putnam
    Certified LabVIEW Developer
    Senior Test Engineer
    Currently using LV 6.1-LabVIEW 2012, RT8.5
    LabVIEW Champion

  • Error in post process event handler

    We should write a post process event handler that updates the manager field. So, I used the following code to update the manager field when a user gets created:
    Code:
    public EventResult execute(long processId, long eventId,
    Orchestration orchestration) {
    System.out.println("Test for Event Handler");
    try
    String userKey = getUserKey(processId, orchestration);
    System.out.println("USERKEY1"+userKey);
    UserManager userMgmt = Platform.getService(UserManager.class);
    System.out.println("USERMANAGEMENT"+userMgmt);
    System.out.println(userMgmt.modify(new User(userKey)));
    userMgmt.modify("usr_mgr_key","28",new User(userKey));
    System.out.println("USERKEY2"+userKey);
    } catch (ValidationFailedException e) {
    System.out.println("Exception1");
    } catch (AccessDeniedException e) {
    System.out.println("Exception2");} catch (UserModifyException e) {
    System.out.println("Exception3");} catch (NoSuchUserException e) {
    System.out.println("Exception4");} catch (SearchKeyNotUniqueException e) {
    return new EventResult();
    private String getUserKey (long processID, Orchestration orchestration) {
    String userKey;
    String entityType = orchestration.getTarget().getType();
    EventResult result;
    result = new EventResult();
    System.out.println("Entity Type"+entityType);
    System.out.println("Process ID"+processID);
    if (!orchestration.getOperation().equals("CREATE")) {
    userKey = orchestration.getTarget().getEntityId();
    System.out.println("UserKEY0"+userKey);
    } else {
    OrchestrationEngine orchEngine = Platform.getService(OrchestrationEngine.class);
    userKey = (String) orchEngine.getActionResult(processID);
    System.out.println("UserKEY-1"+userKey);
    return userKey;
    It compiles fine and when we try to create a user, the user gets created successfully. But, the expected behaviour of upadting the manager field with the user key '28' is not happening. My approach above - is it right or is there any other method that will make it work?
    The output message I see is:
    Test for Event Handler
    Entity TypeUser
    Process ID140343
    UserKEY-1613
    USERKEY1613
    USERMANAGEMENToracle.iam.identity.usermgmt.api.UserManagerDelegate@75ecf9ed
    <27-Feb-2012 10:56:41 o'clock GMT> <Warning> <oracle.iam.callbacks.common> <IAM-2030146> <[CALLBACKMSG] Are applicable policies present for this async eventhandler ? : false>
    oracle.iam.identity.usermgmt.vo.UserManagerResult@14da2ada
    <27-Feb-2012 10:56:44 o'clock GMT> <Error> <oracle.iam.identity.usermgmt.impl> <IAM-3051212> <An error occurred while searching for users - : [usr_mgr_key].>
    Exception4
    Thanks
    Krish

    i hope wrong coding.
    Use this code.
    UserManager userMgmt = oimClient.getService(UserManager.class);
    //Attribute you want to modify
    HashMap<String, Object> atrrMap= new HashMap<String, Object>();
    atrrMap.put("usr_manager_key", Long.valueOf("1")); //user will upadated with manager key 1 (xelsysadm) make sure usr_key 1 (manager) exist in OIM.
    //get the user to whom you want to modify
    User user = userMgmt.getDetails("usr_key", "41", null);
    user = new User(String.valueOf(user.getId()), atrrMap);
    UserManagerResult result = userMgmt.modify("usr_key", String.valueOf("41"), user);
    //UserManagerResult str = userMgmt.modify("usr_mgr_key","111",new User("41"));
    System.out.println("UserUpdate.process() "+result.getStatus());
    Also don't use UserManager class, As it will go for looping.
    Use
    EntityManager entityManager = Platform.getService(EntityManager.class);
    entityManager.modifyEntity(orchestrationTarget.getType(), userKey, mapAttrs);
    Also I am assuming you want to use Associate manager With user use case.
    Thanks,
    Kuldeep

  • Bug in error handling.

    I found something wich seems a bug in error handling.
    I created a JClient application and I declared my error handler using JUMetaObjectManager.setBaseErrorHandler.
    It works normaly.
    I created a method wich I connected to the WindowClosing event.
    In that method I throw a JBOException in order to inform the user the operation can't be executed.
    However I see that message only into the console and my error handler (wich shows a Dialog) is not used.
    What's the problem ?
    Tks
    Tullio

    Repost

  • Swing locks up during event handling of a simple button... bug or feature?

    I have the following code:
    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JToolBar;
    import javax.swing.SwingUtilities;
    public class Test extends JFrame {
         private static final long serialVersionUID = 1L;
         private JButton button;
         public static void main(String[] args)
              SwingUtilities.invokeLater(new Runnable(){public void run(){new Test();}});
         public Test()
              setSize(200,00);
              setLayout(new BorderLayout());
              JToolBar toolbar = new JToolBar();
              button = new JButton("button");
              button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { button.setEnabled(false);}});
              toolbar.add(button);
              getContentPane().add(toolbar, BorderLayout.SOUTH);
              JPanel panel = new JPanel();
              panel.setPreferredSize(new Dimension(200,10000));
              for(int i=0;i<10000; i++) { panel.add(new JLabel(""+(Math.random()*1000))); }
              JScrollPane scrollpane = new JScrollPane();
              scrollpane.getViewport().add(panel);
              scrollpane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
              scrollpane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
              scrollpane.setPreferredSize(getSize());
              scrollpane.setSize(getSize());
              getContentPane().add(scrollpane, BorderLayout.CENTER);
              setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              setLocationRelativeTo(null);
              setVisible(true);
              pack();
    }This code is lethal to swing: when pressing the button, for no identifiable reason the entire UI will lock up, even though all the event handler is doing is setting the button's "enabled" property to false. The more content is located in the panel, the longer this locking takes (set -Xmx1024M and the label loop to 1000000 items, then enjoy timing how long it takes swing to realise that all it has to do is disable the button...)
    Does anyone here know of how to bypass this behaviour (and if so, how?), or is it something disastrous that cannot be coded around because it's inherent Swing behaviour?
    I tried putting the setEnabled(false) call in a WorkerThread... that does nothing. It feels very much like somehow all components are locked, while the entire UI is revalidated, but timing revalidation shows that the panel revalidates in less than 50ms, after which Swing's stalled for no reason that I can identify.
    Bug? Feature?
    how do I make it stop doing this =(
    - Mike

    However, if you replace "setEnabled(false)" with "setForeground(Color.red)") the change is instant,I added a second button to the toolbar and invoked setEnabled(true) on the first button and the change is instant as well. I was just looking at the Component code to see the difference between the two. There are a couple of differences:
        public void setEnabled(boolean b) {
            enable(b);
         * @deprecated As of JDK version 1.1,
         * replaced by <code>setEnabled(boolean)</code>.
        @Deprecated
        public void enable() {
            if (!enabled) {
                synchronized (getTreeLock()) {
                    enabled = true;
                    ComponentPeer peer = this.peer;
                    if (peer != null) {
                        peer.enable();
                        if (visible) {
                            updateCursorImmediately();
                if (accessibleContext != null) {
                    accessibleContext.firePropertyChange(
                        AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
                        null, AccessibleState.ENABLED);
         * @deprecated As of JDK version 1.1,
         * replaced by <code>setEnabled(boolean)</code>.
        @Deprecated
        public void enable(boolean b) {
            if (b) {
                enable();
            } else {
                disable();
         * @deprecated As of JDK version 1.1,
         * replaced by <code>setEnabled(boolean)</code>.
        @Deprecated
        public void disable() {
            if (enabled) {
                KeyboardFocusManager.clearMostRecentFocusOwner(this);
                synchronized (getTreeLock()) {
                    enabled = false;
                    if (isFocusOwner()) {
                        // Don't clear the global focus owner. If transferFocus
                        // fails, we want the focus to stay on the disabled
                        // Component so that keyboard traversal, et. al. still
                        // makes sense to the user.
                        autoTransferFocus(false);
                    ComponentPeer peer = this.peer;
                    if (peer != null) {
                        peer.disable();
                        if (visible) {
                            updateCursorImmediately();
                if (accessibleContext != null) {
                    accessibleContext.firePropertyChange(
                        AccessibleContext.ACCESSIBLE_STATE_PROPERTY,
                        null, AccessibleState.ENABLED);
        }The main difference appears to be with the KeyboardFocusManager. So instead of using a toolbar, I changed it to a JPanel (so the buttons are focusable). I then notice the same lag when I try to tab between the two buttons. So the problem is with the focus manager, not the setEnabled() method.

  • [Create Login] Provisioning Error: event handler/adapter could not be found

    Hello,
    I am running a fresh install of OIM 9.0.3 (installed yesterday) on a Windows XP Machine running:
    Weblogic 813 SP6
    JDK142 11,
    MSSQL 2000 SP3a I have a test resource, a simple MSSQL Table with a few fields, which I used the connector pack to install and connect. I imported the resource without any issues. However, when I attempt to Create Login on the resource, it gives me the following error:
    "An error occurred while retrying one of the tasks
    Create Login: Event Handler not found"When I check the details of Create Login (in my To-Do List for xelsysadm):
    Error Details
    The class file for event handler/adapter "adpDBCREATELOGIN" could not be found.I am very new to this system, and I really don't know where to begin trouble shooting this issue. Any ideas on what might be wrong with the system? It could be anywhere from missing a step in the beginning of the installation to doing something incorrectly. Any pointers on where I can start troubleshooting as to why I can't provision would be very helpful and much appreciated!
    Thanks

    Did you compile the adapters? When you import them from XML they must be compiled before you can use them. Go to the Design Console -> Dev tools -> Adapter Manager and compile them there.

  • Need Help with Event Handler Code - Doesnt come up in Event Handler Manager

    Hello there,
    Below is the code snippet that I am using to create a event handler:
    package com.oracle.events;
    import com.thortech.util.logging.Logger;
    import com.thortech.xl.client.events.tcBaseEvent;
    import com.thortech.xl.dataobj.tcDataObj;
    import com.thortech.xl.util.logging.LoggerModules;
    public class tcCheckOvrallProvStatusUDFs extends tcBaseEvent
         private static Logger logger = Logger.getLogger(LoggerModules.XL_JAVA_CLIENT);
         public tcCheckOvrallProvStatusUDFs()
              setEventName("Generating tcCheckOvrallProvStatusUDFs");
    * @Override
    * @throws Exception
         protected void implementation() throws Exception {
              tcDataObj data = getDataObject();
              String OIDProvStatus = data.getString("usr_udf_oidusrprovstatus");
    String EBSProvStatus = data.getString("usr_udf_ebstcausrprovstatus");
              if (OIDProvStatus.equals("Provisioned") && EBSProvStatus.equals("Provisioned")) {
                   setOverAllProvStatus(data);
         * @param data
         * @throws Exception
         private void setOverAllProvStatus(tcDataObj data) throws Exception
              data.setString("usr_udf_ovrrscprovstatus", "Provisioned");
    Its a simple code that I am using to populate value of a UDF field depending on the value of other 2 fields. I want to trigger it on Post-Insert and Post-Update events.
    But even if I restart the OIM server after placing the successfully compiled file (0 errors, 0 warnings) into the EventHandlers folder of OIM_HOME; it doesnt show up in the Design Console -> Development Tools -> Business Rule Definition -> Event Handler Manager. :( In order to create a event handler i need that file to show up in the lookup of event handlers/adapters. This JAR file doesnt come up over there.
    Is there anything missing within the code ?
    What else needs to be specified?
    Please provide some guidance.
    Thanks,
    - jhb.

    Now I have placed this JAR file in JAVATasks folder - made an entity adapter - in the event handler manager - i gave the class name/event handler name as 'setUDFValue' and the package as 'project5'. But now im getting it 'DOBJ.EVT_NOT_FOUND - Event Handler not found' error.
    package project5;
    import java.util.Hashtable;
    import Thor.API.Exceptions.tcAPIException;
    import java.util.Hashtable;
    import java.util.HashMap;
    import com.thortech.xl.util.config.ConfigurationClient;
    import Thor.API.tcResultSet;
    import Thor.API.tcUtilityFactory;
    import Thor.API.Operations.tcUserOperationsIntf;
    import java.lang.System;
    import Thor.API.Exceptions.tcUserNotFoundException;
    import java.util.Properties;
    import javax.mail.Message;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    public class setUDFValue {
    private static final String SMTP_HOST_NAME="mail.smtp.host";
    public setUDFValue() {
    // public static void main(String[] args) {
    // setUDFValue.setvalue("jatinbhatt");
    // setUDFValue.sendemail("[email protected]","[email protected]");
    public static void setvalue(String UserID) {   
    try
    System.setProperty("XL.HomeDir", "F:/oim/oimserver/xellerate");
    System.setProperty("log4j.configuration",
    "F:/oim/oimserver/xellerate/config/log.properties");
    System.setProperty("java.security.policy",
    "F:/oim/oimserver/xellerate/config/xl.policy");
    System.setProperty("java.security.auth.login.config",
    "F:/oim/oimserver/xellerate/config/auth.conf");
    System.out.println("Startup...");
    System.out.println("Getting configuration...");
    ConfigurationClient.ComplexSetting config = ConfigurationClient.getComplexSettingByPath("Discovery.CoreServer");
    System.out.println("Login...");
    Hashtable env = config.getAllSettings();
    tcUtilityFactory ioUtilityFactory = new tcUtilityFactory(env,"xelsysadm","oimadmin1");
    System.out.println("Getting utility interfaces...");
    tcUserOperationsIntf moUserUtility = (tcUserOperationsIntf)ioUtilityFactory.getUtility("Thor.API.Operations.tcUserOperationsIntf");
    HashMap userMap = new HashMap();
    String str1 = null;
    String str2 = null;
    userMap.put("Users.User ID",UserID);
    userMap.put("Users.Status", "Active");
    tcResultSet userResultSet = null;
    try {
    userResultSet = moUserUtility.findAllUsers(userMap);
    } catch (tcAPIException e2) {
    // TODO Auto-generated catch block
    e2.printStackTrace();
    for (int i=0; i<userResultSet.getRowCount(); i++)
    userResultSet.goToRow(i);
    str1 = userResultSet.getStringValue("USR_UDF_OIDUSERPROV");
    str2 = userResultSet.getStringValue("USR_UDF_EBSUSERPROV");
    // System.out.println(userResultSet.getStringValue("USR_UDF_OIDUSERPROV"));
    // System.out.println(userResultSet.getStringValue("USR_UDF_EBSUSERPROV"));
    if (str1.equals("Provisioned") && (str2.equals("Provisioned") || str2.equals("NA")))
    userMap.put("USR_UDF_OVRRSCPROVSTATUS","Provisioned");
    moUserUtility.updateUser(userResultSet,userMap);
    moUserUtility.close();
    }catch (Exception e){
    e.printStackTrace();
    ERROR:
    ERROR RMICallHandler-63 XELLERATE.SERVER - Class/Method: tcDataObj/ runEvent encounter some problems: project5.setUDFValue
    java.lang.ClassCastException: project5.setUDFValue
         at com.thortech.xl.dataobj.tcDataObj.runEvent(Unknown Source)
         at com.thortech.xl.dataobj.tcDataObj.eventPostUpdate(Unknown Source)
         at com.thortech.xl.dataobj.tcUSR.eventPostUpdate(Unknown Source)
         at com.thortech.xl.dataobj.tcDataObj.update(Unknown Source)
         at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
         at com.thortech.xl.dataobj.tcTableDataObj.save(Unknown Source)
         at com.thortech.xl.ejb.beansimpl.tcUserOperationsBean.updateUserData(Unknown Source)
         at com.thortech.xl.ejb.beansimpl.tcUserOperationsBean.updateUser(Unknown Source)
         at com.thortech.xl.ejb.beans.tcUserOperationsSession.updateUser(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.SecurityRoleInterceptor.invoke(SecurityRoleInterceptor.java:47)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
         at tcUserOperations_RemoteProxy_6ocop18.updateUser(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.rmi.RmiMethodCall.run(RmiMethodCall.java:53)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    Thanks,
    - jhb.

  • Event Handler Error while Creating User

    Hi,
    I am not able to create users in OIM 11gR1 - " Event handler DemoNotificationEventResolver implemented using class/plug-in nrma.DemoNotificationEventResolver could not be loaded."
    I have deleted this plugin from the "plugins" table in the database. What else am I supposed to do?

    Hi,
    I have deleted it from the MDS Schema. Now I am getting a different error.
    <Dec 20, 2012 5:24:57 PM EST> <Error> <oracle.iam.identity.usermgmt.impl> <IAM-3050030> <An exception occurred while performing the operation.
    java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key IAM-301094
    at java.util.ResourceBundle.getObject(ResourceBundle.java:374)
    at java.util.ResourceBundle.getObject(ResourceBundle.java:371)
    at java.util.ResourceBundle.getObject(ResourceBundle.java:371)
    at java.util.ResourceBundle.getObject(ResourceBundle.java:371)
    at java.util.ResourceBundle.getString(ResourceBundle.java:334)
    at oracle.iam.ldapsync.impl.util.LDAPSyncUtil.createValidationFailedException(LDAPSyncUtil.java:700)
    at oracle.iam.ldapsync.impl.util.LDAPSyncUtil.generateAndValidateRDN(LDAPSyncUtil.java:824)
    at oracle.iam.ldapsync.impl.eventhandlers.user.RDNPreProcessHandler.execute(RDNPreProcessHandler.java:68)
    at oracle.iam.platform.kernel.impl.OrchProcessData.runPreProcessEvents(OrchProcessData.java:898)
    at oracle.iam.platform.kernel.impl.OrchProcessData.runEvents(OrchProcessData.java:634)
    at oracle.iam.platform.kernel.impl.OrchProcessData.executeEvents(OrchProcessData.java:227)
    at oracle.iam.platform.kernel.impl.OrchestrationEngineImpl.resumeProcess(OrchestrationEngineImpl.java:664)
    at oracle.iam.platform.kernel.impl.OrchestrationEngineImpl.process(OrchestrationEngineImpl.java:435)
    at oracle.iam.platform.kernel.impl.OrchestrationEngineImpl.orchestrate(OrchestrationEngineImpl.java:381)
    at oracle.iam.platform.kernel.impl.OrchestrationEngineImpl.orchestrate(OrchestrationEngineImpl.java:334)
    at oracle.iam.identity.usermgmt.impl.UserManagerImpl.create(UserManagerImpl.java:653)
    at oracle.iam.identity.usermgmt.api.UserManagerEJB.createx(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)

  • Getting error in event handler method onPlugFromStartView

    Hi,
           I am getting error in event handler method onPlugFromStartView java coding. The error message is u201CThe method wdGetwelcome componentcontroller() is undefined for the IPrivatevieew.
    Plese explain how to resolve this error to deploy the webdynpro application successfully.
    Thanks,
    Kundan.

    Hi
    1.It seems some thing corrupt or some problem .
    2. Do one exercise Create one new Dc --component -View ,In component write one method.
        a)  Open the view and then try to add that component.
    Let us know the result
    Best Regards
    Satish Kumar

  • Bug: RichTextEditor "Initialize" not classed as event handler

    I'm trying to load the RichTextEditor control in a popup window. Here's my code:
    var rte:RichTextEditor = new RichTextEditor();
    rte.width   =  600;
    rte.height  =  500;
    rte.title   =  'Edit Text';
    I need to add the initialize event handler so I can add a button to the toolbar (as per the example on the Adobe website).
    However, when I type:
    rte.initialize  =  "addSaveButton()";
    Flash Builder says this is invalid as "initialize" is actually a function and doesn't accept any parameters.
    Compare this with:
    <mx:RichTextEditor initialize="addSaveButton()"/>
    Flash Builder recongises "initialize" as an event handler and therefore accepts the addSaveButton() function.
    Can anyone else confirm whether this is a bug with the SDK or not? I can simply add the button outside of the RTE for now, but then I'd have to wrap the RTE in a separate panel to accomodate the button, which isn't ideal.
    Thanks in advance.

    Hi,
    this is how to add the event listener
    rte.addEventListener(FlexEvent.INITIALIZE,addSaveButton);
    David.

Maybe you are looking for

  • HT201412 i cant update my iphone 5c its loading for a long time

    i cant update my iphone 5c to ios7.1 my email adress [email protected]

  • Thread Pool Problem

    Hi, I amhaving problem with a thread pooling my code once allocates a thread to a user then never is able to find that it is idle. the code is some what like this. public class foo extends Thread{ pubblic void setPrimeData(Hashtable data){ //sets the

  • Help! Asmlib disks disappear after restart! No multipath Used

    Hi,All I created Asmlib disks like below /etc/init.d/oracleasm createdisk DISK1 /dev/sdb1 After I rebooted the RHLE 5, DISK1 vanished! [root@test sysconfig]# /etc/init.d/oracleasm listdisks [root@test sysconfig]# When I tried to recreate it,I found t

  • Flashing Gray Folde with Question Mark

    I opened my lid on my macbook this morning and it froze. I restarted the computer and was greeted with a flashing folder icon with a question mark in it. I have no idea what happen!?! It sits on my desk when not in use. I purchased it in September or

  • Safari 6 scrolling & navigation bug

    Open a page which contains a FRAME element. Scroll to middle or bottom of the page. Click a link. The new opened page is scrolled.(not show the top of page content) And the mouse cursor is not in the correct position. verify step: double click notice