Parent processes a key event.

How to transfer the processing of key event of focusable component to it's parent? For example how to make a frame having a key listener added and containing buttons, text boxes, etc. to process key events?

I found a way
getToolkit().addAWTEventListener(
new AWTEventListener() {
public void eventDispatched(AWTEvent e) {
//MouseEvent me = (MouseEvent)e;
switch(e.getID()) {
case MouseEvent.MOUSE_RELEASED:
System.out.println("released:id="+e.getID());break;
case MouseEvent.MOUSE_PRESSED:
System.out.println("pressed:id="+e.getID()); break;
case MouseEvent.MOUSE_CLICKED:
System.out.println("clicked:id="+e.getID());break;
case MouseEvent.MOUSE_EXITED:
System.out.println("exited:id="+e.getID());break;
case MouseEvent.MOUSE_ENTERED:
System.out.println("entered:id="+e.getID());break;
case MouseEvent.MOUSE_DRAGGED:
System.out.println("dragged:id="+e.getID());break;
default:
System.out.println("other");
AWTEvent.MOUSE_EVENT_MASK
getToolkit().addAWTEventListener(
new AWTEventListener() {
public void eventDispatched(AWTEvent e) {
//MouseEvent me = (MouseEvent)e;
switch(e.getID()) {
case MouseEvent.MOUSE_DRAGGED:
System.out.println("dragged:id="+e.getID());break;
case MouseEvent.MOUSE_MOVED:
System.out.println("moved:id="+e.getID());break;
default:
System.out.println("other");
AWTEvent.MOUSE_MOTION_EVENT_MASK
}

Similar Messages

  • Macbook misses some key events for a few seconds

    I have noticed that for last two months or so something strange happens to my Retina MBP. Once in a couple of days it stops responding to some key events. It is like it handles only one keypress out of 4-5. Nothing seems to be wrong with the keyboard and it is not about a particular key or keys. And about 10-15 seconds later everything goes back to normal. I do not see any suspicious messages in the logs, the computer is connected to the power supply...It happens just by itself in the middle of the day, when I am typing.
    Almost looks like some interrupts get lost by the system while it is busy with something else. But I have checked the load level and running processes - nothing interesting there....And whatever it is - it happens during a very short period of time.

    Hi,
    No, I have not returned my MBP yet. In fact, I would rather avoid doing this unless I am convinced if it is a hardware issue. And I do believe it is not. Just recently I have spent some time investigating it and I have found very stroing correlation between the moments when this happens and these messages in the kernel log:
    Jan 13 10:49:54 mbp-wifi kernel[0]: Sandbox: sandboxd(96471) deny mach-lookup com.apple.coresymbolicationd
    Jan 13 10:54:31 mbp-wifi kernel[0]: Sandbox: sandboxd(96499) deny mach-lookup com.apple.coresymbolicationd
    Jan 13 10:54:31 mbp-wifi.home sandboxd[96499] ([96497]): mdworker(96497) deny mach-lookup com.apple.ls.boxd
    Jan 13 10:54:31 mbp-wifi.home sandboxd[96499] ([96498]): mdworker(96498) deny mach-lookup com.apple.ls.boxd
    Jan 13 10:56:32 mbp-wifi.home sandboxd[96504] ([96503]): mdworker(96503) deny mach-lookup com.apple.ls.boxd
    Jan 13 10:56:32 mbp-wifi.home sandboxd[96504] ([96502]): mdworker(96502) deny mach-lookup com.apple.ls.boxd
    And I have also noticed that my Spotlight database gets reconstructed too often, which means it gets corrupted.
    From all this I conclude that it is most likely the software issue and it seems to be linked to spotlight. I saw people reporting similar things. So now I am researching on how to fix it without disabling the spotlight.
    In general, I believe that the quality of Apple software is going down, it is not like 4-5 years ago And Apple does seem to care less and less about it.
    If in your case it happens all the time, not just once in a while, and you see that a particular key has problems - it is possible that we are talking about the different issues and yours might be really about the keyboard.

  • How to consume key events

    I would like to create a subclass of TextBox that only allows numeric input. My idea was to provide my own onKeyType() handler and consume any key events that do not correspond to digits. However, I can't find any way to consume key events from further processing. How do I do this?
    Are there any other suggestions how to accomplish the task of providing your own filter concerning valid key input?
    /Bengt

    I also wanted a kind of validators for the TextBox class of JavaFX. So I've tried solving the problem using the SwingTextField class and some Java APIs. The following is my code for a SwingTextField accepting only digits, but I do want it to be much simpler.
    import java.awt.AWTEvent;
    import java.awt.event.AWTEventListener;
    import java.awt.event.KeyEvent;
    import java.awt.Toolkit;
    import javafx.ext.swing.SwingTextField;
    import javafx.scene.Scene;
    import javafx.stage.Stage;
    import javax.swing.JComponent;
    class DigitKeyEventHookListener extends AWTEventListener {
        public-init var  source:JComponent;
        public  override function  eventDispatched( event:AWTEvent):Void {
            if (event.getSource().equals(source)) {
                var keyEvent : KeyEvent = event as KeyEvent;
                var keyCharacter = keyEvent.getKeyChar();
                var isDigit = false;
                var code = keyEvent.getKeyCode();
               if ((KeyEvent.VK_0 <= keyCharacter) and (keyCharacter <= KeyEvent.VK_9)) {
                       isDigit = true;
                if ((code ==KeyEvent.VK_DELETE) or (code ==KeyEvent.VK_BACK_SPACE)) {
                    isDigit = true;
                if ((code ==KeyEvent.VK_LEFT) or (code ==KeyEvent.VK_RIGHT)) {
                    isDigit = true;
               if (not isDigit) {
                    keyEvent.consume();
    function createSwingTextField() : SwingTextField{
        var field = SwingTextField {
            columns:12
        var listener =  DigitKeyEventHookListener{
            source: field.getJTextField()
        Toolkit.getDefaultToolkit().addAWTEventListener(listener, AWTEvent.KEY_EVENT_MASK);
        return field;
    Stage {
        title: "Digit Box"
        width: 200
        height: 80
        scene: Scene {
            content: createSwingTextField()
    }

  • 2nd JFrame at Full Screen not registering key events

    I've written an application that launches other applications distributed as JARs with a particular method (replacing the main method). These other applications run at full screen.
    Whilst I have got these other applications to work in that they display correctly and do everything else, I require them to register key events. If I run these applications on their own (i.e. having not been launched by the primary application) then the key events are processed correctly. However when they are launched from the primary application the key events are not registered.
    I have tried requesting focus from the full screen JFrame but it doesn't seem to be able to.
    Any ideas?

    Possible that the keystrokes are really being trapped by the other gui, which stops registering them when it's not visible.
    IF that's the case, you'll need to re-design your keyboard trap as part of the second JFrame, wholly independent of the original JFrame or originating app. Also, it may be thread-starved i.e. operating off the originating program, which thread may be stopping when it has no focus.
    That's all the ideas I have.

  • Is using key events really that hard?

    I am trying to implement a keyListener for my application, and it seems
    way harder than it should be. My application is simple: A JFrame
    with one button and one JPanel upon which I draw. When I click
    in the JPanel and type, I want things to happen.
    After much looking, it seems I have to not only implement KeyListener,
    but also MouseListener, so when the mouse enters I can call
    requestFocusInWindow().
    That seems to work sometimes, but not when I leave and come back,
    and not always when the application first appears.
    So do I also have to implement FocusListener?
    Why is this so hard to do? MouseListener is very easy to implement,
    but KeyListener seems to be a huge pain in the butt.
    Can someone point me to a simple tutorial or example that just
    has a few swing elements, and processes key events?
    I feel like with Java I often try enough things until it finally works,
    and never really understand why, and what it was that fixed it.
    The documentation and API does not fully describe everything one
    needs to know to use the API "properly". Am I the only one frustrated
    by this? I have programmed in Java/Swing for years, and JUST LAST
    WEEK discovered that when implementing paint in swing, one should
    override paintComponent and not paint. But then why does overriding
    paint usually work? There are too many quirks in Java that let you
    get away with doing things wrong, and then suddenly, your application
    is broken. It wouldn't be so bad if the API was more clear on some of
    these suble issues.
    Thanks,
    Chuck.

    How to Use Key Bindings

  • Help with understanding key event propagation

    Hello,
    I am hoping someone can help me understand a few things which are not clear to me with respect to handling of key events by Swing components. My understanding is summarized as:
    (1) Components have 3 input maps which map keys to actions
    one for when they are the focused component
    one for when they are an ancestor of the focused component
    one for when they are in the same window as the focused component
    (2) Components have a single action map which contains actions to be fired by key events
    (3) Key events go to the currently focused component
    (4) Key events are consumed by the first matching action that is found
    (5) Key events are sent up the containment hierarchy up to the window (in which case components with a matching mapping in the WHEN_IN_FOCUSED_WINDOW map are searched for)
    (6) The first matching action handles the event which does not propagate further
    I have a test class (source below) and I obtained the following console output:
    Printing keyboard map for Cancel button
    Level 0
    Key: pressed C
    Key: released SPACE
    Key: pressed SPACE
    Level 1
    Key: pressed SPACE
    Key: released SPACE
    Printing keyboard map for Save button
    Level 0
    Key: pressed SPACE
    Key: released SPACE
    Level 1
    Key: pressed SPACE
    Key: released SPACE
    Printing keyboard map for Main panel
    Event: cancel // typed SPACE with Cancel button having focus
    Event: save // typed SPACE with Save button having focus
    Event: panel // typed 'C' with panel having focus
    Event: panel // typed 'C' with Cancel button having focus
    Event: panel // typed 'C' with Save button having focus
    I do not understand the following aspects of its behaviour (tested on MacOSX although I believe the behaviour is not platform dependent):
    (1) I assume that the actions are mapped to SPACE since the spacebar clicks the focused component but I don't explicitly set it?
    (2) assuming (1) is as I described why are there two mappings, one for key pressed and one for key released yet the 'C' key action only has a key pressed set?
    (3) assuming (1) and (2) are true then why don't I get the action fired twice when I typed the spacebar, once when I pressed SPACE and again when I released SPACE?
    (4) I read that adding a dummy action with the value "none" (i.e. the action is the string 'none') should hide the underlying mappings for the given key, 'C' the my example so why when I focus the Cancel button and press the 'C' key do I get a console message from the underlying panel action (the last but one line in the output)?
    Any help appreciated. The source is:
    import javax.swing.*;
    public class FocusTest extends JFrame {
         public FocusTest ()     {
              initComponents();
              setTitle ("FocusTest");
              setLocationRelativeTo (null);
              setSize(325, 160);
              setVisible (true);
         public static void main (String[] args) {
              new FocusTest();
    private void initComponents()
         JPanel panTop = new JPanel();
              panTop.setBackground (java.awt.Color.RED);
    JLabel lblBanner = new javax.swing.JLabel ("PROPERTY TABLE");
    lblBanner.setFont(new java.awt.Font ("Lucida Grande", 1, 14));
    lblBanner.setHorizontalAlignment (javax.swing.SwingConstants.CENTER);
              panTop.add (lblBanner);
              JPanel panMain = new JPanel ();
              JLabel lblKey = new JLabel ("Key:");
              lblKey.setFocusable (true);
              JLabel lblValue = new JLabel ("Value:");
    JTextField tfKey = new JTextField(20);
    JTextField tfValue = new JTextField(20);
    JButton btnCancel = new JButton (createAction("cancel"));     // Add a cancel action.
    JButton btnSave = new JButton (createAction("save"));          // Add a sve action.
              panMain.add (lblKey);
              panMain.add (tfKey);
              panMain.add (lblValue);
              panMain.add (tfValue);
              panMain.add (btnCancel);
              panMain.add (btnSave);
              add (panTop, java.awt.BorderLayout.NORTH);
              add (panMain, java.awt.BorderLayout.CENTER);
    setDefaultCloseOperation (javax.swing.WindowConstants.EXIT_ON_CLOSE);
    // Add an action to the panel for the C key.
              panMain.getInputMap (JComponent.WHEN_IN_FOCUSED_WINDOW).put (KeyStroke.getKeyStroke (java.awt.event.KeyEvent.VK_C, 0), "panel");
              panMain.getActionMap ().put ("panel", createAction("panel"));
              // FAILS ???
              // Add an empty action to the Cancel button to block the underlying panel C key action.
    btnCancel.getInputMap().put (KeyStroke.getKeyStroke (java.awt.event.KeyEvent.VK_C, 0), "none");
    // Print out the input map contents for the Cancel and Save buttons.
    System.out.println ("\nPrinting keyboard map for Cancel button");
    printInputMaps (btnCancel);
    System.out.println ("\nPrinting keyboard map for Save button");
    printInputMaps (btnSave);
              // FAILS NullPointer because the map contents are null ???
    System.out.println ("\nPrinting keyboard map for Main panel");
    // printInputMaps (panMain);
    private AbstractAction createAction (final String actionName) {
         return new AbstractAction (actionName) {
              public void actionPerformed (java.awt.event.ActionEvent evt) {
                   System.out.println ("Event: " + actionName);
    private void printInputMaps (JComponent comp) {
         InputMap map = comp.getInputMap();
         printInputMap (map, 0);
    private void printInputMap (InputMap map, int level) {
         System.out.println ("Level " + level);
         InputMap parent = map.getParent();
         Object[] keys = map.allKeys();
         for (Object key : keys) {
              if (key.equals (parent)) {
                   continue;
              System.out.println ("Key: " + key);
         if (parent != null) {
              level++;
              printInputMap (parent, level);
    Thanks,
    Tim Mowlem

    Use the [url http://forum.java.sun.com/help.jspa?sec=formatting]Code Formatting Tags so the posted code retains its original formatting.
    1) In the Metal LAF the space bar activates the button. In the Windows LAF the Enter key is used to activate the button. Therefore these bindings are added by the LAF.
    2) The pressed binding paints the button in its pressed state. The released binding paint the button in its normal state. Thats why the LAF adds two bindings.
    In your case you only added a single binding.
    3) The ActionEvent is only fired when the key is released. Same as a mouse click. You can hold the mouse down as long as you want and the ActionEvent isn't generated until you release the mouse. In fact, if you move the mouse off of the button before releasing the button, the ActionEvent isn't even fired at all. The mouse pressed/released my be generated by the same component.
    4) Read (or reread) the [url http://java.sun.com/docs/books/tutorial/uiswing/misc/keybinding.html#howto]How to Remove Key Bindings section. "none" is only used to override the default action of a component, it does not prevent the key stroke from being passed on to its parent.

  • I need to disable key events - J2ME

    Is there anyway, in J2ME, to disable key events while processing a current key? I want to avoid queing up of key events and then re-enable key events when I am done handling the current key.
    public void keyPressed(int keyCode) {
    switch (keyCode) {
    case -50:
    // I want to disable key events here
    // process this key
    // re-enable key events
    break;
    default:
    break;

    I had tried using a boolean to skip avoid the key as you suggested. That does not work. It seems as if the keys are only being processed in a serial manner. By that I mean the keyPressed method is not receiving the second and third keys while I am processing the first. So when I am done processing the first key I set isOkayToProcess=true and then the second key comes in.

  • How to listen a key event without having any window component

    Hi all,
    I would like to know how can I listen key events from an application that doesn't use windows
    Thanks

    yoiu can make a Thread run inside your application. This will listen for inputs in the command line. For examplethis is part of a chat server (on the console) with let the server manager to enter messages or commands.
    The message or command entered on the console by the user is catched and processed as a String. The string is passed to the processConsole() method, you must define yourself.
    Th Thread is never stopped, so the user may enter any message at any time
    The core of you application should also be a Thread for better performance, but maybe it will also work without. Jst try and provide needed importstatements.
    Runnable runInput = new Runnable() {
            public void run() {
              while(true) {
                try {
                  byte buffer[] = new byte[255];
                  System.out.print(prompt);
                  System.in.read(buffer);//, 0, 255);
                  String inputString = new String(buffer, "Default");
                  processConsole(inputString);
                catch(NullPointerException npe) {
                  System.out.println("Syntax error");
                catch(Exception e) {e.printStackTrace(); }
          Thread inputThread = new Thread(runInput);
          inputThread.start();

  • Send a press key event without Batch Input?

    Hi.
    I need send a auto press key event (by example: press F8), by code.
    When I put a instruction in the report, the report simulate the key pressed.
    Exist some FM to do it? Is it posible?
    Thanks!

    Hi Marcos,
    you can use the method I recommended in an additional timer object method .
    Please adapt the below sample program I used to display the current time with auto update:
    *& Report  ZZCLOCK
    *& may be used to keep connection
    REPORT  zzclock.
    *       CLASS lcl_gui_timer DEFINITION
    class lcl_gui_timer definition inheriting from cl_gui_control.
      PUBLIC SECTION.
        CONSTANTS:  eventid_finished TYPE i VALUE 1 .
        CLASS-DATA: interval TYPE i VALUE '0'.
        EVENTS:     finished .
        METHODS:
                 cancel
                      EXCEPTIONS
                         error,
                 constructor
                     IMPORTING
                         lifetime TYPE i OPTIONAL
                         value(shellstyle) TYPE i OPTIONAL
                         value(parent) TYPE REF TO cl_gui_container OPTIONAL
                     EXCEPTIONS
                         error,
                 run
                     EXCEPTIONS
                         error,
                 dispatch REDEFINITION.
    ENDCLASS.                    "lcl_gui_timer DEFINITION
    *       CLASS lcl_event_handler DEFINITION
    CLASS lcl_event_handler DEFINITION.
      PUBLIC SECTION.
        CLASS-METHODS:
                    on_finished
                           FOR EVENT finished OF lcl_gui_timer.
    ENDCLASS.                    "lcl_event_handler DEFINITION
    DATA: gui_timer TYPE REF TO lcl_gui_timer.
    DATA: event_handler TYPE REF TO lcl_event_handler.
    DATA: timeout_interval TYPE i VALUE '9'.
    PARAMETERS:
                p_datum TYPE sy-datum,
                p_uzeit TYPE sy-uzeit.
    AT SELECTION-SCREEN OUTPUT.
    * set to time rounded to 10 seconds
      p_datum = sy-datum.
      p_uzeit = sy-uzeit.
      CREATE OBJECT gui_timer.
      SET HANDLER event_handler->on_finished FOR gui_timer.
      gui_timer->interval = timeout_interval.
      CALL METHOD gui_timer->run.
    *       CLASS lcl_event_handler IMPLEMENTATION
    CLASS lcl_event_handler IMPLEMENTATION.
      METHOD on_finished.
    * Start Timer again
        gui_timer->interval = timeout_interval.
        CALL METHOD gui_timer->run.
    * cause PAI
        CALL METHOD cl_gui_cfw=>set_new_ok_code
          EXPORTING
            new_code = 'REFR'.
      ENDMETHOD.                    "on_finished
    ENDCLASS.                    "lcl_event_handler IMPLEMENTATION
    *       CLASS lcl_gui_timer IMPLEMENTATION
    CLASS lcl_gui_timer IMPLEMENTATION.
      METHOD constructor.
        TYPE-POOLS: sfes.
        DATA clsid(80).
        DATA event_tab TYPE cntl_simple_events.
        DATA event_tab_line TYPE cntl_simple_event.
        IF clsid IS INITIAL.
          DATA: return,
                guitype TYPE i.
          guitype = 0.
          CALL FUNCTION 'GUI_HAS_OBJECTS'
            EXPORTING
              object_model = sfes_obj_activex
            IMPORTING
              return       = return
            EXCEPTIONS
              OTHERS       = 1.
          IF sy-subrc NE 0.
            RAISE error.
          ENDIF.
          IF return = 'X'.
            guitype = 1.
          ENDIF.
          IF guitype = 0.
            CALL FUNCTION 'GUI_HAS_OBJECTS'
              EXPORTING
                object_model = sfes_obj_javabeans
              IMPORTING
                return       = return
              EXCEPTIONS
                OTHERS       = 1.
            IF sy-subrc NE 0.
              RAISE error.
            ENDIF.
            IF return = 'X'.
              guitype = 2.
            ENDIF.
          ENDIF.
          CASE guitype.
            WHEN 1.
              clsid = 'Sapgui.InfoCtrl.1'.
            WHEN 2.
              clsid = 'com.sap.components.controls.sapImage.SapImage'.
          ENDCASE.
        ENDIF.
        CALL METHOD super->constructor
          EXPORTING
            clsid      = clsid
            shellstyle = 0
            parent     = cl_gui_container=>default_screen
            autoalign  = space
          EXCEPTIONS
            OTHERS     = 1.
        IF sy-subrc NE 0.
          RAISE error.
        ENDIF.
        CALL METHOD cl_gui_cfw=>subscribe
          EXPORTING
            shellid = h_control-shellid
            ref     = me
          EXCEPTIONS
            OTHERS  = 1.
        IF sy-subrc NE 0.
          RAISE error.
        ENDIF.
    * Register the events
        event_tab_line-eventid = lcl_gui_timer=>eventid_finished.
        APPEND event_tab_line TO event_tab.
        CALL METHOD set_registered_events
          EXPORTING
            events = event_tab.
      ENDMETHOD.                    "constructor
      METHOD cancel.
        CALL METHOD call_method
          EXPORTING
            method     = 'SetTimer'
            p_count    = 1
            p1         = -1
            queue_only = 'X'
          EXCEPTIONS
            OTHERS     = 1.
        IF sy-subrc NE 0.
          RAISE error.
        ENDIF.
      ENDMETHOD.                    "cancel
      METHOD run.
        CALL METHOD call_method
          EXPORTING
            method     = 'SetTimer'
            p_count    = 1
            p1         = interval
            queue_only = 'X'
          EXCEPTIONS
            OTHERS     = 1.
        IF sy-subrc NE 0.
          RAISE error.
        ENDIF.
      ENDMETHOD.                    "run
      METHOD dispatch .
        CASE eventid.
          WHEN eventid_finished.
            RAISE EVENT finished.
        ENDCASE.
      ENDMETHOD.                    "dispatch
    ENDCLASS.                    "lcl_gui_timer IMPLEMENTATION
    Hope that's what you are looking for. I got the idea from a project where they used it to auto refresh an ALV grid...
    You may also search this forum for keywords timer or autorefresh. It has been discussed here earlier.
    Regards,
    Clemens

  • [OIM 9.1.0.2] Process Instance.Key missing with provisionResource API

    Hi guys,
    I face issue when i provision resource, i checked and it doesn't works because when resource is provisioned ORC_KEY in OIU table is not setted and i don't know why.. Resource is created in "Ready" state.
    This is what i do:
    ResourceData resData = moUserUtility.provisionResource(UserKey, 522);
    String userOiuKey = resData.getOiuKey().toString();
    String userObiKey = resData.getObiKey().toString();
    $logger.debug("provisionUnipassResource - Getting userOiuKey : " + userOiuKey);     
    $logger.debug("provisionUnipassResource - Getting userObiKey : " + userObiKey);     
    //Getting objectKey of userObjectInstanceKey
    String ObjectKey = "";
    String ProcessInstanceKey = "";
    tcResultSet resultSetObjects = moUserUtility.getObjects(UserKey);
    for (int i1 = 0; i1 < resultSetObjects.getRowCount(); i1++) {
    resultSetObjects.goToRow(i1);
    ObjectKey = resultSetObjects.getStringValue("Object Instance.Key");
    ProcessInstanceKey = resultSetObjects.getStringValue("Process Instance.Key");
    if (Long.valueOf(ObjectKey).equals(userObiKey))
    $logger.debug("provisionUnipassResource - ProcessInstanceKey found with value [" + ProcessInstanceKey + "] for ObjectKey [" + ObjectKey + "]");     
    break;
    //Add form datas
    if ("".equals(ProcessInstanceKey)) {
    $logger.debug("provisionUnipassResource - Can't find ProcessInstanceKey");
    return "KO";
    else {
    long LongProcessInstanceKey = Long.valueOf(ProcessInstanceKey);
    moFormInstanceUtility.setProcessFormData(LongProcessInstanceKey, resourcetHash);
    $logger.debug("provisionUnipassResource - Resource has been created");          
    return "OK";
    Is someone can help me? May i do something wrong?
    Thanks in advance for your help
    Edited by: 993041 on 11 mars 2013 05:34
    Edited by: 993041 on 11 mars 2013 05:34

    Hi guys,
    I face issue when i provision resource, i checked and it doesn't works because when resource is provisioned ORC_KEY in OIU table is not setted and i don't know why.. Resource is created in "Ready" state.
    This is what i do:
    ResourceData resData = moUserUtility.provisionResource(UserKey, 522);
    String userOiuKey = resData.getOiuKey().toString();
    String userObiKey = resData.getObiKey().toString();
    $logger.debug("provisionUnipassResource - Getting userOiuKey : " + userOiuKey);     
    $logger.debug("provisionUnipassResource - Getting userObiKey : " + userObiKey);     
    //Getting objectKey of userObjectInstanceKey
    String ObjectKey = "";
    String ProcessInstanceKey = "";
    tcResultSet resultSetObjects = moUserUtility.getObjects(UserKey);
    for (int i1 = 0; i1 < resultSetObjects.getRowCount(); i1++) {
    resultSetObjects.goToRow(i1);
    ObjectKey = resultSetObjects.getStringValue("Object Instance.Key");
    ProcessInstanceKey = resultSetObjects.getStringValue("Process Instance.Key");
    if (Long.valueOf(ObjectKey).equals(userObiKey))
    $logger.debug("provisionUnipassResource - ProcessInstanceKey found with value [" + ProcessInstanceKey + "] for ObjectKey [" + ObjectKey + "]");     
    break;
    //Add form datas
    if ("".equals(ProcessInstanceKey)) {
    $logger.debug("provisionUnipassResource - Can't find ProcessInstanceKey");
    return "KO";
    else {
    long LongProcessInstanceKey = Long.valueOf(ProcessInstanceKey);
    moFormInstanceUtility.setProcessFormData(LongProcessInstanceKey, resourcetHash);
    $logger.debug("provisionUnipassResource - Resource has been created");          
    return "OK";
    Is someone can help me? May i do something wrong?
    Thanks in advance for your help
    Edited by: 993041 on 11 mars 2013 05:34
    Edited by: 993041 on 11 mars 2013 05:34

  • How to determine the Parent process information in Oracle BPMS 10g

    Hi ,
    I am trying to retrieve the parent process information given the instanceId and Process Id of an instance of a process from a different process.
    I am getting the instanceId of the instance in workspace using the Fuego.Papi.ProcessService and by creating the Filter.
    I tried using the ProcessInstance.parent but it needs to be instantiated using the instance details of my referred instance, which i am not able to do.
    Can some one shed some light on how to get the parent process details from the referred instance.
    Thanks,
    shravan.

    Hi,
    If you mean to increase the request timeout i.e the time when a request is submitted to the server and the response is sent by the server it can be done in httpd.conf file located in $OracleHome/Apache/Apache/conf directory.
    The attribute to be used for setting timeout is "Timeout". By default teh value is 600 seconds i.e 5 minutes.
    After making these changes , run command dcmctl updateConfig -ct OHS and restart the HTTP Server. Please note these commands need to be run only if the httpd.conf changes are done through text editor.
    Hope this helps.
    Smita

  • How to find the Parent process in workflow

    Hi all,
    I have a .wft file with me.
    It contains atleast 8 processess.
    I need to understand the flow of this workflow.
    How do i getto know the flow?
    How do I getto know the parent process?
    I am sure if i know the parent process then i can figure out the flow as well.
    Hope someone can help me in thisproblem.
    Thanks in anticipation.
    regards.

    Hello,
    You can open the .wft file using the Workflow builder and see visually how the processes are designed. You can also see which processes are used as sub processes. These will be your children flows.
    Cheers,
    Raja

  • How to get parent process instance id in a java control?

    Hi!
    I have a process which invoke a java control.
    In this java control I need the instance ID from the parent process.
    Does anybody know where i can get the instance id?
    Within a jpd I have the context variable (context.getInstanceId()), but I need something like this in the control
    Thanks
    Ben

    the only way you can do is aquire the instanceid in the JDP itself and pass it to the java control as a paramter.

  • Killing a sub process from it's parent process

    does any one know if ther's a way of killing a sub process from it's parent process?

    There are a few ways to do this depending on how the subprocess was invoked and if you are inside the parent work item instance or if you are using PAPI.
    If you are not using PAPI, here's how you could abort the child work item instances spawned by a parent process's work item instance.
    Asynchronously Spawned Children
    If a child process was invoked using an asynchronous Process Creation activity, the work item instance in the parent has a predefined hash table variable called "children". Downstream of the parent's Process Creation activity (called "SpawnChildren" in the PBL logic below), you can get the child's instance id using the children hash table and use this to send a notification to a Message Wait activty in the spawned child process instance using logic like this:
    send Notification
            using instanceId = children["SpawnChildren"],
                  activityName = "TerminateChild",
                  parameters = nullThe Message Wait activity needs to have its "Allows Interrupt" property checked in the child process. As you add this Message Wait activity (called "terminateChild" in the example above) make it an orphan with no transitions in or out initially. Once notified by the parent process, it still needs to be aborted so add a new Automatic activity in the child with this logic:
    action = ABORTFinally, add a transition from the Message Wait activity in the child subprocess to the Automatic activity.
    Synchronously Spawned Children
    If all you know is the parent work item instance's id and the child subprocess was invoked using a synchronous SubFlow activity, you could send a notification to a Message Wait activity that has it's "Allows Interrupt" property checked in the parent. If the Message Wait activity flows to an Automatic activity, you could use logic like this to kill the child subprocess work item instances synchrously spawned by the parent:
    for each ch in ProcessInstance.children do
        send Notification
            using instanceId = ch,
                  activityName = "TerminateChild",
                  parameters = null
    end
    action = SKIPSince the parent's instance was stuck in the Subflow activity, you'd need to send a notification to the parent's Message Wait activity in the parent process.

  • Detect key events on anything

    If I have a JFrame with many components on it, how do I detect if a key is pressed, without having to add a listener to every component? For example, how can I check for the escape key being pressed, but not having to have componentN.addKeyListener(this); for everything?
    Thanks
    US101

    The correct way to collect the key events is the following:
    from java 1.2 to java 1.3 use the FocusManager. This class can be found in the javax.swing package. You would then need to extend the DefaultFocusManager and override specific behavior.
    for java 1.4 use the KeyBoardFocusManager. This class can be found in the java.awt package.
    Please see the following for a better explanation:
    http://java.sun.com/j2se/1.4/docs/api/java/awt/doc-files/FocusSpec.html
    Thanks for your time,
    Nate

Maybe you are looking for