[jbpm-commits] JBoss JBPM SVN: r6148 - jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes.
do-not-reply at jboss.org
do-not-reply at jboss.org
Fri Jan 29 07:01:01 EST 2010
Author: jbarrez
Date: 2010-01-29 07:00:59 -0500 (Fri, 29 Jan 2010)
New Revision: 6148
Added:
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/SubProcessActivity.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/SubProcessBinding.java
Modified:
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/AbstractGatewayBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/AbstractTaskBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnActivity.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnAutomaticActivity.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/EndEventBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ExclusiveGatewayBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/InclusiveGatewayBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/IntermediateCatchEventBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/JavaServiceTaskActivity.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ManualTaskActivity.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ManualTaskBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ParallelGatewayBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ReceiveBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ScriptTaskActivity.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ScriptTaskBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ServiceTaskBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/StartEventBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/TaskBinding.java
jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/UserTaskBinding.java
Log:
Began work on SubProcess + small refactoring for all activities
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/AbstractGatewayBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/AbstractGatewayBinding.java 2010-01-28 16:22:07 UTC (rev 6147)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/AbstractGatewayBinding.java 2010-01-29 12:00:59 UTC (rev 6148)
@@ -69,8 +69,6 @@
resetMemberFields();
- super.parse(element, parse);
-
id = element.getAttribute("id");
name = element.getAttribute("name");
@@ -111,7 +109,6 @@
outgoing = 0;
outSequenceFlows = new ArrayList<Element>();
valid = true;
- default_ = null;
}
protected boolean validGatewayDirection(Parse parse, String elementName, Element element) {
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/AbstractTaskBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/AbstractTaskBinding.java 2010-01-28 16:22:07 UTC (rev 6147)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/AbstractTaskBinding.java 2010-01-29 12:00:59 UTC (rev 6148)
@@ -3,10 +3,10 @@
import java.util.List;
import org.jbpm.bpmn.model.BpmnProcessDefinition;
+import org.jbpm.bpmn.parser.BpmnParser;
import org.jbpm.pvm.internal.task.TaskDefinitionImpl;
import org.jbpm.pvm.internal.util.XmlUtil;
import org.jbpm.pvm.internal.xml.Parse;
-import org.jbpm.pvm.internal.xml.Parser;
import org.w3c.dom.Element;
/**
@@ -26,9 +26,8 @@
public AbstractTaskBinding(String tagName) {
super(tagName);
}
-
- public Object parse(Element element, Parse parse, Parser parser) {
- super.parse(element, parse);
+
+ public Object parse(Element element, Parse parse, BpmnParser bpmnParser) {
ManualTaskActivity manualTaskActivity = new ManualTaskActivity();
manualTaskActivity.setDefault(getDefault());
return manualTaskActivity;
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-01-28 16:22:07 UTC (rev 6147)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnActivity.java 2010-01-29 12:00:59 UTC (rev 6148)
@@ -29,6 +29,7 @@
import org.jbpm.api.Execution;
import org.jbpm.api.JbpmException;
import org.jbpm.api.activity.ActivityBehaviour;
+import org.jbpm.api.activity.ActivityExecution;
import org.jbpm.api.model.Activity;
import org.jbpm.api.model.Transition;
import org.jbpm.internal.log.Log;
@@ -56,6 +57,12 @@
protected String default_;
protected List<ActivityResource> activityResources = new ArrayList<ActivityResource>();
+
+ public void execute(ActivityExecution execution) throws Exception {
+ execute((ExecutionImpl) execution);
+ }
+
+ public abstract void execute(ExecutionImpl executionImpl);
/**
* In BPMN multiple outgoing sequence flows behave like a fork.
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnAutomaticActivity.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnAutomaticActivity.java 2010-01-28 16:22:07 UTC (rev 6147)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnAutomaticActivity.java 2010-01-29 12:00:59 UTC (rev 6148)
@@ -1,6 +1,5 @@
package org.jbpm.bpmn.flownodes;
-import org.jbpm.api.activity.ActivityExecution;
import org.jbpm.api.listener.EventListener;
import org.jbpm.api.listener.EventListenerExecution;
import org.jbpm.api.model.OpenExecution;
@@ -10,9 +9,8 @@
public abstract class BpmnAutomaticActivity extends BpmnActivity implements EventListener {
private static final long serialVersionUID = 1L;
-
- public void execute(ActivityExecution execution) throws Exception {
- ExecutionImpl executionImpl = (ExecutionImpl)execution;
+
+ public void execute(ExecutionImpl executionImpl) {
perform(executionImpl);
executionImpl.historyAutomatic();
}
@@ -21,5 +19,6 @@
perform(execution);
}
- abstract void perform(OpenExecution execution) throws Exception;
+ abstract void perform(OpenExecution execution);
+
}
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnBinding.java 2010-01-28 16:22:07 UTC (rev 6147)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/BpmnBinding.java 2010-01-29 12:00:59 UTC (rev 6148)
@@ -25,6 +25,7 @@
import org.jbpm.pvm.internal.util.TagBinding;
import org.jbpm.pvm.internal.wire.xml.WireParser;
import org.jbpm.pvm.internal.xml.Parse;
+import org.jbpm.pvm.internal.xml.Parser;
import org.w3c.dom.Element;
public abstract class BpmnBinding extends TagBinding {
@@ -36,13 +37,16 @@
public BpmnBinding(String tagName) {
super(tagName, "http://schema.omg.org/spec/BPMN/2.0", null);
}
-
- public void parse(Element element, Parse parse) {
+
+ public Object parse(Element element, Parse parse, Parser parser) {
this.default_ = null;
if (element.hasAttribute("default")) {
default_ = element.getAttribute("default");
}
+ return parse(element, parse, (BpmnParser) parser);
}
+
+ public abstract Object parse(Element element, Parse parse, BpmnParser bpmnParser);
public String getDefault() {
return default_;
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/EndEventBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/EndEventBinding.java 2010-01-28 16:22:07 UTC (rev 6147)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/EndEventBinding.java 2010-01-29 12:00:59 UTC (rev 6148)
@@ -21,9 +21,9 @@
*/
package org.jbpm.bpmn.flownodes;
+import org.jbpm.bpmn.parser.BpmnParser;
import org.jbpm.pvm.internal.util.XmlUtil;
import org.jbpm.pvm.internal.xml.Parse;
-import org.jbpm.pvm.internal.xml.Parser;
import org.w3c.dom.Element;
@@ -39,17 +39,18 @@
protected EndEventBinding(String tag) {
super(tag);
}
-
- public Object parse(Element element, Parse parse, Parser parser) {
- EndActivity endActivity = new EndActivity();
+
+ public Object parse(Element element, Parse parse, BpmnParser bpmnParser) {
+EndActivity endActivity = new EndActivity();
Element terminateEventDefinition = XmlUtil.element(element, "terminateEventDefinition");
if (terminateEventDefinition != null) {
- endActivity.setEndProcessInstance(true);
+ endActivity.setEndProcessInstance(true);
} else {
- endActivity.setEndProcessInstance(false); // default is to end execution, not the process instance
+ endActivity.setEndProcessInstance(false); // default is to end execution, not the process instance
}
return endActivity;
}
+
}
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ExclusiveGatewayBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ExclusiveGatewayBinding.java 2010-01-28 16:22:07 UTC (rev 6147)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ExclusiveGatewayBinding.java 2010-01-29 12:00:59 UTC (rev 6148)
@@ -21,22 +21,22 @@
*/
package org.jbpm.bpmn.flownodes;
+import org.jbpm.bpmn.parser.BpmnParser;
import org.jbpm.pvm.internal.xml.Parse;
-import org.jbpm.pvm.internal.xml.Parser;
import org.w3c.dom.Element;
/**
* @author Tom Baeyens
* @author Ronald van Kuijk (kukeltje)
- *
+ * @author Joram Barrez
*/
public class ExclusiveGatewayBinding extends AbstractGatewayBinding {
public ExclusiveGatewayBinding() {
super("exclusiveGateway");
}
-
- public Object parse(Element element, Parse parse, Parser parser) {
+
+ public Object parse(Element element, Parse parse, BpmnParser bpmnParser) {
super.parse(element, parse);
validateConditionOnAllSequenceFlow(parse, element);
@@ -50,4 +50,5 @@
return exclusiveGatewayActivity;
}
+
}
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/InclusiveGatewayBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/InclusiveGatewayBinding.java 2010-01-28 16:22:07 UTC (rev 6147)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/InclusiveGatewayBinding.java 2010-01-29 12:00:59 UTC (rev 6148)
@@ -21,8 +21,8 @@
*/
package org.jbpm.bpmn.flownodes;
+import org.jbpm.bpmn.parser.BpmnParser;
import org.jbpm.pvm.internal.xml.Parse;
-import org.jbpm.pvm.internal.xml.Parser;
import org.w3c.dom.Element;
/**
@@ -33,8 +33,8 @@
public InclusiveGatewayBinding() {
super("inclusiveGateway");
}
-
- public Object parse(Element element, Parse parse, Parser parser) {
+
+ public Object parse(Element element, Parse parse, BpmnParser bpmnParser) {
super.parse(element, parse);
validateConditionOnAllSequenceFlow(parse, element);
@@ -45,7 +45,7 @@
InclusiveGatewayActivity inclusiveGatewayActivity = new InclusiveGatewayActivity();
inclusiveGatewayActivity.setDefault(default_);
inclusiveGatewayActivity.setGatewayDirection(gatewayDirection);
- return inclusiveGatewayActivity;
+ return inclusiveGatewayActivity;
}
}
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/IntermediateCatchEventBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/IntermediateCatchEventBinding.java 2010-01-28 16:22:07 UTC (rev 6147)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/IntermediateCatchEventBinding.java 2010-01-29 12:00:59 UTC (rev 6148)
@@ -27,7 +27,6 @@
import org.jbpm.pvm.internal.model.TimerDefinitionImpl;
import org.jbpm.pvm.internal.util.XmlUtil;
import org.jbpm.pvm.internal.xml.Parse;
-import org.jbpm.pvm.internal.xml.Parser;
import org.w3c.dom.Element;
/**
@@ -38,13 +37,12 @@
public IntermediateCatchEventBinding() {
super("intermediateCatchEvent");
}
-
- public Object parse(Element element, Parse parse, Parser parser) {
-
+
+ public Object parse(Element element, Parse parse, BpmnParser bpmnParser) {
String id = XmlUtil.attribute(element, "id");
Element eventDefinition = XmlUtil.element(element);
if ("timerEventDefinition".equals(eventDefinition.getNodeName())) {
- return createIntermediateTimerCatchEvent(id, eventDefinition, (BpmnParser) parser, parse);
+ return createIntermediateTimerCatchEvent(id, eventDefinition, bpmnParser, parse);
} else {
parse.addProblem("Invalid eventDefinition type : " + eventDefinition.getNodeName());
}
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/JavaServiceTaskActivity.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/JavaServiceTaskActivity.java 2010-01-28 16:22:07 UTC (rev 6147)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/JavaServiceTaskActivity.java 2010-01-29 12:00:59 UTC (rev 6148)
@@ -51,7 +51,7 @@
protected String variableName;
protected InvokeOperation invokeOperation;
- public void perform(OpenExecution execution) throws Exception {
+ public void perform(OpenExecution execution) {
Object invocationTarget = null;
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ManualTaskActivity.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ManualTaskActivity.java 2010-01-28 16:22:07 UTC (rev 6147)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ManualTaskActivity.java 2010-01-29 12:00:59 UTC (rev 6148)
@@ -1,6 +1,6 @@
package org.jbpm.bpmn.flownodes;
-import org.jbpm.api.activity.ActivityExecution;
+import org.jbpm.pvm.internal.model.ExecutionImpl;
/**
* Manual activities in BPMN are ignored by the Process Engine.
@@ -12,6 +12,6 @@
private static final long serialVersionUID = 1L;
- public void execute(ActivityExecution execution) {
+ public void execute(ExecutionImpl executionImpl) {
}
}
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ManualTaskBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ManualTaskBinding.java 2010-01-28 16:22:07 UTC (rev 6147)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ManualTaskBinding.java 2010-01-29 12:00:59 UTC (rev 6148)
@@ -21,8 +21,8 @@
*/
package org.jbpm.bpmn.flownodes;
+import org.jbpm.bpmn.parser.BpmnParser;
import org.jbpm.pvm.internal.xml.Parse;
-import org.jbpm.pvm.internal.xml.Parser;
import org.w3c.dom.Element;
/**
@@ -33,9 +33,8 @@
public ManualTaskBinding() {
super("manualTask");
}
-
- public Object parse(Element element, Parse parse, Parser parser) {
- super.parse(element, parse);
+
+ public Object parse(Element element, Parse parse, BpmnParser bpmnParser) {
ManualTaskActivity manualTaskActivity = new ManualTaskActivity();
manualTaskActivity.setDefault(getDefault());
return manualTaskActivity;
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ParallelGatewayBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ParallelGatewayBinding.java 2010-01-28 16:22:07 UTC (rev 6147)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ParallelGatewayBinding.java 2010-01-29 12:00:59 UTC (rev 6148)
@@ -21,8 +21,8 @@
*/
package org.jbpm.bpmn.flownodes;
+import org.jbpm.bpmn.parser.BpmnParser;
import org.jbpm.pvm.internal.xml.Parse;
-import org.jbpm.pvm.internal.xml.Parser;
import org.w3c.dom.Element;
@@ -37,9 +37,8 @@
public ParallelGatewayBinding() {
super("parallelGateway");
}
-
- public Object parse(Element element, Parse parse, Parser parser) {
-
+
+ public Object parse(Element element, Parse parse, BpmnParser bpmnParser) {
super.parse(element, parse);
if (!valid) {
@@ -50,4 +49,5 @@
parallelGatewayActivity.setGatewayDirection(gatewayDirection);
return parallelGatewayActivity;
}
+
}
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ReceiveBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ReceiveBinding.java 2010-01-28 16:22:07 UTC (rev 6147)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ReceiveBinding.java 2010-01-29 12:00:59 UTC (rev 6148)
@@ -21,8 +21,8 @@
*/
package org.jbpm.bpmn.flownodes;
+import org.jbpm.bpmn.parser.BpmnParser;
import org.jbpm.pvm.internal.xml.Parse;
-import org.jbpm.pvm.internal.xml.Parser;
import org.w3c.dom.Element;
@@ -31,9 +31,8 @@
public ReceiveBinding() {
super("receiveTask");
}
-
- public Object parse(Element element, Parse parse, Parser parser) {
- super.parse(element, parse);
+
+ public Object parse(Element element, Parse parse, BpmnParser bpmnParser) {
ReceiveActivity receiveActivity = new ReceiveActivity();
receiveActivity.setDefault(getDefault());
return receiveActivity;
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ScriptTaskActivity.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ScriptTaskActivity.java 2010-01-28 16:22:07 UTC (rev 6147)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ScriptTaskActivity.java 2010-01-29 12:00:59 UTC (rev 6148)
@@ -34,7 +34,7 @@
private String script;
- public void perform(OpenExecution execution) throws Exception {
+ public void perform(OpenExecution execution) {
try {
ScriptManager scriptManager = EnvironmentImpl.getFromCurrent(ScriptManager.class);
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ScriptTaskBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ScriptTaskBinding.java 2010-01-28 16:22:07 UTC (rev 6147)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ScriptTaskBinding.java 2010-01-29 12:00:59 UTC (rev 6148)
@@ -21,9 +21,9 @@
*/
package org.jbpm.bpmn.flownodes;
+import org.jbpm.bpmn.parser.BpmnParser;
import org.jbpm.pvm.internal.util.XmlUtil;
import org.jbpm.pvm.internal.xml.Parse;
-import org.jbpm.pvm.internal.xml.Parser;
import org.w3c.dom.Element;
@@ -33,10 +33,8 @@
public ScriptTaskBinding() {
super("scriptTask");
}
-
- public Object parse(Element element, Parse parse, Parser parser) {
- super.parse(element, parse);
-
+
+ public Object parse(Element element, Parse parse, BpmnParser bpmnParser) {
String scriptLanguage = XmlUtil.attribute(element, "scriptLanguage");
String script = XmlUtil.element(element, "script").getTextContent();
@@ -47,4 +45,5 @@
return scriptTaskActivity;
}
+
}
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ServiceTaskBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ServiceTaskBinding.java 2010-01-28 16:22:07 UTC (rev 6147)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/ServiceTaskBinding.java 2010-01-29 12:00:59 UTC (rev 6148)
@@ -24,13 +24,13 @@
import java.util.List;
import org.jbpm.bpmn.model.BpmnProcessDefinition;
+import org.jbpm.bpmn.parser.BpmnParser;
import org.jbpm.pvm.internal.util.XmlUtil;
import org.jbpm.pvm.internal.wire.WireContext;
import org.jbpm.pvm.internal.wire.descriptor.ArgDescriptor;
import org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor;
import org.jbpm.pvm.internal.wire.operation.InvokeOperation;
import org.jbpm.pvm.internal.xml.Parse;
-import org.jbpm.pvm.internal.xml.Parser;
import org.w3c.dom.Element;
public class ServiceTaskBinding extends BpmnBinding {
@@ -40,18 +40,17 @@
public ServiceTaskBinding() {
super(TAG);
}
-
- public Object parse(Element element, Parse parse, Parser parser) {
- super.parse(element, parse);
+
+ public Object parse(Element element, Parse parse, BpmnParser bpmnParser) {
JavaServiceTaskActivity javaActivity = new JavaServiceTaskActivity();
-
+
BpmnProcessDefinition bpmnProcessDefinition = parse.contextStackFind(BpmnProcessDefinition.class);
// Operation parsing
String operationRef = XmlUtil.attribute(element, "operationRef", true, parse, null);
Element operationElement = bpmnProcessDefinition.getOperations().get(operationRef);
if (operationElement == null) {
- parse.addProblem("No operation found for operationRef " + operationRef, operationElement);
+ parse.addProblem("No operation found for operationRef " + operationRef, operationElement);
}
// Interface parsing
@@ -98,4 +97,5 @@
return javaActivity;
}
+
}
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/StartEventBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/StartEventBinding.java 2010-01-28 16:22:07 UTC (rev 6147)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/StartEventBinding.java 2010-01-29 12:00:59 UTC (rev 6148)
@@ -33,7 +33,6 @@
import org.jbpm.pvm.internal.session.DbSession;
import org.jbpm.pvm.internal.util.XmlUtil;
import org.jbpm.pvm.internal.xml.Parse;
-import org.jbpm.pvm.internal.xml.Parser;
import org.w3c.dom.Element;
@@ -45,8 +44,8 @@
public StartEventBinding() {
super("startEvent");
}
-
- public Object parse(Element element, Parse parse, Parser parser) {
+
+ public Object parse(Element element, Parse parse, BpmnParser bpmnParser) {
ActivityImpl startActivity = parse.contextStackFind(ActivityImpl.class);
BpmnProcessDefinition processDefinition = parse.contextStackFind(BpmnProcessDefinition.class);
@@ -60,7 +59,7 @@
String id = XmlUtil.attribute(element, "id", true, parse);
Element eventDefinition = XmlUtil.element(element);
if (eventDefinition != null && "timerEventDefinition".equals(eventDefinition.getNodeName())) {
- return createTimerStartEvent(processDefinition, eventDefinition, id, (BpmnParser) parser, parse);
+ return createTimerStartEvent(processDefinition, eventDefinition, id, bpmnParser, parse);
} else if (eventDefinition != null){
parse.addProblem("Invalid eventDefinition type : " + eventDefinition.getNodeName());
}
Added: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/SubProcessActivity.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/SubProcessActivity.java (rev 0)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/SubProcessActivity.java 2010-01-29 12:00:59 UTC (rev 6148)
@@ -0,0 +1,58 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.bpmn.flownodes;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jbpm.api.model.Activity;
+import org.jbpm.pvm.internal.model.ExecutionImpl;
+
+/**
+ *
+ * @author Joram Barrez
+ */
+public class SubProcessActivity extends BpmnActivity {
+
+ private static final long serialVersionUID = 1L;
+
+ public void execute(ExecutionImpl executionImpl) {
+ }
+
+ /**
+ * The start activities of a sub-process are either none start events or
+ * activities without incoming sequence flow.
+ */
+ protected List<Activity> findStartActivities(ExecutionImpl execution) {
+ List<Activity> startActivities = new ArrayList<Activity>();
+
+ for (Activity nestedActivity : execution.getActivity().getActivities()) {
+ if ( (nestedActivity.getIncomingTransitions()==null)
+ || (nestedActivity.getIncomingTransitions().isEmpty())) {
+ startActivities.add(nestedActivity);
+ }
+ }
+
+ return startActivities;
+ }
+
+}
Added: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/SubProcessBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/SubProcessBinding.java (rev 0)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/SubProcessBinding.java 2010-01-29 12:00:59 UTC (rev 6148)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.bpmn.flownodes;
+
+import org.jbpm.bpmn.parser.BpmnParser;
+import org.jbpm.pvm.internal.model.ActivityImpl;
+import org.jbpm.pvm.internal.xml.Parse;
+import org.w3c.dom.Element;
+
+/**
+ * @author Joram Barrez
+ */
+public class SubProcessBinding extends BpmnBinding {
+
+ protected static final String TAG_NAME = "subProcess";
+
+ public SubProcessBinding(String tagName) {
+ super(TAG_NAME);
+ }
+
+ public Object parse(Element element, Parse parse, BpmnParser bpmnParser) {
+ SubProcessActivity subProcessActivity = new SubProcessActivity();
+
+ ActivityImpl activity = parse.contextStackFind(ActivityImpl.class);
+ bpmnParser.parseActivities(element, parse, activity);
+
+ // TODO only none start event is allowed!
+
+ subProcessActivity.setDefault(getDefault());
+ return subProcessActivity;
+ }
+
+}
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/TaskBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/TaskBinding.java 2010-01-28 16:22:07 UTC (rev 6147)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/TaskBinding.java 2010-01-29 12:00:59 UTC (rev 6148)
@@ -25,7 +25,6 @@
import org.jbpm.pvm.internal.model.ScopeElementImpl;
import org.jbpm.pvm.internal.task.TaskDefinitionImpl;
import org.jbpm.pvm.internal.xml.Parse;
-import org.jbpm.pvm.internal.xml.Parser;
import org.w3c.dom.Element;
/**
@@ -36,13 +35,11 @@
public TaskBinding() {
super("task");
}
-
- public Object parse(Element element, Parse parse, Parser parser) {
- super.parse(element, parse);
-
+
+ public Object parse(Element element, Parse parse, BpmnParser bpmnParser) {
TaskActivity taskActivity = new TaskActivity();
ScopeElementImpl scopeElement = parse.contextStackFind(ScopeElementImpl.class);
- TaskDefinitionImpl taskDefinition = ((BpmnParser)parser).parseTaskDefinition(element, parse, scopeElement);
+ TaskDefinitionImpl taskDefinition = bpmnParser.parseTaskDefinition(element, parse, scopeElement);
taskActivity.setTaskDefinition(taskDefinition);
taskActivity.setDefault(getDefault());
Modified: jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/UserTaskBinding.java
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/UserTaskBinding.java 2010-01-28 16:22:07 UTC (rev 6147)
+++ jbpm4/trunk/modules/bpmn/src/main/java/org/jbpm/bpmn/flownodes/UserTaskBinding.java 2010-01-29 12:00:59 UTC (rev 6148)
@@ -26,7 +26,6 @@
import org.jbpm.pvm.internal.task.TaskDefinitionImpl;
import org.jbpm.pvm.internal.util.XmlUtil;
import org.jbpm.pvm.internal.xml.Parse;
-import org.jbpm.pvm.internal.xml.Parser;
import org.w3c.dom.Element;
/**
@@ -40,13 +39,12 @@
public UserTaskBinding() {
super(TAG);
}
-
- public Object parse(Element element, Parse parse, Parser parser) {
- super.parse(element, parse);
+
+ public Object parse(Element element, Parse parse, BpmnParser bpmnParser) {
UserTaskActivity taskActivity = new UserTaskActivity();
ScopeElementImpl scopeElement = parse.contextStackFind(ScopeElementImpl.class);
- TaskDefinitionImpl taskDefinition = ((BpmnParser) parser).parseTaskDefinition(element, parse, scopeElement);
+ TaskDefinitionImpl taskDefinition = bpmnParser.parseTaskDefinition(element, parse, scopeElement);
addActivityResources(taskDefinition, taskActivity, element, parse);
More information about the jbpm-commits
mailing list