I am having a problem executing a condition tag in a decision node and would appreciate an insight from anyone.
A task is ended as follows, which creates a process instance variable and sets the return value in it.
taskInstance.getContextInstance().setVariable("approved", "yes");
taskInstance.end();
Next, the execution proceeds into a decision node: 
<decision name="decision1">
 <event type="node-leave">
 <action name="update_order_status" class="jbpm.UpdateOrderStatusAction"/>
 </event>
 <transition name="reject" to="Reject Request">
 <condition expression='contextInstance.getVariable("approved").equals("no") '/>
 </transition>
 <transition name="approve" to="Approve Request">
 <condition expression='contextInstance.getVariable("approved").equals("yes") '/>
 </transition>
 </decision>The problem I am seeing is that the condition seems never have been evaluated, and the execution always goes into the first transition. 
14:46:18,558 [main] DEBUG GraphElement : event 'node-enter' on 'Decision(decision1)' for 'Token(/)'
14:46:18,558 [main] WARN StatefulPersistenceContext : Narrowing proxy to class org.jbpm.graph.node.Decision - this operation breaks ==
14:46:18,668 [main] DEBUG Decision : no transition name selected: taking default leaving transition
14:46:18,668 [main] DEBUG GraphElement : event 'node-leave' on 'Decision(decision1)' for 'Token(/)'
14:46:18,683 [main] DEBUG GraphElement : executing action 'action[update_order_status]'
********** UpdateOrderStatusAction fired ******
14:46:18,683 [main] DEBUG GraphElement : event 'transition' on 'Transition(reject)' for 'Token(/)'
Any pointer will be appreciated.