[jboss-svn-commits] JBL Code SVN: r35781 - labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Oct 27 21:46:04 EDT 2010


Author: KrisVerlaenen
Date: 2010-10-27 21:46:04 -0400 (Wed, 27 Oct 2010)
New Revision: 35781

Modified:
   labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1/XmlBPMNProcessDumper.java
Log:
 - fixing error which prevented BPMN2 processes being written out if a message event did not define a type

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-10-28 00:31:34 UTC (rev 35780)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/legacy/beta1/XmlBPMNProcessDumper.java	2010-10-28 01:46:04 UTC (rev 35781)
@@ -33,6 +33,7 @@
 import org.drools.process.core.context.variable.Variable;
 import org.drools.process.core.context.variable.VariableScope;
 import org.drools.process.core.datatype.impl.type.ObjectDataType;
+import org.drools.process.core.event.EventFilter;
 import org.drools.process.core.event.EventTypeFilter;
 import org.drools.rule.builder.dialect.java.JavaDialect;
 import org.drools.workflow.core.Constraint;
@@ -344,12 +345,15 @@
                         "  <message id=\"" + getUniqueNodeId(node) + "_Message\" structureRef=\"" + getUniqueNodeId(node) + "_MessageType\" />" + EOL + EOL);
                 }
             } else if (node instanceof EventNode) {
-                String messageRef = ((EventTypeFilter) ((EventNode) node).getEventFilters().get(0)).getType();
-                messageRef = messageRef.substring(8);
-                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);
+            	List<EventFilter> filters = ((EventNode) node).getEventFilters();
+            	if (filters.size() > 0) {
+	                String messageRef = ((EventTypeFilter) filters.get(0)).getType();
+	                messageRef = messageRef.substring(8);
+	                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);
+            	}
             } else if (node instanceof StartNode) {
                 StartNode startNode = (StartNode) node;
                 if (startNode.getTriggers() != null && !startNode.getTriggers().isEmpty()) {



More information about the jboss-svn-commits mailing list