[jboss-svn-commits] JBL Code SVN: r34673 - in labs/jbossrules/trunk: drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1 and 7 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Aug 12 11:13:32 EDT 2010
Author: KrisVerlaenen
Date: 2010-08-12 11:13:30 -0400 (Thu, 12 Aug 2010)
New Revision: 34673
Added:
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-Lane.xml
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-ScriptTask.xml
Modified:
labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/flow/bpmn2/editor/BPMNModelEditor.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1/CompositeContextNodeHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1/EndEventHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1/IntermediateCatchEventHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1/ProcessHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1/XmlBPMNProcessDumper.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/AbstractNodeHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ActionNodeHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/AdHocSubProcessHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/BPMNDISemanticModule.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/BoundaryEventHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/BusinessRuleTaskHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/CallActivityHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ComplexGatewayHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/CompositeContextNodeHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/EndEventHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/EndNodeHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/EventBasedGatewayHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/EventNodeHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ExclusiveGatewayHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/FaultNodeHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ForEachNodeHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/InclusiveGatewayHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/IntermediateCatchEventHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/IntermediateThrowEventHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/JoinHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/LaneHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ParallelGatewayHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ProcessHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ScriptTaskHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/SplitHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/StartEventHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/StateNodeHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/SubProcessHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/TaskHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/TimerNodeHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/UserTaskHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/WorkItemNodeHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/XmlBPMNProcessDumper.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/di/BPMNPlaneHandler.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xpath/XPathReturnValueEvaluator.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/osgi/bpmn2/Activator.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/resources/META-INF/BPMN20.xsd
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/resources/META-INF/BPMNDI.xsd
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/resources/META-INF/Semantic.xsd
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/java/org/drools/bpmn2/BPMN2XMLTest.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/java/org/drools/bpmn2/Person.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/java/org/drools/bpmn2/SimpleBPMNProcessTest.java
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-CompositeProcessWithDIGraphical.xml
labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-MinimalProcessWithDIGraphical.xml
Log:
- extended BPMN2 impl
Modified: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/flow/bpmn2/editor/BPMNModelEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/flow/bpmn2/editor/BPMNModelEditor.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/flow/bpmn2/editor/BPMNModelEditor.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -188,7 +188,7 @@
writer.write(out);
} else {
XmlBPMNProcessDumper dumper = XmlBPMNProcessDumper.INSTANCE;
- String out = dumper.dump(process, includeGraphics);
+ String out = dumper.dump(process, XmlBPMNProcessDumper.META_DATA_USING_DI);
writer.write(out);
}
} catch (Throwable t) {
@@ -204,6 +204,7 @@
InputStreamReader isr = new InputStreamReader(is);
SemanticModules semanticModules = new SemanticModules();
semanticModules.addSemanticModule(new BPMNSemanticModule());
+ semanticModules.addSemanticModule(new BPMNDISemanticModule());
semanticModules.addSemanticModule(new org.drools.bpmn2.legacy.beta1.BPMNSemanticModule());
semanticModules.addSemanticModule(new org.drools.bpmn2.legacy.beta1.BPMN2SemanticModule());
semanticModules.addSemanticModule(new org.drools.bpmn2.legacy.beta1.BPMNDISemanticModule());
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1/CompositeContextNodeHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1/CompositeContextNodeHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1/CompositeContextNodeHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -42,7 +42,7 @@
public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
CompositeContextNode compositeNode = (CompositeContextNode) node;
String nodeType = "subProcess";
- if (node.getMetaData("Transaction") != null) {
+ if (node.getMetaData().get("Transaction") != null) {
nodeType = "transaction";
}
writeNode(nodeType, compositeNode, xmlDump, includeMeta);
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1/EndEventHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1/EndEventHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1/EndEventHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -70,7 +70,7 @@
faultNode.setId(node.getId());
faultNode.setName(node.getName());
faultNode.setTerminateParent(true);
- faultNode.setMetaData("UniqueId", node.getMetaData("UniqueId"));
+ faultNode.setMetaData("UniqueId", node.getMetaData().get("UniqueId"));
node = faultNode;
super.handleNode(node, element, uri, localName, parser);
handleErrorNode(node, element, uri, localName, parser);
@@ -80,7 +80,7 @@
FaultNode faultNode = new FaultNode();
faultNode.setId(node.getId());
faultNode.setName(node.getName());
- faultNode.setMetaData("UniqueId", node.getMetaData("UniqueId"));
+ faultNode.setMetaData("UniqueId", node.getMetaData().get("UniqueId"));
node = faultNode;
super.handleNode(node, element, uri, localName, parser);
handleEscalationNode(node, element, uri, localName, parser);
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1/IntermediateCatchEventHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1/IntermediateCatchEventHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1/IntermediateCatchEventHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -68,7 +68,7 @@
TimerNode timerNode = new TimerNode();
timerNode.setId(node.getId());
timerNode.setName(node.getName());
- timerNode.setMetaData("UniqueId", node.getMetaData("UniqueId"));
+ timerNode.setMetaData("UniqueId", node.getMetaData().get("UniqueId"));
node = timerNode;
handleTimerNode(node, element, uri, localName, parser);
break;
@@ -77,7 +77,7 @@
StateNode stateNode = new StateNode();
stateNode.setId(node.getId());
stateNode.setName(node.getName());
- stateNode.setMetaData("UniqueId", node.getMetaData("UniqueId"));
+ stateNode.setMetaData("UniqueId", node.getMetaData().get("UniqueId"));
node = stateNode;
handleStateNode(node, element, uri, localName, parser);
break;
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1/ProcessHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1/ProcessHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1/ProcessHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -137,7 +137,7 @@
} catch (NumberFormatException e) {
// try looking for a node with same "UniqueId" (in metadata)
for (Node node: nodeContainer.getNodes()) {
- if (connection.getSourceRef().equals(node.getMetaData("UniqueId"))) {
+ if (connection.getSourceRef().equals(node.getMetaData().get("UniqueId"))) {
source = node;
break;
}
@@ -155,7 +155,7 @@
} catch (NumberFormatException e) {
// try looking for a node with same "UniqueId" (in metadata)
for (Node node: nodeContainer.getNodes()) {
- if (connection.getTargetRef().equals(node.getMetaData("UniqueId"))) {
+ if (connection.getTargetRef().equals(node.getMetaData().get("UniqueId"))) {
target = node;
break;
}
@@ -202,7 +202,7 @@
public static void linkBoundaryEvents(NodeContainer nodeContainer) {
for (Node node: nodeContainer.getNodes()) {
if (node instanceof EventNode) {
- String attachedTo = (String) node.getMetaData("AttachedTo");
+ String attachedTo = (String) node.getMetaData().get("AttachedTo");
if (attachedTo != null) {
String type = ((EventTypeFilter)
((EventNode) node).getEventFilters().get(0)).getType();
@@ -216,7 +216,7 @@
} catch (NumberFormatException e) {
// try looking for a node with same "UniqueId" (in metadata)
for (Node subnode: nodeContainer.getNodes()) {
- if (attachedTo.equals(subnode.getMetaData("UniqueId"))) {
+ if (attachedTo.equals(subnode.getMetaData().get("UniqueId"))) {
attachedNode = subnode;
break;
}
@@ -226,7 +226,7 @@
}
}
if (type.startsWith("Escalation-")) {
- boolean cancelActivity = (Boolean) node.getMetaData("CancelActivity");
+ boolean cancelActivity = (Boolean) node.getMetaData().get("CancelActivity");
CompositeContextNode compositeNode = (CompositeContextNode) attachedNode;
ExceptionScope exceptionScope = (ExceptionScope)
compositeNode.getDefaultContext(ExceptionScope.EXCEPTION_SCOPE);
@@ -235,7 +235,7 @@
compositeNode.addContext(exceptionScope);
compositeNode.setDefaultContext(exceptionScope);
}
- String escalationCode = (String) node.getMetaData("EscalationEvent");
+ String escalationCode = (String) node.getMetaData().get("EscalationEvent");
ActionExceptionHandler exceptionHandler = new ActionExceptionHandler();
exceptionHandler.setAction(new DroolsConsequenceAction("java",
(cancelActivity ? "((org.drools.workflow.instance.NodeInstance) kcontext.getNodeInstance()).cancel();" : "") +
@@ -250,23 +250,23 @@
compositeNode.addContext(exceptionScope);
compositeNode.setDefaultContext(exceptionScope);
}
- String errorCode = (String) node.getMetaData("ErrorEvent");
+ String errorCode = (String) node.getMetaData().get("ErrorEvent");
ActionExceptionHandler exceptionHandler = new ActionExceptionHandler();
exceptionHandler.setAction(new DroolsConsequenceAction("java",
"((org.drools.workflow.instance.NodeInstance) kcontext.getNodeInstance()).cancel();" +
"kcontext.getProcessInstance().signalEvent(\"Error-" + attachedTo + "-" + errorCode + "\", null);"));
exceptionScope.setExceptionHandler(errorCode, exceptionHandler);
} else if (type.startsWith("Timer-")) {
- boolean cancelActivity = (Boolean) node.getMetaData("CancelActivity");
+ boolean cancelActivity = (Boolean) node.getMetaData().get("CancelActivity");
CompositeContextNode compositeNode = (CompositeContextNode) attachedNode;
- String timeCycle = (String) node.getMetaData("TimeCycle");
+ String timeCycle = (String) node.getMetaData().get("TimeCycle");
Timer timer = new Timer();
timer.setDelay(timeCycle);
compositeNode.addTimer(timer, new DroolsConsequenceAction("java",
(cancelActivity ? "((org.drools.workflow.instance.NodeInstance) kcontext.getNodeInstance()).cancel();" : "") +
"kcontext.getProcessInstance().signalEvent(\"Timer-" + attachedTo + "-" + timeCycle + "\", null);"));
} else if (type.startsWith("Compensate-")) {
- String uniqueId = (String) node.getMetaData("UniqueId");
+ String uniqueId = (String) node.getMetaData().get("UniqueId");
String eventType = "Compensate-" + uniqueId;
((EventTypeFilter) ((EventNode) node).getEventFilters().get(0)).setType(eventType);
}
@@ -299,7 +299,7 @@
for (Node node: container.getNodes()) {
if (node instanceof StateNode) {
StateNode stateNode = (StateNode) node;
- String condition = (String) stateNode.getMetaData("Condition");
+ String condition = (String) stateNode.getMetaData().get("Condition");
Constraint constraint = new ConstraintImpl();
constraint.setConstraint(condition);
constraint.setType("rule");
@@ -315,7 +315,7 @@
private void assignLanes(NodeContainer nodeContainer, Map<String, String> laneMapping) {
for (Node node: nodeContainer.getNodes()) {
String lane = null;
- String uniqueId = (String) node.getMetaData("UniqueId");
+ String uniqueId = (String) node.getMetaData().get("UniqueId");
if (uniqueId != null) {
lane = laneMapping.get(uniqueId);
} else {
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1/XmlBPMNProcessDumper.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1/XmlBPMNProcessDumper.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1/XmlBPMNProcessDumper.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -82,7 +82,7 @@
}
protected void visitProcess(WorkflowProcess process, StringBuilder xmlDump, boolean includeMeta) {
- String targetNamespace = (String) process.getMetaData("TargetNamespace");
+ String targetNamespace = (String) process.getMetaData().get("TargetNamespace");
if (targetNamespace == null) {
targetNamespace = "http://www.jboss.org/drools";
}
@@ -135,10 +135,10 @@
" <di:laneCompartment isVisible=\"false\" >" + EOL);
for (Node node: process.getNodes()) {
String nodeType = null;
- Integer x = (Integer) node.getMetaData("x");
- Integer y = (Integer) node.getMetaData("y");
- Integer width = (Integer) node.getMetaData("width");
- Integer height = (Integer) node.getMetaData("height");
+ Integer x = (Integer) node.getMetaData().get("x");
+ Integer y = (Integer) node.getMetaData().get("y");
+ Integer width = (Integer) node.getMetaData().get("width");
+ Integer height = (Integer) node.getMetaData().get("height");
if (node instanceof StartNode || node instanceof EndNode || node instanceof EventNode || node instanceof FaultNode) {
nodeType = "event";
int offsetX = (int) ((width - 30) / 2);
@@ -235,7 +235,7 @@
xmlDump.append(" <flowElementRef>" + XmlBPMNProcessDumper.getUniqueNodeId(node) + "</flowElementRef>" + EOL);
}
} else {
- String swimlane = (String) node.getMetaData("Lane");
+ String swimlane = (String) node.getMetaData().get("Lane");
if (lane.equals(swimlane)) {
xmlDump.append(" <flowElementRef>" + XmlBPMNProcessDumper.getUniqueNodeId(node) + "</flowElementRef>" + EOL);
}
@@ -330,14 +330,14 @@
}
}
} else if (node instanceof EndNode) {
- String messageType = (String) node.getMetaData("MessageType");
+ String messageType = (String) node.getMetaData().get("MessageType");
if (messageType != null) {
xmlDump.append(
" <itemDefinition id=\"" + getUniqueNodeId(node) + "_MessageType\" structureRef=\"" + XmlDumper.replaceIllegalChars(messageType) + "\"/>" + EOL +
" <message id=\"" + getUniqueNodeId(node) + "_Message\" structureRef=\"" + getUniqueNodeId(node) + "_MessageType\" />" + EOL + EOL);
}
} else if (node instanceof ActionNode) {
- String messageType = (String) node.getMetaData("MessageType");
+ String messageType = (String) node.getMetaData().get("MessageType");
if (messageType != null) {
xmlDump.append(
" <itemDefinition id=\"" + getUniqueNodeId(node) + "_MessageType\" structureRef=\"" + XmlDumper.replaceIllegalChars(messageType) + "\"/>" + EOL +
@@ -346,7 +346,7 @@
} else if (node instanceof EventNode) {
String messageRef = ((EventTypeFilter) ((EventNode) node).getEventFilters().get(0)).getType();
messageRef = messageRef.substring(8);
- String messageType = (String) node.getMetaData("MessageType");
+ String messageType = (String) node.getMetaData().get("MessageType");
xmlDump.append(
" <itemDefinition id=\"" + XmlDumper.replaceIllegalChars(messageRef) + "Type\" structureRef=\"" + XmlDumper.replaceIllegalChars(messageType) + "\"/>" + EOL +
" <message id=\"" + XmlDumper.replaceIllegalChars(messageRef) + "\" structureRef=\"" + XmlDumper.replaceIllegalChars(messageRef) + "Type\" />" + EOL + EOL);
@@ -358,7 +358,7 @@
String eventType = ((EventTypeFilter) ((EventTrigger) trigger).getEventFilters().get(0)).getType();
if (eventType.startsWith("Message-")) {
eventType = eventType.substring(8);
- String messageType = (String) node.getMetaData("MessageType");
+ String messageType = (String) node.getMetaData().get("MessageType");
xmlDump.append(
" <itemDefinition id=\"" + XmlDumper.replaceIllegalChars(eventType) + "Type\" structureRef=\"" + XmlDumper.replaceIllegalChars(messageType) + "\"/>" + EOL +
" <message id=\"" + XmlDumper.replaceIllegalChars(eventType) + "\" structureRef=\"" + XmlDumper.replaceIllegalChars(eventType) + "Type\" />" + EOL + EOL);
@@ -457,7 +457,7 @@
}
public static String getUniqueNodeId(Node node) {
- String result = (String) node.getMetaData("UniqueId");
+ String result = (String) node.getMetaData().get("UniqueId");
if (result != null) {
return result;
}
@@ -482,7 +482,7 @@
}
}
for (Connection connection: connections) {
- String bendpoints = (String) connection.getMetaData("bendpoints");
+ String bendpoints = (String) connection.getMetaData().get("bendpoints");
xmlDump.append(
" <di:sequenceFlowConnector sequenceFlowRef=\"" +
getUniqueNodeId(connection.getFrom()) + "-" + getUniqueNodeId(connection.getTo()) + "\" " +
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/AbstractNodeHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/AbstractNodeHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/AbstractNodeHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -134,20 +134,20 @@
}
public abstract void writeNode(final Node node, final StringBuilder xmlDump,
- final boolean includeMeta);
+ final int metaDataType);
protected void writeNode(final String name, final Node node,
- final StringBuilder xmlDump, boolean includeMeta) {
+ final StringBuilder xmlDump, int metaDataType) {
xmlDump.append(" <" + name + " ");
xmlDump.append("id=\"" + XmlBPMNProcessDumper.getUniqueNodeId(node) + "\" ");
if (node.getName() != null) {
xmlDump.append("name=\"" + XmlDumper.replaceIllegalChars(node.getName()) + "\" ");
}
- if (includeMeta) {
- Integer x = (Integer) node.getMetaData("x");
- Integer y = (Integer) node.getMetaData("y");
- Integer width = (Integer) node.getMetaData("width");
- Integer height = (Integer) node.getMetaData("height");
+ if (metaDataType == XmlBPMNProcessDumper.META_DATA_AS_NODE_PROPERTY) {
+ Integer x = (Integer) node.getMetaData().get("x");
+ Integer y = (Integer) node.getMetaData().get("y");
+ Integer width = (Integer) node.getMetaData().get("width");
+ Integer height = (Integer) node.getMetaData().get("height");
if (x != null && x != 0) {
xmlDump.append("g:x=\"" + x + "\" ");
}
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ActionNodeHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ActionNodeHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ActionNodeHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -34,13 +34,13 @@
return ActionNode.class;
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
ActionNode actionNode = (ActionNode) node;
DroolsConsequenceAction action = (DroolsConsequenceAction) actionNode.getAction();
if (action != null) {
String s = action.getConsequence();
if (s.startsWith("org.drools.process.instance.impl.WorkItemImpl workItem = new org.drools.process.instance.impl.WorkItemImpl();")) {
- writeNode("intermediateThrowEvent", actionNode, xmlDump, includeMeta);
+ writeNode("intermediateThrowEvent", actionNode, xmlDump, metaDataType);
xmlDump.append(">" + EOL);
String variable = (String) actionNode.getMetaData("MappingVariable");
if (variable != null) {
@@ -57,7 +57,7 @@
xmlDump.append(" <messageEventDefinition messageRef=\"" + XmlBPMNProcessDumper.getUniqueNodeId(actionNode) + "_Message\"/>" + EOL);
endNode("intermediateThrowEvent", xmlDump);
} else if (s.startsWith("kcontext.getKnowledgeRuntime().signalEvent(\"")) {
- writeNode("intermediateThrowEvent", actionNode, xmlDump, includeMeta);
+ writeNode("intermediateThrowEvent", actionNode, xmlDump, metaDataType);
xmlDump.append(">" + EOL);
s = s.substring(44);
String type = s.substring(0, s.indexOf("\""));
@@ -82,26 +82,26 @@
}
endNode("intermediateThrowEvent", xmlDump);
} else if (s.startsWith("kcontext.getProcessInstance().signalEvent(\"")) {
- writeNode("intermediateThrowEvent", actionNode, xmlDump, includeMeta);
+ writeNode("intermediateThrowEvent", actionNode, xmlDump, metaDataType);
xmlDump.append(">" + EOL);
s = s.substring(43);
String type = s.substring(0, s.indexOf("\""));
xmlDump.append(" <compensateEventDefinition activityRef=\"" + XmlDumper.replaceIllegalChars(type.substring(11)) + "\"/>" + EOL);
endNode("intermediateThrowEvent", xmlDump);
} else if (s.startsWith("org.drools.process.instance.context.exception.ExceptionScopeInstance scopeInstance = (org.drools.process.instance.context.exception.ExceptionScopeInstance) ((org.drools.workflow.instance.NodeInstance) kcontext.getNodeInstance()).resolveContextInstance(org.drools.process.core.context.exception.ExceptionScope.EXCEPTION_SCOPE, \"")) {
- writeNode("intermediateThrowEvent", actionNode, xmlDump, includeMeta);
+ writeNode("intermediateThrowEvent", actionNode, xmlDump, metaDataType);
xmlDump.append(">" + EOL);
s = s.substring(327);
String type = s.substring(0, s.indexOf("\""));
xmlDump.append(" <escalationEventDefinition escalationRef=\"" + XmlDumper.replaceIllegalChars(type) + "\"/>" + EOL);
endNode("intermediateThrowEvent", xmlDump);
} else if ("IntermediateThrowEvent-None".equals(actionNode.getMetaData("NodeType"))) {
- writeNode("intermediateThrowEvent", actionNode, xmlDump, includeMeta);
+ writeNode("intermediateThrowEvent", actionNode, xmlDump, metaDataType);
endNode(xmlDump);
} else {
- writeNode("scriptTask", actionNode, xmlDump, includeMeta);
+ writeNode("scriptTask", actionNode, xmlDump, metaDataType);
if (JavaDialect.ID.equals(action.getDialect())) {
- xmlDump.append("scriptLanguage=\"" + XmlBPMNProcessDumper.JAVA_LANGUAGE + "\" ");
+ xmlDump.append("scriptFormat=\"" + XmlBPMNProcessDumper.JAVA_LANGUAGE + "\" ");
}
if (action.getConsequence() != null) {
xmlDump.append(">" + EOL +
@@ -112,7 +112,7 @@
}
}
} else {
- writeNode("scriptTask", actionNode, xmlDump, includeMeta);
+ writeNode("scriptTask", actionNode, xmlDump, metaDataType);
endNode(xmlDump);
}
}
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/AdHocSubProcessHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/AdHocSubProcessHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/AdHocSubProcessHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -69,9 +69,9 @@
ProcessHandler.linkBoundaryEvents(dynamicNode);
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
DynamicNode dynamicNode = (DynamicNode) node;
- writeNode("adHocSubProcess", dynamicNode, xmlDump, includeMeta);
+ writeNode("adHocSubProcess", dynamicNode, xmlDump, metaDataType);
if (!dynamicNode.isCancelRemainingInstances()) {
xmlDump.append(" cancelRemainingInstances=\"false\"");
}
@@ -80,13 +80,13 @@
List<Node> subNodes = getSubNodes(dynamicNode);
xmlDump.append(" <!-- nodes -->" + EOL);
for (Node subNode: subNodes) {
- XmlBPMNProcessDumper.INSTANCE.visitNode(subNode, xmlDump, includeMeta);
+ XmlBPMNProcessDumper.INSTANCE.visitNode(subNode, xmlDump, metaDataType);
}
// connections
List<Connection> connections = getSubConnections(dynamicNode);
xmlDump.append(" <!-- connections -->" + EOL);
for (Connection connection: connections) {
- XmlBPMNProcessDumper.INSTANCE.visitConnection(connection, xmlDump, includeMeta);
+ XmlBPMNProcessDumper.INSTANCE.visitConnection(connection, xmlDump, metaDataType);
}
if (dynamicNode.isAutoComplete()) {
xmlDump.append(" <completionCondition xs:type=\"tFormalExpression\">getActivityInstanceAttribute(\"numberOfActiveInstances\") == 0</completionCondition>" + EOL);
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/BPMNDISemanticModule.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/BPMNDISemanticModule.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/BPMNDISemanticModule.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -24,7 +24,7 @@
public class BPMNDISemanticModule extends DefaultSemanticModule {
public BPMNDISemanticModule() {
- super("http://www.omg.org/spec/BPMN/20100524/BPMNDI");
+ super("http://www.omg.org/spec/BPMN/20100524/DI");
addHandler("BPMNPlane", new BPMNPlaneHandler());
addHandler("BPMNShape", new BPMNShapeHandler());
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/BoundaryEventHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/BoundaryEventHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/BoundaryEventHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -202,7 +202,7 @@
((EventNode) node).setEventFilters(eventFilters);
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
throw new IllegalArgumentException("Writing out should be handled by specific handlers");
}
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/BusinessRuleTaskHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/BusinessRuleTaskHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/BusinessRuleTaskHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -45,9 +45,9 @@
}
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
RuleSetNode ruleSetNode = (RuleSetNode) node;
- writeNode("businessRuleTask", ruleSetNode, xmlDump, includeMeta);
+ writeNode("businessRuleTask", ruleSetNode, xmlDump, metaDataType);
if (ruleSetNode.getRuleFlowGroup() != null) {
xmlDump.append("g:ruleFlowGroup=\"" + XmlDumper.replaceIllegalChars(ruleSetNode.getRuleFlowGroup()) + "\" ");
}
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/CallActivityHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/CallActivityHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/CallActivityHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -107,9 +107,9 @@
subProcessNode.addOutMapping(dataOutputs.get(from), to);
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
SubProcessNode subProcessNode = (SubProcessNode) node;
- writeNode("callActivity", subProcessNode, xmlDump, includeMeta);
+ writeNode("callActivity", subProcessNode, xmlDump, metaDataType);
if (subProcessNode.getProcessId() != null) {
xmlDump.append("calledElement=\"" + XmlDumper.replaceIllegalChars(subProcessNode.getProcessId()) + "\" ");
}
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ComplexGatewayHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ComplexGatewayHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ComplexGatewayHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -44,7 +44,7 @@
return Node.class;
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
throw new IllegalArgumentException("Writing out should be handled by split / join handler");
}
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/CompositeContextNodeHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/CompositeContextNodeHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/CompositeContextNodeHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -39,13 +39,13 @@
return CompositeContextNode.class;
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
CompositeContextNode compositeNode = (CompositeContextNode) node;
String nodeType = "subProcess";
- if (node.getMetaData("Transaction") != null) {
+ if (node.getMetaData().get("Transaction") != null) {
nodeType = "transaction";
}
- writeNode(nodeType, compositeNode, xmlDump, includeMeta);
+ writeNode(nodeType, compositeNode, xmlDump, metaDataType);
xmlDump.append(" >" + EOL);
// variables
VariableScope variableScope = (VariableScope)
@@ -65,13 +65,13 @@
List<Node> subNodes = getSubNodes(compositeNode);
xmlDump.append(" <!-- nodes -->" + EOL);
for (Node subNode: subNodes) {
- XmlBPMNProcessDumper.INSTANCE.visitNode(subNode, xmlDump, includeMeta);
+ XmlBPMNProcessDumper.INSTANCE.visitNode(subNode, xmlDump, metaDataType);
}
// connections
List<Connection> connections = getSubConnections(compositeNode);
xmlDump.append(" <!-- connections -->" + EOL);
for (Connection connection: connections) {
- XmlBPMNProcessDumper.INSTANCE.visitConnection(connection, xmlDump, includeMeta);
+ XmlBPMNProcessDumper.INSTANCE.visitConnection(connection, xmlDump, metaDataType);
}
endNode(nodeType, xmlDump);
}
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/EndEventHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/EndEventHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/EndEventHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -72,7 +72,7 @@
faultNode.setId(node.getId());
faultNode.setName(node.getName());
faultNode.setTerminateParent(true);
- faultNode.setMetaData("UniqueId", node.getMetaData("UniqueId"));
+ faultNode.setMetaData("UniqueId", node.getMetaData().get("UniqueId"));
node = faultNode;
super.handleNode(node, element, uri, localName, parser);
handleErrorNode(node, element, uri, localName, parser);
@@ -82,7 +82,7 @@
FaultNode faultNode = new FaultNode();
faultNode.setId(node.getId());
faultNode.setName(node.getName());
- faultNode.setMetaData("UniqueId", node.getMetaData("UniqueId"));
+ faultNode.setMetaData("UniqueId", node.getMetaData().get("UniqueId"));
node = faultNode;
super.handleNode(node, element, uri, localName, parser);
handleEscalationNode(node, element, uri, localName, parser);
@@ -259,7 +259,7 @@
}
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
throw new IllegalArgumentException("Writing out should be handled by specific handlers");
}
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/EndNodeHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/EndNodeHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/EndNodeHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -36,9 +36,9 @@
return EndNode.class;
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
EndNode endNode = (EndNode) node;
- writeNode("endEvent", endNode, xmlDump, includeMeta);
+ writeNode("endEvent", endNode, xmlDump, metaDataType);
if (endNode.isTerminate()) {
xmlDump.append(">" + EOL);
xmlDump.append(" <terminateEventDefinition/>" + EOL);
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/EventBasedGatewayHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/EventBasedGatewayHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/EventBasedGatewayHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -40,7 +40,7 @@
return Node.class;
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
throw new IllegalArgumentException("Writing out should be handled by split / join handler");
}
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/EventNodeHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/EventNodeHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/EventNodeHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -33,11 +33,11 @@
return EventNode.class;
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
EventNode eventNode = (EventNode) node;
String attachedTo = (String) eventNode.getMetaData("AttachedTo");
if (attachedTo == null) {
- writeNode("intermediateCatchEvent", eventNode, xmlDump, includeMeta);
+ writeNode("intermediateCatchEvent", eventNode, xmlDump, metaDataType);
xmlDump.append(">" + EOL);
if (eventNode.getVariableName() != null) {
xmlDump.append(" <dataOutput id=\"" + XmlBPMNProcessDumper.getUniqueNodeId(eventNode) + "_Output\" name=\"event\" />" + EOL);
@@ -65,7 +65,7 @@
if (type.startsWith("Escalation-")) {
type = type.substring(attachedTo.length() + 12);
boolean cancelActivity = (Boolean) eventNode.getMetaData("CancelActivity");
- writeNode("boundaryEvent", eventNode, xmlDump, includeMeta);
+ writeNode("boundaryEvent", eventNode, xmlDump, metaDataType);
xmlDump.append("attachedToRef=\"" + attachedTo + "\" ");
if (!cancelActivity) {
xmlDump.append("cancelActivity=\"false\" ");
@@ -75,7 +75,7 @@
endNode("boundaryEvent", xmlDump);
} else if (type.startsWith("Error-")) {
type = type.substring(attachedTo.length() + 7);
- writeNode("boundaryEvent", eventNode, xmlDump, includeMeta);
+ writeNode("boundaryEvent", eventNode, xmlDump, metaDataType);
xmlDump.append("attachedToRef=\"" + attachedTo + "\" ");
xmlDump.append(">" + EOL);
xmlDump.append(" <errorEventDefinition errorRef=\"" + XmlDumper.replaceIllegalChars(type) + "\" />" + EOL);
@@ -83,7 +83,7 @@
} else if (type.startsWith("Timer-")) {
type = type.substring(attachedTo.length() + 7);
boolean cancelActivity = (Boolean) eventNode.getMetaData("CancelActivity");
- writeNode("boundaryEvent", eventNode, xmlDump, includeMeta);
+ writeNode("boundaryEvent", eventNode, xmlDump, metaDataType);
xmlDump.append("attachedToRef=\"" + attachedTo + "\" ");
if (!cancelActivity) {
xmlDump.append("cancelActivity=\"false\" ");
@@ -96,7 +96,7 @@
endNode("boundaryEvent", xmlDump);
} else if (type.startsWith("Compensate-")) {
type = type.substring(attachedTo.length() + 7);
- writeNode("boundaryEvent", eventNode, xmlDump, includeMeta);
+ writeNode("boundaryEvent", eventNode, xmlDump, metaDataType);
xmlDump.append("attachedToRef=\"" + attachedTo + "\" ");
xmlDump.append(">" + EOL);
xmlDump.append(" <compensateEventDefinition/>" + EOL);
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ExclusiveGatewayHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ExclusiveGatewayHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ExclusiveGatewayHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -46,7 +46,7 @@
return Node.class;
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
throw new IllegalArgumentException("Writing out should be handled by split / join handler");
}
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/FaultNodeHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/FaultNodeHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/FaultNodeHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -32,9 +32,9 @@
return FaultNode.class;
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
FaultNode faultNode = (FaultNode) node;
- writeNode("endEvent", faultNode, xmlDump, includeMeta);
+ writeNode("endEvent", faultNode, xmlDump, metaDataType);
xmlDump.append(">" + EOL);
if (faultNode.getFaultVariable() != null) {
xmlDump.append(" <dataInput id=\"" + XmlBPMNProcessDumper.getUniqueNodeId(faultNode) + "_Input\" name=\"error\" />" + EOL);
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ForEachNodeHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ForEachNodeHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ForEachNodeHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -37,9 +37,9 @@
return ForEachNode.class;
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
ForEachNode forEachNode = (ForEachNode) node;
- writeNode("subProcess", forEachNode, xmlDump, includeMeta);
+ writeNode("subProcess", forEachNode, xmlDump, metaDataType);
xmlDump.append(" >" + EOL);
// ioSpecification and dataInputAssociation
xmlDump.append(
@@ -73,13 +73,13 @@
List<Node> subNodes = getSubNodes(forEachNode);
xmlDump.append(" <!-- nodes -->" + EOL);
for (Node subNode: subNodes) {
- XmlBPMNProcessDumper.INSTANCE.visitNode(subNode, xmlDump, includeMeta);
+ XmlBPMNProcessDumper.INSTANCE.visitNode(subNode, xmlDump, metaDataType);
}
// connections
List<Connection> connections = getSubConnections(forEachNode);
xmlDump.append(" <!-- connections -->" + EOL);
for (Connection connection: connections) {
- XmlBPMNProcessDumper.INSTANCE.visitConnection(connection, xmlDump, includeMeta);
+ XmlBPMNProcessDumper.INSTANCE.visitConnection(connection, xmlDump, metaDataType);
}
endNode("subProcess", xmlDump);
}
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/InclusiveGatewayHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/InclusiveGatewayHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/InclusiveGatewayHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -41,7 +41,7 @@
return Node.class;
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
throw new IllegalArgumentException("Writing out should be handled by split / join handler");
}
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/IntermediateCatchEventHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/IntermediateCatchEventHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/IntermediateCatchEventHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -68,7 +68,7 @@
TimerNode timerNode = new TimerNode();
timerNode.setId(node.getId());
timerNode.setName(node.getName());
- timerNode.setMetaData("UniqueId", node.getMetaData("UniqueId"));
+ timerNode.setMetaData("UniqueId", node.getMetaData().get("UniqueId"));
node = timerNode;
handleTimerNode(node, element, uri, localName, parser);
break;
@@ -77,7 +77,7 @@
StateNode stateNode = new StateNode();
stateNode.setId(node.getId());
stateNode.setName(node.getName());
- stateNode.setMetaData("UniqueId", node.getMetaData("UniqueId"));
+ stateNode.setMetaData("UniqueId", node.getMetaData().get("UniqueId"));
node = stateNode;
handleStateNode(node, element, uri, localName, parser);
break;
@@ -201,7 +201,7 @@
eventNode.setVariableName(to);
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
throw new IllegalArgumentException("Writing out should be handled by specific handlers");
}
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/IntermediateThrowEventHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/IntermediateThrowEventHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/IntermediateThrowEventHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -198,7 +198,7 @@
}
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
throw new IllegalArgumentException("Writing out should be handled by action node handler");
}
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/JoinHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/JoinHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/JoinHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -31,17 +31,17 @@
return Join.class;
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
Join join = (Join) node;
switch (join.getType()) {
case Join.TYPE_AND:
- writeNode("parallelGateway", node, xmlDump, includeMeta);
+ writeNode("parallelGateway", node, xmlDump, metaDataType);
break;
case Join.TYPE_XOR:
- writeNode("exclusiveGateway", node, xmlDump, includeMeta);
+ writeNode("exclusiveGateway", node, xmlDump, metaDataType);
break;
default:
- writeNode("complexGateway", node, xmlDump, includeMeta);
+ writeNode("complexGateway", node, xmlDump, metaDataType);
}
xmlDump.append("gatewayDirection=\"Converging\" ");
endNode(xmlDump);
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/LaneHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/LaneHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/LaneHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -78,7 +78,7 @@
org.w3c.dom.Node xmlNode = element.getFirstChild();
while (xmlNode != null) {
String nodeName = xmlNode.getNodeName();
- if ("flowElementRef".equals(nodeName)) {
+ if ("flowNodeRef".equals(nodeName)) {
String flowElementRef = xmlNode.getTextContent();
lane.addFlowElement(flowElementRef);
}
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ParallelGatewayHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ParallelGatewayHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ParallelGatewayHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -44,7 +44,7 @@
return Node.class;
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
throw new IllegalArgumentException("Writing out should be handled by split / join handler");
}
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ProcessHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ProcessHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ProcessHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -141,7 +141,7 @@
} catch (NumberFormatException e) {
// try looking for a node with same "UniqueId" (in metadata)
for (Node node: nodeContainer.getNodes()) {
- if (connection.getSourceRef().equals(node.getMetaData("UniqueId"))) {
+ if (connection.getSourceRef().equals(node.getMetaData().get("UniqueId"))) {
source = node;
break;
}
@@ -159,7 +159,7 @@
} catch (NumberFormatException e) {
// try looking for a node with same "UniqueId" (in metadata)
for (Node node: nodeContainer.getNodes()) {
- if (connection.getTargetRef().equals(node.getMetaData("UniqueId"))) {
+ if (connection.getTargetRef().equals(node.getMetaData().get("UniqueId"))) {
target = node;
break;
}
@@ -207,7 +207,7 @@
public static void linkBoundaryEvents(NodeContainer nodeContainer) {
for (Node node: nodeContainer.getNodes()) {
if (node instanceof EventNode) {
- String attachedTo = (String) node.getMetaData("AttachedTo");
+ String attachedTo = (String) node.getMetaData().get("AttachedTo");
if (attachedTo != null) {
String type = ((EventTypeFilter)
((EventNode) node).getEventFilters().get(0)).getType();
@@ -221,7 +221,7 @@
} catch (NumberFormatException e) {
// try looking for a node with same "UniqueId" (in metadata)
for (Node subnode: nodeContainer.getNodes()) {
- if (attachedTo.equals(subnode.getMetaData("UniqueId"))) {
+ if (attachedTo.equals(subnode.getMetaData().get("UniqueId"))) {
attachedNode = subnode;
break;
}
@@ -231,7 +231,7 @@
}
}
if (type.startsWith("Escalation-")) {
- boolean cancelActivity = (Boolean) node.getMetaData("CancelActivity");
+ boolean cancelActivity = (Boolean) node.getMetaData().get("CancelActivity");
CompositeContextNode compositeNode = (CompositeContextNode) attachedNode;
ExceptionScope exceptionScope = (ExceptionScope)
compositeNode.getDefaultContext(ExceptionScope.EXCEPTION_SCOPE);
@@ -240,7 +240,7 @@
compositeNode.addContext(exceptionScope);
compositeNode.setDefaultContext(exceptionScope);
}
- String escalationCode = (String) node.getMetaData("EscalationEvent");
+ String escalationCode = (String) node.getMetaData().get("EscalationEvent");
ActionExceptionHandler exceptionHandler = new ActionExceptionHandler();
exceptionHandler.setAction(new DroolsConsequenceAction("java",
(cancelActivity ? "((org.drools.workflow.instance.NodeInstance) kcontext.getNodeInstance()).cancel();" : "") +
@@ -255,23 +255,23 @@
compositeNode.addContext(exceptionScope);
compositeNode.setDefaultContext(exceptionScope);
}
- String errorCode = (String) node.getMetaData("ErrorEvent");
+ String errorCode = (String) node.getMetaData().get("ErrorEvent");
ActionExceptionHandler exceptionHandler = new ActionExceptionHandler();
exceptionHandler.setAction(new DroolsConsequenceAction("java",
"((org.drools.workflow.instance.NodeInstance) kcontext.getNodeInstance()).cancel();" +
"kcontext.getProcessInstance().signalEvent(\"Error-" + attachedTo + "-" + errorCode + "\", null);"));
exceptionScope.setExceptionHandler(errorCode, exceptionHandler);
} else if (type.startsWith("Timer-")) {
- boolean cancelActivity = (Boolean) node.getMetaData("CancelActivity");
+ boolean cancelActivity = (Boolean) node.getMetaData().get("CancelActivity");
CompositeContextNode compositeNode = (CompositeContextNode) attachedNode;
- String timeCycle = (String) node.getMetaData("TimeCycle");
+ String timeCycle = (String) node.getMetaData().get("TimeCycle");
Timer timer = new Timer();
timer.setDelay(timeCycle);
compositeNode.addTimer(timer, new DroolsConsequenceAction("java",
(cancelActivity ? "((org.drools.workflow.instance.NodeInstance) kcontext.getNodeInstance()).cancel();" : "") +
"kcontext.getProcessInstance().signalEvent(\"Timer-" + attachedTo + "-" + timeCycle + "\", null);"));
} else if (type.startsWith("Compensate-")) {
- String uniqueId = (String) node.getMetaData("UniqueId");
+ String uniqueId = (String) node.getMetaData().get("UniqueId");
String eventType = "Compensate-" + uniqueId;
((EventTypeFilter) ((EventNode) node).getEventFilters().get(0)).setType(eventType);
}
@@ -320,7 +320,7 @@
private void assignLanes(NodeContainer nodeContainer, Map<String, String> laneMapping) {
for (Node node: nodeContainer.getNodes()) {
String lane = null;
- String uniqueId = (String) node.getMetaData("UniqueId");
+ String uniqueId = (String) node.getMetaData().get("UniqueId");
if (uniqueId != null) {
lane = laneMapping.get(uniqueId);
} else {
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ScriptTaskHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ScriptTaskHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ScriptTaskHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -47,7 +47,7 @@
action = new DroolsConsequenceAction();
actionNode.setAction(action);
}
- String language = element.getAttribute("scriptLanguage");
+ String language = element.getAttribute("scriptFormat");
if (XmlBPMNProcessDumper.JAVA_LANGUAGE.equals(language)) {
action.setDialect(JavaDialect.ID);
}
@@ -59,7 +59,7 @@
}
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
throw new IllegalArgumentException("Writing out should be handled by action node handler");
}
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/SplitHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/SplitHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/SplitHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -35,14 +35,14 @@
return Split.class;
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
Split split = (Split) node;
switch (split.getType()) {
case Split.TYPE_AND:
- writeNode("parallelGateway", node, xmlDump, includeMeta);
+ writeNode("parallelGateway", node, xmlDump, metaDataType);
break;
case Split.TYPE_XOR:
- writeNode("exclusiveGateway", node, xmlDump, includeMeta);
+ writeNode("exclusiveGateway", node, xmlDump, metaDataType);
for (Map.Entry<ConnectionRef, Constraint> entry: split.getConstraints().entrySet()) {
if (entry.getValue().isDefault()) {
xmlDump.append("default=\"" +
@@ -54,7 +54,7 @@
}
break;
case Split.TYPE_OR:
- writeNode("inclusiveGateway", node, xmlDump, includeMeta);
+ writeNode("inclusiveGateway", node, xmlDump, metaDataType);
for (Map.Entry<ConnectionRef, Constraint> entry: split.getConstraints().entrySet()) {
if (entry.getValue().isDefault()) {
xmlDump.append("default=\"" +
@@ -66,10 +66,10 @@
}
break;
case Split.TYPE_XAND:
- writeNode("eventBasedGateway", node, xmlDump, includeMeta);
+ writeNode("eventBasedGateway", node, xmlDump, metaDataType);
break;
default:
- writeNode("complexGateway", node, xmlDump, includeMeta);
+ writeNode("complexGateway", node, xmlDump, metaDataType);
}
xmlDump.append("gatewayDirection=\"Diverging\" ");
endNode(xmlDump);
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/StartEventHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/StartEventHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/StartEventHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -126,15 +126,17 @@
protected void readDataOutputAssociation(org.w3c.dom.Node xmlNode, StartNode startNode) {
// sourceRef
org.w3c.dom.Node subNode = xmlNode.getFirstChild();
+ if ("sourceRef".equals(subNode.getNodeName())) {
+ subNode = subNode.getNextSibling();
+ }
// targetRef
- subNode = subNode.getNextSibling();
String to = subNode.getTextContent();
startNode.setMetaData("TriggerMapping", to);
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
StartNode startNode = (StartNode) node;
- writeNode("startEvent", startNode, xmlDump, includeMeta);
+ writeNode("startEvent", startNode, xmlDump, metaDataType);
List<Trigger> triggers = startNode.getTriggers();
if (triggers != null) {
xmlDump.append(">" + EOL);
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/StateNodeHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/StateNodeHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/StateNodeHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -32,10 +32,10 @@
return StateNode.class;
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
StateNode stateNode = (StateNode) node;
String condition = (String) stateNode.getMetaData("Condition");
- writeNode("intermediateCatchEvent", stateNode, xmlDump, includeMeta);
+ writeNode("intermediateCatchEvent", stateNode, xmlDump, metaDataType);
xmlDump.append(">" + EOL);
xmlDump.append(" <conditionalEventDefinition>" + EOL);
xmlDump.append(" <condition xs:type=\"tFormalExpression\" language=\"" + XmlBPMNProcessDumper.RULE_LANGUAGE + "\">" + XmlDumper.replaceIllegalChars(condition) + "</condition>" + EOL);
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/SubProcessHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/SubProcessHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/SubProcessHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -67,6 +67,7 @@
for (org.drools.definition.process.Node subNode: ((CompositeContextNode) node).getNodes()) {
forEachNode.addNode(subNode);
}
+ forEachNode.setMetaData("UniqueId", ((CompositeContextNode) node).getMetaData("UniqueId"));
forEachNode.setMetaData(ProcessHandler.CONNECTIONS, ((CompositeContextNode) node).getMetaData(ProcessHandler.CONNECTIONS));
node = forEachNode;
handleForEachNode(node, element, uri, localName, parser);
@@ -153,7 +154,7 @@
}
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
throw new IllegalArgumentException("Writing out should be handled by specific handlers");
}
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/TaskHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/TaskHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/TaskHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -118,7 +118,7 @@
}
@Override
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
throw new IllegalArgumentException(
"Writing out should be handled by the WorkItemNodeHandler");
}
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/TimerNodeHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/TimerNodeHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/TimerNodeHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -32,9 +32,9 @@
return TimerNode.class;
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
TimerNode timerNode = (TimerNode) node;
- writeNode("intermediateCatchEvent", timerNode, xmlDump, includeMeta);
+ writeNode("intermediateCatchEvent", timerNode, xmlDump, metaDataType);
xmlDump.append(">" + EOL);
xmlDump.append(" <timerEventDefinition>" + EOL);
if (timerNode.getTimer() != null && timerNode.getTimer().getDelay() != null) {
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/UserTaskHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/UserTaskHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/UserTaskHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -79,9 +79,9 @@
return xmlNode.getFirstChild().getFirstChild().getFirstChild().getTextContent();
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
HumanTaskNode humanTaskNode = (HumanTaskNode) node;
- writeNode("userTask", humanTaskNode, xmlDump, includeMeta);
+ writeNode("userTask", humanTaskNode, xmlDump, metaDataType);
xmlDump.append(">" + EOL);
writeIO(humanTaskNode, xmlDump);
String ownerString = (String) humanTaskNode.getWork().getParameter("ActorId");
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/WorkItemNodeHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/WorkItemNodeHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/WorkItemNodeHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -34,16 +34,16 @@
return WorkItemNode.class;
}
- public void writeNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void writeNode(Node node, StringBuilder xmlDump, int metaDataType) {
WorkItemNode workItemNode = (WorkItemNode) node;
String type = workItemNode.getWork().getName();
if ("Manual Task".equals(type)) {
- writeNode("manualTask", workItemNode, xmlDump, includeMeta);
+ writeNode("manualTask", workItemNode, xmlDump, metaDataType);
endNode(xmlDump);
return;
}
if ("Service Task".equals(type)) {
- writeNode("serviceTask", workItemNode, xmlDump, includeMeta);
+ writeNode("serviceTask", workItemNode, xmlDump, metaDataType);
xmlDump.append("operationRef=\"" +
XmlBPMNProcessDumper.getUniqueNodeId(workItemNode) + "_ServiceOperation\" implementation=\"Other\" >" + EOL);
xmlDump.append(
@@ -77,7 +77,7 @@
return;
}
if ("Send Task".equals(type)) {
- writeNode("sendTask", workItemNode, xmlDump, includeMeta);
+ writeNode("sendTask", workItemNode, xmlDump, metaDataType);
xmlDump.append("messageRef=\"" +
XmlBPMNProcessDumper.getUniqueNodeId(workItemNode) + "_Message\" implementation=\"Other\" >" + EOL);
xmlDump.append(
@@ -100,7 +100,7 @@
return;
}
if ("Receive Task".equals(type)) {
- writeNode("receiveTask", workItemNode, xmlDump, includeMeta);
+ writeNode("receiveTask", workItemNode, xmlDump, metaDataType);
String messageId = (String) workItemNode.getWork().getParameter("MessageId");
xmlDump.append("messageRef=\"" +
messageId + "\" implementation=\"Other\" >" + EOL);
@@ -123,7 +123,7 @@
endNode("receiveTask", xmlDump);
return;
}
- writeNode("task", workItemNode, xmlDump, includeMeta);
+ writeNode("task", workItemNode, xmlDump, metaDataType);
xmlDump.append("tns:taskName=\"" + XmlDumper.replaceIllegalChars(type) + "\" >" + EOL);
writeIO(workItemNode, xmlDump);
endNode("task", xmlDump);
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/XmlBPMNProcessDumper.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/XmlBPMNProcessDumper.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/XmlBPMNProcessDumper.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -45,6 +45,7 @@
import org.drools.workflow.core.node.FaultNode;
import org.drools.workflow.core.node.ForEachNode;
import org.drools.workflow.core.node.HumanTaskNode;
+import org.drools.workflow.core.node.Join;
import org.drools.workflow.core.node.Split;
import org.drools.workflow.core.node.StartNode;
import org.drools.workflow.core.node.Trigger;
@@ -58,28 +59,45 @@
public static final String RULE_LANGUAGE = "http://www.jboss.org/drools/rule";
public static final String XPATH_LANGUAGE = "http://www.w3.org/1999/XPath";
+ public static final int NO_META_DATA = 0;
+ public static final int META_DATA_AS_NODE_PROPERTY = 1;
+ public static final int META_DATA_USING_DI = 2;
+
public static XmlBPMNProcessDumper INSTANCE = new XmlBPMNProcessDumper();
private final static String EOL = System.getProperty( "line.separator" );
private SemanticModule semanticModule;
+ private int metaDataType = META_DATA_USING_DI;
private XmlBPMNProcessDumper() {
semanticModule = new BPMNSemanticModule();
}
public String dump(WorkflowProcess process) {
- return dump(process, true);
+ return dump(process, META_DATA_USING_DI);
}
public String dump(WorkflowProcess process, boolean includeMeta) {
+ return dump(process, META_DATA_AS_NODE_PROPERTY);
+ }
+
+ public String dump(WorkflowProcess process, int metaDataType) {
StringBuilder xmlDump = new StringBuilder();
- visitProcess(process, xmlDump, includeMeta);
+ visitProcess(process, xmlDump, metaDataType);
return xmlDump.toString();
}
- protected void visitProcess(WorkflowProcess process, StringBuilder xmlDump, boolean includeMeta) {
- String targetNamespace = (String) process.getMetaData("TargetNamespace");
+ public int getMetaDataType() {
+ return metaDataType;
+ }
+
+ public void setMetaDataType(int metaDataType) {
+ this.metaDataType = metaDataType;
+ }
+
+ protected void visitProcess(WorkflowProcess process, StringBuilder xmlDump, int metaDataType) {
+ String targetNamespace = (String) process.getMetaData().get("TargetNamespace");
if (targetNamespace == null) {
targetNamespace = "http://www.jboss.org/drools";
}
@@ -92,7 +110,12 @@
" xmlns=\"http://www.omg.org/spec/BPMN/20100524/MODEL\"" + EOL +
" xmlns:xs=\"http://www.w3.org/2001/XMLSchema-instance\"" + EOL +
" xs:schemaLocation=\"http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd\"" + EOL +
- " xmlns:g=\"http://www.jboss.org/drools/flow/gpd\"" + EOL +
+ (metaDataType == META_DATA_AS_NODE_PROPERTY ?
+ " xmlns:g=\"http://www.jboss.org/drools/flow/gpd\"" + EOL : "") +
+ (metaDataType == META_DATA_USING_DI ?
+ " xmlns:bpmndi=\"http://www.omg.org/spec/BPMN/20100524/DI\"" + EOL +
+ " xmlns:dc=\"http://www.omg.org/spec/DD/20100524/DC\"" + EOL +
+ " xmlns:di=\"http://www.omg.org/spec/DD/20100524/DI\"" + EOL : "") +
" xmlns:tns=\"http://www.jboss.org/drools\">" + EOL + EOL);
// item definitions
@@ -121,10 +144,20 @@
// TODO: package, version
xmlDump.append(">" + EOL + EOL);
visitLanes(process, xmlDump);
- visitHeader(process, xmlDump, includeMeta);
- visitNodes(process, xmlDump, includeMeta);
- visitConnections(process.getNodes(), xmlDump, includeMeta);
+ visitHeader(process, xmlDump, metaDataType);
+ visitNodes(process, xmlDump, metaDataType);
+ visitConnections(process.getNodes(), xmlDump, metaDataType);
xmlDump.append(" </process>" + EOL + EOL);
+ if (metaDataType == META_DATA_USING_DI) {
+ xmlDump.append(
+ " <bpmndi:BPMNDiagram>" + EOL +
+ " <bpmndi:BPMNPlane bpmnElement=\"" + XmlDumper.replaceIllegalChars(process.getId()) + "\" >" + EOL);
+ visitNodesDi(process.getNodes(), xmlDump);
+ visitConnectionsDi(process.getNodes(), xmlDump);
+ xmlDump.append(
+ " </bpmndi:BPMNPlane>" + EOL +
+ " </bpmndi:BPMNDiagram>" + EOL + EOL);
+ }
xmlDump.append("</definitions>");
}
@@ -178,12 +211,12 @@
if (node instanceof HumanTaskNode) {
String swimlane = ((HumanTaskNode) node).getSwimlane();
if (lane.equals(swimlane)) {
- xmlDump.append(" <flowElementRef>" + XmlBPMNProcessDumper.getUniqueNodeId(node) + "</flowElementRef>" + EOL);
+ xmlDump.append(" <flowNodeRef>" + XmlBPMNProcessDumper.getUniqueNodeId(node) + "</flowNodeRef>" + EOL);
}
} else {
- String swimlane = (String) node.getMetaData("Lane");
+ String swimlane = (String) node.getMetaData().get("Lane");
if (lane.equals(swimlane)) {
- xmlDump.append(" <flowElementRef>" + XmlBPMNProcessDumper.getUniqueNodeId(node) + "</flowElementRef>" + EOL);
+ xmlDump.append(" <flowNodeRef>" + XmlBPMNProcessDumper.getUniqueNodeId(node) + "</flowNodeRef>" + EOL);
}
}
if (node instanceof NodeContainer) {
@@ -192,7 +225,7 @@
}
}
- protected void visitHeader(WorkflowProcess process, StringBuilder xmlDump, boolean includeMeta) {
+ protected void visitHeader(WorkflowProcess process, StringBuilder xmlDump, int metaDataType) {
// TODO: imports, function imports
// TODO: globals
// TODO: swimlanes
@@ -277,25 +310,25 @@
}
}
} else if (node instanceof EndNode) {
- String messageType = (String) node.getMetaData("MessageType");
+ String messageType = (String) node.getMetaData().get("MessageType");
if (messageType != null) {
xmlDump.append(
" <itemDefinition id=\"" + getUniqueNodeId(node) + "_MessageType\" structureRef=\"" + XmlDumper.replaceIllegalChars(messageType) + "\"/>" + EOL +
" <message id=\"" + getUniqueNodeId(node) + "_Message\" itemRef=\"" + getUniqueNodeId(node) + "_MessageType\" />" + EOL + EOL);
}
} else if (node instanceof ActionNode) {
- String messageType = (String) node.getMetaData("MessageType");
+ String messageType = (String) node.getMetaData().get("MessageType");
if (messageType != null) {
xmlDump.append(
" <itemDefinition id=\"" + getUniqueNodeId(node) + "_MessageType\" structureRef=\"" + XmlDumper.replaceIllegalChars(messageType) + "\"/>" + EOL +
" <message id=\"" + getUniqueNodeId(node) + "_Message\" itemRef=\"" + getUniqueNodeId(node) + "_MessageType\" />" + EOL + EOL);
}
} else if (node instanceof EventNode) {
- if (node.getMetaData("AttachedTo") == null) {
+ if (node.getMetaData().get("AttachedTo") == null) {
String messageRef = ((EventTypeFilter) ((EventNode) node).getEventFilters().get(0)).getType();
if (messageRef.startsWith("Message-")) {
messageRef = messageRef.substring(8);
- String messageType = (String) node.getMetaData("MessageType");
+ String messageType = (String) node.getMetaData().get("MessageType");
xmlDump.append(
" <itemDefinition id=\"" + XmlDumper.replaceIllegalChars(messageRef) + "Type\" structureRef=\"" + XmlDumper.replaceIllegalChars(messageType) + "\"/>" + EOL +
" <message id=\"" + XmlDumper.replaceIllegalChars(messageRef) + "\" itemRef=\"" + XmlDumper.replaceIllegalChars(messageRef) + "Type\" />" + EOL + EOL);
@@ -309,7 +342,7 @@
String eventType = ((EventTypeFilter) ((EventTrigger) trigger).getEventFilters().get(0)).getType();
if (eventType.startsWith("Message-")) {
eventType = eventType.substring(8);
- String messageType = (String) node.getMetaData("MessageType");
+ String messageType = (String) node.getMetaData().get("MessageType");
xmlDump.append(
" <itemDefinition id=\"" + XmlDumper.replaceIllegalChars(eventType) + "Type\" structureRef=\"" + XmlDumper.replaceIllegalChars(messageType) + "\"/>" + EOL +
" <message id=\"" + XmlDumper.replaceIllegalChars(eventType) + "\" itemRef=\"" + XmlDumper.replaceIllegalChars(eventType) + "Type\" />" + EOL + EOL);
@@ -404,25 +437,70 @@
}
}
- private void visitNodes(WorkflowProcess process, StringBuilder xmlDump, boolean includeMeta) {
+ private void visitNodes(WorkflowProcess process, StringBuilder xmlDump, int metaDataType) {
xmlDump.append(" <!-- nodes -->" + EOL);
for (Node node: process.getNodes()) {
- visitNode(node, xmlDump, includeMeta);
+ visitNode(node, xmlDump, metaDataType);
}
xmlDump.append(EOL);
}
- public void visitNode(Node node, StringBuilder xmlDump, boolean includeMeta) {
+ public void visitNode(Node node, StringBuilder xmlDump, int metaDataType) {
Handler handler = semanticModule.getHandlerByClass(node.getClass());
if (handler != null) {
- ((AbstractNodeHandler) handler).writeNode((org.drools.workflow.core.Node) node, xmlDump, includeMeta);
+ ((AbstractNodeHandler) handler).writeNode((org.drools.workflow.core.Node) node, xmlDump, metaDataType);
} else {
throw new IllegalArgumentException(
"Unknown node type: " + node);
}
}
- private void visitConnections(Node[] nodes, StringBuilder xmlDump, boolean includeMeta) {
+ private void visitNodesDi(Node[] nodes, StringBuilder xmlDump) {
+ for (Node node: nodes) {
+ Integer x = (Integer) node.getMetaData().get("x");
+ Integer y = (Integer) node.getMetaData().get("y");
+ Integer width = (Integer) node.getMetaData().get("width");
+ Integer height = (Integer) node.getMetaData().get("height");
+ if (x == null) {
+ x = 0;
+ }
+ if (y == null) {
+ y = 0;
+ }
+ if (width == null) {
+ width = 48;
+ }
+ if (height == null) {
+ height = 48;
+ }
+ if (node instanceof StartNode || node instanceof EndNode || node instanceof EventNode || node instanceof FaultNode) {
+ int offsetX = (int) ((width - 48) / 2);
+ width = 48;
+ x = x + offsetX;
+ int offsetY = (int) ((height - 48) / 2);
+ y = y + offsetY;
+ height = 48;
+ } else if (node instanceof Join || node instanceof Split) {
+ int offsetX = (int) ((width - 48) / 2);
+ width = 48;
+ x = x + offsetX;
+ int offsetY = (int) ((height - 48) / 2);
+ y = y + offsetY;
+ height = 48;
+ }
+ xmlDump.append(
+ " <bpmndi:BPMNShape bpmnElement=\"" + getUniqueNodeId(node) + "\" >" + EOL +
+ " <dc:Bounds x=\"" + x + "\" " + "y=\"" + y + "\" " +
+ "width=\"" + width + "\" " + "height=\"" + height + "\" />" + EOL +
+ " </bpmndi:BPMNShape>" + EOL);
+ if (node instanceof CompositeNode) {
+ visitNodesDi(((CompositeNode) node).getNodes(), xmlDump);
+ }
+ }
+
+ }
+
+ private void visitConnections(Node[] nodes, StringBuilder xmlDump, int metaDataType) {
xmlDump.append(" <!-- connections -->" + EOL);
List<Connection> connections = new ArrayList<Connection>();
for (Node node: nodes) {
@@ -431,20 +509,20 @@
}
}
for (Connection connection: connections) {
- visitConnection(connection, xmlDump, includeMeta);
+ visitConnection(connection, xmlDump, metaDataType);
}
xmlDump.append(EOL);
}
- public void visitConnection(Connection connection, StringBuilder xmlDump, boolean includeMeta) {
+ public void visitConnection(Connection connection, StringBuilder xmlDump, int metaDataType) {
xmlDump.append(" <sequenceFlow id=\"" +
getUniqueNodeId(connection.getFrom()) + "-" +
getUniqueNodeId(connection.getTo()) +
"\" sourceRef=\"" + getUniqueNodeId(connection.getFrom()) + "\" ");
// TODO fromType, toType
xmlDump.append("targetRef=\"" + getUniqueNodeId(connection.getTo()) + "\" ");
- if (includeMeta) {
- String bendpoints = (String) connection.getMetaData("bendpoints");
+ if (metaDataType == META_DATA_AS_NODE_PROPERTY) {
+ String bendpoints = (String) connection.getMetaData().get("bendpoints");
if (bendpoints != null) {
xmlDump.append("g:bendpoints=\"" + bendpoints + "\" ");
}
@@ -487,8 +565,75 @@
}
}
+ private void visitConnectionsDi(Node[] nodes, StringBuilder xmlDump) {
+ List<Connection> connections = new ArrayList<Connection>();
+ for (Node node: nodes) {
+ for (List<Connection> connectionList: node.getIncomingConnections().values()) {
+ connections.addAll(connectionList);
+ }
+ if (node instanceof CompositeNode) {
+ visitConnectionsDi(((CompositeNode) node).getNodes(), xmlDump);
+ }
+ }
+ for (Connection connection: connections) {
+ String bendpoints = (String) connection.getMetaData().get("bendpoints");
+ xmlDump.append(
+ " <bpmndi:BPMNEdge bpmnElement=\"" +
+ getUniqueNodeId(connection.getFrom()) + "-" + getUniqueNodeId(connection.getTo()) + "\" >" + EOL);
+ Integer x = (Integer) connection.getFrom().getMetaData().get("x");
+ if (x == null) {
+ x = 0;
+ }
+ Integer y = (Integer) connection.getFrom().getMetaData().get("y");
+ if (y == null) {
+ y = 0;
+ }
+ Integer width = (Integer) connection.getFrom().getMetaData().get("width");
+ if (width == null) {
+ width = 40;
+ }
+ Integer height = (Integer) connection.getFrom().getMetaData().get("height");
+ if (height == null) {
+ height = 40;
+ }
+ xmlDump.append(
+ " <di:waypoint x=\"" + (x + width/2) + "\" y=\"" + (y + height/2) + "\" />" + EOL);
+ if (bendpoints != null) {
+ bendpoints = bendpoints.substring(1, bendpoints.length() - 1);
+ String[] points = bendpoints.split(";");
+ for (String point: points) {
+ String[] coords = point.split(",");
+ if (coords.length == 2) {
+ xmlDump.append(
+ " <di:waypoint x=\"" + coords[0] + "\" y=\"" + coords[1] + "\" />" + EOL);
+ }
+ }
+ }
+ x = (Integer) connection.getTo().getMetaData().get("x");
+ if (x == null) {
+ x = 0;
+ }
+ y = (Integer) connection.getTo().getMetaData().get("y");
+ if (y == null) {
+ y = 0;
+ }
+ width = (Integer) connection.getTo().getMetaData().get("width");
+ if (width == null) {
+ width = 40;
+ }
+ height = (Integer) connection.getTo().getMetaData().get("height");
+ if (height == null) {
+ height = 40;
+ }
+ xmlDump.append(
+ " <di:waypoint x=\"" + (x + width/2) + "\" y=\"" + (y + height/2) + "\" />" + EOL);
+ xmlDump.append(
+ " </bpmndi:BPMNEdge>" + EOL);
+ }
+ }
+
public static String getUniqueNodeId(Node node) {
- String result = (String) node.getMetaData("UniqueId");
+ String result = (String) node.getMetaData().get("UniqueId");
if (result != null) {
return result;
}
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/di/BPMNPlaneHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/di/BPMNPlaneHandler.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/di/BPMNPlaneHandler.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -92,7 +92,7 @@
private boolean processNodeInfo(NodeInfo nodeInfo, Node[] nodes) {
for (Node node: nodes) {
- String id = (String) node.getMetaData("UniqueId");
+ String id = (String) node.getMetaData().get("UniqueId");
if (nodeInfo.getNodeRef().equals(id)) {
((org.drools.workflow.core.Node) node).setMetaData("x", nodeInfo.getX());
((org.drools.workflow.core.Node) node).setMetaData("y", nodeInfo.getY());
@@ -112,11 +112,11 @@
private void postProcessNodeOffset(Node[] nodes, int xOffset, int yOffset) {
for (Node node: nodes) {
- Integer x = (Integer) node.getMetaData("x");
+ Integer x = (Integer) node.getMetaData().get("x");
if (x != null) {
((org.drools.workflow.core.Node) node).setMetaData("x", x - xOffset);
}
- Integer y = (Integer) node.getMetaData("y");
+ Integer y = (Integer) node.getMetaData().get("y");
if (y != null) {
((org.drools.workflow.core.Node) node).setMetaData("y", y - yOffset);
}
@@ -130,7 +130,7 @@
for (Node node: nodes) {
for (List<Connection> connections: node.getOutgoingConnections().values()) {
for (Connection connection: connections) {
- String id = (String) connection.getMetaData("UniqueId");
+ String id = (String) connection.getMetaData().get("UniqueId");
if (id != null && id.equals(connectionInfo.getElementRef())) {
((ConnectionImpl) connection).setMetaData(
"bendpoints", connectionInfo.getBendpoints());
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xpath/XPathReturnValueEvaluator.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xpath/XPathReturnValueEvaluator.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xpath/XPathReturnValueEvaluator.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -21,9 +21,6 @@
//import javax.script.SimpleBindings;
import org.drools.WorkingMemory;
-import org.drools.process.core.context.variable.VariableScope;
-import org.drools.process.instance.ProcessInstance;
-import org.drools.process.instance.context.variable.VariableScopeInstance;
import org.drools.spi.ProcessContext;
import org.drools.spi.ReturnValueEvaluator;
@@ -31,10 +28,10 @@
// private static XPathScriptEngineFactory FACTORY = new XPathScriptEngineFactory();
- private String expression;
+// private String expression;
public void setExpression(String expression) {
- this.expression = expression;
+// this.expression = expression;
}
public Object evaluate(WorkingMemory workingMemory, ProcessContext processContext) throws Exception {
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/osgi/bpmn2/Activator.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/osgi/bpmn2/Activator.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/osgi/bpmn2/Activator.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -30,7 +30,8 @@
BundleActivator {
private ServiceRegistration bpmn2ProcessReg;
- public void start(BundleContext bc) throws Exception {
+ @SuppressWarnings("unchecked")
+ public void start(BundleContext bc) throws Exception {
System.out.println( "registering BPMN2 process drools services" );
this.bpmn2ProcessReg = bc.registerService( new String[]{ BPMN2ProcessProvider.class.getName(), Service.class.getName()},
new BPMN2ProcessProviderImpl(),
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/resources/META-INF/BPMN20.xsd
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/resources/META-INF/BPMN20.xsd 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/resources/META-INF/BPMN20.xsd 2010-08-12 15:13:30 UTC (rev 34673)
@@ -2,10 +2,10 @@
<xsd:schema elementFormDefault="qualified" attributeFormDefault="unqualified"
xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/BPMNDI"
+ xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
targetNamespace="http://www.omg.org/spec/BPMN/20100524/MODEL">
- <xsd:import namespace="http://www.omg.org/spec/BPMN/20100524/BPMNDI" schemaLocation="BPMNDI.xsd"/>
+ <xsd:import namespace="http://www.omg.org/spec/BPMN/20100524/DI" schemaLocation="BPMNDI.xsd"/>
<xsd:include schemaLocation="Semantic.xsd"/>
<xsd:element name="definitions" type="tDefinitions"/>
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/resources/META-INF/BPMNDI.xsd
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/resources/META-INF/BPMNDI.xsd 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/resources/META-INF/BPMNDI.xsd 2010-08-12 15:13:30 UTC (rev 34673)
@@ -1,5 +1,5 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/BPMNDI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" targetNamespace="http://www.omg.org/spec/BPMN/20100524/BPMNDI" elementFormDefault="qualified" attributeFormDefault="unqualified">
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" targetNamespace="http://www.omg.org/spec/BPMN/20100524/DI" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:import namespace="http://www.omg.org/spec/DD/20100524/DC" schemaLocation="DC.xsd" />
<xsd:import namespace="http://www.omg.org/spec/DD/20100524/DI" schemaLocation="DI.xsd" />
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/resources/META-INF/Semantic.xsd
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/resources/META-INF/Semantic.xsd 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/resources/META-INF/Semantic.xsd 2010-08-12 15:13:30 UTC (rev 34673)
@@ -151,8 +151,8 @@
</xsd:complexContent>
</xsd:complexType>
- <xsd:element name="callChoreographyActivity" type="tCallChoreographyActivity" substitutionGroup="flowElement"/>
- <xsd:complexType name="tCallChoreographyActivity">
+ <xsd:element name="callChoreography" type="tCallChoreography" substitutionGroup="flowElement"/>
+ <xsd:complexType name="tCallChoreography">
<xsd:complexContent>
<xsd:extension base="tChoreographyActivity">
<xsd:sequence>
@@ -258,7 +258,7 @@
<xsd:complexContent>
<xsd:extension base="tChoreographyActivity">
<xsd:sequence>
- <xsd:element name="messageFlowRef" type="xsd:QName" maxOccurs="unbounded"/>
+ <xsd:element name="messageFlowRef" type="xsd:QName" minOccurs="1" maxOccurs="2"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
@@ -342,8 +342,8 @@
<xsd:complexType name="tConversationAssociation">
<xsd:complexContent>
<xsd:extension base="tBaseElement">
- <xsd:attribute name="innerMessageFlowRef" type="xsd:QName" use="required"/>
- <xsd:attribute name="outerMessageFlowRef" type="xsd:QName" use="required"/>
+ <xsd:attribute name="innerConversationNodeRef" type="xsd:QName" use="required"/>
+ <xsd:attribute name="outerConversationNodeRef" type="xsd:QName" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
@@ -1530,7 +1530,7 @@
<xsd:complexType name="tTransaction">
<xsd:complexContent>
<xsd:extension base="tSubProcess">
- <xsd:attribute name="method" type="tTransactionMethod" default="Compensate"/>
+ <xsd:attribute name="method" type="tTransactionMethod" default="##Compensate"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/java/org/drools/bpmn2/BPMN2XMLTest.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/java/org/drools/bpmn2/BPMN2XMLTest.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/java/org/drools/bpmn2/BPMN2XMLTest.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -49,7 +49,7 @@
String original = slurp(BPMN2XMLTest.class.getResourceAsStream("/" + processName));
RuleFlowProcess p = (RuleFlowProcess)
processReader.read(BPMN2XMLTest.class.getResourceAsStream("/" + processName));
- String result = XmlBPMNProcessDumper.INSTANCE.dump(p);
+ String result = XmlBPMNProcessDumper.INSTANCE.dump(p, XmlBPMNProcessDumper.META_DATA_AS_NODE_PROPERTY);
System.out.println(original);
System.out.println("---------------------------------------------------------------");
System.out.println(result);
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/java/org/drools/bpmn2/Person.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/java/org/drools/bpmn2/Person.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/java/org/drools/bpmn2/Person.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -20,7 +20,9 @@
public class Person implements Serializable {
- private String name;
+ private static final long serialVersionUID = 5L;
+
+ private String name;
public String getName() {
return name;
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/java/org/drools/bpmn2/SimpleBPMNProcessTest.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/java/org/drools/bpmn2/SimpleBPMNProcessTest.java 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/java/org/drools/bpmn2/SimpleBPMNProcessTest.java 2010-08-12 15:13:30 UTC (rev 34673)
@@ -44,7 +44,13 @@
import org.drools.builder.ResourceType;
import org.drools.compiler.PackageBuilderConfiguration;
import org.drools.compiler.xml.XmlProcessReader;
+import org.drools.event.process.ProcessCompletedEvent;
+import org.drools.event.process.ProcessEventListener;
+import org.drools.event.process.ProcessNodeLeftEvent;
+import org.drools.event.process.ProcessNodeTriggeredEvent;
+import org.drools.event.process.ProcessStartedEvent;
import org.drools.io.ResourceFactory;
+import org.drools.logger.KnowledgeRuntimeLoggerFactory;
import org.drools.persistence.jpa.JPAKnowledgeService;
import org.drools.process.instance.impl.demo.DoNothingWorkItemHandler;
import org.drools.process.instance.impl.demo.SystemOutWorkItemHandler;
@@ -126,6 +132,13 @@
assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
}
+ public void testScriptTask() throws Exception {
+ KnowledgeBase kbase = createKnowledgeBase("BPMN2-ScriptTask.xml");
+ StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+ ProcessInstance processInstance = ksession.startProcess("ScriptTask");
+ assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
+ }
+
public void testDataObject() throws Exception {
KnowledgeBase kbase = createKnowledgeBase("BPMN2-DataObject.xml");
StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
@@ -182,6 +195,30 @@
assertProcessInstanceCompleted(processInstance.getId(), ksession);
}
+ public void testLane() throws Exception {
+ KnowledgeBase kbase = createKnowledgeBase("BPMN2-Lane.xml");
+ StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+ TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
+ ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
+ ProcessInstance processInstance = ksession.startProcess("UserTask");
+ assertTrue(processInstance.getState() == ProcessInstance.STATE_ACTIVE);
+ ksession = restoreSession(ksession);
+ ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
+ WorkItem workItem = workItemHandler.getWorkItem();
+ assertNotNull(workItem);
+ assertEquals("john", workItem.getParameter("ActorId"));
+ Map<String, Object> results = new HashMap<String, Object>();
+ results.put("ActorId", "mary");
+ ksession.getWorkItemManager().completeWorkItem(workItem.getId(), results);
+ ksession = restoreSession(ksession);
+ ksession.getWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
+ workItem = workItemHandler.getWorkItem();
+ assertNotNull(workItem);
+ assertEquals("mary", workItem.getParameter("ActorId"));
+ ksession.getWorkItemManager().completeWorkItem(workItem.getId(), null);
+ assertProcessInstanceCompleted(processInstance.getId(), ksession);
+ }
+
public void testExclusiveSplit() throws Exception {
KnowledgeBase kbase = createKnowledgeBase("BPMN2-ExclusiveSplit.xml");
StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
@@ -731,17 +768,60 @@
public void testTimerStart() throws Exception {
KnowledgeBase kbase = createKnowledgeBase("BPMN2-TimerStart.xml");
StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
- Thread.sleep(600);
+ final List<Long> list = new ArrayList<Long>();
+ ksession.addEventListener(new ProcessEventListener() {
+ public void beforeProcessStarted(ProcessStartedEvent event) {
+ }
+ public void beforeProcessCompleted(ProcessCompletedEvent event) {
+ }
+ public void beforeNodeTriggered(ProcessNodeTriggeredEvent event) {
+ }
+ public void beforeNodeLeft(ProcessNodeLeftEvent event) {
+ }
+ public void afterProcessStarted(ProcessStartedEvent event) {
+ list.add(event.getProcessInstance().getId());
+ }
+ public void afterProcessCompleted(ProcessCompletedEvent event) {
+ }
+ public void afterNodeTriggered(ProcessNodeTriggeredEvent event) {
+ }
+ public void afterNodeLeft(ProcessNodeLeftEvent event) {
+ }
+ });
+ Thread.sleep(250);
+ assertEquals(0, list.size());
for (int i = 0; i < 5; i++) {
-// ksession.fireAllRules();
+ ksession.fireAllRules();
Thread.sleep(500);
}
+ assertEquals(5, list.size());
}
public void testSignalStart() throws Exception {
KnowledgeBase kbase = createKnowledgeBase("BPMN2-SignalStart.xml");
StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+ final List<Long> list = new ArrayList<Long>();
+ ksession.addEventListener(new ProcessEventListener() {
+ public void beforeProcessStarted(ProcessStartedEvent event) {
+ }
+ public void beforeProcessCompleted(ProcessCompletedEvent event) {
+ }
+ public void beforeNodeTriggered(ProcessNodeTriggeredEvent event) {
+ }
+ public void beforeNodeLeft(ProcessNodeLeftEvent event) {
+ }
+ public void afterProcessStarted(ProcessStartedEvent event) {
+ list.add(event.getProcessInstance().getId());
+ }
+ public void afterProcessCompleted(ProcessCompletedEvent event) {
+ }
+ public void afterNodeTriggered(ProcessNodeTriggeredEvent event) {
+ }
+ public void afterNodeLeft(ProcessNodeLeftEvent event) {
+ }
+ });
ksession.signalEvent("MyStartSignal", "NewValue");
+ assertEquals(1, list.size());
}
public void testSignalEnd() throws Exception {
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-CompositeProcessWithDIGraphical.xml
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-CompositeProcessWithDIGraphical.xml 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-CompositeProcessWithDIGraphical.xml 2010-08-12 15:13:30 UTC (rev 34673)
@@ -6,7 +6,7 @@
xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"
- xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/BPMNDI"
+ xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
xmlns:di="http://www.omg.org/spec/DD/20100524/DI"
xmlns:g="http://www.jboss.org/drools/flow/gpd"
Added: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-Lane.xml
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-Lane.xml (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-Lane.xml 2010-08-12 15:13:30 UTC (rev 34673)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions id="Definition"
+ targetNamespace="http://www.example.org/MinimalExample"
+ typeLanguage="http://www.java.com/javaTypes"
+ expressionLanguage="http://www.mvel.org/2.0"
+ xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+ xs:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"
+ xmlns:tns="http://www.example.org/MinimalExample">
+
+ <process id="UserTask" name="User Task">
+ <laneSet>
+ <lane name="MyLane">
+ <flowNodeRef>_2</flowNodeRef>
+ <flowNodeRef>_3</flowNodeRef>
+ </lane>
+ </laneSet>
+ <startEvent id="_1" name="StartProcess"/>
+ <sequenceFlow sourceRef="_1" targetRef="_2"/>
+ <userTask id="_2" name="Hello">
+ <potentialOwner>
+ <resourceAssignmentExpression>
+ <formalExpression>john</formalExpression>
+ </resourceAssignmentExpression>
+ </potentialOwner>
+ </userTask>
+ <sequenceFlow sourceRef="_2" targetRef="_3"/>
+ <userTask id="_3" name="Goodbye"/>
+ <sequenceFlow sourceRef="_3" targetRef="_4"/>
+ <endEvent id="_4" name="EndProcess">
+ <terminateEventDefinition/>
+ </endEvent>
+ </process>
+</definitions>
Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-MinimalProcessWithDIGraphical.xml
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-MinimalProcessWithDIGraphical.xml 2010-08-12 14:43:17 UTC (rev 34672)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-MinimalProcessWithDIGraphical.xml 2010-08-12 15:13:30 UTC (rev 34673)
@@ -6,10 +6,9 @@
xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"
- xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/BPMNDI"
+ xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
xmlns:di="http://www.omg.org/spec/DD/20100524/DI"
- xmlns:g="http://www.jboss.org/drools/flow/gpd"
xmlns:tns="http://www.example.org/MinimalExample">
<process id="Minimal" name="Minimal Process">
Added: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-ScriptTask.xml
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-ScriptTask.xml (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-ScriptTask.xml 2010-08-12 15:13:30 UTC (rev 34673)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions id="Definition"
+ targetNamespace="http://www.example.org/MinimalExample"
+ typeLanguage="http://www.java.com/javaTypes"
+ expressionLanguage="http://www.mvel.org/2.0"
+ xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+ xs:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"
+ xmlns:tns="http://www.jboss.org/drools">
+
+ <process id="ScriptTask" name="ScriptTask Process" tns:packageName="com.sample">
+ <startEvent id="_1" name="StartProcess"/>
+ <sequenceFlow sourceRef="_1" targetRef="_2"/>
+ <scriptTask id="_2" name="Hello" scriptFormat="http://www.java.com/java">
+ <script>System.out.println("Hello World");</script>
+ </scriptTask>
+ <sequenceFlow sourceRef="_2" targetRef="_3"/>
+ <endEvent id="_3" name="EndProcess">
+ <terminateEventDefinition/>
+ </endEvent>
+ </process>
+</definitions>
More information about the jboss-svn-commits
mailing list