[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