[jbpm-commits] JBoss JBPM SVN: r6203 - jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity.
do-not-reply at jboss.org
do-not-reply at jboss.org
Sat Feb 27 13:48:14 EST 2010
Author: kukeltje
Date: 2010-02-27 13:48:14 -0500 (Sat, 27 Feb 2010)
New Revision: 6203
Modified:
jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StartBinding.java
Log:
Added name and continuation check for JBPM-2771
Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StartBinding.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StartBinding.java 2010-02-27 18:03:29 UTC (rev 6202)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/activity/StartBinding.java 2010-02-27 18:48:14 UTC (rev 6203)
@@ -24,11 +24,11 @@
import org.jbpm.jpdl.internal.model.JpdlProcessDefinition;
import org.jbpm.jpdl.internal.xml.JpdlParser;
import org.jbpm.pvm.internal.model.ActivityImpl;
+import org.jbpm.pvm.internal.model.Continuation;
import org.jbpm.pvm.internal.util.XmlUtil;
import org.jbpm.pvm.internal.xml.Parse;
import org.w3c.dom.Element;
-
/**
* @author Tom Baeyens
*/
@@ -41,22 +41,28 @@
public Object parseJpdl(Element element, Parse parse, JpdlParser parser) {
ActivityImpl startActivity = parse.contextStackFind(ActivityImpl.class);
JpdlProcessDefinition processDefinition = parse.contextStackFind(JpdlProcessDefinition.class);
-
- if (processDefinition.getInitial()==null) {
+
+ if (processDefinition.getInitial() == null) {
processDefinition.setInitial(startActivity);
-
- } else if (startActivity.getParentActivity()==null) {
+
+ } else if (startActivity.getParentActivity() == null) {
parse.addProblem("multiple start events not yet supported", element);
}
-
+
StartActivity startActivityBehaviour = new StartActivity();
-
+
+ if (startActivity.getContinuation() == Continuation.ASYNCHRONOUS && startActivity.getName() == null) {
+ parse.addProblem("Using continuation=\"async\" on a start node requires a name to be present", element);
+ }
+
startActivityBehaviour.setFormResourceName(XmlUtil.attribute(element, "form"));
-
+
return startActivityBehaviour;
}
public boolean isNameRequired() {
+ // This factually is dependent on having an async continuation on the
+ // startnode or not. Cannot be decided here, so added it to the parse part
return false;
}
}
More information about the jbpm-commits
mailing list