1 Reply Latest reply on Feb 21, 2007 6:21 AM by Harald Strack

    Transient variables between process and subprocess II

    Harald Strack Newbie


      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


      The proposed solution as seen in jira


      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