Hello,

As somewhat of a continuation of my post from a couple of days ago, I am still 
fighting with decision conditions/expressions.

I have read a number of previous posts that seem pretty similar to this, but 
not found a working solution. 

I have a process definition that includes the following snippet:


  |     <node name="establishInterpretationProcess">
  |         <transition to="decideOnInterpretation">
  |             <script>
  |                 <expression>
  |                     import 
com.foo.ECGInterpretationProcessNameResolverService;
  |                     import org.jboss.seam.Component;
  | 
  |                     System.out.println("ECG ID is '" + ecgId + "'");
  | 
  |                     lookup = 
Component.getInstance(ECGInterpretationProcessNameResolverService.NAME, true);
  | 
  |                     interpretationName = 
lookup.determineInterpretationProcessName(ecgId);
  | 
  |                     interpretationName = ( interpretationName == null ) ? 
"NONE" : interpretationName; 
  | 
  |                     System.out.println("Interpretation name in 
establishInterpretationProcess is '" + interpretationName + "'");
  |                 </expression>
  |                 <variable name='ecgId' mapped-name="ecgId" access='read'/>
  |                 <variable name='interpretationName' 
mapped-name="interpretationName" access='read,write'/>
  |             </script>
  |         </transition>
  |     </node>
  | 
  |     <decision name="decideOnInterpretation">
  |         <transition name="doIt" to="doInterpretation"/>
  |         <transition name="skip" to="assignForManualInterpretation">
  |             <condition expression="#{ 
contextInstance.variables.interpretationName == 'NONE' }"/>            
  |         </transition>
  | 
  |     </decision>
  | 
  |     <task-node name="assignForManualInterpretation">
  |         <task name="uninterpretedECG" swimlane="manualInterpretation" 
description="ECG for Manual Interpretation"/>
  |         <transition to="completed"/>
  |     </task-node>
  | 
  |     <node name="doInterpretation">
  |         <transition to="performTriage">
  |             <script>
  |                 <expression>
  |                     import 
com.foo.interpretation.ECGInterpretationGeneratorService;
  |                     import org.jboss.seam.Component;
  | 
  |                     System.out.println("Interpretation name in 
doInterpretation is '" + interpretationName + "'");
  | 
  |                     interpreter = 
Component.getInstance(ECGInterpretationGeneratorService.NAME, true);
  | 
  |                     interpreter.execute(ecgId, interpretationName);
  |                 </expression>
  |                 <variable name='ecgId' mapped-name="ecgId" access='read'/>
  |                 <variable name='interpretationName' 
mapped-name="interpretationName" access='read'/>
  |             </script>
  |         </transition>
  |     </node>
  | 

The script works fine, but the first transition in the 'decideOnInterpretation' 
node is always taken., regardless of whether 'interpretationName' resolves to 
'NONE' or some other value.

I have also tried a variation on this theme where I do not assign the magic 
value 'NONE' when 'interpretationName' resolves to null in the script (ie. I 
let it be a null String), and I use the condition expression '#{ 
contextInstance.variables.interpretationName == null }' with the result that 
the SECOND transition is always taken. 

Note, also that 'interpretationName' is used in the script in 'doIntepretation' 
and has the correct value (whatever is assigned in 
'establishInterpretationProcess' script).  I would think that this means the 
variable is being exposed as a process instance variable. (it is also showing 
up in the database)

These symptoms lead me to the conclusion that the variable 'interpretationName' 
is not visible / in scope/or something inside my transition condition 
expression, or there is something wrong with my expression.  I have tried using 
CDATA inside condition element tags rather than the expression attribute with 
no better results.

Anyone have any further thoughts?

I am on JBPM 3.1.4 in Seam 1.2.0.PATCH1.

Thanks,

Shea.

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

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4032982
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to