[jbpm-commits] JBoss JBPM SVN: r3154 - in jbpm3/trunk/modules/integration: spec and 17 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Nov 28 11:41:56 EST 2008


Author: thomas.diesler at jboss.com
Date: 2008-11-28 11:41:56 -0500 (Fri, 28 Nov 2008)
New Revision: 3154

Added:
   jbpm3/trunk/modules/integration/spec/scripts/antrun-test-jars.xml
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/client/
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/deployment/
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/jpdl32/
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/EndEventImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/EventImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ExclusiveGatewayImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ExpressionImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/GatewayImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/NodeImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ProcessDefinitionImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ProcessImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/SequenceFlowImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/StartEventImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/TaskImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/WaitStateImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/builder/
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/task/
   jbpm3/trunk/modules/integration/spec/src/test/java/org/jbpm/test/integration/spec/
   jbpm3/trunk/modules/integration/spec/src/test/java/org/jbpm/test/integration/spec/deployment/
   jbpm3/trunk/modules/integration/spec/src/test/java/org/jbpm/test/integration/spec/deployment/DeploymentPARTest.java
   jbpm3/trunk/modules/integration/spec/src/test/resources/deployment/fork-join-example/
   jbpm3/trunk/modules/integration/spec/src/test/resources/deployment/fork-join-example/gpd.xml
   jbpm3/trunk/modules/integration/spec/src/test/resources/deployment/fork-join-example/processdefinition.xml
   jbpm3/trunk/modules/integration/spec/src/test/resources/deployment/fork-join-example/processimage.jpg
Removed:
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/client/
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/deployment/
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/jpdl32/
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/model/
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/runtime/
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/task/
   jbpm3/trunk/modules/integration/spec/src/test/java/org/jbpm/test/integration/deployment/
   jbpm3/trunk/modules/integration/spec/src/test/java/org/jbpm/test/integration/jpdl/
Modified:
   jbpm3/trunk/modules/integration/jboss42/src/main/etc/jboss-beans.xml
   jbpm3/trunk/modules/integration/jboss42/src/main/etc/par-deployer.xml
   jbpm3/trunk/modules/integration/spec/pom.xml
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/client/ProcessEngineImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/deployment/AbstractDeployment.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/deployment/PARDeployment.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/deployment/XMLDeployment.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/jpdl32/DialectHandlerImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/builder/GatewayBuilderImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/builder/ProcessBuilderImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/ExpressionEvaluator.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/NodeExecuteInterceptor.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/NodeInterceptor.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/RuntimeContext.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/TokenAttachmentDelegate.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/TokenImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/DeploymentServiceImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/DialectHandlerServiceImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/ExecutionServiceImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/IdentityServiceImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/MutableService.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/NoopPersistenceServiceImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/ProcessBuilderServiceImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/ProcessDefinitionServiceImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/ProcessServiceImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/TaskServiceImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/task/TaskImpl.java
   jbpm3/trunk/modules/integration/spec/src/main/resources/jbpm-cfg-beans.xml
   jbpm3/trunk/modules/integration/spec/src/test/java/org/jbpm/test/integration/spec/deployment/DeploymentXMLTest.java
Log:
Refactor Spec Integration

Modified: jbpm3/trunk/modules/integration/jboss42/src/main/etc/jboss-beans.xml
===================================================================
--- jbpm3/trunk/modules/integration/jboss42/src/main/etc/jboss-beans.xml	2008-11-28 16:40:34 UTC (rev 3153)
+++ jbpm3/trunk/modules/integration/jboss42/src/main/etc/jboss-beans.xml	2008-11-28 16:41:56 UTC (rev 3154)
@@ -10,7 +10,7 @@
  </bean>
 
  <!-- The ProcessEngine -->
- <bean name="BPMProcessEngine" class="org.jbpm.integration.client.ProcessEngineImpl">
+ <bean name="BPMProcessEngine" class="org.jbpm.integration.spec.client.ProcessEngineImpl">
   <property name="services">
    <set elementClass="org.jboss.bpm.api.service.Service">
     <inject bean="BPMDeploymentService"/>
@@ -26,19 +26,19 @@
  </bean>
 
  <!-- The PersistenceService -->
- <bean name="BPMPersistenceService" class="org.jbpm.integration.service.NoopPersistenceServiceImpl" />
+ <bean name="BPMPersistenceService" class="org.jbpm.integration.spec.service.NoopPersistenceServiceImpl" />
 
  <!-- The ProcessService -->
- <bean name="BPMProcessService" class="org.jbpm.integration.service.ProcessServiceImpl">
+ <bean name="BPMProcessService" class="org.jbpm.integration.spec.service.ProcessServiceImpl">
   <property name="interceptors">
    <list elementClass="java.lang.String">
-    <value>org.jbpm.integration.runtime.NodeExecuteInterceptor</value>
+    <value>org.jbpm.integration.spec.runtime.NodeExecuteInterceptor</value>
    </list>
   </property>
  </bean>
 
  <!-- The DialectHandlerService -->
- <bean name="BPMDialectHandlerService" class="org.jbpm.integration.service.DialectHandlerServiceImpl">
+ <bean name="BPMDialectHandlerService" class="org.jbpm.integration.spec.service.DialectHandlerServiceImpl">
   <property name="dialectHandlers">
    <map keyClass="java.net.URI" valueClass="org.jboss.bpm.api.service.DialectHandler">
     <entry><key>urn:jbpm.jboss:api-0.1</key><value><inject bean="BPMDialectHandlerAPI10"/></value></entry>
@@ -47,14 +47,14 @@
   </property>
  </bean>
  <bean name="BPMDialectHandlerAPI10" class="org.jboss.bpm.dialect.api10.DialectHandlerImpl" />
- <bean name="BPMDialectHandlerJPDL32" class="org.jbpm.integration.jpdl32.DialectHandlerImpl" />
+ <bean name="BPMDialectHandlerJPDL32" class="org.jbpm.integration.spec.jpdl32.DialectHandlerImpl" />
 
  <!-- Other Services -->
- <bean name="BPMDeploymentService" class="org.jbpm.integration.service.DeploymentServiceImpl" />
- <bean name="BPMExecutionService" class="org.jbpm.integration.service.ExecutionServiceImpl" />
- <bean name="BPMIdentityService" class="org.jbpm.integration.service.IdentityServiceImpl" />
- <bean name="BPMProcessBuilderService" class="org.jbpm.integration.service.ProcessBuilderServiceImpl" />
- <bean name="BPMProcessDefinitionService" class="org.jbpm.integration.service.ProcessDefinitionServiceImpl" />
- <bean name="BPMTaskService" class="org.jbpm.integration.service.TaskServiceImpl" />
+ <bean name="BPMDeploymentService" class="org.jbpm.integration.spec.service.DeploymentServiceImpl" />
+ <bean name="BPMExecutionService" class="org.jbpm.integration.spec.service.ExecutionServiceImpl" />
+ <bean name="BPMIdentityService" class="org.jbpm.integration.spec.service.IdentityServiceImpl" />
+ <bean name="BPMProcessBuilderService" class="org.jbpm.integration.spec.service.ProcessBuilderServiceImpl" />
+ <bean name="BPMProcessDefinitionService" class="org.jbpm.integration.spec.service.ProcessDefinitionServiceImpl" />
+ <bean name="BPMTaskService" class="org.jbpm.integration.spec.service.TaskServiceImpl" />
 
 </deployment>

Modified: jbpm3/trunk/modules/integration/jboss42/src/main/etc/par-deployer.xml
===================================================================
--- jbpm3/trunk/modules/integration/jboss42/src/main/etc/par-deployer.xml	2008-11-28 16:40:34 UTC (rev 3153)
+++ jbpm3/trunk/modules/integration/jboss42/src/main/etc/par-deployer.xml	2008-11-28 16:41:56 UTC (rev 3154)
@@ -4,7 +4,7 @@
   $Id$
 -->
 <server>
-   <mbean code="org.jbpm.integration.jboss42.PARSubDeployer"
+   <mbean code="org.jbpm.integration.spec.jboss42.PARSubDeployer"
       name="jboss.deployer:service=PARDeployer">
    </mbean>
 </server>
\ No newline at end of file

Modified: jbpm3/trunk/modules/integration/spec/pom.xml
===================================================================
--- jbpm3/trunk/modules/integration/spec/pom.xml	2008-11-28 16:40:34 UTC (rev 3153)
+++ jbpm3/trunk/modules/integration/spec/pom.xml	2008-11-28 16:41:56 UTC (rev 3154)
@@ -114,6 +114,25 @@
         </executions>
       </plugin>
       <plugin>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>build-test-jars</id>
+            <phase>test-compile</phase>
+            <goals>
+              <goal>run</goal>
+            </goals>
+            <configuration>
+              <tasks>
+                <property name="tests.output.dir" value="${project.build.directory}" />
+                <property name="tests.resources.dir" value="${basedir}/src/test/resources" />
+                <ant antfile="scripts/antrun-test-jars.xml" target="build-test-jars" />
+              </tasks>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
         <artifactId>maven-assembly-plugin</artifactId>
         <executions>
           <execution>

Added: jbpm3/trunk/modules/integration/spec/scripts/antrun-test-jars.xml
===================================================================
--- jbpm3/trunk/modules/integration/spec/scripts/antrun-test-jars.xml	                        (rev 0)
+++ jbpm3/trunk/modules/integration/spec/scripts/antrun-test-jars.xml	2008-11-28 16:41:56 UTC (rev 3154)
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ============================================================ -->
+<!--  JBoss, the OpenSource J2EE webOS                            -->
+<!--  Distributable under LGPL license.                           -->
+<!--  See terms of license at http://www.gnu.org.                 -->
+<!-- ============================================================ -->
+
+<!-- $Id$ -->
+
+<project>
+  
+  <description>jBPM enterprise test archive builder</description>
+  
+  <!-- ================================================================== -->
+  <!-- Building                                                           -->
+  <!-- ================================================================== -->
+  
+  <target name="build-test-jars" description="Build the test deployments">
+    
+    <mkdir dir="${tests.output.dir}/test-libs"/>
+    
+    <!-- fork-join-example -->
+    <jar jarfile="${tests.output.dir}/test-libs/fork-join-example.par">
+      <fileset dir="${tests.resources.dir}/deployment/fork-join-example"/>
+    </jar>
+
+    <!-- Please add alphabetically -->
+    
+  </target>
+  
+</project>


Property changes on: jbpm3/trunk/modules/integration/spec/scripts/antrun-test-jars.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Copied: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/client (from rev 3150, jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/client)

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/client/ProcessEngineImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/client/ProcessEngineImpl.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/client/ProcessEngineImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.client;
+package org.jbpm.integration.spec.client;
 
 //$Id$
 
@@ -28,7 +28,7 @@
 import org.jboss.bpm.api.client.ProcessEngine;
 import org.jboss.bpm.api.service.Service;
 import org.jbpm.JbpmConfiguration;
-import org.jbpm.integration.service.MutableService;
+import org.jbpm.integration.spec.service.MutableService;
 
 /**
  * A process engine with public access

Copied: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/deployment (from rev 3150, jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/deployment)

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/deployment/AbstractDeployment.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/deployment/AbstractDeployment.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/deployment/AbstractDeployment.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.deployment;
+package org.jbpm.integration.spec.deployment;
 
 // $Id$
 

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/deployment/PARDeployment.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/deployment/PARDeployment.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/deployment/PARDeployment.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,11 +19,10 @@
  * 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.integration.deployment;
+package org.jbpm.integration.spec.deployment;
 
 // $Id$
 
-import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.net.URL;
 import java.util.zip.ZipEntry;
@@ -49,15 +48,12 @@
 
   public String getProcessDefinitionXML() throws IOException
   {
-    byte[] bytes = IoUtil.readBytes(pdURL.openStream());
-    System.out.println(bytes.length);
-    
-    ZipInputStream zipInputStream = new ZipInputStream(new ByteArrayInputStream(bytes));
+    ZipInputStream zipInputStream = new ZipInputStream(pdURL.openStream());
     ZipEntry zipEntry = zipInputStream.getNextEntry();
     while (zipEntry != null)
     {
       String entryName = zipEntry.getName();
-      bytes = IoUtil.readBytes(zipInputStream);
+      byte[] bytes = IoUtil.readBytes(zipInputStream);
       if (bytes != null)
       {
         addAttachment(entryName, bytes);

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/deployment/XMLDeployment.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/deployment/XMLDeployment.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/deployment/XMLDeployment.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.deployment;
+package org.jbpm.integration.spec.deployment;
 
 // $Id$
 

Copied: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/jpdl32 (from rev 3150, jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/jpdl32)

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/jpdl32/DialectHandlerImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/jpdl32/DialectHandlerImpl.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/jpdl32/DialectHandlerImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.jpdl32;
+package org.jbpm.integration.spec.jpdl32;
 
 // $Id$
 
@@ -33,7 +33,7 @@
 import org.jboss.bpm.api.model.ProcessDefinition;
 import org.jboss.bpm.api.service.AbstractDialectHandler;
 import org.jboss.bpm.api.service.DialectHandler;
-import org.jbpm.integration.model.ProcessDefinitionImpl;
+import org.jbpm.integration.spec.model.ProcessDefinitionImpl;
 
 /**
  * A jPDL a {@link DialectHandler}

Copied: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/EndEventImpl.java (from rev 3150, jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/model/EndEventImpl.java)
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/EndEventImpl.java	                        (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/EndEventImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -0,0 +1,67 @@
+/*
+ * 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.integration.spec.model;
+
+import org.jboss.bpm.api.NotImplementedException;
+import org.jboss.bpm.api.model.EndEvent;
+import org.jboss.bpm.api.model.ProcessDefinition;
+import org.jboss.bpm.api.model.SequenceFlow;
+import org.jbpm.graph.node.EndState;
+
+/**
+ * An integration wrapper 
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 15-Nov-2008
+ */
+public class EndEventImpl extends EventImpl implements EndEvent
+{
+  private static final long serialVersionUID = 1L;
+  
+  public EndEventImpl(ProcessDefinition procDef, EndState oldEnd)
+  {
+    super(procDef, oldEnd);
+  }
+
+  //@Override
+  public EventDetailType getResultType()
+  {
+    return EventDetailType.None;
+  }
+
+  //@Override
+  public EventType getEventType()
+  {
+    return EventType.End;
+  }
+
+  //@Override
+  public SequenceFlow getInFlow()
+  {
+    throw new NotImplementedException();
+  }
+
+  public String toString()
+  {
+    return getEventType() + "Event[" + getName() + "," + getResultType() + "]";
+  }
+}

Copied: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/EventImpl.java (from rev 3150, jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/model/EventImpl.java)
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/EventImpl.java	                        (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/EventImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -0,0 +1,42 @@
+/*
+ * 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.integration.spec.model;
+
+import org.jboss.bpm.api.model.Event;
+import org.jboss.bpm.api.model.ProcessDefinition;
+import org.jbpm.graph.def.Node;
+
+/**
+ * An integration wrapper 
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 15-Nov-2008
+ */
+public abstract class EventImpl extends NodeImpl implements Event
+{
+  private static final long serialVersionUID = 1L;
+  
+  public EventImpl(ProcessDefinition procDef, Node oldNode)
+  {
+    super(procDef, oldNode);
+  }
+}

Copied: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ExclusiveGatewayImpl.java (from rev 3150, jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/model/ExclusiveGatewayImpl.java)
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ExclusiveGatewayImpl.java	                        (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ExclusiveGatewayImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -0,0 +1,124 @@
+/*
+ * 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.integration.spec.model;
+
+// $Id$
+
+import org.jboss.bpm.api.model.ExclusiveGateway;
+import org.jboss.bpm.api.model.Expression;
+import org.jboss.bpm.api.model.ProcessDefinition;
+import org.jboss.bpm.api.model.SequenceFlow;
+import org.jboss.bpm.api.model.SequenceFlow.ConditionType;
+import org.jboss.bpm.api.runtime.Token;
+import org.jbpm.graph.exe.ExecutionContext;
+import org.jbpm.graph.node.Decision;
+import org.jbpm.graph.node.DecisionHandler;
+import org.jbpm.instantiation.Delegation;
+import org.jbpm.integration.spec.runtime.ExpressionEvaluator;
+
+/**
+ * An integration wrapper
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 15-Nov-2008
+ */
+public class ExclusiveGatewayImpl extends GatewayImpl implements ExclusiveGateway
+{
+  private static final long serialVersionUID = 1L;
+
+  public ExclusiveGatewayImpl(ProcessDefinition procDef, Decision oldDecision)
+  {
+    super(procDef, oldDecision);
+    ExclusiveGatewayDecisionHandler decisionHandler = new ExclusiveGatewayDecisionHandler();
+    oldDecision.setDecisionDelegation(new Delegation(decisionHandler));
+  }
+
+  //@Override
+  public GatewayType getGatewayType()
+  {
+    return GatewayType.Exclusive;
+  }
+  
+  //@Override
+  public ExclusiveType getExclusiveType()
+  {
+    return ExclusiveType.Data;
+  }
+
+  class ExclusiveGatewayDecisionHandler implements DecisionHandler
+  {
+    private static final long serialVersionUID = 1L;
+
+    //@Override
+    public String decide(ExecutionContext executionContext) throws Exception
+    {
+      ProcessImpl procImpl = (ProcessImpl)getProcess();
+      Token token = procImpl.getRootToken();
+      
+      SequenceFlow selectedGate = null;
+      for (SequenceFlow auxGate : getGates())
+      {
+        SequenceFlow seqFlow = auxGate;
+        if (seqFlow.getConditionType() == ConditionType.Expression)
+        {
+          Expression expr = seqFlow.getConditionExpression();
+          ExpressionEvaluator exprEvaluator = new ExpressionEvaluator(expr);
+          if ((Boolean)exprEvaluator.evaluateExpression(token))
+          {
+            selectedGate = auxGate;
+            break;
+          }
+        }
+      }
+
+      // Use to the default gate if there is one
+      if (selectedGate == null)
+      {
+        for (SequenceFlow auxGate : getGates())
+        {
+          SequenceFlow seqFlow = auxGate;
+          if (seqFlow.getConditionType() == ConditionType.Default)
+          {
+            selectedGate = auxGate;
+            break;
+          }
+        }
+      }
+
+      // Fallback to the single outgoing gate that is not conditional
+      if (selectedGate == null && getGates().size() == 1)
+      {
+        SequenceFlow auxGate = getGates().get(0);
+        SequenceFlow seqFlow = auxGate;
+        if (seqFlow.getConditionType() == ConditionType.None)
+        {
+          selectedGate = auxGate;
+        }
+      }
+
+      if (selectedGate == null)
+        throw new IllegalStateException("Cannot select applicable gate in: " + getOldNode());
+
+      return selectedGate.getTargetRef();
+    }
+  }
+}

Copied: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ExpressionImpl.java (from rev 3150, jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/model/ExpressionImpl.java)
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ExpressionImpl.java	                        (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ExpressionImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -0,0 +1,67 @@
+/*
+ * 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.integration.spec.model;
+
+//$Id$
+
+import org.jboss.bpm.api.model.Expression;
+
+/**
+ * An Expression, which is used in the definition of attributes for @{link StartEvent},
+ * 
+ * @{link IntermediateEvent}, @{link Activity}, @{link ComplexGateway}, and @{link SequenceFlow}
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 17-Nov-2008
+ */
+public class ExpressionImpl implements Expression
+{
+  // provide serial version UID
+  private static final long serialVersionUID = 1L;
+
+  private String body;
+  private ExpressionLanguage lang;
+
+  public ExpressionImpl(String body)
+  {
+    this.body = body;
+    this.lang = ExpressionLanguage.MVEL;
+  }
+
+  public ExpressionImpl(ExpressionLanguage lang, String body)
+  {
+    this.body = body;
+    this.lang = lang;
+  }
+
+  //@Override
+  public ExpressionLanguage getExpressionLanguage()
+  {
+    return lang;
+  }
+
+  //@Override
+  public String getExpressionBody()
+  {
+    return body;
+  }
+}

Copied: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/GatewayImpl.java (from rev 3150, jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/model/GatewayImpl.java)
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/GatewayImpl.java	                        (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/GatewayImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -0,0 +1,69 @@
+/*
+ * 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.integration.spec.model;
+
+import java.util.List;
+
+import org.jboss.bpm.api.NotImplementedException;
+import org.jboss.bpm.api.model.Gateway;
+import org.jboss.bpm.api.model.ProcessDefinition;
+import org.jboss.bpm.api.model.SequenceFlow;
+import org.jbpm.graph.def.Node;
+
+/**
+ * An integration wrapper
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 15-Nov-2008
+ */
+public abstract class GatewayImpl extends NodeImpl implements Gateway
+{
+  private static final long serialVersionUID = 1L;
+
+  public GatewayImpl(ProcessDefinition procDef, Node oldNode)
+  {
+    super(procDef, oldNode);
+  }
+
+  //@Override
+  public List<SequenceFlow> getGates()
+  {
+    return getOutFlows();
+  }
+
+  //@Override
+  public SequenceFlow getGateByName(String targetName)
+  {
+    throw new NotImplementedException();
+  }
+
+  //@Override
+  public SequenceFlow getDefaultGate()
+  {
+    throw new NotImplementedException();
+  }
+
+  public String toString()
+  {
+    return getGatewayType() + "Gateway[" + getName() + "]";
+  }
+}

Copied: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/NodeImpl.java (from rev 3150, jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/model/NodeImpl.java)
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/NodeImpl.java	                        (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/NodeImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -0,0 +1,118 @@
+/*
+ * 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.integration.spec.model;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import javax.management.ObjectName;
+
+import org.jboss.bpm.api.Constants;
+import org.jboss.bpm.api.InvalidProcessException;
+import org.jboss.bpm.api.model.Node;
+import org.jboss.bpm.api.model.Process;
+import org.jboss.bpm.api.model.ProcessDefinition;
+import org.jboss.bpm.api.model.SequenceFlow;
+import org.jboss.bpm.api.model.builder.ObjectNameFactory;
+import org.jbpm.graph.def.Transition;
+
+/**
+ * An integration wrapper 
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 15-Nov-2008
+ */
+public class NodeImpl implements Node
+{
+  private static final long serialVersionUID = 1L;
+  
+  private ProcessDefinition procDef;
+  private Process proc;
+  
+  private org.jbpm.graph.def.Node oldNode;
+  private List<SequenceFlow> outFlows = new ArrayList<SequenceFlow>();
+
+  public NodeImpl(ProcessDefinition procDef, org.jbpm.graph.def.Node oldNode)
+  {
+    this.procDef = procDef;
+    this.oldNode = oldNode;
+  }
+
+  public ObjectName getKey()
+  {
+    long id = oldNode.getId();
+    return ObjectNameFactory.create(Constants.ID_DOMAIN + ":node=" + getName() + ",id=" + id);
+  }
+  
+  public org.jbpm.graph.def.Node getOldNode()
+  {
+    return oldNode;
+  }
+
+  public String getName()
+  {
+    return oldNode.getName();
+  }
+
+  public ProcessDefinition getProcessDefinition()
+  {
+    return procDef;
+  }
+
+  public Process getProcess()
+  {
+    return proc;
+  }
+  
+  public void setProcess(Process proc)
+  {
+    this.proc = proc;
+  }
+  
+  public void addSequenceFlow(SequenceFlowImpl flow)
+  {
+    String targetRef = flow.getTargetRef();
+    NodeImpl targetNode = (NodeImpl)procDef.getNode(targetRef);
+    if (targetNode == null)
+      throw new InvalidProcessException("Cannot obtain target node: " + targetRef);
+    
+    Transition trans = flow.getOldTransition();
+    if (oldNode.hasLeavingTransition(trans.getName()) == false)
+    {
+      oldNode.addLeavingTransition(trans);
+      targetNode.getOldNode().addArrivingTransition(trans);
+    }
+    
+    outFlows.add(flow);
+  }
+  
+  public List<SequenceFlow> getOutFlows()
+  {
+    return Collections.unmodifiableList(outFlows);
+  }
+
+  public String toString()
+  {
+    return oldNode.toString();
+  }
+}

Copied: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ProcessDefinitionImpl.java (from rev 3150, jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/model/ProcessDefinitionImpl.java)
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ProcessDefinitionImpl.java	                        (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ProcessDefinitionImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -0,0 +1,224 @@
+/*
+ * 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.integration.spec.model;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.management.ObjectName;
+
+import org.jboss.bpm.api.Constants;
+import org.jboss.bpm.api.InvalidProcessException;
+import org.jboss.bpm.api.NotImplementedException;
+import org.jboss.bpm.api.client.ProcessEngine;
+import org.jboss.bpm.api.model.Node;
+import org.jboss.bpm.api.model.Process;
+import org.jboss.bpm.api.model.ProcessDefinition;
+import org.jboss.bpm.api.model.builder.ObjectNameFactory;
+import org.jbpm.graph.def.Transition;
+import org.jbpm.graph.node.EndState;
+import org.jbpm.graph.node.Fork;
+import org.jbpm.graph.node.Join;
+import org.jbpm.graph.node.StartState;
+import org.jbpm.graph.node.State;
+import org.jbpm.graph.node.TaskNode;
+
+/**
+ * An integration wrapper
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 15-Nov-2008
+ */
+public class ProcessDefinitionImpl implements ProcessDefinition
+{
+  private static final long serialVersionUID = 1L;
+
+  private org.jbpm.graph.def.ProcessDefinition oldProcDef;
+  private ProcessEngine engine;
+  private Map<String, Node> nodes = new LinkedHashMap<String, Node>();
+
+  public ProcessDefinitionImpl(ProcessEngine engine, String name)
+  {
+    this(engine, new org.jbpm.graph.def.ProcessDefinition(name));
+  }
+  
+  public ProcessDefinitionImpl(ProcessEngine engine, org.jbpm.graph.def.ProcessDefinition oldProcDef)
+  {
+    this.oldProcDef = oldProcDef;
+    this.engine = engine;
+    
+    if (oldProcDef.getName() == null)
+      throw new InvalidProcessException("ProcessDefinition name cannot be null");
+    
+    if (oldProcDef.getNodes() != null)
+    {
+      initializeNodes(oldProcDef);
+      initializeSequenceFlows(oldProcDef);
+    }
+  }
+
+  public org.jbpm.graph.def.ProcessDefinition getOldProcessDefinition()
+  {
+    return oldProcDef;
+  }
+
+  public ProcessEngine getProcessEngine()
+  {
+    return engine;
+  }
+
+  public ObjectName getKey()
+  {
+    long id = oldProcDef.getId();
+    String version = getVersion();
+    
+    String keyStr = Constants.ID_DOMAIN + ":procdef=" + getName() + ",id=" + id;
+    if (version != null)
+      keyStr += ",version=" + version;
+    
+    return ObjectNameFactory.create(keyStr);
+  }
+
+  public String getName()
+  {
+    return oldProcDef.getName();
+  }
+
+  public String getVersion()
+  {
+    int version = oldProcDef.getVersion();
+    return version > 0 ? String.valueOf(version) : null;
+  }
+
+  public Process newInstance()
+  {
+    ProcessImpl procImpl = new ProcessImpl(this);
+    for (Node node : getNodes())
+    {
+      NodeImpl nodeImpl = (NodeImpl)node;
+      nodeImpl.setProcess(procImpl);
+    }
+    return procImpl;
+  }
+  
+  public void addNode(NodeImpl nodeImpl)
+  {
+    org.jbpm.graph.def.Node oldNode = nodeImpl.getOldNode();
+    oldProcDef.addNode(oldNode);
+    nodes.put(oldNode.getName(), nodeImpl);
+  }
+
+  public Node getNode(String name)
+  {
+    return nodes.get(name);
+  }
+
+  public List<Node> getNodes()
+  {
+    List<Node> nodeList = new ArrayList<Node>(nodes.values());
+    return Collections.unmodifiableList(nodeList);
+  }
+
+  @SuppressWarnings("unchecked")
+  public <T extends Node> T getNode(Class<T> clazz, String name)
+  {
+    for (Node node : getNodes(clazz))
+    {
+      if (node.getName().equals(name))
+        return (T)node;
+    }
+    return null;
+  }
+
+  @SuppressWarnings("unchecked")
+  public <T extends Node> List<T> getNodes(Class<T> clazz)
+  {
+    List<T> retNodes = new ArrayList<T>();
+    for (Node node : getNodes())
+    {
+      if (clazz.isAssignableFrom(node.getClass()))
+        retNodes.add((T)node);
+    }
+    return retNodes;
+  }
+
+  private void initializeNodes(org.jbpm.graph.def.ProcessDefinition oldProcDef)
+  {
+    for(org.jbpm.graph.def.Node oldNode : oldProcDef.getNodes())
+    {
+      NodeImpl nodeImpl;
+      if (oldNode instanceof StartState)
+      {
+        nodeImpl = new StartEventImpl(this, (StartState)oldNode);
+      }
+      else if (oldNode instanceof State)
+      {
+        nodeImpl = new WaitStateImpl(this, (State)oldNode);
+      }
+      else if (oldNode instanceof Fork)
+      {
+        nodeImpl = new ParallelGatewayImpl(this, (Fork)oldNode);
+      }
+      else if (oldNode instanceof Join)
+      {
+        nodeImpl = new ParallelGatewayImpl(this, (Join)oldNode);
+      }
+      else if (oldNode instanceof TaskNode)
+      {
+        nodeImpl = new UserTaskImpl(this, (TaskNode)oldNode);
+      }
+      else if (oldNode instanceof EndState)
+      {
+        nodeImpl = new EndEventImpl(this, (EndState)oldNode);
+      }
+      else
+      {
+        throw new NotImplementedException("Unsupported node type: " + oldNode);
+      }
+      nodes.put(oldNode.getName(), nodeImpl);
+    }
+  }
+
+  private void initializeSequenceFlows(org.jbpm.graph.def.ProcessDefinition oldProcDef)
+  {
+    for(org.jbpm.graph.def.Node oldNode : oldProcDef.getNodes())
+    {
+      NodeImpl nodeImpl = (NodeImpl)nodes.get(oldNode.getName());
+      if (oldNode.getLeavingTransitions() != null)
+      {
+        for (Transition trans : oldNode.getLeavingTransitions())
+        {
+          SequenceFlowImpl seqFlow = new SequenceFlowImpl(trans);
+          nodeImpl.addSequenceFlow(seqFlow);
+        }
+      }
+    }
+  }
+
+  public String toString()
+  {
+    return "ProcessDefinition[" + getKey() + "]";
+  }
+}

Copied: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ProcessImpl.java (from rev 3150, jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/model/ProcessImpl.java)
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ProcessImpl.java	                        (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/ProcessImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -0,0 +1,239 @@
+/*
+ * 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.integration.spec.model;
+
+import java.util.Date;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import javax.management.ObjectName;
+
+import org.jboss.bpm.api.Constants;
+import org.jboss.bpm.api.client.ProcessEngine;
+import org.jboss.bpm.api.model.Node;
+import org.jboss.bpm.api.model.Process;
+import org.jboss.bpm.api.model.ProcessDefinition;
+import org.jboss.bpm.api.model.builder.ObjectNameFactory;
+import org.jboss.bpm.api.runtime.Attachments;
+import org.jboss.bpm.api.runtime.Token;
+import org.jboss.bpm.api.runtime.Attachments.Key;
+import org.jboss.bpm.api.runtime.Token.TokenStatus;
+import org.jboss.bpm.api.service.ProcessService;
+import org.jbpm.graph.exe.ProcessInstance;
+import org.jbpm.integration.spec.runtime.TokenImpl;
+
+/**
+ * An integration wrapper
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 15-Nov-2008
+ */
+public class ProcessImpl implements Process
+{
+  private static final long serialVersionUID = 1L;
+
+  private ProcessDefinitionImpl procDef;
+  private ProcessInstance oldProc;
+  private ProcessStatus status = ProcessStatus.None;
+
+  public ProcessImpl(ProcessDefinitionImpl procDef)
+  {
+    this.procDef = procDef;
+    this.oldProc = new ProcessInstance(procDef.getOldProcessDefinition());
+  }
+
+  // @Override
+  public ObjectName getKey()
+  {
+    long id = oldProc.getId();
+    return ObjectNameFactory.create(Constants.ID_DOMAIN + ":proc=" + getName() + ",id=" + id);
+  }
+
+  // @Override
+  public ProcessDefinition getProcessDefinition()
+  {
+    return procDef;
+  }
+
+  // @Override
+  public ProcessEngine getProcessEngine()
+  {
+    return procDef.getProcessEngine();
+  }
+
+  public ProcessInstance getOldProcessInstance()
+  {
+    return oldProc;
+  }
+
+  // @Override
+  public ProcessStatus getProcessStatus()
+  {
+    Token rootToken = getRootToken();
+    TokenStatus tokenStatus = rootToken != null ? rootToken.getTokenStatus() : null;
+
+    if (oldProc.isSuspended())
+      status = ProcessStatus.Suspended;
+
+    if (status == ProcessStatus.Active)
+    {
+      if (oldProc.hasEnded() || tokenStatus == TokenStatus.Destroyed)
+        status = ProcessStatus.Completed;
+    }
+    return status;
+  }
+
+  public void setProcessStatus(ProcessStatus status)
+  {
+    this.status = status;
+  }
+
+  // @Override
+  public String getName()
+  {
+    return procDef.getName();
+  }
+
+  public Date getEndDate()
+  {
+    return oldProc.getEnd();
+  }
+
+  public Date getStartDate()
+  {
+    return oldProc.getStart();
+  }
+
+  // @Override
+  public <T extends Node> T getNode(Class<T> clazz, String name)
+  {
+    return procDef.getNode(clazz, name);
+  }
+
+  // @Override
+  public Node getNode(String name)
+  {
+    return procDef.getNode(name);
+  }
+
+  // @Override
+  public List<Node> getNodes()
+  {
+    return procDef.getNodes();
+  }
+
+  // @Override
+  public <T extends Node> List<T> getNodes(Class<T> clazz)
+  {
+    return procDef.getNodes(clazz);
+  }
+
+  // @Override
+  public Token startProcess()
+  {
+    return startProcess(null);
+  }
+
+  // @Override
+  public Token startProcess(Attachments contextData)
+  {
+    // Register the Process
+    ProcessService procService = getProcessEngine().getService(ProcessService.class);
+    procService.registerProcess(this);
+
+    // Create the root token
+    Token token = new TokenImpl(this, oldProc.getRootToken());
+
+    // Initialize the context data
+    if (contextData != null)
+    {
+      Attachments tokenAtt = token.getAttachments();
+      for (Key key : contextData.getAttachmentKeys())
+      {
+        Object val = contextData.getAttachment(key.getClassPart(), key.getNamePart());
+        tokenAtt.addAttachment(key.getClassPart(), key.getNamePart(), val);
+      }
+    }
+
+    // Signal the root token
+    setProcessStatus(ProcessStatus.Active);
+    token.signal();
+
+    return token;
+  }
+
+  public Token getRootToken()
+  {
+    return new TokenImpl(this, oldProc.getRootToken());
+  }
+
+  public Set<Token> getTokens()
+  {
+    return getAllTokens(getRootToken());
+  }
+
+  public void suspend()
+  {
+    if (status != ProcessStatus.Active)
+      throw new IllegalStateException("Cannot suspend a process in state: " + status);
+    
+    oldProc.suspend();
+    status = ProcessStatus.Suspended;
+  }
+
+  public void resume()
+  {
+    if (status != ProcessStatus.Suspended)
+      throw new IllegalStateException("Cannot resume a process in state: " + status);
+    
+    oldProc.resume();
+    status = ProcessStatus.Active;
+  }
+
+  public void cancel()
+  {
+    if (status != ProcessStatus.Active && status != ProcessStatus.Suspended)
+      throw new IllegalStateException("Cannot cancel a process in state: " + status);
+    
+    oldProc.setEnd(new Date());
+    oldProc.end();
+    status = ProcessStatus.Cancelled;
+  }
+
+  private Set<Token> getAllTokens(Token token)
+  {
+    Set<Token> tokens = new HashSet<Token>();
+    if (token != null)
+    {
+      tokens.add(token);
+      for (Token childToken : token.getChildTokens())
+        tokens.addAll(getAllTokens(childToken));
+    }
+    return tokens;
+  }
+
+  public String toString()
+  {
+    return "Process[" + getKey() + "]";
+  }
+}

Copied: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/SequenceFlowImpl.java (from rev 3150, jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/model/SequenceFlowImpl.java)
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/SequenceFlowImpl.java	                        (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/SequenceFlowImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -0,0 +1,96 @@
+/*
+ * 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.integration.spec.model;
+
+import org.jboss.bpm.api.model.Expression;
+import org.jboss.bpm.api.model.SequenceFlow;
+import org.jboss.bpm.api.model.Expression.ExpressionLanguage;
+import org.jbpm.graph.def.Node;
+import org.jbpm.graph.def.Transition;
+
+/**
+ * An integration wrapper
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 15-Nov-2008
+ */
+public class SequenceFlowImpl implements SequenceFlow
+{
+  private static final long serialVersionUID = 1L;
+
+  private Transition oldTrans;
+  private ConditionType condType = ConditionType.None;
+  private Expression expr;
+
+  public SequenceFlowImpl(Transition oldTrans)
+  {
+    this.oldTrans = oldTrans;
+  }
+
+  public SequenceFlowImpl(Transition oldTrans, ExpressionLanguage exprLang, String exprBody)
+  {
+    this.oldTrans = oldTrans;
+    
+    if (exprLang != null && exprBody != null)
+    {
+      this.condType = ConditionType.Expression;
+      this.expr = new ExpressionImpl(exprLang, exprBody);
+    }
+  }
+
+  public Transition getOldTransition()
+  {
+    return oldTrans;
+  }
+
+  //@Override
+  public String getName()
+  {
+    return oldTrans.getName();
+  }
+
+  //@Override
+  public Expression getConditionExpression()
+  {
+    return expr;
+  }
+
+  //@Override
+  public ConditionType getConditionType()
+  {
+    return condType;
+  }
+
+  //@Override
+  public String getSourceRef()
+  {
+    Node from = oldTrans.getFrom();
+    return from != null ? from.getName() : null;
+  }
+
+  //@Override
+  public String getTargetRef()
+  {
+    Node to = oldTrans.getTo();
+    return to != null ? to.getName() : null;
+  }
+}

Copied: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/StartEventImpl.java (from rev 3150, jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/model/StartEventImpl.java)
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/StartEventImpl.java	                        (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/StartEventImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -0,0 +1,84 @@
+/*
+ * 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.integration.spec.model;
+
+import java.util.List;
+
+import org.jboss.bpm.api.InvalidProcessException;
+import org.jboss.bpm.api.NotImplementedException;
+import org.jboss.bpm.api.model.ProcessDefinition;
+import org.jboss.bpm.api.model.SequenceFlow;
+import org.jboss.bpm.api.model.StartEvent;
+import org.jbpm.graph.def.Transition;
+import org.jbpm.graph.node.StartState;
+
+/**
+ * An integration wrapper 
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 15-Nov-2008
+ */
+public class StartEventImpl extends EventImpl implements StartEvent
+{
+  private static final long serialVersionUID = 1L;
+  
+  private StartState oldStart;
+
+  public StartEventImpl(ProcessDefinition procDef, StartState oldStart)
+  {
+    super(procDef, oldStart);
+    this.oldStart = oldStart;
+    
+    if (oldStart.getName() == null)
+      throw new InvalidProcessException("StartEvent name cannot be null");
+  }
+
+  //@Override
+  public EventDetailType getTriggerType()
+  {
+    return EventDetailType.None;
+  }
+
+  //@Override
+  public EventType getEventType()
+  {
+    return EventType.Start;
+  }
+
+  //@Override
+  public SequenceFlow getOutFlow()
+  {
+    List<Transition> leavingTransitions = oldStart.getLeavingTransitions();
+    if (leavingTransitions == null)
+      throw new IllegalStateException ("No leaving transitions on: " + oldStart);
+    if (leavingTransitions.size() > 1)
+      throw new NotImplementedException ("Multiple leaving transitions on: " + oldStart);
+    
+    Transition to = leavingTransitions.get(0);
+    return new SequenceFlowImpl(to);
+  }
+
+  public String toString()
+  {
+    return getEventType() + "Event[" + getName() + "," + getTriggerType() + "]";
+  }
+}

Copied: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/TaskImpl.java (from rev 3150, jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/model/TaskImpl.java)
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/TaskImpl.java	                        (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/TaskImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -0,0 +1,87 @@
+/*
+ * 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.integration.spec.model;
+
+import java.util.List;
+import java.util.Set;
+
+import org.jboss.bpm.api.NotImplementedException;
+import org.jboss.bpm.api.model.ProcessDefinition;
+import org.jboss.bpm.api.model.SequenceFlow;
+import org.jboss.bpm.api.model.Task;
+import org.jbpm.graph.def.Node;
+import org.jbpm.graph.def.Transition;
+
+/**
+ * An integration wrapper
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 15-Nov-2008
+ */
+public class TaskImpl extends NodeImpl implements Task
+{
+  private static final long serialVersionUID = 1L;
+
+  public TaskImpl(ProcessDefinition procDef, org.jbpm.graph.def.Node oldNode)
+  {
+    super(procDef, oldNode);
+  }
+
+  //@Override
+  public TaskType getTaskType()
+  {
+    return TaskType.None;
+  }
+  
+  //@Override
+  public SequenceFlow getInFlow()
+  {
+    Node oldNode = getOldNode();
+    Set<Transition> arrivingTransitions = oldNode.getArrivingTransitions();
+    if (arrivingTransitions == null)
+      throw new IllegalStateException("No leaving transitions on: " + oldNode);
+    if (arrivingTransitions.size() > 1)
+      throw new NotImplementedException("Multiple leaving transitions on: " + oldNode);
+
+    Transition from = arrivingTransitions.iterator().next();
+    return new SequenceFlowImpl(from);
+  }
+
+  //@Override
+  public SequenceFlow getOutFlow()
+  {
+    Node oldNode = getOldNode();
+    List<Transition> leavingTransitions = oldNode.getLeavingTransitions();
+    if (leavingTransitions == null)
+      throw new IllegalStateException("No leaving transitions on: " + oldNode);
+    if (leavingTransitions.size() > 1)
+      throw new NotImplementedException("Multiple leaving transitions on: " + oldNode);
+
+    Transition to = leavingTransitions.get(0);
+    return new SequenceFlowImpl(to);
+  }
+
+  public String toString()
+  {
+    return "Task[" + getTaskType() + "," + getName() + "]";
+  }
+}

Copied: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/WaitStateImpl.java (from rev 3150, jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/model/WaitStateImpl.java)
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/WaitStateImpl.java	                        (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/WaitStateImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -0,0 +1,48 @@
+/*
+ * 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.integration.spec.model;
+
+import org.jboss.bpm.api.model.ProcessDefinition;
+import org.jboss.bpm.api.model.WaitState;
+import org.jbpm.graph.node.State;
+
+/**
+ * An integration wrapper
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 15-Nov-2008
+ */
+public class WaitStateImpl extends TaskImpl implements WaitState
+{
+  private static final long serialVersionUID = 1L;
+
+  public WaitStateImpl(ProcessDefinition procDef, State oldState)
+  {
+    super(procDef, oldState);
+  }
+
+  //@Override
+  public TaskType getTaskType()
+  {
+    return TaskType.Wait;
+  }
+}

Copied: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/builder (from rev 3150, jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/model/builder)

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/builder/GatewayBuilderImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/model/builder/GatewayBuilderImpl.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/builder/GatewayBuilderImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.model.builder;
+package org.jbpm.integration.spec.model.builder;
 
 //$Id$
 

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/builder/ProcessBuilderImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/model/builder/ProcessBuilderImpl.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/model/builder/ProcessBuilderImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.model.builder;
+package org.jbpm.integration.spec.model.builder;
 
 //$Id$
 
@@ -45,14 +45,14 @@
 import org.jbpm.graph.node.EndState;
 import org.jbpm.graph.node.StartState;
 import org.jbpm.graph.node.State;
-import org.jbpm.integration.model.EndEventImpl;
-import org.jbpm.integration.model.ExclusiveGatewayImpl;
-import org.jbpm.integration.model.NodeImpl;
-import org.jbpm.integration.model.ProcessDefinitionImpl;
-import org.jbpm.integration.model.SequenceFlowImpl;
-import org.jbpm.integration.model.StartEventImpl;
-import org.jbpm.integration.model.TaskImpl;
-import org.jbpm.integration.model.WaitStateImpl;
+import org.jbpm.integration.spec.model.EndEventImpl;
+import org.jbpm.integration.spec.model.ExclusiveGatewayImpl;
+import org.jbpm.integration.spec.model.NodeImpl;
+import org.jbpm.integration.spec.model.ProcessDefinitionImpl;
+import org.jbpm.integration.spec.model.SequenceFlowImpl;
+import org.jbpm.integration.spec.model.StartEventImpl;
+import org.jbpm.integration.spec.model.TaskImpl;
+import org.jbpm.integration.spec.model.WaitStateImpl;
 
 /**
  * The ProcessBuilder can be used to dynamically build a {@link Process}.

Copied: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime (from rev 3150, jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/runtime)

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/ExpressionEvaluator.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/runtime/ExpressionEvaluator.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/ExpressionEvaluator.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.runtime;
+package org.jbpm.integration.spec.runtime;
 
 //$Id$
 

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/NodeExecuteInterceptor.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/runtime/NodeExecuteInterceptor.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/NodeExecuteInterceptor.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.runtime;
+package org.jbpm.integration.spec.runtime;
 
 //$Id$
 

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/NodeInterceptor.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/runtime/NodeInterceptor.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/NodeInterceptor.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.runtime;
+package org.jbpm.integration.spec.runtime;
 
 //$Id$
 

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/RuntimeContext.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/runtime/RuntimeContext.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/RuntimeContext.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.runtime;
+package org.jbpm.integration.spec.runtime;
 
 //$Id$
 

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/TokenAttachmentDelegate.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/runtime/TokenAttachmentDelegate.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/TokenAttachmentDelegate.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.runtime;
+package org.jbpm.integration.spec.runtime;
 
 //$Id$
 

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/TokenImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/runtime/TokenImpl.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/runtime/TokenImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.runtime;
+package org.jbpm.integration.spec.runtime;
 
 import java.util.Collection;
 import java.util.HashSet;
@@ -39,7 +39,7 @@
 import org.jboss.bpm.api.runtime.Attachments;
 import org.jboss.bpm.api.runtime.Token;
 import org.jbpm.context.exe.ContextInstance;
-import org.jbpm.integration.model.ProcessImpl;
+import org.jbpm.integration.spec.model.ProcessImpl;
 
 /**
  * An integration wrapper

Copied: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service (from rev 3150, jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service)

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/DeploymentServiceImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/DeploymentServiceImpl.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/DeploymentServiceImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.service;
+package org.jbpm.integration.spec.service;
 
 // $Id$
 
@@ -33,8 +33,8 @@
 import org.jboss.bpm.api.model.ProcessDefinition;
 import org.jboss.bpm.api.service.DeploymentService;
 import org.jboss.bpm.api.service.ProcessDefinitionService;
-import org.jbpm.integration.deployment.PARDeployment;
-import org.jbpm.integration.deployment.XMLDeployment;
+import org.jbpm.integration.spec.deployment.PARDeployment;
+import org.jbpm.integration.spec.deployment.XMLDeployment;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/DialectHandlerServiceImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/DialectHandlerServiceImpl.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/DialectHandlerServiceImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.service;
+package org.jbpm.integration.spec.service;
 
 // $Id$
 

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/ExecutionServiceImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/ExecutionServiceImpl.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/ExecutionServiceImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.service;
+package org.jbpm.integration.spec.service;
 
 // $Id$
 

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/IdentityServiceImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/IdentityServiceImpl.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/IdentityServiceImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.service;
+package org.jbpm.integration.spec.service;
 
 // $Id$
 
@@ -35,7 +35,7 @@
 import org.jbpm.identity.Group;
 import org.jbpm.identity.User;
 import org.jbpm.identity.hibernate.IdentitySession;
-import org.jbpm.integration.client.ProcessEngineImpl;
+import org.jbpm.integration.spec.client.ProcessEngineImpl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/MutableService.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/MutableService.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/MutableService.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.service;
+package org.jbpm.integration.spec.service;
 
 // $Id$
 

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/NoopPersistenceServiceImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/NoopPersistenceServiceImpl.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/NoopPersistenceServiceImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.service;
+package org.jbpm.integration.spec.service;
 
 // $Id$
 

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/ProcessBuilderServiceImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/ProcessBuilderServiceImpl.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/ProcessBuilderServiceImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.service;
+package org.jbpm.integration.spec.service;
 
 // $Id$
 
@@ -27,7 +27,7 @@
 import org.jboss.bpm.api.model.Process;
 import org.jboss.bpm.api.model.builder.ProcessBuilder;
 import org.jboss.bpm.api.service.ProcessBuilderService;
-import org.jbpm.integration.model.builder.ProcessBuilderImpl;
+import org.jbpm.integration.spec.model.builder.ProcessBuilderImpl;
 /**
  * The ProcessBuilder can be used to build a {@link Process} dynamically.
  * 

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/ProcessDefinitionServiceImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/ProcessDefinitionServiceImpl.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/ProcessDefinitionServiceImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.service;
+package org.jbpm.integration.spec.service;
 
 // $Id$
 
@@ -36,8 +36,8 @@
 import org.jboss.bpm.api.service.ProcessService;
 import org.jbpm.JbpmConfiguration;
 import org.jbpm.JbpmContext;
-import org.jbpm.integration.client.ProcessEngineImpl;
-import org.jbpm.integration.model.ProcessDefinitionImpl;
+import org.jbpm.integration.spec.client.ProcessEngineImpl;
+import org.jbpm.integration.spec.model.ProcessDefinitionImpl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/ProcessServiceImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/ProcessServiceImpl.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/ProcessServiceImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.service;
+package org.jbpm.integration.spec.service;
 
 // $Id$
 
@@ -41,9 +41,9 @@
 import org.jboss.bpm.api.service.ProcessService;
 import org.jbpm.JbpmConfiguration;
 import org.jbpm.JbpmContext;
-import org.jbpm.integration.client.ProcessEngineImpl;
-import org.jbpm.integration.model.ProcessImpl;
-import org.jbpm.integration.runtime.NodeInterceptor;
+import org.jbpm.integration.spec.client.ProcessEngineImpl;
+import org.jbpm.integration.spec.model.ProcessImpl;
+import org.jbpm.integration.spec.runtime.NodeInterceptor;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/TaskServiceImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/service/TaskServiceImpl.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/service/TaskServiceImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.service;
+package org.jbpm.integration.spec.service;
 
 // $Id$
 
@@ -33,8 +33,8 @@
 import org.jboss.bpm.api.task.Task;
 import org.jbpm.JbpmConfiguration;
 import org.jbpm.JbpmContext;
-import org.jbpm.integration.client.ProcessEngineImpl;
-import org.jbpm.integration.task.TaskImpl;
+import org.jbpm.integration.spec.client.ProcessEngineImpl;
+import org.jbpm.integration.spec.task.TaskImpl;
 import org.jbpm.taskmgmt.exe.TaskInstance;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

Copied: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/task (from rev 3150, jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/task)

Modified: jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/task/TaskImpl.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/task/TaskImpl.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/main/java/org/jbpm/integration/spec/task/TaskImpl.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.integration.task;
+package org.jbpm.integration.spec.task;
 
 // $Id$
 
@@ -33,7 +33,7 @@
 import org.jboss.bpm.api.runtime.Token;
 import org.jboss.bpm.api.service.ExecutionService;
 import org.jboss.bpm.api.task.Task;
-import org.jbpm.integration.runtime.TokenImpl;
+import org.jbpm.integration.spec.runtime.TokenImpl;
 import org.jbpm.taskmgmt.exe.PooledActor;
 import org.jbpm.taskmgmt.exe.TaskInstance;
 import org.slf4j.Logger;

Modified: jbpm3/trunk/modules/integration/spec/src/main/resources/jbpm-cfg-beans.xml
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/main/resources/jbpm-cfg-beans.xml	2008-11-28 16:40:34 UTC (rev 3153)
+++ jbpm3/trunk/modules/integration/spec/src/main/resources/jbpm-cfg-beans.xml	2008-11-28 16:41:56 UTC (rev 3154)
@@ -10,7 +10,7 @@
  </bean>
 
  <!-- The ProcessEngine -->
- <bean name="BPMProcessEngine" class="org.jbpm.integration.client.ProcessEngineImpl">
+ <bean name="BPMProcessEngine" class="org.jbpm.integration.spec.client.ProcessEngineImpl">
   <property name="services">
    <set elementClass="org.jboss.bpm.api.service.Service">
     <inject bean="BPMDeploymentService"/>
@@ -24,19 +24,19 @@
  </bean>
 
  <!-- The PersistenceService -->
- <bean name="BPMPersistenceService" class="org.jbpm.integration.service.NoopPersistenceServiceImpl" />
+ <bean name="BPMPersistenceService" class="org.jbpm.integration.spec.service.NoopPersistenceServiceImpl" />
 
  <!-- The ProcessService -->
- <bean name="BPMProcessService" class="org.jbpm.integration.service.ProcessServiceImpl">
+ <bean name="BPMProcessService" class="org.jbpm.integration.spec.service.ProcessServiceImpl">
   <property name="interceptors">
    <list elementClass="java.lang.String">
-    <value>org.jbpm.integration.runtime.NodeExecuteInterceptor</value>
+    <value>org.jbpm.integration.spec.runtime.NodeExecuteInterceptor</value>
    </list>
   </property>
  </bean>
 
  <!-- The DialectHandlerService -->
- <bean name="BPMDialectHandlerService" class="org.jbpm.integration.service.DialectHandlerServiceImpl">
+ <bean name="BPMDialectHandlerService" class="org.jbpm.integration.spec.service.DialectHandlerServiceImpl">
   <property name="dialectHandlers">
    <map keyClass="java.net.URI" valueClass="org.jboss.bpm.api.service.DialectHandler">
     <entry><key>urn:jbpm.jboss:api-0.1</key><value><inject bean="BPMDialectHandlerAPI10"/></value></entry>
@@ -45,12 +45,12 @@
   </property>
  </bean>
  <bean name="BPMDialectHandlerAPI10" class="org.jboss.bpm.dialect.api10.DialectHandlerImpl" />
- <bean name="BPMDialectHandlerJPDL32" class="org.jbpm.integration.jpdl32.DialectHandlerImpl" />
+ <bean name="BPMDialectHandlerJPDL32" class="org.jbpm.integration.spec.jpdl32.DialectHandlerImpl" />
 
  <!-- Other Services -->
- <bean name="BPMDeploymentService" class="org.jbpm.integration.service.DeploymentServiceImpl" />
- <bean name="BPMIdentityService" class="org.jbpm.integration.service.IdentityServiceImpl" />
- <bean name="BPMProcessBuilderService" class="org.jbpm.integration.service.ProcessBuilderServiceImpl" />
- <bean name="BPMProcessDefinitionService" class="org.jbpm.integration.service.ProcessDefinitionServiceImpl" />
+ <bean name="BPMDeploymentService" class="org.jbpm.integration.spec.service.DeploymentServiceImpl" />
+ <bean name="BPMIdentityService" class="org.jbpm.integration.spec.service.IdentityServiceImpl" />
+ <bean name="BPMProcessBuilderService" class="org.jbpm.integration.spec.service.ProcessBuilderServiceImpl" />
+ <bean name="BPMProcessDefinitionService" class="org.jbpm.integration.spec.service.ProcessDefinitionServiceImpl" />
 
 </deployment>

Copied: jbpm3/trunk/modules/integration/spec/src/test/java/org/jbpm/test/integration/spec/deployment (from rev 3150, jbpm3/trunk/modules/integration/spec/src/test/java/org/jbpm/test/integration/deployment)

Added: jbpm3/trunk/modules/integration/spec/src/test/java/org/jbpm/test/integration/spec/deployment/DeploymentPARTest.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/test/java/org/jbpm/test/integration/spec/deployment/DeploymentPARTest.java	                        (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/test/java/org/jbpm/test/integration/spec/deployment/DeploymentPARTest.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -0,0 +1,54 @@
+/*
+ * 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.test.integration.spec.deployment;
+
+// $Id$
+
+import java.net.URL;
+
+import org.jboss.bpm.api.deployment.Deployment;
+import org.jboss.bpm.api.model.ProcessDefinition;
+import org.jboss.bpm.api.service.DeploymentService;
+import org.jboss.bpm.api.test.APITestCase;
+
+/**
+ * Test simple PAR deployment
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 24-Nov-2008
+ */
+public class DeploymentPARTest extends APITestCase
+{
+  public void testSimplePARDeploy() throws Exception
+  {
+    URL parURL = getTestArchiveURL("fork-join-example.par");
+
+    DeploymentService depService = getProcessEngine().getService(DeploymentService.class);
+    Deployment dep = depService.createDeployment(parURL);
+
+    ProcessDefinition procDef = depService.deploy(dep);
+    assertNotNull("ProcDef not null", procDef);
+    
+    // Undeploy the process
+    assertTrue("Undeploy successful", depService.undeploy(dep));
+  }
+}


Property changes on: jbpm3/trunk/modules/integration/spec/src/test/java/org/jbpm/test/integration/spec/deployment/DeploymentPARTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: jbpm3/trunk/modules/integration/spec/src/test/java/org/jbpm/test/integration/spec/deployment/DeploymentXMLTest.java
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/test/java/org/jbpm/test/integration/deployment/DeploymentXMLTest.java	2008-11-28 15:30:25 UTC (rev 3150)
+++ jbpm3/trunk/modules/integration/spec/src/test/java/org/jbpm/test/integration/spec/deployment/DeploymentXMLTest.java	2008-11-28 16:41:56 UTC (rev 3154)
@@ -19,7 +19,7 @@
  * 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.test.integration.deployment;
+package org.jbpm.test.integration.spec.deployment;
 
 // $Id$
 
@@ -34,7 +34,7 @@
 import org.jboss.bpm.api.test.APITestCase;
 
 /**
- * Test simple jPDL process deployment
+ * Test simple XML deployment
  * 
  * @author thomas.diesler at jboss.com
  * @since 24-Nov-2008

Added: jbpm3/trunk/modules/integration/spec/src/test/resources/deployment/fork-join-example/gpd.xml
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/test/resources/deployment/fork-join-example/gpd.xml	                        (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/test/resources/deployment/fork-join-example/gpd.xml	2008-11-28 16:41:56 UTC (rev 3154)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<root-container name="ForkJoinExample3" width="658" height="421">
+ <node name="start" x="150" y="25" width="140" height="40">
+  <edge>
+   <label x="5" y="-10" />
+  </edge>
+ </node>
+ <node name="fork1" x="96" y="95" width="252" height="24">
+  <edge>
+   <label x="5" y="-10" />
+  </edge>
+  <edge>
+   <label x="-92" y="-11" />
+  </edge>
+ </node>
+ <node name="Review Order" x="69" y="172" width="132" height="36">
+  <edge>
+   <label x="5" y="-10" />
+  </edge>
+ </node>
+ <node name="Prepare shipping" x="293" y="171" width="132" height="36">
+  <edge>
+   <label x="5" y="-10" />
+  </edge>
+ </node>
+ <node name="join1" x="118" y="256" width="252" height="24">
+  <edge>
+   <label x="5" y="-10" />
+  </edge>
+ </node>
+ <node name="Review results" x="183" y="299" width="132" height="36">
+  <edge>
+   <label x="5" y="-10" />
+  </edge>
+ </node>
+ <node name="Wrap up" x="367" y="320" width="132" height="36">
+  <edge>
+   <label x="5" y="-10" />
+  </edge>
+ </node>
+ <node name="end" x="176" y="359" width="140" height="40" />
+</root-container>


Property changes on: jbpm3/trunk/modules/integration/spec/src/test/resources/deployment/fork-join-example/gpd.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: jbpm3/trunk/modules/integration/spec/src/test/resources/deployment/fork-join-example/processdefinition.xml
===================================================================
--- jbpm3/trunk/modules/integration/spec/src/test/resources/deployment/fork-join-example/processdefinition.xml	                        (rev 0)
+++ jbpm3/trunk/modules/integration/spec/src/test/resources/deployment/fork-join-example/processdefinition.xml	2008-11-28 16:41:56 UTC (rev 3154)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process-definition xmlns="urn:jbpm.org:jpdl-3.2" name="ForkJoinExample3">
+ <start-state name="start">
+  <transition to="fork1"></transition>
+ </start-state>
+ <fork name="fork1">
+  <transition to="Prepare shipping" name="to Prepare shipping"></transition>
+  <transition to="Review Order" name="to Review Order"></transition>
+ </fork>
+
+ <task-node name="Review Order">
+  <task name="Do review order">
+   <assignment pooled-actors="sales"></assignment>
+  </task>
+  <transition to="join1" name="done with review order"></transition>
+ </task-node>
+
+ <task-node name="Prepare shipping">
+  <task name="Do prepare shipping">
+   <assignment pooled-actors="sales,hr"></assignment>
+  </task>
+  <transition to="join1" name="done with prepare shipping"></transition>
+ </task-node>
+
+ <join name="join1">
+  <transition to="Review results"></transition>
+ </join>
+
+ <task-node name="Review results">
+  <task name="Review previous steps">
+   <assignment pooled-actors="user"></assignment>
+  </task>
+  <transition to="Wrap up" name="review ok"></transition>
+ </task-node>
+
+ <task-node name="Wrap up">
+  <task name="Wrap up">
+   <assignment actor-id="fred"></assignment>
+  </task>
+  <transition to="end" name="finish this one"></transition>
+ </task-node>
+
+ <end-state name="end"></end-state>
+</process-definition>
\ No newline at end of file


Property changes on: jbpm3/trunk/modules/integration/spec/src/test/resources/deployment/fork-join-example/processdefinition.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision

Added: jbpm3/trunk/modules/integration/spec/src/test/resources/deployment/fork-join-example/processimage.jpg
===================================================================
(Binary files differ)


Property changes on: jbpm3/trunk/modules/integration/spec/src/test/resources/deployment/fork-join-example/processimage.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream




More information about the jbpm-commits mailing list