[jbpm-commits] JBoss JBPM SVN: r5886 - in jbpm4/trunk: modules/bpmn and 14 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Nov 6 14:42:41 EST 2009


Author: tom.baeyens at jboss.com
Date: 2009-11-06 14:42:41 -0500 (Fri, 06 Nov 2009)
New Revision: 5886

Added:
   jbpm4/trunk/modules/bpmn/src/main/resources/jbpm.bpmn.cfg.xml
   jbpm4/trunk/modules/test-cactus/src/test/java/org/jbpm/test/
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/bpmn/
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/bpmn/JavaServiceTask.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/bpmn/ServiceTaskTest.java
   jbpm4/trunk/modules/test-db/src/test/resources/org/jbpm/bpmn/
   jbpm4/trunk/modules/test-db/src/test/resources/org/jbpm/bpmn/ServiceTaskJava.bpmn.xml
Modified:
   jbpm4/trunk/modules/bpmn/pom.xml
   jbpm4/trunk/modules/distro/pom.xml
   jbpm4/trunk/modules/distro/scripts/assembly-jbpm-single-jar.xml
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/DeployerManagerBinding.java
   jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/CollectionDescriptor.java
   jbpm4/trunk/modules/test-db/pom.xml
   jbpm4/trunk/modules/test-db/src/test/resources/jbpm.cfg.xml
   jbpm4/trunk/pom.xml
   jbpm4/trunk/qa/cactus.webapp.cfg/WEB-INF/classes/jbpm.cfg.xml
   jbpm4/trunk/qa/jboss.jbpm.cfg/jbpm.cfg.xml
Log:
added bpmn to common test suite

Modified: jbpm4/trunk/modules/bpmn/pom.xml
===================================================================
--- jbpm4/trunk/modules/bpmn/pom.xml	2009-11-05 12:02:17 UTC (rev 5885)
+++ jbpm4/trunk/modules/bpmn/pom.xml	2009-11-06 19:42:41 UTC (rev 5886)
@@ -81,7 +81,9 @@
 				<configuration>
 					<excludes>
 						<exclude>org/jbpm/test/xml/DbGenTest.java</exclude>
+            <exclude>org/jbpm/bpmn/flownodes/ExclusiveGatewayTest.java</exclude>
             <exclude>org/jbpm/bpmn/flownodes/ScriptTaskTest.java</exclude>
+            <exclude>org/jbpm/bpmn/flownodes/UserTaskTest.java</exclude>
 					</excludes>
 				</configuration>
 			</plugin>

Added: jbpm4/trunk/modules/bpmn/src/main/resources/jbpm.bpmn.cfg.xml
===================================================================
--- jbpm4/trunk/modules/bpmn/src/main/resources/jbpm.bpmn.cfg.xml	                        (rev 0)
+++ jbpm4/trunk/modules/bpmn/src/main/resources/jbpm.bpmn.cfg.xml	2009-11-06 19:42:41 UTC (rev 5886)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<jbpm-configuration>
+
+  <process-engine-context>
+    <deployer-manager>
+      <object class="org.jbpm.bpmn.deployer.BpmnDeployer" />
+    </deployer-manager>
+  </process-engine-context>
+
+</jbpm-configuration>


Property changes on: jbpm4/trunk/modules/bpmn/src/main/resources/jbpm.bpmn.cfg.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: jbpm4/trunk/modules/distro/pom.xml
===================================================================
--- jbpm4/trunk/modules/distro/pom.xml	2009-11-05 12:02:17 UTC (rev 5885)
+++ jbpm4/trunk/modules/distro/pom.xml	2009-11-06 19:42:41 UTC (rev 5886)
@@ -77,6 +77,10 @@
     </dependency>
     <dependency>
       <groupId>org.jbpm.jbpm4</groupId>
+      <artifactId>jbpm-bpmn</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jbpm.jbpm4</groupId>
       <artifactId>jbpm-gpd</artifactId>
       <type>zip</type>
     </dependency>

Modified: jbpm4/trunk/modules/distro/scripts/assembly-jbpm-single-jar.xml
===================================================================
--- jbpm4/trunk/modules/distro/scripts/assembly-jbpm-single-jar.xml	2009-11-05 12:02:17 UTC (rev 5885)
+++ jbpm4/trunk/modules/distro/scripts/assembly-jbpm-single-jar.xml	2009-11-06 19:42:41 UTC (rev 5886)
@@ -44,6 +44,13 @@
     </dependencySet>
     <dependencySet>
       <includes>
+        <include>org.jbpm.jbpm4:jbpm-bpmn</include>
+      </includes>
+      <unpack>true</unpack>
+      <outputDirectory></outputDirectory>
+    </dependencySet>
+    <dependencySet>
+      <includes>
         <include>org.jbpm.jbpm4:jbpm-test-base</include>
       </includes>
       <unpack>true</unpack>

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/DeployerManagerBinding.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/DeployerManagerBinding.java	2009-11-05 12:02:17 UTC (rev 5885)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/binding/DeployerManagerBinding.java	2009-11-06 19:42:41 UTC (rev 5886)
@@ -21,9 +21,14 @@
  */
 package org.jbpm.pvm.internal.wire.binding;
 
+import java.util.List;
+
 import org.jbpm.pvm.internal.repository.DeployerManager;
+import org.jbpm.pvm.internal.wire.Descriptor;
+import org.jbpm.pvm.internal.wire.WireDefinition;
 import org.jbpm.pvm.internal.wire.descriptor.ListDescriptor;
 import org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor;
+import org.jbpm.pvm.internal.wire.operation.FieldOperation;
 import org.jbpm.pvm.internal.xml.Parse;
 import org.jbpm.pvm.internal.xml.Parser;
 import org.w3c.dom.Element;
@@ -38,6 +43,7 @@
 public class DeployerManagerBinding extends WireDescriptorBinding {
   
   private static final String DEPLOYER_MANAGER_TAG = "deployer-manager";
+  private static ListBinding listBinding = new ListBinding();
   
   public DeployerManagerBinding() {
     super(DEPLOYER_MANAGER_TAG);
@@ -45,11 +51,25 @@
 
   public Object parse(Element element, Parse parse, Parser parser) {
     ObjectDescriptor objectDescriptor = new ObjectDescriptor(DeployerManager.class);
-    
-    ListBinding listBinding = new ListBinding();
+
     ListDescriptor listDescriptor = (ListDescriptor) listBinding.parse(element, parse, parser);
-    objectDescriptor.addInjection("deployers", listDescriptor);
 
+    WireDefinition wireDefinition = parse.contextStackFind(WireDefinition.class);
+    String descriptorName = wireDefinition.getDescriptorName(DeployerManager.class);
+    if (descriptorName==null) {
+      // merge the new deployment managers with the existing ones
+      objectDescriptor = new ObjectDescriptor(DeployerManager.class);
+      objectDescriptor.addInjection("deployers", listDescriptor);
+      
+    } else {
+      // merge the new deployment managers with the existing ones
+      objectDescriptor = (ObjectDescriptor) wireDefinition.getDescriptor(descriptorName);
+      FieldOperation injection = (FieldOperation) objectDescriptor.getOperations().get(0);
+      ListDescriptor existingDescriptor = (ListDescriptor) injection.getDescriptor();
+      List<Descriptor> valueDescriptors = existingDescriptor.getValueDescriptors();
+      valueDescriptors.addAll(listDescriptor.getValueDescriptors());
+    }
+
     return objectDescriptor;
   }
 }

Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/CollectionDescriptor.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/CollectionDescriptor.java	2009-11-05 12:02:17 UTC (rev 5885)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/wire/descriptor/CollectionDescriptor.java	2009-11-06 19:42:41 UTC (rev 5886)
@@ -9,7 +9,6 @@
 import java.util.SortedSet;
 
 import org.jbpm.internal.log.Log;
-import org.jbpm.pvm.internal.util.ReflectUtil;
 import org.jbpm.pvm.internal.wire.Descriptor;
 import org.jbpm.pvm.internal.wire.WireContext;
 import org.jbpm.pvm.internal.wire.WireException;

Modified: jbpm4/trunk/modules/test-db/pom.xml
===================================================================
--- jbpm4/trunk/modules/test-db/pom.xml	2009-11-05 12:02:17 UTC (rev 5885)
+++ jbpm4/trunk/modules/test-db/pom.xml	2009-11-06 19:42:41 UTC (rev 5886)
@@ -44,6 +44,11 @@
     </dependency>
     <dependency>
       <groupId>org.jbpm.jbpm4</groupId>
+      <artifactId>jbpm-bpmn</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jbpm.jbpm4</groupId>
       <artifactId>jbpm-test-base</artifactId>
       <scope>test</scope>
     </dependency>

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/bpmn/JavaServiceTask.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/bpmn/JavaServiceTask.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/bpmn/JavaServiceTask.java	2009-11-06 19:42:41 UTC (rev 5886)
@@ -0,0 +1,9 @@
+package org.jbpm.bpmn;
+
+public class JavaServiceTask {
+
+  String myMethod(String arg1) {
+    return "myMethod with arg1: "+ arg1;
+  }
+  
+}


Property changes on: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/bpmn/JavaServiceTask.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/bpmn/ServiceTaskTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/bpmn/ServiceTaskTest.java	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/bpmn/ServiceTaskTest.java	2009-11-06 19:42:41 UTC (rev 5886)
@@ -0,0 +1,68 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.bpmn;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.jbpm.api.ProcessInstance;
+import org.jbpm.api.TaskQuery;
+import org.jbpm.api.task.Task;
+import org.jbpm.test.JbpmTestCase;
+
+/**
+ * @author Bernd Ruecker (bernd.ruecker at camunda.com)
+ */
+public class ServiceTaskTest extends JbpmTestCase {
+
+  public void testNormalJavaServiceTaskCall() {
+    String deploymentId = repositoryService.createDeployment().addResourceFromClasspath("org/jbpm/bpmn/ServiceTaskJava.bpmn.xml").deploy();
+
+    try {
+      
+      Map<String, Object> variables = new HashMap<String, Object>();
+      variables.put("var1", "value");
+      
+      ProcessInstance pi = executionService.startProcessInstanceByKey("ServiceTaskJavaProcess", variables);
+      
+      assertNotNull(pi.getId());
+      assertEquals("myMethod with arg1: value",executionService.getVariable(pi.getId(), "returnVar"));
+      
+      TaskQuery taskQuery = taskService.createTaskQuery();
+      List<Task> allTasks = taskQuery.list();
+      assertEquals(1, allTasks.size());
+      
+      taskService.completeTask(allTasks.get(0).getId());
+
+      // process instance is ended
+      pi = executionService.findProcessInstanceById(pi.getId());
+      // One way or another I would also expect this to work... pi is gone from
+      // database immediately when ended. Only in History DB
+      // assertEquals(true, pi.isEnded());
+      assertNull(pi);
+    } finally {
+      repositoryService.deleteDeploymentCascade(deploymentId);
+    }
+  }
+  
+}


Property changes on: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/bpmn/ServiceTaskTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: jbpm4/trunk/modules/test-db/src/test/resources/jbpm.cfg.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/jbpm.cfg.xml	2009-11-05 12:02:17 UTC (rev 5885)
+++ jbpm4/trunk/modules/test-db/src/test/resources/jbpm.cfg.xml	2009-11-06 19:42:41 UTC (rev 5886)
@@ -6,6 +6,7 @@
   <import resource="jbpm.businesscalendar.cfg.xml" />
   <import resource="jbpm.tx.hibernate.cfg.xml" />
   <import resource="jbpm.jpdl.cfg.xml" />
+  <import resource="jbpm.bpmn.cfg.xml" />
   <import resource="jbpm.identity.cfg.xml" />
 
 </jbpm-configuration>

Added: jbpm4/trunk/modules/test-db/src/test/resources/org/jbpm/bpmn/ServiceTaskJava.bpmn.xml
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/resources/org/jbpm/bpmn/ServiceTaskJava.bpmn.xml	                        (rev 0)
+++ jbpm4/trunk/modules/test-db/src/test/resources/org/jbpm/bpmn/ServiceTaskJava.bpmn.xml	2009-11-06 19:42:41 UTC (rev 5886)
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn:definitions id="ServiceTaskJava"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://schema.omg.org/spec/BPMN/2.0 ../../../../../../main/resources/BPMN20.xsd"
+	xmlns:bpmn="http://schema.omg.org/spec/BPMN/2.0" typeLanguage="http://www.w3.org/2001/XMLSchema"
+	expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://sample.bpmn.camunda.com/"
+	xmlns:jbpm="http://jbpm.org/4.0/bpmn2">
+
+	<bpmn:itemDefinition id="itemDefinition1">
+		<jbpm:arg>
+			<jbpm:object expr="#{var1}" />
+		</jbpm:arg>
+	</bpmn:itemDefinition>
+	
+	<bpmn:itemDefinition id="itemDefinition2">
+		<jbpm:var name="returnVar" />
+	</bpmn:itemDefinition>
+	
+	<bpmn:message id="inputMessage" name="input message"
+		structureRef="itemDefinition1"></bpmn:message>
+
+	<bpmn:message id="outputMessage" name="output message"
+		structureRef="itemDefinition2">
+	</bpmn:message>
+
+	<bpmn:interface id="interface21"
+		name="org.jbpm.bpmn.JavaServiceTask">
+		<bpmn:operation id="operation42" name="myMethod">
+			<bpmn:inMessageRef>inputMessage</bpmn:inMessageRef>
+			<bpmn:outMessageRef>outputMessage</bpmn:outMessageRef>
+		</bpmn:operation>
+	</bpmn:interface>
+
+	<bpmn:process id="ServiceTaskJavaProcess" name="Simple process with java service task">
+
+		<bpmn:startEvent id="Start" />
+
+		<bpmn:sequenceFlow id="flow1" name="fromStartToServiceTask"
+			sourceRef="Start" targetRef="ServiceTask" />
+
+		<bpmn:serviceTask id="ServiceTask" name="service task"
+			implementation="Other" operationRef="operation42">
+		</bpmn:serviceTask>
+
+		<bpmn:sequenceFlow id="flow2" name="fromServiceTaskToUT1"
+			sourceRef="ServiceTask" targetRef="UT1" />
+
+		<bpmn:userTask id="UT1" name="bla" implementation="other" />
+
+		<bpmn:sequenceFlow id="flow3" name="fromUT1toEnd"
+			sourceRef="UT1" targetRef="End" />
+
+		<bpmn:endEvent id="End" name="End" />
+
+	</bpmn:process>
+</bpmn:definitions>


Property changes on: jbpm4/trunk/modules/test-db/src/test/resources/org/jbpm/bpmn/ServiceTaskJava.bpmn.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: jbpm4/trunk/pom.xml
===================================================================
--- jbpm4/trunk/pom.xml	2009-11-05 12:02:17 UTC (rev 5885)
+++ jbpm4/trunk/pom.xml	2009-11-06 19:42:41 UTC (rev 5886)
@@ -35,6 +35,7 @@
     <module>modules/test-base</module>
     <module>modules/pvm</module>
     <module>modules/jpdl</module>
+    <module>modules/bpmn</module>
     <module>modules/integration</module>
     <module>modules/examples</module>
     <module>modules/test-db</module>
@@ -110,6 +111,11 @@
       </dependency>
       <dependency>
         <groupId>org.jbpm.jbpm4</groupId>
+        <artifactId>jbpm-bpmn</artifactId>
+        <version>${version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jbpm.jbpm4</groupId>
         <artifactId>jbpm-log</artifactId>
         <version>${version}</version>
       </dependency>

Modified: jbpm4/trunk/qa/cactus.webapp.cfg/WEB-INF/classes/jbpm.cfg.xml
===================================================================
--- jbpm4/trunk/qa/cactus.webapp.cfg/WEB-INF/classes/jbpm.cfg.xml	2009-11-05 12:02:17 UTC (rev 5885)
+++ jbpm4/trunk/qa/cactus.webapp.cfg/WEB-INF/classes/jbpm.cfg.xml	2009-11-06 19:42:41 UTC (rev 5886)
@@ -5,6 +5,7 @@
   <import resource="jbpm.default.cfg.xml" />
   <import resource="jbpm.tx.hibernate.cfg.xml" />
   <import resource="jbpm.jpdl.cfg.xml" />
+  <import resource="jbpm.bpmn.cfg.xml" />
   <import resource="jbpm.identity.cfg.xml" />
   <import resource="jbpm.businesscalendar.cfg.xml" />
   <!-- import resource="jbpm.jobexecutor.cfg.xml" / -->

Modified: jbpm4/trunk/qa/jboss.jbpm.cfg/jbpm.cfg.xml
===================================================================
--- jbpm4/trunk/qa/jboss.jbpm.cfg/jbpm.cfg.xml	2009-11-05 12:02:17 UTC (rev 5885)
+++ jbpm4/trunk/qa/jboss.jbpm.cfg/jbpm.cfg.xml	2009-11-06 19:42:41 UTC (rev 5886)
@@ -6,6 +6,7 @@
   <import resource="jbpm.businesscalendar.cfg.xml" />
   <import resource="jbpm.tx.jta.cfg.xml" />
   <import resource="jbpm.jpdl.cfg.xml" />
+  <import resource="jbpm.bpmn.cfg.xml" />
   <import resource="jbpm.identity.cfg.xml" />
 
   <import resource="jbpm.mail.templates.examples.xml" />



More information about the jbpm-commits mailing list