[jbpm-commits] JBoss JBPM SVN: r6835 - jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes.
do-not-reply at jboss.org
do-not-reply at jboss.org
Sat Nov 20 22:47:28 EST 2010
Author: rebody
Date: 2010-11-20 22:47:28 -0500 (Sat, 20 Nov 2010)
New Revision: 6835
Modified:
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnActivity.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/IntermediateCatchSignalEvent.java
Log:
JBPM-2734 if cannot find execution for signal, don't throw a NPE
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnActivity.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnActivity.java 2010-11-21 03:22:34 UTC (rev 6834)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnActivity.java 2010-11-21 03:47:28 UTC (rev 6835)
@@ -24,6 +24,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@@ -100,7 +101,7 @@
execution.end();
}
- Map<Transition, ExecutionImpl> childExecutionsMap = new HashMap<Transition, ExecutionImpl>();
+ Map<Transition, ExecutionImpl> childExecutionsMap = new LinkedHashMap<Transition, ExecutionImpl>();
for (Transition transition : transitions) {
ExecutionImpl concurrentExecution = concurrentRoot.createExecution(transition.getName());
concurrentExecution.setActivity(activity);
@@ -161,6 +162,9 @@
throw new JbpmException("No outgoing sequence flow found for " + execution.getActivityName());
}
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("forking transitions : " + forkingTransitions);
+ }
return forkingTransitions;
}
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/IntermediateCatchSignalEvent.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/IntermediateCatchSignalEvent.java 2010-11-21 03:22:34 UTC (rev 6834)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/IntermediateCatchSignalEvent.java 2010-11-21 03:47:28 UTC (rev 6835)
@@ -27,6 +27,7 @@
import org.jbpm.api.activity.ActivityExecution;
import org.jbpm.api.listener.EventListener;
import org.jbpm.api.listener.EventListenerExecution;
+import org.jbpm.internal.log.Log;
import org.jbpm.pvm.internal.model.ExecutionImpl;
/**
@@ -35,6 +36,8 @@
*/
public class IntermediateCatchSignalEvent extends BpmnExternalActivity implements EventListener, BpmnEvent {
+ private static final Log log = Log.getLog(IntermediateCatchSignalEvent.class.getName());
+
private static final long serialVersionUID = 1L;
private String signalCode;
@@ -56,7 +59,12 @@
public void notify(EventListenerExecution execution) throws Exception {
Execution processInstance = execution.getProcessInstance();
ExecutionImpl executionImpl = (ExecutionImpl) processInstance.findActiveExecutionIn(activityName);
- proceed(executionImpl, findOutgoingSequenceFlow(executionImpl, CONDITIONS_CHECKED));
+
+ if (executionImpl == null) {
+ log.info("cannot find execution for : " + activityName);
+ } else {
+ proceed(executionImpl, findOutgoingSequenceFlow(executionImpl, CONDITIONS_CHECKED));
+ }
}
public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters) {
More information about the jbpm-commits
mailing list