Worklist - Task Control Factory Event Handler Issue

I am developing a worklist application, which requires to create Task (Approval Process) for each user in a group.I have created a Task Control Factory in a "For Each" loop which creates multiple Tasks and i can see them through the default "worklist GUI" provided also "complete" the tasks. The Issue is the "onTaskCompleted" event does not get captured. It just gets lost.
FYI, I have followed the BEA guidelines (http://e-docs.bea.com/wli/docs81/worklist/advanced.html#1076366)for creating Task Control Factories.
Any kind of help will be really appreciated

I am only guessing here, but since your process is creating multiple tasks, the completion of any single task can't be captured by your process. Once you start creating multiple tasks your ability to monitor a single task probably gets lost.
One possibility to fix this is for your process to have a parallel branch: one branch will call a sub process for each task that you need completed and one branch will receive the call backs from the sub process. In this way you will be able to have multiple tasks created simultaneously while still capturing the individual onTaskCompleted events.
Hope this helps.

Similar Messages

  • Update password custom scheduled task orchestration event handler issue

    Hello experts,
    I am trying to run a custom scheduled to update user password in OIM 11.1.1.5
    Consider there are 5 users in the input feed file
    TSTUSR1
    TSTUSR2
    TSTUSR3
    TSTUSR4
    TSTUSR5
    Problem i am facing is when update of change password fails for a user then for the subsequent users also its getting failed. Say for TSTUSR3 the change password is failed for some reason (consider user not present) then for TSTUSR4 and TSTUSR5 also it is getting failed.
    Note: here the changepassword for TSTUSR4 and TSTUSR5 is getting called but i am getting some orchestration event handler exception as below.
    <Mar 9, 2012 6:26:12 AM CET> <Warning> <oracle.iam.platform.kernel.impl> <IAM-00 80002> <Orchestration validation failed on the event handler - The password change operation failed.>
    Exception occured during change password
    oracle.iam.identity.exception.UserManagerException: The password change operatio n failed.
    at oracle.iam.identity.usermgmt.impl.UserManagerImpl.changePassword(User ManagerImpl.java:3024)
    at oracle.iam.identity.usermgmt.impl.UserManagerImpl.changePassword(User ManagerImpl.java:2959)
    at oracle.iam.identity.usermgmt.api.UserManagerEJB.changePasswordx(Unkno wn Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJo inpointUsingReflection(AopUtils.java:310)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMetho dInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMetho dInvocation.proceed(ReflectiveMethodInvocation.java:149)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntrodu ctionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntrodu ctionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMetho dInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisit orImpl.visit(MethodInvocationVisitorImpl.java:37)
    at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.c allback(EnvironmentInterceptorCallbackImpl.java:54)
    at com.bea.core.repackaged.springframework.jee.spi.EnvironmentIntercepto r.invoke(EnvironmentInterceptor.java:50)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMetho dInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocat ionInterceptor.invoke(ExposeInvocationInterceptor.java:89)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMetho dInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntrodu ctionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntrodu ctionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMetho dInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopPr oxy.invoke(JdkDynamicAopProxy.java:204)
    at $Proxy331.changePasswordx(Unknown Source)
    at oracle.iam.identity.usermgmt.api.UserManager_nimav7_UserManagerRemote Impl.__WL_invoke(Unknown Source)
    at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(Ses sionRemoteMethodInvoker.java:40)
    at oracle.iam.identity.usermgmt.api.UserManager_nimav7_UserManagerRemote Impl.changePasswordx(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(Remote BusinessIntfProxy.java:85)
    at $Proxy195.changePasswordx(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflecti on(AopUtils.java:307)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynami cAopProxy.java:198)
    at $Proxy328.changePasswordx(Unknown Source)
    at oracle.iam.identity.usermgmt.api.UserManagerDelegate.changePassword(U nknown Source)
    And below is the code snippet i am using
    try
    CsvReader fileName = new CsvReader(actualPath);
    fileName.readHeaders();
    while (fileName.readRecord()) {
    try
    String username = fileName.get("USR_LOGIN").toUpperCase();
    String password = fileName.get("USR_PASSWORD");
    if(!isNullOrEmpty(username)&& !isNullOrEmpty(password) )
         userAPI.changePassword(username, password.toCharArray(),true);
    else
         System.out.println("Record is empty");
         err.add(fileName.getRawRecord());     
    } catch (Exception e) {
    err.add(fileName.getRawRecord());     
    System.out.println("Exception occured during change password");
    e.printStackTrace();
    System.out.println("Continuing with next record");
    catch (Exception e) {
    e.printStackTrace();
    Your input at the earliest would be helpful.
    Thanks,
    DK
    Edited by: 875142 on Mar 8, 2012 10:56 PM

    It shouldn't but this is an OIM issue. handle yourself the possible cause.
    Myself experienced the same and it was because of policy failure.
    Try to put below check before password update.
    import oracle.iam.passwordmgmt.vo.ValidationResult;
    import oracle.iam.identity.usermgmt.vo.User;
    import oracle.iam.passwordmgmt.api.PasswordMgmtService;
    User searchedUser = null;
    ValidationResult validationResult = null;
    PasswordMgmtService pwdMgmt = Platform.getService(PasswordMgmtService.class);
    searchedUser = userAPI.getDetails(resultSet11g.getString("USR_LOGIN"), null, true);
    //Check if password is as per attached password policy
    validationResult = pwdMgmt.validatePasswordAgainstPolicy(password.toCharArray(), userLogin, searchedUser.getLocale());
    logger.debug("Result" + validationResult.isPasswordValid());
    if (validationResult.isPasswordValid()) {
    //Change the password
    userAPI.changePassword(username, password.toCharArray(),true);
    I suggest even validate if user exist or not.you can handle it using serchedUser(in above code). The above code validating policy only.
    --nayan                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • User Recon and Event Handler  Issue in OIM11g

    Hello Experts,
    I am developing a Trusted Source Recon (User) for a proprietary application. I have devloped two java classes and put them into a jar file and placed the same jar in both ScheduleTask and EventHandlers directory of OIM.
    1.UserRecon class -- for User Recon
    2. EventHandler class -- update user's password after reconciling the user using API.
    In the User Recon class , I have defined a static HashMap variable to store the user and user's password as a class variable. The flow will be like this,
    1. Query trsuted source
    2. Reconcile user (except password because password can not be)
    3. Update the map with userid (key) and password.
    4. After reconciling , In the event handler use the same map to read user's password and set the password in OIM using API. (setXelleratePassword).
    5.After successful password set remove the entry from Map.
    The idea is to avoid making additional call to trusted source to retrieve the user's password.
    This worked in OIM9102. But when I tested the same in 11g it did not work.... Though the User Recon class updates the record into the HashMap , In the eventhandler , the HashMap is always coming as "empty".
    I did the below changes for 11g,
    1. Modified the EventHandler class to suite for 11g.
    2. Deployed the event handler as a plugin
    3. Placed the same jar file in Schedule task directory of OIM 11g
    I am unable find out where it is going wrong?? and tired of troubleshooting. Can you assist me ?
    Thanks and Regards
    INIYA

    INIYA wrote:
    Hello Experts,
    I am developing a Trusted Source Recon (User) for a proprietary application. I have devloped two java classes and put them into a jar file and placed the same jar in both ScheduleTask and EventHandlers directory of OIM.
    1.UserRecon class -- for User Recon
    2. EventHandler class -- update user's password after reconciling the user using API.
    In the User Recon class , I have defined a static HashMap variable to store the user and user's password as a class variable. The flow will be like this,
    1. Query trsuted source
    2. Reconcile user (except password because password can not be)
    3. Update the map with userid (key) and password.
    4. After reconciling , In the event handler use the same map to read user's password and set the password in OIM using API. (setXelleratePassword).
    5.After successful password set remove the entry from Map.
    The idea is to avoid making additional call to trusted source to retrieve the user's password.
    This worked in OIM9102. But when I tested the same in 11g it did not work.... Though the User Recon class updates the record into the HashMap , In the eventhandler , the HashMap is always coming as "empty".
    I did the below changes for 11g,
    1. Modified the EventHandler class to suite for 11g.
    2. Deployed the event handler as a plugin
    3. Placed the same jar file in Schedule task directory of OIM 11gHope there are two jars, if this is the case place the secondary jar in lib folder, than make it as plugin.
    >
    I am unable find out where it is going wrong?? and tired of troubleshooting. Can you assist me ?
    put the printstacktrace, so that problem can be identify
    sample code
    HashMap hash= null;
    try{
    hash = get map from other class
    //class be load at this point, if class is not loaded than you will get exception.
    }catch(Throwable t){
    // hope you will get some error or exception here
    t.printstacktrace();
    >
    Thanks and Regards
    INIYAPaste you sample code, if it couldn't help.

  • Event Handling Issues

    Hi Guys..
    I am doing some event handling code and am having some problem.I have placed the following on the stage, a submit button whose instance name is 'btnSubmit' and a label whose instance name is 'lblTest'. The ActionScript 3 code resides in a separate 'Maxwell.as' file. In the 'Maxwell.FLA'
    file, I have typed 'Maxwell' in the document class property. The following is my AS3 code:
    package
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    public class Maxwell extends Sprite
      public function Maxwell()
       // constructor code
      private function sendMsg(e:MouseEvent):void
       lblTest.text = "Clicked";
      btnSubmit.addEventListener(MouseEvent.CLICK, sendMsg);
    When I do a 'CNTRL + ENTER' and run this program I get the following errors:
    Access of undefined property btnSubmit.
    Access of undefined property sendMsg.
    I don't understand why I am getting these errors. I have already linked up both files by typing 'Maxwell' in the
    document class window and furthermore 'sendMsg' is the name of a function. I hope somebody can advise me. Thanks.

    Your add listener code is outside any function - you can't do that with classes. You can put it in the constructor:
    package
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    public class Maxwell extends Sprite
      public function Maxwell()
       // constructor code
          btnSubmit.addEventListener(MouseEvent.CLICK, sendMsg);
      private function sendMsg(e:MouseEvent):void
       lblTest.text = "Clicked";

  • Event Handling issue

    Hai All,
              I'm manipulating the production order form, Created one folder and placed some checkboxes and edit boxes in that. My issue is, i've handled the click event of check box by et_ITEM_PRESSED and the lost focus of the editbox by et_LOST_FOCUS, working fine for the first time i mean events are handled only once, next time onwards it's not handling that particular events..
    If pVal.FormType = "65211" And pVal.ItemUID = "chktst1" And pVal.EventType = SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED And pVal.BeforeAction = False Then
                oform = sbo_application.Forms.GetFormByTypeAndCount(pVal.FormType, pVal.FormTypeCount)
                Dim samchk As SAPbouiCOM.CheckBox
                samchk = oform.Items.Item("chktst1").Specific
                If samchk.Checked = True Then
                    oform.Items.Item("txtrjt1").Enabled = False
                    oform.Items.Item("txtrjt1").Specific.Value = ""
                    oform.Items.Item("txtaqty1").Specific.Value = oform.Items.Item("12").Specific.Value
                    oform.Items.Item("txtqty").Specific.Value = oform.Items.Item("txtaqty1").Specific.Value
                ElseIf samchk.Checked = False Then
                    oform.Items.Item("txtrjt1").Enabled = True
                    oform.Items.Item("txtrjt1").Specific.Value = ""
                    oform.Items.Item("txtaqty1").Specific.Value = CStr(CInt(oform.Items.Item("12").Specific.Value) - CInt(oform.Items.Item("txtrjt1").Specific.Value))
                End If
            End If
            If pVal.FormType = "65211" And pVal.ItemUID = "txtrjt1" And pVal.EventType = SAPbouiCOM.BoEventTypes.et_LOST_FOCUS And pVal.BeforeAction = False Then
                oform = sbo_application.Forms.GetFormByTypeAndCount(pVal.FormType, pVal.FormTypeCount)
                oform.Items.Item("txtaqty1").Specific.Value = CStr(CInt(oform.Items.Item("12").Specific.Value) - CInt(oform.Items.Item("txtrjt1").Specific.Value))
                oform.Items.Item("txtqty").Specific.Value = oform.Items.Item("txtaqty1").Specific.Value
            End If
    This is my code.
    Thanks In Advance

    HI jaideep,
    I see nothing wrong with your code, so lets check some other stuff out.
    1. Are your fields binded to DataSources? Sometimes I forget to bind a control to a DataSource at it has the same behavior. (If I don't bind a OptionButton, I can activate it but after that I cannot deactivate it).
    2. Download and install the Event Logger Tool and check if all the event are firing correctly.
    Regards,
    Vítor Vieira

  • Navigation control and event handling in jsf rc1

    afternoon folk,
    i am using the rc1 release of jsf, and am sorting down through some things. i have a question on the proper way to do the following:
    i have a page that gathers some user parameters to be used to submit in generating a report. this report will take around 15 minutes to complete. once i submit the parameters from this page, i have a managed bean stored in session scope that will issue a Thread.run() to run the report as a thread, and allow the page to return without timing out. when the report is complete, it sets a flag in the managed bean i can use to determine that the report is complete. from the user's standpoint, i have a page with the refresh attribute set, that uses the jstl conditional operators to check if the report thread is complete or not. this all works fine. what happens though, is that when the report thread is complete and the page that checks the flag indicating this runs, i haven't found a good way to call the page that i have that will display the results of the operation. my 'monitor' page has the following code snippet in it:
         <c:if test="${MyReport.reportThread.reportRunning}">
         <h:outputText id = "spl" value="#{bundle.stillProcessingLabel}" />
         </c:if>
    <c:if test="${MyReport.reportThread.reportRunning == false}">
         <h:commandLink id="done" action="displayResults">
         <h:outputText id = "vrl" value="#{bundle.viewReportsLabel}" />
              </h:outputLink>
         </c:if>
    in my faces-config.xml file, i have a navigation rule that says to go to the results page on a value of displayResults coming from the monitor page.
    <navigation-rule >
    <from-view-id>/monitor.jsp</from-view-id>
    <navigation-case>
    <description>
    Holding page for the user till the reports are completed
    </description>
    <from-outcome>displayResults</from-outcome>
    <to-view-id>/displayResults.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    what happens is that the stillProcessingLabel message displays for each refresh cycle of the page (that is set using the <meta http-equiv="refresh" content="60"> until the report thread is complete, but once that occurs, i do not see the command link output, and the page that called this monitor page is displayed without any user interaction, not the results page.
    any suggestions as to how to handle this, and why it is occurring would be appreciated.
    thanks
    tom

    I had a similar issue in a project I am working on. I'm not sure if I did this the "Best Practices" way or not, but it works perfectly.
    In the head area of my JSP I include the following:
    <f:view>
        <h:outputText id="refresher1" rendered="#{queryHandler.queryRunning}">
            <f:verbatim escape="false">
                <meta http-equiv="refresh"
                      content="5,<%=response.encodeURL(request.getContextPath()+
                              "/queryStatus.jsf")%>">
            </f:verbatim>
        </h:outputText>
        <h:outputText id="refresher1" rendered="#{queryHandler.queryFinishedRunning}">
            <f:verbatim escape="false">
                <meta http-equiv="refresh"
                      content="5,<%=response.encodeURL(request.getContextPath()+
                              "/queryResults.jsf")%>">
            </f:verbatim>
        </h:outputText>This puts a 5 second refresh meta in the header to direct the browser to the correct page based on the status of the query thread.
    There are many ways to accomplish the effect you want. I suggest putting all the controls into the JSP and making use of the rendered attributes instead of the JSTL conditionals to show the controls you want for the state of the application.
    -jeffhoward

  • Crazy Event Handler Issue

    I have a window (same specials window from before) that is
    created when a window function is called. When the window is
    created, I define two listeners to grab ROLL_OVER and ROLL_OUT.
    Above this window is a TextField that loads dynamic text from an
    external php file. Both are inside the same container and added to
    the display list in the proper way so that the visual stack order
    is correct. When I roll my mouse over the window, it appears as it
    should but the second the mouse is over the textfield, the ROLL_OUT
    event is called forcing my window to tween back to its home
    position. I've included the code. Maybe someone can tell me what
    might be going on...

    still an issue kglad. my code doesn't set the selectable
    property and by default selectable is false. I fixed the issue. by
    adding _tf.mouseEnabled = false; Now it no longer receives mouse
    events like I want. Thanks anyways guys.

  • Event handling issue in firefox

    This script works well in IE.
    In Firefox, select looses focus. Event fires, when u click on
    other element then control moves to next element. I want to stay
    focus on the same textbox till user enters correct phone no in
    Firefox. How to make this script work in FF, like script is working
    IE?.

    Try using obj.focus() instead of obj.select()
    .select() is meant to apply to the contents of the control,
    rather than the control itself.

  • OADialog Page Event Handling - Issue

    Hi,
    This is my requirement.It is a Contorller Extension. We have 'Change Pay' action from HRMS Manager Self Service Responsibility. So, once the manager enters the new pay and effective date and clicks on 'APPLY', it will check the effective date with the cut off dates and should prompt a warning message to the manager, that this change will be effective from the next pay run with 2 options Continue and Abort. When I cllick on Continue, it should go ahead a perform the operations of the APPLY button, it should commit the transaction. So, Dialog Page is displayed and the ABORT button is working fine. But when I press the CONTINUE button, it is comming back to the main page and all the parameters I have entered are NULL, and it displays error message to enter those fields. I dont know what I am missing here. I have copy pasted the 'APPLY' button code in the 'CONTINUE ' button, and super.processformrequest() doesnt work. Please help me with this.
    Thanks & Regards,
    Divya

    HI jaideep,
    I see nothing wrong with your code, so lets check some other stuff out.
    1. Are your fields binded to DataSources? Sometimes I forget to bind a control to a DataSource at it has the same behavior. (If I don't bind a OptionButton, I can activate it but after that I cannot deactivate it).
    2. Download and install the Event Logger Tool and check if all the event are firing correctly.
    Regards,
    Vítor Vieira

  • Issue with Task Control Call back and Event Choice in WLI BPM 8.1

    Hi,
    I am using a Task Control Factory to create Task Control Instances in a loop
    and then
    create tasks and assign them to a predefined group. I have an event choice
    for two events
    waiting for the onTaskCompleted and onTaskAborted event call backs.
    I have two such operations (of task creation) in the same loop. For
    simplicity I have used two separate task factory controls for each of the
    tasks (because I even had worse problems using a single control factory for
    both tasks in the same loop).
    When I instantiate the process, through work list I am able to claim, start
    and complete the first task. When I try the same procedure (claim, start and
    complete) on the second task, the the event choice for the corresponding
    task receives 2 event call backs. First it receives the onTaskCompleted as
    expected, but then it also received another call back of the same type which
    displays the error on the server log as:
    <Sep 24, 2003 9:43:56 AM EDT> <Warning> <WLW> <000000> <on process
    completion, 1 undelivered messages to
    'sampleRequestTaskFactoryCtrl_onTaskCompleted'>
    <Sep 24, 2003 9:43:56 AM EDT> <Warning> <WLW> <000000> <ejbLoad:
    Conversation 1064411008439:null not found>
    <Sep 24, 2003 9:43:56 AM EDT> <Warning> <WLW> <000000> <A message was unable
    to be delivered from a WLW Message Queue. Attempting to deliver the
    onAsyncFailure event>
    <Sep 24, 2003 9:43:56 AM EDT> <Warning> <WLW> <000000> <ejbLoad:
    Conversation 1064411008439:null not found>
    Does anybody know why two events are fired for the same work list action?
    Thanks in advance.
    Henry M

    Henry,
    Please post this question on the weblogic.developer.interest.integration
    newsgroup.
    Regards,
    Raj Alagumalai
    Backline Workshop Support
    "Henry Mugasha" <[email protected]> wrote in message
    news:[email protected]..
    Hi,
    I am using a Task Control Factory to create Task Control Instances in aloop
    and then
    create tasks and assign them to a predefined group. I have an event choice
    for two events
    waiting for the onTaskCompleted and onTaskAborted event call backs.
    I have two such operations (of task creation) in the same loop. For
    simplicity I have used two separate task factory controls for each of the
    tasks (because I even had worse problems using a single control factoryfor
    both tasks in the same loop).
    When I instantiate the process, through work list I am able to claim,start
    and complete the first task. When I try the same procedure (claim, startand
    complete) on the second task, the the event choice for the corresponding
    task receives 2 event call backs. First it receives the onTaskCompleted as
    expected, but then it also received another call back of the same typewhich
    displays the error on the server log as:
    <Sep 24, 2003 9:43:56 AM EDT> <Warning> <WLW> <000000> <on process
    completion, 1 undelivered messages to
    'sampleRequestTaskFactoryCtrl_onTaskCompleted'>
    <Sep 24, 2003 9:43:56 AM EDT> <Warning> <WLW> <000000> <ejbLoad:
    Conversation 1064411008439:null not found>
    <Sep 24, 2003 9:43:56 AM EDT> <Warning> <WLW> <000000> <A message wasunable
    to be delivered from a WLW Message Queue. Attempting to deliver the
    onAsyncFailure event>
    <Sep 24, 2003 9:43:56 AM EDT> <Warning> <WLW> <000000> <ejbLoad:
    Conversation 1064411008439:null not found>
    Does anybody know why two events are fired for the same work list action?
    Thanks in advance.
    Henry M

  • Is there a way to "throw" the event handling task

    I want to create a ButtonPanel class (extends JPanel), and this ButtonPanel class will add 3 buttons to it (in a GridLayout). But I don't want this ButtonPanel to control the event handling for these buttons, I want the JFrame or whatever container above the ButtonPanel to be controlling the ActionListener for the buttons. If I do this
    button1.addActionListener(this)is there a way for me make the ButtonPanel pass the ActionPerformed() task to the container above it?
    or better yet what should the "?" be in this statement?
    button1.addActionListener(?)so that the ActionListener (the one doing the actionPerformed) will always be the container containing the ButtonPanel. Thanks...Happy Thanksgiving.

    Well.. I can't be sure this is "good design", but this is how I usually do it, and it works well for me, for a few reasons.
    1. The ButtonPanel is accepting an ActionListener (an abstract interface) instead of a contrete class such as a JFrame or the actual class. This move allows the Panel to be re-used in similar situations as long as there is something to handle the button's events.
    2. The JFrame is the best candidate to handle the event since it holds the other components that this button click is suppose to manipulate. Of course if there are other components more suitable, I would make it implement the ActionListener instead of the JFrame itself.
    Of course there are many other ways to do this, such as using an anonymous inner class, but that won't work in your case since you want the parent Frame to handle the event. I would like to learn about other good methods of achieving this as well!

  • [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.

  • Trajectory program event handling

    Nobody else responded to my question on the subject "Trajectory" in Java Programming forum. See my post history for problem description and code. Perhaps the subject is more appropriate here as an event handling issue. Who has the technical savvy to attempt a solution?

    (2) I wouldn't have problem with separate classes as
    long as I have no inner classes and the program
    essentially works. Sure, one 10,000 - line class may also work fine. However, it is reccommended do not make classes
    (as well as source files) very large. The reason is that long file is more difficult to debug.
    Second reason why i advised you to do that is that you mix in one class Trajectory (which is about 2000 lines long!!!) all - interface, event handling, calculations, parts responsible for 2D panel processing....
    Well, this is not Java is supoposed to be used for.
    (3) Creating object of class Falling object is
    something I'll consider. If you could show me a brief
    code example, I'll understand more.
    class fallingObject
          private double mass;
          private double speed;
          Position[] trajectory = new Position[1000];  // Create class Position each object of which holds only
          // 2 variables - x and y
         //all initial data related to this object
         fallingObject(double mass, double speed , /* the rest ........*/)
              this.mass = mass;
               this.speed = speed;
              moveObject();
              //and so on
        // some methods you need
         private moveObject ()
             // perform all calculations
             // fill array
         // etc
    Now, because all except trajectory array and constructor is private you cannot change this object outside
    class. This means that if something goes wrong with calculations, you check only this class and nothing else. In your case you can change some variable at lines 1352 and 122 - you have to check all program to find bug. Here you have to check only this class.
    You may also supply this class with mutators and accessors
    public double getMass()
       return mass;
    public void setMass(double mass) // only if you really need this
       this.mass = mass;
    The time interval
    is a tricky parameter since not all calculations work
    properly with input data; check input
    the logic would require more
    complexity and possibly cause run time problems;
    automatically testing for the appropriate time
    interval could also reduce program efficiency. Dont think so. You can calculate time of falling and divide it by 1000, for instance.
    It will take very short time.
    I don't
    want to set a limit for array points to 1000 or less
    since the precision becomes limited and the power of
    the program can be hurt severely since the time
    duration would be restricted to less than 16 2/3
    minutes( 1 second per array index increment). Dont use real time simulation. There is no sence in it. You just want to show how object is falling.
    Also, I
    don't think the array size can't be changed during a
    program run although I have set a much higher maximum
    value for array size. Theres no need to change array size.
    (4) Erasing data from textfields is something I desire
    as a calculation reset feature since it should signal
    user that it expects new data and not looking at old
    data; however, I might consider additional variables
    to hold the data. Well, man, it was quite irritating to type them in. So many fields. User is not stupid,
    he knows that he can input other data. Almost anybody will leave this page and wont want to
    fill fields again. You have to think about user, not about what you want.
    (5 )BTW, what I have in the array doesn't have the
    same precision as with the calculation mode. The 2D
    simulation uses less precise data to become visually
    practical for comprehension of users. But perhaps I
    need more than one type of array, but then again,
    performance could be a problem.
    (6) I thought the program already does take parameters
    from text fields and start again. This is what I
    desire anyway so I'm not sure why I need new start
    feature.
    (7) Restart animation seems unaccepatble since I
    prefer to treat each simulation as something based on
    new calculation data.
    I would have initially set up the program with OOD
    emphasis, but the original intent was a java
    conversion of a a C++ program that needed only a
    structured program design and the conversion worked
    fine. This Java program has evolved with the 2D
    simulation enhancements.
    When you did testing the other day, did you use
    appletviewer? I looked at it on your site using Safari and run it as application also.
    Appletviewer will not detect the problem
    so don't rely on Appletviewer to interpret the
    problem. Oddly, I wish the program behaved the same
    way as what happens when using appletviewer. In fact,
    if I could change 2d reset button logic to terminate
    and restart the entire applet again via html, then my
    problem would be solved. But I don't know if this type
    of applet restart is possible or how to effect the
    code change if feasible.

  • WPF UI running in seperate runspace - able to set/get controls via synchronized hash table, but referencing the control via the hash table from within an event handler causes both runspaces to hang.

    I am trying to build a proof of concept where a WPF form is hosted in a seperate runspace and updates are handled from the primary shell/runspace. I have had some success thanks to a great article by Boe Prox, but I am having an issue I wanted to open up
    to see if anyone had a suggestion.
    My goals are as follows:
    1.) Set control properties from the primary runspace (Completed)
    2.) Get control properties from the primary runspace (Completed)
    3.) Respond to WPF form events in the UI runspace from the primary runspace (Kind of broken).
    I have the ability to read/write values to the form, but I am having difficulty with events. Specifically, I can fire and handle events, but the minute I try to reference the $SyncHash from within the event it appears to cause a blocking condition hanging both
    runspaces. As a result, I am unable to update the form based on an event being fired by a control.
    In the example below, the form is loaded and the following steps occur:
    1.) Update-Combobox is called and it populates the combobox with a list of service names and selects the first item.
    2.) update-textbox is called and sets the Text property of the textbox.
    3.) The Text value of the textbox is read by the function read-textbox and output using write-host.
    4.) An event handle is registered for the SelectionChanged event for the combobox to call the update-textbox function used earlier.
    5.) If you change the selection on the combobox, the shell and UI hangs as soon as $SyncHash is referenced. I suspect this is causing some sort of blocking condition from multiple threads trying to access the synchronized nature of the hash table, but I am
    unsure as to why / how to work around it. If you comment out the line "$SyncHash.TXT_Output.Dispatcher.Invoke("Send",[action]{$SyncHash.TXT_Output.Text = $Value})" within update-textbox the event handler will execute/complete.
    $UI_JobScript =
    try{
    Function New-Form ([XML]$XAML_Form){
    $XML_Node_Reader=(New-Object System.Xml.XmlNodeReader $XAML_Form)
    [Windows.Markup.XamlReader]::Load($XML_Node_Reader)
    try{
    Add-Type –AssemblyName PresentationFramework
    Add-Type –AssemblyName PresentationCore
    Add-Type –AssemblyName WindowsBase
    catch{
    Throw "Unable to load the requisite Windows Presentation Foundation assemblies. Please verify that the .NET Framework 3.5 Service Pack 1 or later is installed on this system."
    $Form = New-Form -XAML_Form $SyncHash.XAML_Form
    $SyncHash.Form = $Form
    $SyncHash.CMB_Services = $SyncHash.Form.FindName("CMB_Services")
    $SyncHash.TXT_Output = $SyncHash.Form.FindName("TXT_Output")
    $SyncHash.Form.ShowDialog() | Out-Null
    $SyncHash.Error = $Error
    catch{
    write-host $_.Exception.Message
    #End UI_JobScript
    #Begin Main
    add-type -AssemblyName WindowsBase
    [XML]$XAML_Form = @"
    <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Window.Resources>
    <DataTemplate x:Key="DTMPL_Name">
    <TextBlock Text="{Binding Path=Name}" />
    </DataTemplate>
    </Window.Resources>
    <DockPanel LastChildFill="True">
    <StackPanel Orientation="Horizontal" DockPanel.Dock="Top">
    <Label Name="LBL_Services" Content="Services:" />
    <ComboBox Name="CMB_Services" ItemTemplate="{StaticResource DTMPL_Name}"/>
    </StackPanel>
    <TextBox Name="TXT_Output"/>
    </DockPanel>
    </Window>
    $SyncHash = [hashtable]::Synchronized(@{})
    $SyncHash.Add("XAML_Form",$XAML_Form)
    $SyncHash.Add("InitialScript", $InitialScript)
    $Normal = [System.Windows.Threading.DispatcherPriority]::Normal
    $UI_Runspace =[RunspaceFactory]::CreateRunspace()
    $UI_Runspace.ApartmentState = [System.Threading.ApartmentState]::STA
    $UI_Runspace.ThreadOptions = [System.Management.Automation.Runspaces.PSThreadOptions]::ReuseThread
    $UI_Runspace.Open()
    $UI_Runspace.SessionStateProxy.SetVariable("SyncHash",$SyncHash)
    $UI_Pipeline = [PowerShell]::Create()
    $UI_Pipeline.Runspace=$UI_Runspace
    $UI_Pipeline.AddScript($UI_JobScript) | out-Null
    $Job = $UI_Pipeline.BeginInvoke()
    $SyncHash.ServiceList = get-service | select name, status | Sort-Object -Property Name
    Function Update-Combobox{
    write-host "`nBegin Update-Combobox [$(get-date)]"
    $SyncHash.CMB_Services.Dispatcher.Invoke($Normal,[action]{$SyncHash.CMB_Services.ItemsSource = $SyncHash.ServiceList})
    $SyncHash.CMB_Services.Dispatcher.Invoke($Normal,[action]{$SyncHash.CMB_Services.SelectedIndex = 0})
    write-host "`End Update-Combobox [$(get-date)]"
    Function Update-Textbox([string]$Value){
    write-host "`nBegin Update-Textbox [$(get-date)]"
    $SyncHash.TXT_Output.Dispatcher.Invoke("Send",[action]{$SyncHash.TXT_Output.Text = $Value})
    write-host "End Update-Textbox [$(get-date)]"
    Function Read-Textbox(){
    write-host "`nBegin Read-Textbox [$(get-date)]"
    $SyncHash.TXT_Output.Dispatcher.Invoke($Normal,[action]{$Global:Return = $SyncHash.TXT_Output.Text})
    $Global:Return
    remove-variable -Name Return -scope Global
    write-host "End Read-Textbox [$(get-date)]"
    #Give the form some time to load in the other runspace
    $MaxWaitCycles = 5
    while (($SyncHash.Form.IsInitialized -eq $Null)-and ($MaxWaitCycles -gt 0)){
    Start-Sleep -Milliseconds 200
    $MaxWaitCycles--
    Update-ComboBox
    Update-Textbox -Value $("Initial Load: $(get-date)")
    Write-Host "Value Read From Textbox: $(Read-TextBox)"
    Register-ObjectEvent -InputObject $SyncHash.CMB_Services -EventName SelectionChanged -SourceIdentifier "CMB_Services.SelectionChanged" -action {Update-Textbox -Value $("From Selection Changed Event: $(get-date)")}

    Thanks again for the responses. This may not be possible, but I thought I would throw it out there. I appreciate your help in looking into this.
    To clarify the "Respond to control events in the main runspace"... I'm would like to have an event generated by a form object in the UI runspace (ex: combo box selectionchanged event) trigger a delegate within the main runspace and have that delegate in
    the main runspace update the form in the UI runspace.
    ex:
    1.) User changes selection on combo box generating form event
    2.) Event calls delegate (which I have gotten to work)
    3.) Delegate does some basic processing (works)
    4.) Delegate attempts to update form in UI runspace (hangs)
    As to the delegates / which runspace they are running in. I see the $synchash variable if I run get-var within a delegate, but I do not see the $Form variable so I am assuming that they are in the main runspace. Do you agree with that assumption?

  • Getting task id in boundary event handler

    Oracle BPM 11.1.1.6
    I have a human task in my process and I want to send out some very customized notification ( very different to the original assignment notification) to the assignee if the task is not actioned within a certain duration. For this I am having a non interrupting boundary event handler attached to the task which connects to a notification activity. The notification content needs to include an URL , which has the task id as part of it. ( we are using a custom worklist app ). Question: is there a way to get the taskid of the task for including it in the content of notification activity ?
    TIA,
    Atheek

    Hi
    UBR and UER are amounts that system calculate for the entire draft invoice and the entire draft revenue.
    Since usually invoice and revenue are generated at the project level, the task id is not a valid parameter for AA, since there could be multiple tasks on the same document.
    If in your case you are sure the revenue and invoice document always contains a single task, you could try a workaround using AA rule based on SQL statement. The logic will be to select any bill item within the invoice or revenue (either EI RDL or an Event) and read the task id of that item.
    Dina

Maybe you are looking for

  • Adobe Photoshop CC crashes on startup. Other CC applications also crash except media encoder.

    Adobe photoshop and other CC applications (except media encoder) crash within 10 secs of launch. I do not get any information in "Event viewer" for the crash.

  • Rollover text not rendering correctly in Safari 7.x

    Safari 7.x and my blog (NotNecessarilyPretty.com) are not getting along. Specifically, the rollover text in the post titles (see attached or visit site) is not rendering correctly. The right edge of the text does not change to the correct color. Have

  • Two Phase Commit on Slow Network

    Can I implement two phase commit transaction using Windows 2000 Professional's Dial-Up Connection ? Where would I find information on this ? I connected two Windows 2000 Prof. PCs using Dial-Up Connection on Telephone line. Now if I try to ping servi

  • Netbeans  and MIDP GUI

    I'd like to design MIDP GUI on netbeans. Is there any manual or Tip to develop MIDP GUI screen on netbeans? Thanks in advance.

  • AppleTV Upgrade 7.0 AirPlay Audio Issue

    I noticed an AirPlay issue recently with a third party app (Corsair Voyager Air) after I upgraded to the 7.0 Apple TV firmware; while AirPlaying my movies from the third party app to AppleTV, the movie audio was not streaming at all, only the video.