-
1. Re: Identifying tokens
salaboy21 Apr 23, 2008 10:08 AM (in response to twiceknightly)can you explain a little more what are you trying to achive?
because you can get the token with
processInstance.getRootToken()
and then .signal()... -
2. Re: Identifying tokens
twiceknightly Apr 23, 2008 10:46 AM (in response to twiceknightly)"salaboy21" wrote:
can you explain a little more what are you trying to achive?
because you can get the token with
processInstance.getRootToken()
and then .signal()...
Yes I am using that to signal the root token but I am thinking now what if I need to signal another token. How do I know which one to signal.
I want to retrieve exactly where I am in a overall process at any one time i.e. which nodes I am at in all execution threads of the process. I am currently performing something like thisToken token = processInstance.getRootToken() String nodeName = token.getNode().getName() ;
Obviously though this is only any good if there is only one route through the process. I would like to return a list of tokens and the associated node name they are currently at.
The reason I am doing this is as follows. I have a client/server setup. The server component is an EJB wrapping the jbpm in a command pattern.
So for example the client would send a SignalProcessDTO holding the transition name, processInstanceId etc to the server. The server will detect the type of payload and run a signal process command. The signal process command will use the info in the DTO to get the process instance and then perform the signal.
I am delivering an adapter jar to the client (a web app). The adapter makes the interface to the server simple. Through the adapter the client is exposed to a very simple API. Essentially it allows them to say one of two things
- Can I make this transition.
- Perform this transition.
. Hence the reason I want to pull back the list of tokens, to determine which "actions" in my adapter can be performed given the currrent state of the process.
-
3. Re: Identifying tokens
salaboy21 Apr 23, 2008 10:53 AM (in response to twiceknightly)Thats ok..
have you look the MultichoiceForkAH example in the wiki..?
May be some part of this code can give you some pointers ...
http://wiki.jboss.org/wiki/MultiChoiceForkAH
Look at the java class attached.. and notice that the
code look for all the available transitions and then signal
the token looking in a process variable... -
4. Re: Identifying tokens
twiceknightly Apr 23, 2008 10:57 AM (in response to twiceknightly)"salaboy21" wrote:
Thats ok..
have you look the MultichoiceForkAH example in the wiki..?
May be some part of this code can give you some pointers ...
http://wiki.jboss.org/wiki/MultiChoiceForkAH
Look at the java class attached.. and notice that the
code look for all the available transitions and then signal
the token looking in a process variable...
At first glance that looks exactly what I am looking for. Thanks a lot .. still finding my way around things. -
5. Re: Identifying tokens
salaboy21 Apr 23, 2008 10:59 AM (in response to twiceknightly)Let me know if you are stuck in some point.. i wanna help people hera
to gain expertise! -
6. Re: Identifying tokens
twiceknightly Apr 23, 2008 11:18 AM (in response to twiceknightly)"salaboy21" wrote:
Let me know if you are stuck in some point.. i wanna help people hera
to gain expertise!
I have just had a look at that example you suggested and it seems to be creating tokens dynamically. Do you know if there are any bare bones examples where a fork is defined in the process definition and a junit test works through the graph signalling the different "routes" through the graph and eventually joining at the end. -
7. Re: Identifying tokens
twiceknightly Apr 23, 2008 11:45 AM (in response to twiceknightly)Salaboy just for info I think I have found out by looking at the code what I need to do. Fork seems to create new tokens for each leaving transaction. These tokens are added as children to the current token. They are named after the transition name.
To gather all of the child tokens underneath the root recursively I think I need to call the collectChildrenRecusively on the root token. -
8. Re: Identifying tokens
kukeltje Apr 23, 2008 4:17 PM (in response to twiceknightly)correct and remember... there are a LOT of testcases in the source, they demonstrate all kinds of things, like tokentraversing etc...