"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

Reply via email to