[jboss-user] [JBoss jBPM] - Transient variables between process and subprocess II

harrylette do-not-reply at jboss.com
Wed Sep 27 04:23:13 EDT 2006


Hi,

why is there not the same functionality for transient variables as for persistent ones when copying variables from a superprocess to a subprocess (process state)?

I have seen this thread

http://www.jboss.com/index.html?module=bb&op=viewtopic&t=70407 

The proposed solution as seen in jira

http://jira.jboss.com/jira/browse/JBPM-399 
 
is implemented in jbpm 3.1.2 that I am actually using. 
I think this solution is simple but does not fit for the most common case, that a superprocess calls
a common suprocess and the subprocess does not know anything about the superprocess.

More specific, there could be different superprocesses with different transient variable names.
These superprocesses may call a general subprocess...
Using the present solution forces the subprocess to know about all possible variablenames of 
all possible superprocesses - that's really bad!

What can we do?

Is it difficult to implement similar code for transient variables as you did for persistent ones?



  |      // loop over all the variable accesses
  | 
  |       Iterator iter = variableAccesses.iterator();
  | 
  |       while (iter.hasNext()) {
  | 
  |         VariableAccess variableAccess = (VariableAccess) iter.next();
  | 
  |         // if this variable access is readable
  | 
  |         if (variableAccess.isReadable()) {
  | 
  |           // the variable is copied from the super process variable name
  | 
  |           // to the sub process mapped name
  | 
  |           String variableName = variableAccess.getVariableName();
  | 
  |           Object value = superContextInstance.getVariable(variableName, superProcessToken);
  | 
  |           String mappedName = variableAccess.getMappedName();
  | 
  |           log.debug("copying super process var '"+variableName+"' to sub process var '"+mappedName+"': "+value);
  | 
  |           if (value!=null) {
  | 
  |             subContextInstance.setVariable(mappedName, value);
  | 
  |           }
  | 
  |         }
  | 
  |       }
  | 
  | 

Should I open a jira issue? Please give me a hint for a good approach to solve this problem..

Best regards

Harry

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3974445#3974445

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3974445



More information about the jboss-user mailing list