-
Bug
-
Resolution: Done
-
Major
-
jBPM 3.2.3
The current method body is shown below. Destination is null in my case (I should check my process definition, it came about from a bad database move) However, instead of getting the JbpmException shown, I get the NPE from the "destination.isSuperStateNode()" loop above.
I'm not entirely sure what that loop is for, which is why I've not included a patch here. I'm unsure whether it should be moved down just past the first null check, or to the very bottom. Sorry
Source in question...
Node fireSuperStateEnterEvents(ExecutionContext executionContext) {
// calculate the actual destinationNode node
Node destination = to;
while (destination.isSuperStateNode())
if (destination==null)
{ String transitionName = (name!=null ? "'"+name+"'" : "in node '"+from+"'"); throw new JbpmException("transition "+transitionName+" doesn't have destination. check your processdefinition.xml"); } // performance optimisation: check if at least there is a candidate superstate to be entered.
if ( destination.getSuperState()!=null )
return destination;
}