[jboss-svn-commits] JBL Code SVN: r35791 - in labs/jbossrules/trunk/drools-process/drools-bpmn2/src: main/java/org/drools/bpmn2/xml and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Oct 28 17:34:05 EDT 2010


Author: atoulme
Date: 2010-10-28 17:34:04 -0400 (Thu, 28 Oct 2010)
New Revision: 35791

Added:
   labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/DataStore.java
   labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/DataStoreHandler.java
   labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-DataStore.xml
Modified:
   labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/Definitions.java
   labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/BPMNSemanticModule.java
   labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/DefinitionsHandler.java
   labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ErrorHandler.java
   labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/EscalationHandler.java
   labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/InterfaceHandler.java
   labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ItemDefinitionHandler.java
   labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/MessageHandler.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/XmlBPMNProcessDumper.java
   labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/java/org/drools/bpmn2/SimpleBPMNProcessTest.java
Log:
implement parsing of dataStore as metadata

Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/Definitions.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/Definitions.java	2010-10-28 20:22:54 UTC (rev 35790)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/Definitions.java	2010-10-28 21:34:04 UTC (rev 35791)
@@ -16,9 +16,14 @@
 
 package org.drools.bpmn2.core;
 
+import java.util.List;
+
+import org.drools.bpmn2.xml.DataStore;
+
 public class Definitions {
 	
 	private String targetNamespace;
+	private List<DataStore> dataStores;
 
 	public String getTargetNamespace() {
 		return targetNamespace;
@@ -28,4 +33,12 @@
 		this.targetNamespace = targetNamespace;
 	}
 
+	public void setDataStores(List<DataStore> dataStores) {
+		this.dataStores = dataStores;
+	}
+	
+	public List<DataStore> getDataStores() {
+		return this.dataStores;
+	}
+
 }

Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/BPMNSemanticModule.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/BPMNSemanticModule.java	2010-10-28 20:22:54 UTC (rev 35790)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/BPMNSemanticModule.java	2010-10-28 21:34:04 UTC (rev 35791)
@@ -76,6 +76,7 @@
         addHandler("inMessageRef", new InMessageRefHandler());
         addHandler("escalation", new EscalationHandler());
         addHandler("error", new ErrorHandler());
+        addHandler("dataStore", new DataStoreHandler());
         
         handlersByClass.put(Split.class, new SplitHandler());
         handlersByClass.put(Join.class, new JoinHandler());

Added: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/DataStore.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/DataStore.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/DataStore.java	2010-10-28 21:34:04 UTC (rev 35791)
@@ -0,0 +1,63 @@
+/**
+ * Copyright 2010 Intalio Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.drools.bpmn2.xml;
+
+import org.drools.process.core.datatype.DataType;
+
+/**
+ * @author <a href="mailto:atoulme at intalio.com">Antoine Toulme</a>
+ *
+ */
+public class DataStore {
+
+	private String id;
+	private String name;
+	private DataType type;
+	private String itemSubjectRef;
+	
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public void setType(DataType dataType) {
+		this.type = dataType;
+	}
+	
+	public String getId() {
+		return this.id;
+	}
+	
+	public String getName() {
+		return this.name;
+	}
+	
+	public DataType getType() {
+		return this.type;
+	}
+	
+	public void setItemSubjectRef(String itemSubjectRef) {
+		this.itemSubjectRef = itemSubjectRef;
+	}
+
+	public String getItemSubjectRef() {
+		return this.itemSubjectRef;
+	}
+
+}

Added: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/DataStoreHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/DataStoreHandler.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/DataStoreHandler.java	2010-10-28 21:34:04 UTC (rev 35791)
@@ -0,0 +1,108 @@
+/**
+ * Copyright 2010 Intalio Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.drools.bpmn2.xml;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.bpmn2.core.Definitions;
+import org.drools.bpmn2.core.Escalation;
+import org.drools.bpmn2.core.Interface;
+import org.drools.bpmn2.core.ItemDefinition;
+import org.drools.bpmn2.core.Message;
+import org.drools.compiler.xml.ProcessBuildData;
+import org.drools.process.core.datatype.DataType;
+import org.drools.process.core.datatype.impl.type.ObjectDataType;
+import org.drools.xml.BaseAbstractHandler;
+import org.drools.xml.ExtensibleXmlParser;
+import org.drools.xml.Handler;
+import org.w3c.dom.Element;
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+
+/**
+ * @author <a href="mailto:atoulme at intalio.com">Antoine Toulme</a>
+ *
+ */
+public class DataStoreHandler extends BaseAbstractHandler implements Handler {
+
+	@SuppressWarnings("rawtypes")
+	public DataStoreHandler() {
+		if ((this.validParents == null) && (this.validPeers == null)) {
+			this.validParents = new HashSet();
+			this.validParents.add(Definitions.class);
+
+			this.validPeers = new HashSet();
+			this.validPeers.add(null);
+            this.validPeers.add(ItemDefinition.class);
+            this.validPeers.add(Message.class);
+            this.validPeers.add(Interface.class);
+            this.validPeers.add(Escalation.class);
+            this.validPeers.add(Error.class);
+
+			this.allowNesting = false;
+		}
+	}
+	
+	public Object start(final String uri, final String localName, 
+			final Attributes attrs, final ExtensibleXmlParser parser) 
+			throws SAXException {
+		parser.startElementBuilder(localName, attrs);
+		DataStore store = new DataStore();
+		store.setId(attrs.getValue("id"));
+		store.setName(attrs.getValue("name"));
+		final String itemSubjectRef = attrs.getValue("itemSubjectRef");
+		store.setItemSubjectRef(itemSubjectRef);
+		Map<String, ItemDefinition> itemDefinitions = (Map<String, ItemDefinition>)
+		((ProcessBuildData) parser.getData()).getMetaData("ItemDefinitions");
+		// retrieve type from item definition
+		//FIXME we bypass namespace resolving here. That's not a good idea
+		// when we start having several documents, with imports.
+		String localItemSubjectRef = itemSubjectRef.substring(
+				itemSubjectRef.indexOf(":") +1);
+		DataType dataType = new ObjectDataType();
+		if (itemDefinitions != null) {
+			ItemDefinition itemDefinition = itemDefinitions.get(localItemSubjectRef);
+			if (itemDefinition != null) {
+				dataType = new ObjectDataType(itemDefinition.getStructureRef());
+			}
+		}
+		store.setType(dataType);
+		
+		Definitions parent = (Definitions) parser.getParent();
+		List<DataStore> dataStores = parent.getDataStores();
+		if (dataStores == null) {
+			dataStores = new ArrayList<DataStore>();
+			parent.setDataStores(dataStores);
+		}
+		dataStores.add(store);
+		return store;
+	}
+
+	@SuppressWarnings("unchecked")
+	public Object end(final String uri, final String localName,
+			final ExtensibleXmlParser parser) throws SAXException {
+		parser.endElementBuilder();
+		return parser.getCurrent();
+	}
+
+	public Class<?> generateNodeFor() {
+		return DataStore.class;
+	}
+
+}

Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/DefinitionsHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/DefinitionsHandler.java	2010-10-28 20:22:54 UTC (rev 35790)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/DefinitionsHandler.java	2010-10-28 21:34:04 UTC (rev 35791)
@@ -17,6 +17,7 @@
 package org.drools.bpmn2.xml;
 
 import java.util.HashSet;
+import java.util.List;
 
 import org.drools.bpmn2.core.Definitions;
 import org.drools.compiler.xml.ProcessBuildData;
@@ -31,7 +32,7 @@
 public class DefinitionsHandler extends BaseAbstractHandler implements Handler {
 	
 	public static final String CONNECTIONS = "BPMN.Connections";
-
+	
 	@SuppressWarnings("unchecked")
 	public DefinitionsHandler() {
 		if ((this.validParents == null) && (this.validPeers == null)) {
@@ -61,11 +62,15 @@
 		String namespace = element.getAttribute("targetNamespace");
 		process.setMetaData("TargetNamespace", namespace);
 		definitions.setTargetNamespace(namespace);
+		
+		// register the definitions object as metadata of process.
+		process.setMetaData("Definitions", definitions);
+		
 		return definitions;
 	}
 
 	public Class<?> generateNodeFor() {
-		return null;
+		return Definitions.class;
 	}
 	
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ErrorHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ErrorHandler.java	2010-10-28 20:22:54 UTC (rev 35790)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ErrorHandler.java	2010-10-28 21:34:04 UTC (rev 35791)
@@ -48,6 +48,7 @@
             this.validPeers.add(Interface.class);
             this.validPeers.add(Escalation.class);
             this.validPeers.add(Error.class);
+            this.validPeers.add(DataStore.class);
 
 			this.allowNesting = false;
 		}

Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/EscalationHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/EscalationHandler.java	2010-10-28 20:22:54 UTC (rev 35790)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/EscalationHandler.java	2010-10-28 21:34:04 UTC (rev 35791)
@@ -47,6 +47,7 @@
             this.validPeers.add(Interface.class);
             this.validPeers.add(Escalation.class);
             this.validPeers.add(Error.class);
+            this.validPeers.add(DataStore.class);
 
 			this.allowNesting = false;
 		}

Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/InterfaceHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/InterfaceHandler.java	2010-10-28 20:22:54 UTC (rev 35790)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/InterfaceHandler.java	2010-10-28 21:34:04 UTC (rev 35791)
@@ -47,6 +47,7 @@
             this.validPeers.add(Interface.class);
             this.validPeers.add(Escalation.class);
             this.validPeers.add(Error.class);
+            this.validPeers.add(DataStore.class);
             
 			this.allowNesting = false;
 		}

Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ItemDefinitionHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ItemDefinitionHandler.java	2010-10-28 20:22:54 UTC (rev 35790)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ItemDefinitionHandler.java	2010-10-28 21:34:04 UTC (rev 35791)
@@ -47,6 +47,7 @@
             this.validPeers.add(Interface.class);
             this.validPeers.add(Escalation.class);
             this.validPeers.add(Error.class);
+            this.validPeers.add(DataStore.class);
 
 			this.allowNesting = false;
 		}

Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/MessageHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/MessageHandler.java	2010-10-28 20:22:54 UTC (rev 35790)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/MessageHandler.java	2010-10-28 21:34:04 UTC (rev 35791)
@@ -47,6 +47,7 @@
             this.validPeers.add(Interface.class);
             this.validPeers.add(Escalation.class);
             this.validPeers.add(Error.class);
+            this.validPeers.add(DataStore.class);
             
 			this.allowNesting = false;
 		}

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-10-28 20:22:54 UTC (rev 35790)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ProcessHandler.java	2010-10-28 21:34:04 UTC (rev 35791)
@@ -74,6 +74,7 @@
             this.validPeers.add(Interface.class);
             this.validPeers.add(Escalation.class);
             this.validPeers.add(Error.class);
+            this.validPeers.add(DataStore.class);
 
 			this.allowNesting = false;
 		}

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-10-28 20:22:54 UTC (rev 35790)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/XmlBPMNProcessDumper.java	2010-10-28 21:34:04 UTC (rev 35791)
@@ -20,6 +20,7 @@
 import java.util.Collection;
 import java.util.List;
 
+import org.drools.bpmn2.core.Definitions;
 import org.drools.bpmn2.xpath.XPathDialect;
 import org.drools.compiler.xml.XmlDumper;
 import org.drools.definition.process.Connection;
@@ -117,6 +118,8 @@
         		"             xmlns:di=\"http://www.omg.org/spec/DD/20100524/DI\"" + EOL : "") +
             "             xmlns:tns=\"http://www.jboss.org/drools\">" + EOL + EOL);
 
+    	
+    	
     	// item definitions
     	VariableScope variableScope = (VariableScope)
     		((org.drools.process.core.Process) process).getDefaultContext(VariableScope.VARIABLE_SCOPE);
@@ -128,6 +131,14 @@
 	    visitEscalations(process.getNodes(), xmlDump, new ArrayList<String>());
 	    visitErrors(process.getNodes(), xmlDump, new ArrayList<String>());
 	       
+	    //data stores
+    	Definitions def = (Definitions) process.getMetaData().get("Definitions");
+    	if (def.getDataStores() != null) {
+    		for (DataStore dataStore : def.getDataStores()) {
+    			visitDataStore(dataStore, xmlDump);
+    		}
+    	}
+    	
 	    // the process itself
 		xmlDump.append("  <process processType=\"Private\" isExecutable=\"true\" ");
         if (process.getId() != null) {
@@ -160,7 +171,22 @@
         xmlDump.append("</definitions>");
     }
     
-    private void visitVariableScope(VariableScope variableScope, String prefix, StringBuilder xmlDump) {
+    private void visitDataStore(DataStore dataStore, StringBuilder xmlDump) {
+    	String itemSubjectRef = dataStore.getItemSubjectRef();
+    	String itemDefId = itemSubjectRef.substring(itemSubjectRef.indexOf(':') + 1);
+    	xmlDump.append("  <itemDefinition id=\"" + itemDefId + "\" ");
+    	if (dataStore.getType() != null) {
+    		xmlDump.append("structureRef=\"" + XmlDumper.replaceIllegalChars(dataStore.getType().getStringType()) + "\" ");
+    	}
+    	xmlDump.append("/>" + EOL);
+    	
+    	xmlDump.append("  <dataStore name=\"" + XmlDumper.replaceIllegalChars(dataStore.getName()) + "\"");
+    	xmlDump.append(" id=\"" + XmlDumper.replaceIllegalChars(dataStore.getId()) + "\"");
+    	xmlDump.append(" itemSubjectRef=\"" + XmlDumper.replaceIllegalChars(dataStore.getItemSubjectRef()) + "\"");
+    	xmlDump.append("/>" + EOL);
+	}
+
+	private void visitVariableScope(VariableScope variableScope, String prefix, StringBuilder xmlDump) {
         if (variableScope != null && !variableScope.getVariables().isEmpty()) {
             for (Variable variable: variableScope.getVariables()) {
                 xmlDump.append(

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-10-28 20:22:54 UTC (rev 35790)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/java/org/drools/bpmn2/SimpleBPMNProcessTest.java	2010-10-28 21:34:04 UTC (rev 35791)
@@ -30,11 +30,13 @@
 
 import org.drools.KnowledgeBase;
 import org.drools.KnowledgeBaseFactory;
+import org.drools.bpmn2.core.Definitions;
 import org.drools.bpmn2.handler.ReceiveTaskHandler;
 import org.drools.bpmn2.handler.SendTaskHandler;
 import org.drools.bpmn2.handler.ServiceTaskHandler;
 import org.drools.bpmn2.xml.BPMNDISemanticModule;
 import org.drools.bpmn2.xml.BPMNSemanticModule;
+import org.drools.bpmn2.xml.DataStore;
 import org.drools.bpmn2.xml.XmlBPMNProcessDumper;
 import org.drools.builder.KnowledgeBuilder;
 import org.drools.builder.KnowledgeBuilderConfiguration;
@@ -50,6 +52,7 @@
 import org.drools.event.process.ProcessStartedEvent;
 import org.drools.io.ResourceFactory;
 import org.drools.persistence.jpa.JPAKnowledgeService;
+import org.drools.process.core.datatype.impl.type.ObjectDataType;
 import org.drools.process.instance.impl.demo.DoNothingWorkItemHandler;
 import org.drools.process.instance.impl.demo.SystemOutWorkItemHandler;
 import org.drools.ruleflow.core.RuleFlowProcess;
@@ -145,6 +148,19 @@
         ProcessInstance processInstance = ksession.startProcess("Evaluation", params);
         assertTrue(processInstance.getState() == ProcessInstance.STATE_COMPLETED);
     }
+    
+    public void testDataStore() throws Exception {
+        KnowledgeBase kbase = createKnowledgeBase("BPMN2-DataStore.xml");
+		StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
+        ProcessInstance processInstance = ksession.startProcess("Evaluation");
+        Definitions def = (Definitions) processInstance.getProcess().getMetaData().get("Definitions");
+        assertNotNull(def.getDataStores());
+        assertTrue(def.getDataStores().size() == 1);
+        DataStore dataStore = def.getDataStores().get(0);
+        assertEquals("employee", dataStore.getId());
+        assertEquals("employeeStore", dataStore.getName());
+        assertEquals(String.class.getCanonicalName(), ((ObjectDataType) dataStore.getType()).getClassName());
+    }
 
 	public void testEvaluationProcess() throws Exception {
 		KnowledgeBase kbase = createKnowledgeBase("BPMN2-EvaluationProcess.xml");

Added: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-DataStore.xml
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-DataStore.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-DataStore.xml	2010-10-28 21:34:04 UTC (rev 35791)
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions id="Definition"
+             targetNamespace="http://www.example.org/EvaluationExample"
+             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/EvaluationExample">
+
+  <!-- item definitions -->
+  <itemDefinition id="employeeId" structureRef="java.lang.String" />
+  
+  <!-- data store -->
+  <dataStore id="employee" name="employeeStore" itemSubjectRef="tns:employeeId" />
+  
+  <process id="Evaluation" name="Evaluation Process">
+    
+    
+  
+    <!-- nodes -->  
+    <startEvent id="_1" name="StartProcess"/>
+    <scriptTask id="_2" name="Log">
+      <script>System.out.println("Just outputting something");</script>
+    </scriptTask>
+    <endEvent id="_3" name="EndProcess">
+      <terminateEventDefinition/>
+    </endEvent>
+    
+    <!-- connections -->
+    <sequenceFlow sourceRef="_1" targetRef="_2"/>
+    <sequenceFlow sourceRef="_2" targetRef="_3"/>
+    
+  </process>
+</definitions>
\ No newline at end of file



More information about the jboss-svn-commits mailing list