[jboss-svn-commits] JBL Code SVN: r30393 - in labs/jbossrules/trunk: drools-guvnor/src/main/java/org/drools/guvnor/client/common and 13 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Nov 30 11:59:10 EST 2009


Author: KrisVerlaenen
Date: 2009-11-30 11:59:10 -0500 (Mon, 30 Nov 2009)
New Revision: 30393

Added:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/BPMN2ProcessHandler.java
   labs/jbossrules/trunk/drools-guvnor/src/test/resources/org/drools/guvnor/server/builder/Hello.bpmn
   labs/jbossrules/trunk/drools-guvnor/src/test/resources/org/drools/guvnor/server/builder/evaluation.rf
   labs/jbossrules/trunk/drools-process/drools-gwt-server-war/src/main/resources/META-INF/orm.xml
Modified:
   labs/jbossrules/trunk/drools-guvnor/pom.xml
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/AssetFormats.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/BRMSPackageBuilder.java
   labs/jbossrules/trunk/drools-guvnor/src/main/resources/contenthandler.properties
   labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/builder/BRMSPackageBuilderTest.java
   labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/Interface.java
   labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/ItemDefinition.java
   labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/Lane.java
   labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/Message.java
   labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/SequenceFlow.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/resources/BPMN2-MinimalProcess.xml
   labs/jbossrules/trunk/drools-process/drools-gwt-console/pom.xml
   labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/resources/ChangeSet.xml
   labs/jbossrules/trunk/drools-process/drools-gwt-server-war/pom.xml
   labs/jbossrules/trunk/drools-process/drools-gwt-server-war/src/main/resources/META-INF/persistence.xml
Log:
JBRULES-2357: BPMN2 support in Guvnor and gwt-console
 - added BPMN2 to guvnor and gwt-console

Modified: labs/jbossrules/trunk/drools-guvnor/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/pom.xml	2009-11-30 15:21:22 UTC (rev 30392)
+++ labs/jbossrules/trunk/drools-guvnor/pom.xml	2009-11-30 16:59:10 UTC (rev 30393)
@@ -168,6 +168,11 @@
 
     <dependency>
       <groupId>org.drools</groupId>
+      <artifactId>drools-bpmn2</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>org.drools</groupId>
       <artifactId>drools-decisiontables</artifactId>
     </dependency>
 

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/AssetFormats.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/AssetFormats.java	2009-11-30 15:21:22 UTC (rev 30392)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/AssetFormats.java	2009-11-30 16:59:10 UTC (rev 30393)
@@ -59,6 +59,7 @@
 
     /** Use a ruleflow.*/
     public static final String RULE_FLOW_RF = "rf";
+    public static final String BPMN2_PROCESS = "bpmn";
 
     /** Use a data enum.*/
     public static final String ENUMERATION = "enumeration";
@@ -78,7 +79,6 @@
      */
     public static final String[] BUSINESS_RULE_FORMATS = new String[]{AssetFormats.BUSINESS_RULE, AssetFormats.DSL_TEMPLATE_RULE, AssetFormats.DECISION_SPREADSHEET_XLS, AssetFormats.DECISION_TABLE_GUIDED};
 
-
     /**
      * These define assets that are really package level "things". Used to decide when to flush any caches.
      */

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties	2009-11-30 15:21:22 UTC (rev 30392)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties	2009-11-30 16:59:10 UTC (rev 30393)
@@ -232,7 +232,7 @@
 Functions=Functions
 DSLConfigurations=DSL configurations
 Model=Model
-RuleFlows=Rule Flows
+RuleFlows=Processes
 Enumerations=Enumerations
 TestScenarios=Test Scenarios
 XMLProperties=XML, Properties

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/BRMSPackageBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/BRMSPackageBuilder.java	2009-11-30 15:21:22 UTC (rev 30392)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/BRMSPackageBuilder.java	2009-11-30 16:59:10 UTC (rev 30393)
@@ -30,6 +30,7 @@
 import java.util.jar.JarEntry;
 import java.util.jar.JarInputStream;
 
+import org.drools.bpmn2.xml.BPMNSemanticModule;
 import org.drools.compiler.PackageBuilder;
 import org.drools.compiler.PackageBuilderConfiguration;
 import org.drools.guvnor.client.common.AssetFormats;
@@ -42,9 +43,7 @@
 import org.drools.repository.PackageItem;
 import org.drools.repository.RulesRepositoryException;
 import org.drools.rule.MapBackedClassLoader;
-import org.drools.rule.builder.dialect.java.JavaDialectConfiguration;
 import org.drools.util.ChainedProperties;
-import org.drools.builder.conf.DefaultPackageNameOption;
 
 /**
  * This decorates the drools-compiler PackageBuilder
@@ -81,9 +80,10 @@
                                 chainedProperties.getProperty( "drools.dialect.java.compiler", "ECLIPSE" ) );
         properties.putAll(buildProps);
         PackageBuilderConfiguration pkgConf = new PackageBuilderConfiguration( properties );
-
+        
         pkgConf.setAllowMultipleNamespaces(false);
         pkgConf.setClassLoader( loader );
+        pkgConf.addSemanticModule(new BPMNSemanticModule());
 
         return new BRMSPackageBuilder( pkgConf );
 

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/BPMN2ProcessHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/BPMN2ProcessHandler.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/BPMN2ProcessHandler.java	2009-11-30 16:59:10 UTC (rev 30393)
@@ -0,0 +1,114 @@
+package org.drools.guvnor.server.contenthandler;
+
+/*
+ * Copyright 2005 JBoss 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.
+ */
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+import org.drools.bpmn2.xml.BPMN2SemanticModule;
+import org.drools.bpmn2.xml.XmlBPMNProcessDumper;
+import org.drools.compiler.DroolsParserException;
+import org.drools.compiler.PackageBuilderConfiguration;
+import org.drools.guvnor.client.rpc.RuleAsset;
+import org.drools.guvnor.client.rpc.RuleFlowContentModel;
+import org.drools.guvnor.server.builder.BRMSPackageBuilder;
+import org.drools.guvnor.server.builder.RuleFlowContentModelBuilder;
+import org.drools.guvnor.server.builder.ContentPackageAssembler.ErrorLogger;
+import org.drools.repository.AssetItem;
+import org.drools.repository.PackageItem;
+import org.drools.ruleflow.core.RuleFlowProcess;
+import org.drools.xml.XmlProcessReader;
+
+import com.google.gwt.user.client.rpc.SerializableException;
+
+public class BPMN2ProcessHandler extends ContentHandler implements IRuleAsset {
+
+	public void retrieveAssetContent(RuleAsset asset, PackageItem pkg, AssetItem item) throws SerializableException {
+		RuleFlowProcess process = readProcess(new ByteArrayInputStream(item.getContent().getBytes()));
+		if (process != null) {
+			RuleFlowContentModel content = RuleFlowContentModelBuilder.createModel(process);
+			content.setXml(item.getContent());
+			asset.content = content;
+		}
+	}
+
+	protected RuleFlowProcess readProcess(InputStream is) {
+		RuleFlowProcess process = null;
+		try {
+			InputStreamReader reader = new InputStreamReader(is);
+			PackageBuilderConfiguration configuration = new PackageBuilderConfiguration();
+			configuration.initSemanticModules();
+			configuration.addSemanticModule(new BPMN2SemanticModule());
+			XmlProcessReader xmlReader = new XmlProcessReader(configuration.getSemanticModules());
+			try {
+				process = (RuleFlowProcess) xmlReader.read(reader);
+			} catch (Exception e) {
+				reader.close();
+				throw new Exception("Unable to read BPMN2 XML.", e);
+			}
+			reader.close();
+		} catch (Exception e) {
+			return null;
+		}
+
+		return process;
+	}
+
+	public void storeAssetContent(RuleAsset asset, AssetItem repoAsset) throws SerializableException {
+	}
+
+	/**
+	 * The rule flow can not be built if the package name is not the same as the
+	 * package that it exists in. This changes the package name.
+	 * 
+	 * @param item
+	 */
+	public void ruleFlowAttached(AssetItem item) {
+		String content = item.getContent();
+
+		if (content != null && !content.equals("")) {
+			RuleFlowProcess process = readProcess(new ByteArrayInputStream(content.getBytes()));
+			if (process != null) {
+				String packageName = item.getPackageName();
+				String originalPackageName = process.getPackageName();
+				if (!packageName.equals(originalPackageName)) {
+					process.setPackageName(packageName);
+					XmlBPMNProcessDumper dumper = XmlBPMNProcessDumper.INSTANCE;
+					String out = dumper.dump(process);
+					item.updateContent(out);
+					item.checkin("Changed BPMN2 process package from "
+						+ originalPackageName + " to " + packageName);
+				}
+			}
+		}
+	}
+
+	public void assembleDRL(BRMSPackageBuilder builder, AssetItem asset,
+			StringBuffer buf) {
+		// do nothing... as no change to source.
+	}
+
+	public void compile(BRMSPackageBuilder builder, AssetItem asset,
+			ErrorLogger logger) throws DroolsParserException, IOException {
+		InputStream ins = asset.getBinaryContentAttachment();
+		if (ins != null) {
+			builder.addProcessFromXml(new InputStreamReader(asset.getBinaryContentAttachment()));
+		}
+	}
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/resources/contenthandler.properties
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/resources/contenthandler.properties	2009-11-30 15:21:22 UTC (rev 30392)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/resources/contenthandler.properties	2009-11-30 16:59:10 UTC (rev 30393)
@@ -20,6 +20,8 @@
 bpel.jar=org.drools.guvnor.server.contenthandler.BPELHandler
 # Content Handler for Rule Flow
 rf=org.drools.guvnor.server.contenthandler.RuleFlowHandler
+# Content Handler for BPMN2
+bpmn=org.drools.guvnor.server.contenthandler.BPMN2ProcessHandler
 # Content Handler for Enumeration
 enumeration=org.drools.guvnor.server.contenthandler.EnumerationContentHandler
 # Content handler for scenario (its just text, not part of build)

Modified: labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/builder/BRMSPackageBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/builder/BRMSPackageBuilderTest.java	2009-11-30 15:21:22 UTC (rev 30392)
+++ labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/builder/BRMSPackageBuilderTest.java	2009-11-30 16:59:10 UTC (rev 30393)
@@ -17,6 +17,7 @@
 
 
 
+import java.io.InputStreamReader;
 import java.io.StringReader;
 import java.util.ArrayList;
 import java.util.List;
@@ -207,5 +208,16 @@
         assertFalse(builder.getPackageBuilderConfiguration().isAllowMultipleNamespaces());
     }
 
+    public void testRuleFlow() throws Exception {
+        BRMSPackageBuilder builder = BRMSPackageBuilder.getInstance( new ArrayList<JarInputStream>(), new Properties() );
+        builder.addProcessFromXml( new InputStreamReader( this.getClass().getResourceAsStream( "evaluation.rf" ) ) );
+        assertFalse(builder.hasErrors());
+    }
 
+    public void testBPMN2Process() throws Exception {
+        BRMSPackageBuilder builder = BRMSPackageBuilder.getInstance( new ArrayList<JarInputStream>(), new Properties() );
+        builder.addProcessFromXml( new InputStreamReader( this.getClass().getResourceAsStream( "Hello.bpmn" ) ) );
+        assertFalse(builder.hasErrors());
+    }
+
 }
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-guvnor/src/test/resources/org/drools/guvnor/server/builder/Hello.bpmn
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/test/resources/org/drools/guvnor/server/builder/Hello.bpmn	                        (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/test/resources/org/drools/guvnor/server/builder/Hello.bpmn	2009-11-30 16:59:10 UTC (rev 30393)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?> 
+<definitions id="Definition"
+             targetNamespace="http://www.jboss.org/drools"
+             typeLanguage="http://www.java.com/javaTypes"
+             expressionLanguage="http://www.mvel.org/2.0"
+             xmlns="http://schema.omg.org/spec/BPMN/2.0"
+             xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+             xs:schemaLocation="http://schema.omg.org/spec/BPMN/2.0 BPMN20.xsd"
+             xmlns:g="http://www.jboss.org/drools/flow/gpd"
+             xmlns:tns="http://www.jboss.org/drools">
+
+  <resource id="Actor" name="Human Actor" />
+
+  <process processType="executable" id="com.sample.bpmn.hello" name="Hello World" tns:packageName="defaultPackage" >
+
+    <!-- process variables -->
+
+    <!-- nodes -->
+    <scriptTask id="_2" name="Hello" g:x="96" g:y="16" g:width="80" g:height="48" scriptLanguage="http://www.java.com/java" >
+      <script>System.out.println("Hello");</script>
+    </scriptTask>
+    <startEvent id="_1" name="StartProcess" g:x="16" g:y="16" g:width="48" g:height="48" />
+    <endEvent id="_3" name="EndProcess" g:x="208" g:y="16" g:width="48" g:height="48" />
+
+    <!-- connections -->
+    <sequenceFlow sourceRef="_1" targetRef="_2" />
+    <sequenceFlow sourceRef="_2" targetRef="_3" />
+
+  </process>
+
+</definitions>
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-guvnor/src/test/resources/org/drools/guvnor/server/builder/evaluation.rf
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/test/resources/org/drools/guvnor/server/builder/evaluation.rf	                        (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/test/resources/org/drools/guvnor/server/builder/evaluation.rf	2009-11-30 16:59:10 UTC (rev 30393)
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?> 
+<process xmlns="http://drools.org/drools-5.0/process"
+         xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+         xs:schemaLocation="http://drools.org/drools-5.0/process drools-processes-5.0.xsd"
+         type="RuleFlow" name="Performance evaluation" id="com.sample.evaluation" package-name="com.sample" >
+
+  <header>
+    <variables>
+      <variable name="employee" >
+        <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+      </variable>
+      <variable name="projectManager" >
+        <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+      </variable>
+      <variable name="hrManager" >
+        <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+      </variable>
+    </variables>
+  </header>
+
+  <nodes>
+    <humanTask id="4" name="Self Evaluation" x="96" y="56" width="143" height="48" >
+      <work name="Human Task" >
+        <parameter name="ActorId" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>#{employee}</value>
+        </parameter>
+        <parameter name="Comment" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>As part of your performance evaluation, you have to do a self-assessment.</value>
+        </parameter>
+        <parameter name="Content" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+        </parameter>
+        <parameter name="Priority" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>1</value>
+        </parameter>
+        <parameter name="Skippable" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>false</value>
+        </parameter>
+        <parameter name="TaskName" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>Performance Evaluation</value>
+        </parameter>
+      </work>
+    </humanTask>
+    <humanTask id="8" name="Project Manager Evaluation" x="352" y="16" width="225" height="48" >
+      <work name="Human Task" >
+        <parameter name="ActorId" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>#{projectManager}</value>
+        </parameter>
+        <parameter name="Comment" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>A performance evaluation has been requested for employee #{employee}</value>
+        </parameter>
+        <parameter name="Content" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+        </parameter>
+        <parameter name="Priority" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>1</value>
+        </parameter>
+        <parameter name="Skippable" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>false</value>
+        </parameter>
+        <parameter name="TaskName" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>Performance Evaluation</value>
+        </parameter>
+      </work>
+      <onEntry>
+        <action type="expression" dialect="mvel" >kcontext.setVariable("projectManager", "john");</action>
+      </onEntry>
+    </humanTask>
+    <split id="6" name="Split" x="271" y="56" width="49" height="49" type="1" />
+    <start id="1" name="Start" x="16" y="56" width="48" height="48" />
+    <end id="3" name="End" x="687" y="57" width="48" height="48" />
+    <join id="7" name="Join" x="603" y="56" width="49" height="49" type="1" />
+    <humanTask id="5" name="HR Manager Evaluation" x="352" y="96" width="225" height="48" >
+      <work name="Human Task" >
+        <parameter name="ActorId" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>#{hrManager}</value>
+        </parameter>
+        <parameter name="Comment" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>A performance evaluation has been requested for employee #{employee}</value>
+        </parameter>
+        <parameter name="Content" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+        </parameter>
+        <parameter name="Priority" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>1</value>
+        </parameter>
+        <parameter name="Skippable" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>false</value>
+        </parameter>
+        <parameter name="TaskName" >
+          <type name="org.drools.process.core.datatype.impl.type.StringDataType" />
+          <value>Performance Evaluation</value>
+        </parameter>
+      </work>
+      <onEntry>
+        <action type="expression" dialect="mvel" >kcontext.setVariable("hrManager", "mary");</action>
+      </onEntry>
+    </humanTask>
+  </nodes>
+
+  <connections>
+    <connection from="1" to="4" />
+    <connection from="6" to="8" bendpoints="[295,39]" />
+    <connection from="4" to="6" />
+    <connection from="7" to="3" />
+    <connection from="5" to="7" bendpoints="[629,119]" />
+    <connection from="8" to="7" bendpoints="[626,41]" />
+    <connection from="6" to="5" bendpoints="[295,120]" />
+  </connections>
+
+</process>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/Interface.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/Interface.java	2009-11-30 15:21:22 UTC (rev 30392)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/Interface.java	2009-11-30 16:59:10 UTC (rev 30393)
@@ -1,10 +1,13 @@
 package org.drools.bpmn2.core;
 
+import java.io.Serializable;
 import java.util.HashMap;
 import java.util.Map;
 
-public class Interface {
+public class Interface implements Serializable {
     
+	private static final long serialVersionUID = 4L;
+	
     private String id;
     private String name;
     private Map<String, Operation> operations = new HashMap<String, Operation>();

Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/ItemDefinition.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/ItemDefinition.java	2009-11-30 15:21:22 UTC (rev 30392)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/ItemDefinition.java	2009-11-30 16:59:10 UTC (rev 30393)
@@ -1,7 +1,11 @@
 package org.drools.bpmn2.core;
 
-public class ItemDefinition {
+import java.io.Serializable;
+
+public class ItemDefinition implements Serializable {
     
+	private static final long serialVersionUID = 4L;
+	
     private String id;
     private String structureRef;
     

Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/Lane.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/Lane.java	2009-11-30 15:21:22 UTC (rev 30392)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/Lane.java	2009-11-30 16:59:10 UTC (rev 30393)
@@ -1,10 +1,13 @@
 package org.drools.bpmn2.core;
 
+import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 
-public class Lane {
+public class Lane implements Serializable {
     
+	private static final long serialVersionUID = 4L;
+	
     private String id;
     private String name;
     private List<String> flowElementIds = new ArrayList<String>();

Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/Message.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/Message.java	2009-11-30 15:21:22 UTC (rev 30392)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/Message.java	2009-11-30 16:59:10 UTC (rev 30393)
@@ -1,7 +1,11 @@
 package org.drools.bpmn2.core;
 
-public class Message {
+import java.io.Serializable;
+
+public class Message implements Serializable {
     
+	private static final long serialVersionUID = 4L;
+	
     private String id;
     private String type;
     

Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/SequenceFlow.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/SequenceFlow.java	2009-11-30 15:21:22 UTC (rev 30392)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/core/SequenceFlow.java	2009-11-30 16:59:10 UTC (rev 30393)
@@ -1,7 +1,11 @@
 package org.drools.bpmn2.core;
 
-public class SequenceFlow {
+import java.io.Serializable;
 
+public class SequenceFlow implements Serializable {
+
+	private static final long serialVersionUID = 4L;
+	
 	private String sourceRef;
 	private String targetRef;
 	private String bendpoints;

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	2009-11-30 15:21:22 UTC (rev 30392)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/ProcessHandler.java	2009-11-30 16:59:10 UTC (rev 30393)
@@ -57,6 +57,7 @@
 
 		String id = attrs.getValue("id");
 		String name = attrs.getValue("name");
+		String packageName = attrs.getValue("http://www.jboss.org/drools", "packageName");
 
 		RuleFlowProcess process = new RuleFlowProcess();
 		process.setAutoComplete(true);
@@ -66,7 +67,10 @@
 		}
 		process.setName(name);
 		process.setType("RuleFlow");
-		process.setPackageName("org.drools.bpmn2");
+		if (packageName == null) {
+			packageName = "org.drools.bpmn2";
+		}
+		process.setPackageName(packageName);
 
 		((ProcessBuildData) parser.getData()).setProcess(process);
 		return process;

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	2009-11-30 15:21:22 UTC (rev 30392)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/XmlBPMNProcessDumper.java	2009-11-30 16:59:10 UTC (rev 30393)
@@ -92,6 +92,10 @@
         if (process.getName() != null) {
             xmlDump.append("name=\"" + process.getName() + "\" ");
         }
+        String packageName = process.getPackageName();
+        if (packageName != null && !"org.drools.bpmn2".equals(packageName)) {
+            xmlDump.append("tns:packageName=\"" + packageName + "\" ");
+        }
         // TODO: package, version
         xmlDump.append(">" + EOL + EOL);
         visitLanes(process, xmlDump);

Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-MinimalProcess.xml
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-MinimalProcess.xml	2009-11-30 15:21:22 UTC (rev 30392)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/test/resources/BPMN2-MinimalProcess.xml	2009-11-30 16:59:10 UTC (rev 30393)
@@ -6,9 +6,9 @@
              xmlns="http://schema.omg.org/spec/BPMN/2.0"
              xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
              xs:schemaLocation="http://schema.omg.org/spec/BPMN/2.0 BPMN20.xsd"
-             xmlns:tns="http://www.example.org/MinimalExample">
+             xmlns:tns="http://www.jboss.org/drools">
 
-  <process id="Minimal" name="Minimal Process" processType="executable">
+  <process id="Minimal" name="Minimal Process" processType="executable" tns:packageName="com.sample">
     <startEvent id="_1" name="StartProcess"/>
     <sequenceFlow sourceRef="_1" targetRef="_2"/>
     <scriptTask id="_2" name="Hello">

Modified: labs/jbossrules/trunk/drools-process/drools-gwt-console/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-console/pom.xml	2009-11-30 15:21:22 UTC (rev 30392)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-console/pom.xml	2009-11-30 16:59:10 UTC (rev 30393)
@@ -40,6 +40,11 @@
     </dependency>
 
     <dependency>
+      <groupId>org.drools</groupId>
+      <artifactId>drools-bpmn2</artifactId>
+    </dependency>
+
+    <dependency>
       <groupId>org.jboss.bpm</groupId>
       <artifactId>gwt-console-server-integration</artifactId>
       <version>1.1.2</version>

Modified: labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/resources/ChangeSet.xml
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/resources/ChangeSet.xml	2009-11-30 15:21:22 UTC (rev 30392)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/resources/ChangeSet.xml	2009-11-30 16:59:10 UTC (rev 30393)
@@ -2,6 +2,6 @@
             xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'
             xs:schemaLocation='http://drools.org/drools-5.0/change-set drools-change-set-5.0.xsd' >
     <add>
-        <resource source='http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/default/LATEST' type='PKG' />
+        <resource source='http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/defaultPackage/LATEST' type='PKG' />
     </add>
 </change-set>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-process/drools-gwt-server-war/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-server-war/pom.xml	2009-11-30 15:21:22 UTC (rev 30392)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-server-war/pom.xml	2009-11-30 16:59:10 UTC (rev 30393)
@@ -74,6 +74,12 @@
       <version>1.1</version>
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>javax.persistence</groupId>
+      <artifactId>persistence-api</artifactId>
+      <version>1.0</version>
+      <scope>provided</scope>
+    </dependency>
   </dependencies>
 
 </project>

Added: labs/jbossrules/trunk/drools-process/drools-gwt-server-war/src/main/resources/META-INF/orm.xml
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-server-war/src/main/resources/META-INF/orm.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-server-war/src/main/resources/META-INF/orm.xml	2009-11-30 16:59:10 UTC (rev 30393)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
+               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+               xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd"
+               version="1.0">  
+      <named-query name="ProcessInstancesWaitingForEvent">
+          <query>
+select 
+    processInstanceInfo.processInstanceId
+from 
+    ProcessInstanceInfo processInstanceInfo
+where
+    :type in elements(processInstanceInfo.eventTypes)
+          </query>
+      </named-query>
+</entity-mappings>

Modified: labs/jbossrules/trunk/drools-process/drools-gwt-server-war/src/main/resources/META-INF/persistence.xml
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-server-war/src/main/resources/META-INF/persistence.xml	2009-11-30 15:21:22 UTC (rev 30392)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-server-war/src/main/resources/META-INF/persistence.xml	2009-11-30 16:59:10 UTC (rev 30393)
@@ -21,6 +21,11 @@
         <provider>org.hibernate.ejb.HibernatePersistence</provider>
         <jta-data-source>java:jdbc/testDS1</jta-data-source>        
         <class>org.drools.persistence.session.SessionInfo</class>
+        <class>org.drools.persistence.processinstance.ProcessInstanceInfo</class>
+        <class>org.drools.persistence.processinstance.variabletypes.JPAPersistedVariable</class>
+        <class>org.drools.persistence.processinstance.variabletypes.VariableInstanceInfo</class>
+        <class>org.drools.persistence.processinstance.variabletypes.SerializablePersistedVariable</class>
+        <class>org.drools.persistence.processinstance.WorkItemInfo</class>
 
 	    <properties>
 	        <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>	        
@@ -31,4 +36,4 @@
 	    </properties>        
     </persistence-unit>
     
-</persistence>
\ No newline at end of file
+</persistence>



More information about the jboss-svn-commits mailing list