"salaboy21" wrote : The fork node is not a wait state.. so if you signal the start-state, the process will continue passing thru the fork node until reach the S1 and S2 nodes... | | So do this test: | | 1) signal de root token | 2) look for childrens.. at this time with only one signal.. you must have 2 children. | 3) then you can signal one of the child tokens and you see that the root token still in the fork node and the child token go to join node | 4) then signal the other token and you will see that the root token moves to the end and the child token like the other move to join node... | | Can you do that test and post your code? |
Sure! | public void test() | { | // Declare a process with a fork | // S | // | | // F | // / \ | // s1 s2 | // \ / | // J | // | | // E | ProcessDefinition lProcessDefinition = ProcessDefinition.parseXmlString( | "<process-definition>" + | " <start-state name=\"start\">" + | " <transition to=\"fork1\"></transition>" + | " </start-state>" + | " <fork name=\"fork1\">" + | " <transition to=\"state1\"></transition>" + | " <transition to=\"state2\"></transition>" + | " </fork>" + | " <state name=\"state1\">" + | " <transition to=\"join1\"></transition>" + | " </state>" + | " <state name=\"state2\">" + | " <transition to=\"join1\"></transition>" + | " </state>" + | " <join name=\"join1\">" + | " <transition to=\"end\"></transition>" + | " </join>" + | " <end-state name=\"end\"></end-state>" + | "</process-definition>" | ); | | // Start a process | ProcessInstance lProcessInstance = new ProcessInstance(lProcessDefinition); | | // Get the token: we're in the start node | Token lToken = lProcessInstance.getRootToken(); | System.out.println("1: " + lToken.getNode()); | | // First signal: goto the fork | lToken.signal(); | // this should mean that this token gets two childeren | System.out.println("2a: " + lToken.getChildren().size()); | // this token should still be in the fork | System.out.println("2b: " + lToken.getNode()); | // this token should still be in the fork | System.out.println("2c: " + lToken.getChildren()); | Token lChild1 = (Token)lToken.getChildren().values().iterator().next(); | //Token lChild2 = (Token)lToken.getChildren().values().iterator().next(); | // the childeren should be in state1 and state2 | System.out.println("2d: " + lChild1.getNode() ); | //System.out.println("2e: " + lChild2.getNode() ); | } | I commented out lines because I do not have two childeren: 1: StartState(start) 2a: 1 2b: Fork(fork1) 2c: {1=Token(/1)} 2d: State(state1) View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4189200#4189200 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4189200 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user