[jbpm-commits] JBoss JBPM SVN: r3146 - in projects/spec/trunk/modules: api/src/main/java/org/jboss/bpm/api/deployment and 34 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Nov 28 08:50:25 EST 2008


Author: thomas.diesler at jboss.com
Date: 2008-11-28 08:50:24 -0500 (Fri, 28 Nov 2008)
New Revision: 3146

Added:
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/deployment/
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/deployment/Deployment.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/DeploymentService.java
Modified:
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/PersistenceService.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessBuilderService.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessDefinitionService.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessService.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/APITestCase.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/CTSTestCase.java
   projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/MessageService.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/gateway/exclusive/ExclusiveGatewaySplitTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/service/process/ProcessBuilderTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/service/process/ProcessServiceTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/task/waitstate/WaitStateTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/endevent/EndEventMessageTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/exclusive/ExclusiveGatewayMergeTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewayMergeTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewaySplitTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewayMergeTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewaySplitTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeInputSetTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeOutputSetTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodePropertyTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/process/ProcessPropertyTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/startevent/StartEventSignalTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/java/JavaTaskTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/receive/ReceiveTaskTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/send/SendTaskTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskCallbackTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/transaction/TxRequiredTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/exclusivechoice/ExclusiveChoiceTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/multichoice/MultiChoiceTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/parallelsplit/ParallelSplitTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/sequence/SequenceTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/simplemerge/SimpleMergeTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/synchronization/SynchronizationTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/casedata/CaseDataTest.java
   projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/taskdata/TaskDataTest.java
   projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/DialectHandlerImpl.java
   projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java
   projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshallerExt.java
   projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/DialectHandlerImpl.java
   projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/ProcessDefinitionAdapter.java
   projects/spec/trunk/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/DialectHandlerImpl.java
   projects/spec/trunk/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/ProcessUnmarshaller.java
   projects/spec/trunk/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/DialectHandlerImpl.java
   projects/spec/trunk/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/WorkflowProcessAdapter.java
   projects/spec/trunk/modules/ri/src/test/java/org/jboss/bpm/test/ri/dialect/stp/sequence/SequenceTest.java
   projects/spec/trunk/modules/ri/src/test/java/org/jboss/bpm/test/ri/service/persistence/NodePersistenceTest.java
   projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java
   projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java
Log:
Remove static service locators

Added: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/deployment/Deployment.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/deployment/Deployment.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/deployment/Deployment.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -0,0 +1,43 @@
+/*
+ * 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.jboss.bpm.api.deployment;
+
+import java.io.IOException;
+
+import org.jboss.bpm.api.runtime.Attachments;
+
+//$Id$
+
+
+/**
+ * An abstraction of a process deployment
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 28-Nov-2008
+ */
+public interface Deployment extends Attachments
+{
+  /**
+   * Get the ProcessDefinition as XML string.
+   */
+  String getProcessDefinitionXML() throws IOException;
+}
\ No newline at end of file


Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/deployment/Deployment.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/DeploymentService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/DeploymentService.java	                        (rev 0)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/DeploymentService.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -0,0 +1,65 @@
+/*
+ * 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.jboss.bpm.api.service;
+
+//$Id$
+
+import java.net.URL;
+
+import javax.management.ObjectName;
+
+import org.jboss.bpm.api.deployment.Deployment;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The DeploymentService is the entry point to deploy and undeploy ProcessDefinitions.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 28-Nov-2008
+ */
+public abstract class DeploymentService extends AbstractService
+{
+  // Provide logging
+  final static Logger log = LoggerFactory.getLogger(DeploymentService.class);
+
+  // Hide public constructor
+  protected DeploymentService()
+  {
+  }
+  
+  /**
+   * Creates a deployment from a URL
+   */
+  public abstract Deployment createDeployment(URL deploymentURL);
+
+  
+  /**
+   * Deploy the Deployment to the engine. 
+   */
+  public abstract ObjectName deploy(Deployment dep);
+
+  /**
+   * Undeploy the Deployment from the engine. 
+   */
+  public abstract void undeploy(Deployment dep);
+}
\ No newline at end of file


Property changes on: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/DeploymentService.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/PersistenceService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/PersistenceService.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/PersistenceService.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -26,8 +26,6 @@
 import javax.management.ObjectName;
 
 import org.hibernate.Session;
-import org.jboss.bpm.api.client.Configuration;
-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;
@@ -41,15 +39,6 @@
 public abstract class PersistenceService extends AbstractService
 {
   /**
-   * Locate the default PersistenceService
-   */
-  public static PersistenceService locatePersistenceService()
-  {
-    ProcessEngine engine = Configuration.getProcessEngine();
-    return engine.getService(PersistenceService.class);
-  }
-
-  /**
    * Create a new persistence session
    */
   public abstract Session createSession();

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessBuilderService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessBuilderService.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessBuilderService.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -23,8 +23,6 @@
 
 //$Id$
 
-import org.jboss.bpm.api.client.Configuration;
-import org.jboss.bpm.api.client.ProcessEngine;
 import org.jboss.bpm.api.model.Process;
 import org.jboss.bpm.api.model.builder.ProcessBuilder;
 
@@ -37,16 +35,6 @@
 public abstract class ProcessBuilderService extends AbstractService
 {
   /**
-   * Locate the default ProcessBuilder
-   */
-  public static ProcessBuilder locateProcessBuilder()
-  {
-    ProcessEngine engine = Configuration.getProcessEngine();
-    ProcessBuilderService builderService = engine.getService(ProcessBuilderService.class);
-    return builderService.getProcessBuilder();
-  }
-  
-  /**
    * Get the ProcessBuilder
    */
   public abstract ProcessBuilder getProcessBuilder();

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessDefinitionService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessDefinitionService.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessDefinitionService.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -34,8 +34,6 @@
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 
-import org.jboss.bpm.api.client.Configuration;
-import org.jboss.bpm.api.client.ProcessEngine;
 import org.jboss.bpm.api.model.ProcessDefinition;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -59,15 +57,6 @@
   }
 
   /**
-   * Locate the default ProcessDefinitionService
-   */
-  public static ProcessDefinitionService locateProcessDefinitionService()
-  {
-    ProcessEngine engine = Configuration.getProcessEngine();
-    return engine.getService(ProcessDefinitionService.class);
-  }
-
-  /**
    * Register a ProcessDefinition.
    */
   public abstract ObjectName registerProcessDefinition(ProcessDefinition procDef);

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessService.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/service/ProcessService.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -27,8 +27,6 @@
 
 import javax.management.ObjectName;
 
-import org.jboss.bpm.api.client.Configuration;
-import org.jboss.bpm.api.client.ProcessEngine;
 import org.jboss.bpm.api.model.Process;
 import org.jboss.bpm.api.model.Process.ProcessStatus;
 
@@ -46,15 +44,6 @@
   }
 
   /**
-   * Locate the default ProcessService
-   */
-  public static ProcessService locateProcessService()
-  {
-    ProcessEngine engine = Configuration.getProcessEngine();
-    return engine.getService(ProcessService.class);
-  }
-
-  /**
    * Register a Process.
    */
   public abstract ObjectName registerProcess(Process proc);

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/APITestCase.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/APITestCase.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/APITestCase.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -30,6 +30,8 @@
 import junit.framework.TestCase;
 
 import org.jboss.bpm.api.Constants;
+import org.jboss.bpm.api.client.Configuration;
+import org.jboss.bpm.api.client.ProcessEngine;
 import org.jboss.bpm.api.model.builder.ObjectNameFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -90,4 +92,9 @@
     shortName = shortName.replace("MarshallerTest", "Test"); 
     return ObjectNameFactory.create(Constants.ID_DOMAIN, "test", shortName);
   }
+
+  protected ProcessEngine getProcessEngine()
+  {
+    return Configuration.getProcessEngine();
+  }
 }

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/CTSTestCase.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/CTSTestCase.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/api/test/CTSTestCase.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -35,7 +35,6 @@
 import javax.management.ObjectName;
 
 import org.jboss.bpm.api.BPMException;
-import org.jboss.bpm.api.client.Configuration;
 import org.jboss.bpm.api.client.ProcessEngine;
 import org.jboss.bpm.api.model.ProcessDefinition;
 import org.jboss.bpm.api.service.DialectHandler;
@@ -75,11 +74,6 @@
   // Unregister this process definition on tearDown
   private ProcessDefinition procDef;
 
-  protected ProcessEngine getProcessEngine()
-  {
-    return Configuration.getProcessEngine();
-  }
-
   protected ProcessDefinition unregisterOnTearDown(ProcessDefinition procDef)
   {
     this.procDef = procDef;
@@ -120,7 +114,7 @@
     ProcessEngine engine = getProcessEngine();
 
     // Auto unregister
-    ProcessDefinitionService procDefService = ProcessDefinitionService.locateProcessDefinitionService();
+    ProcessDefinitionService procDefService = engine.getService(ProcessDefinitionService.class);
     if (procDef != null)
     {
       procDefService.unregisterProcessDefinition(procDef.getKey());

Modified: projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/MessageService.java
===================================================================
--- projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/MessageService.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/api/src/main/java/org/jboss/bpm/incubator/service/MessageService.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -136,7 +136,7 @@
    */
   public void sendMessage(ObjectName procID, String targetName, Message msg)
   {
-    ProcessService procService = ProcessService.locateProcessService();
+    ProcessService procService = getProcessEngine().getService(ProcessService.class);
     Process proc = procService.getProcess(procID);
     if (proc == null)
       throw new IllegalStateException("Cannot obtain registered process: " + procID);

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/gateway/exclusive/ExclusiveGatewaySplitTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/gateway/exclusive/ExclusiveGatewaySplitTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/gateway/exclusive/ExclusiveGatewaySplitTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -102,7 +102,8 @@
 
   protected ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilder procBuilder = ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilder procBuilder = pbService.getProcessBuilder();
     procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("Split");
     GatewayBuilder gatewayBuilder = procBuilder.addGateway("Split", GatewayType.Exclusive);
     gatewayBuilder.addConditionalGate("EndA", ExpressionLanguage.MVEL, "foo < 10");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/service/process/ProcessBuilderTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/service/process/ProcessBuilderTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/service/process/ProcessBuilderTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -48,10 +48,11 @@
   {
     try
     {
-      ProcessBuilder builder = ProcessBuilderService.locateProcessBuilder();
-      builder.addProcess(null).addStartEvent("Start").addSequenceFlow("Task");
-      builder.addTask("Task").addSequenceFlow("End").addEndEvent("End");
-      builder.getProcessDefinition();
+      ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+      ProcessBuilder procBuilder = pbService.getProcessBuilder();
+      procBuilder.addProcess(null).addStartEvent("Start").addSequenceFlow("Task");
+      procBuilder.addTask("Task").addSequenceFlow("End").addEndEvent("End");
+      procBuilder.getProcessDefinition();
       fail("Process name required");
     }
     catch (InvalidProcessException e)
@@ -62,12 +63,13 @@
 
   public void testNoStartName() throws Exception
   {
-    ProcessBuilder builder = ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilder procBuilder = pbService.getProcessBuilder();
     try
     {
-      builder.addProcess("Proc").addStartEvent(null).addSequenceFlow("Task");
-      builder.addTask("Task").addSequenceFlow("End").addEndEvent("End");
-      builder.getProcessDefinition();
+      procBuilder.addProcess("Proc").addStartEvent(null).addSequenceFlow("Task");
+      procBuilder.addTask("Task").addSequenceFlow("End").addEndEvent("End");
+      procBuilder.getProcessDefinition();
       fail("StartEvent name required");
     }
     catch (InvalidProcessException e)
@@ -78,12 +80,13 @@
 
   public void testNoTaskName() throws Exception
   {
-    ProcessBuilder builder = ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilder procBuilder = pbService.getProcessBuilder();
     try
     {
-      builder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task");
-      builder.addTask(null).addSequenceFlow("End").addEndEvent("End");
-      builder.getProcessDefinition();
+      procBuilder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task");
+      procBuilder.addTask(null).addSequenceFlow("End").addEndEvent("End");
+      procBuilder.getProcessDefinition();
       fail("Task name required");
     }
     catch (InvalidProcessException e)
@@ -94,12 +97,13 @@
 
   public void testNoEndName() throws Exception
   {
-    ProcessBuilder builder = ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilder procBuilder = pbService.getProcessBuilder();
     try
     {
-      builder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task");
-      builder.addTask("Task").addSequenceFlow("End").addEndEvent(null);
-      builder.getProcessDefinition();
+      procBuilder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task");
+      procBuilder.addTask("Task").addSequenceFlow("End").addEndEvent(null);
+      procBuilder.getProcessDefinition();
       fail("EndEvent name required");
     }
     catch (InvalidProcessException e)
@@ -110,11 +114,12 @@
 
   public void testNoStartEvent() throws Exception
   {
-    ProcessBuilder builder = ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilder procBuilder = pbService.getProcessBuilder();
     try
     {
-      builder.addProcess("Proc").addTask("Task").addSequenceFlow("End").addEndEvent("End");
-      builder.getProcessDefinition();
+      procBuilder.addProcess("Proc").addTask("Task").addSequenceFlow("End").addEndEvent("End");
+      procBuilder.getProcessDefinition();
       fail("StartEvent required");
     }
     catch (InvalidProcessException e)
@@ -125,12 +130,13 @@
 
   public void testNoEndEvent() throws Exception
   {
-    ProcessBuilder builder = ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilder procBuilder = pbService.getProcessBuilder();
     try
     {
-      builder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task");
-      builder.addTask("Task");
-      builder.getProcessDefinition();
+      procBuilder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task");
+      procBuilder.addTask("Task");
+      procBuilder.getProcessDefinition();
       fail("EndEvent required");
     }
     catch (InvalidProcessException e)
@@ -141,12 +147,13 @@
 
   public void testUnreachableNode() throws Exception
   {
-    ProcessBuilder builder = ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilder procBuilder = pbService.getProcessBuilder();
     try
     {
-      builder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task1");
-      builder.addTask("Task1").addSequenceFlow("End").addTask("Task2").addSequenceFlow("End").addEndEvent("End");
-      builder.getProcessDefinition();
+      procBuilder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task1");
+      procBuilder.addTask("Task1").addSequenceFlow("End").addTask("Task2").addSequenceFlow("End").addEndEvent("End");
+      procBuilder.getProcessDefinition();
       fail("Unreachable node Task2");
     }
     catch (InvalidProcessException e)
@@ -157,12 +164,13 @@
 
   public void testDeadEndNode() throws Exception
   {
-    ProcessBuilder builder = ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilder procBuilder = pbService.getProcessBuilder();
     try
     {
-      builder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task");
-      builder.addTask("Task").addEndEvent("End");
-      builder.getProcessDefinition();
+      procBuilder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task");
+      procBuilder.addTask("Task").addEndEvent("End");
+      procBuilder.getProcessDefinition();
       fail("Dead end Task");
     }
     catch (InvalidProcessException e)

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/service/process/ProcessServiceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/service/process/ProcessServiceTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/service/process/ProcessServiceTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -43,8 +43,8 @@
 {
   public void testRegisterProcess() throws Exception
   {
-    ProcessDefinitionService procDefService = ProcessDefinitionService.locateProcessDefinitionService();
-    ProcessService procService = ProcessService.locateProcessService();
+    ProcessDefinitionService procDefService = getProcessEngine().getService(ProcessDefinitionService.class);
+    ProcessService procService = getProcessEngine().getService(ProcessService.class);
     
     ProcessDefinition procDef = getProcessDefinition();
     Process proc = procDef.newInstance();
@@ -69,8 +69,9 @@
   
   private ProcessDefinition getProcessDefinition()
   {
-    ProcessBuilder builder = ProcessBuilderService.locateProcessBuilder();
-    builder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("Task");
-    return builder.addTask("Task").addSequenceFlow("End").addEndEvent("End").getProcessDefinition();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilder procBuilder = pbService.getProcessBuilder();
+    procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("Task");
+    return procBuilder.addTask("Task").addSequenceFlow("End").addEndEvent("End").getProcessDefinition();
   }
 }

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/task/waitstate/WaitStateTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/task/waitstate/WaitStateTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/cts/task/waitstate/WaitStateTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -77,7 +77,8 @@
 
   protected ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilder procBuilder = ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilder procBuilder = pbService.getProcessBuilder();
     procBuilder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("TaskA");
     procBuilder.addTask("TaskA", TaskType.Wait).addSequenceFlow("TaskB");
     procBuilder.addTask("TaskB", TaskType.Wait).addSequenceFlow("TaskC");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/endevent/EndEventMessageTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/endevent/EndEventMessageTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/endevent/EndEventMessageTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -63,7 +63,8 @@
 
   public ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("EndEventMessage").addStartEvent("Start");
     procBuilder.addSequenceFlow("TaskA");
     procBuilder.addTaskExt("TaskA").addSequenceFlow("End");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/exclusive/ExclusiveGatewayMergeTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/exclusive/ExclusiveGatewayMergeTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/exclusive/ExclusiveGatewayMergeTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -62,7 +62,8 @@
 
   public ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("ExclusiveGatewayMerge").addStartEvent("Start").addSequenceFlow("Split");
     procBuilder.addGateway("Split", GatewayType.Inclusive).addSequenceFlow("TaskA").addSequenceFlow("TaskB");
     procBuilder.addTaskExt("TaskA").addSequenceFlow("Merge");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewayMergeTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewayMergeTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewayMergeTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -60,7 +60,8 @@
 
   public ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("ParallelGatewayMerge").addStartEvent("Start").addSequenceFlow("Split");
     procBuilder.addGateway("Split", GatewayType.Inclusive).addSequenceFlow("TaskA").addSequenceFlow("TaskB");
     procBuilder.addTaskExt("TaskA").addSequenceFlow("Merge");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewaySplitTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewaySplitTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/inclusive/InclusiveGatewaySplitTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -77,7 +77,8 @@
 
   public ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("InclusiveGatewaySplitTest").addStartEvent("Start").addSequenceFlow("Split");
     GatewayBuilder gatewayBuilder = procBuilder.addGateway("Split", GatewayType.Inclusive);
     gatewayBuilder.addConditionalGate("EndA", ExpressionLanguage.MVEL, "foo < 10");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewayMergeTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewayMergeTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewayMergeTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -66,7 +66,8 @@
 
   public ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("ParallelGatewayMerge").addStartEvent("Start").addSequenceFlow("Split");
     procBuilder.addGateway("Split", GatewayType.Parallel).addSequenceFlow("TaskA").addSequenceFlow("TaskB");
     procBuilder.addTaskExt("TaskA").addNodeAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "'TaskA'", "taskValueA").addSequenceFlow("Merge");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewaySplitTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewaySplitTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/gateway/parallel/ParallelGatewaySplitTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -66,7 +66,8 @@
 
   public ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("ParallelGatewaySplit").addStartEvent("Start").addSequenceFlow("Split");
     procBuilder.addGateway("Split", GatewayType.Parallel).addSequenceFlow("EndA").addSequenceFlow("EndB");
     return procBuilder.addEndEventExt("EndA").addEndEventExt("EndB").getProcessDefinition();

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeInputSetTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeInputSetTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeInputSetTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -84,7 +84,8 @@
 
   protected ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("ActivityInputSet").addStartEvent("Start").addSequenceFlow("TaskA");
     TaskBuilder taskBuilder = procBuilder.addTaskExt("TaskA");
     taskBuilder.addInputSet().addPropertyInput("frog").addSequenceFlow("End");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeOutputSetTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeOutputSetTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodeOutputSetTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -63,7 +63,8 @@
 
   protected ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("ActivityInputSet").addStartEvent("Start").addSequenceFlow("TaskA");
     TaskBuilder taskBuilder = procBuilder.addTaskExt("TaskA");
     taskBuilder.addOutputSet().addPropertyOutput("frog", "kermit").addSequenceFlow("End");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodePropertyTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodePropertyTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/node/NodePropertyTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -64,7 +64,8 @@
 
   protected ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("ActivityProperties").addStartEvent("Start").addSequenceFlow("TaskA");
     TaskBuilder taskBuilder = procBuilder.addTaskExt("TaskA");
     taskBuilder.addNodeProperty("foo", "bar").addSequenceFlow("End");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/process/ProcessPropertyTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/process/ProcessPropertyTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/process/ProcessPropertyTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -69,7 +69,8 @@
 
   protected ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("ProcessProperties").addStartEvent("Start").addSequenceFlow("TaskA");
     procBuilder.addProcessAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "ProcessProperties_foo", "propValue");
     procBuilder.addProcessProperty("foo", "bar");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/startevent/StartEventSignalTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/startevent/StartEventSignalTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/startevent/StartEventSignalTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -60,7 +60,7 @@
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
     
     // You need to register the process definition to activate the start trigger
-    ProcessDefinitionService procDefService = ProcessDefinitionService.locateProcessDefinitionService();
+    ProcessDefinitionService procDefService = getProcessEngine().getService(ProcessDefinitionService.class);
     procDefService.registerProcessDefinition(procDef);
     ObjectName procDefID = procDef.getKey();
 
@@ -80,7 +80,7 @@
     sigService.throwSignal(newSignal(getTestID(), SignalType.SYSTEM_START_TRIGGER, "A"));
 
     // Get the just started process 
-    ProcessService procService = ProcessService.locateProcessService();
+    ProcessService procService = getProcessEngine().getService(ProcessService.class);
     Set<ObjectName> procIDs = procService.getProcesses(procDefID, null);
     proc = (ProcessExt) procService.getProcess(procIDs.iterator().next());
     
@@ -95,7 +95,8 @@
 
   public ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("StartEventSignal");
     EventBuilder eventBuilder = procBuilder.addStartEventExt("StartA", EventDetailType.Signal);
     eventBuilder.addSignalRef(SignalType.SYSTEM_START_TRIGGER, "A");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/java/JavaTaskTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/java/JavaTaskTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/java/JavaTaskTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -62,7 +62,8 @@
 
   protected ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("TaskExecutionHandlerTest");
     procBuilder.addProcessProperty("procProp", "kermit");
     procBuilder.addProcessAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "TaskExecutionHandlerTest_procProp == 'kermit'", "procAssign");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/receive/ReceiveTaskTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/receive/ReceiveTaskTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/receive/ReceiveTaskTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -57,7 +57,8 @@
 {
   public void testReceiveTaskWithNoMessage() throws Exception
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("ReceiveTaskTest").addStartEvent("Start").addSequenceFlow("TaskA");
     procBuilder.addTaskExt("TaskA", TaskType.Receive).addSequenceFlow("End").addEndEvent("End");
     try
@@ -90,8 +91,8 @@
 
   public void testSuspendedMessage() throws Exception
   {
-    ProcessDefinitionService procDefService = ProcessDefinitionService.locateProcessDefinitionService();
-    ProcessService procService = ProcessService.locateProcessService();
+    ProcessDefinitionService procDefService = getProcessEngine().getService(ProcessDefinitionService.class);
+    ProcessService procService = getProcessEngine().getService(ProcessService.class);
     
     ProcessDefinition procDef = unregisterOnTearDown(getProcessDefinition());
     ProcessExt proc = (ProcessExt)procDef.newInstance();
@@ -167,7 +168,8 @@
 
   protected ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("ReceiveTaskTest");
     procBuilder.addProcessMessage("ReceiveTaskMessage").addProperty("foo", null, true);
     procBuilder.addProcessMessage("EndEventMessage").addToRef(getTestID()).addProperty("foo", null, true);

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/send/SendTaskTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/send/SendTaskTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/send/SendTaskTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -62,7 +62,8 @@
 
   public void testSendTaskWithNoMessage() throws Exception
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("SendTaskTest").addStartEvent("Start").addSequenceFlow("TaskA");
     procBuilder.addTaskExt("TaskA", TaskType.Send).addSequenceFlow("End").addEndEvent("End");
     try
@@ -78,7 +79,8 @@
 
   protected ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("SendTaskTest");
     MessageBuilder msgBuilder = procBuilder.addProcessMessage("SendTaskMessage");
     msgBuilder.addToRef(getTestID()).addProperty("foo", null, true);

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskCallbackTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskCallbackTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskCallbackTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -68,7 +68,8 @@
 
   protected ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("UserTaskTest");
     procBuilder.addProcessMessage("OutMessage").addProperty("foo", null, true);
     procBuilder.addProcessMessage("InMessage").addProperty("bar", null, true);

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/task/user/UserTaskTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -33,8 +33,10 @@
 import org.jboss.bpm.api.model.Event.EventDetailType;
 import org.jboss.bpm.api.model.Task.TaskType;
 import org.jboss.bpm.api.model.builder.ObjectNameFactory;
+import org.jboss.bpm.api.model.builder.ProcessBuilder;
 import org.jboss.bpm.api.runtime.BasicAttachments;
 import org.jboss.bpm.api.service.ProcessBuilderService;
+import org.jboss.bpm.api.service.ProcessDefinitionService;
 import org.jboss.bpm.api.service.ProcessService;
 import org.jboss.bpm.api.test.CTSTestCase;
 import org.jboss.bpm.incubator.client.MessageListener;
@@ -61,7 +63,7 @@
     ProcessExt proc = (ProcessExt)procDef.newInstance();
     
     // Register the process - this assigns the procID
-    ProcessService procService = ProcessService.locateProcessService();
+    ProcessService procService = getProcessEngine().getService(ProcessService.class);
     procService.registerProcess(proc);
     
     // Add the user message listener
@@ -87,7 +89,8 @@
 
   protected ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("UserTaskTest");
     procBuilder.addProcessMessage("OutMessage").addToRef(MSG_LISTENER_ID).addProperty("foo", null, true);
     procBuilder.addProcessMessage("InMessage").addProperty("bar", null, true);

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/transaction/TxRequiredTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/transaction/TxRequiredTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/incubator/transaction/TxRequiredTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -92,7 +92,8 @@
 
   protected ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("RequiresTxTest");
     procBuilder.addStartEvent("Start").addSequenceFlow("TaskA");
     procBuilder.addTaskExt("TaskA", TaskType.Send).addOutMessageRef("TaskAMessage").addGroupRef("TxRequired").addSequenceFlow("TaskB");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/exclusivechoice/ExclusiveChoiceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/exclusivechoice/ExclusiveChoiceTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/exclusivechoice/ExclusiveChoiceTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -97,7 +97,8 @@
 
   public ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("Split");
     GatewayBuilder gatewayBuilder = procBuilder.addGateway("Split", Gateway.GatewayType.Exclusive);
     gatewayBuilder.addConditionalGate("EndA", ExpressionLanguage.MVEL, "foo < 10");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/multichoice/MultiChoiceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/multichoice/MultiChoiceTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/multichoice/MultiChoiceTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -77,7 +77,8 @@
 
   public ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("MultiChoiceTest").addStartEvent("Start").addSequenceFlow("Split");
     GatewayBuilder gatewayBuilder = procBuilder.addGateway("Split", Gateway.GatewayType.Inclusive);
     gatewayBuilder.addConditionalGate("EndA", ExpressionLanguage.MVEL, "foo < 10");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/parallelsplit/ParallelSplitTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/parallelsplit/ParallelSplitTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/parallelsplit/ParallelSplitTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -66,7 +66,8 @@
 
   public ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("Split").addGateway("Split", Gateway.GatewayType.Parallel).
     addSequenceFlow("EndA").addSequenceFlow("EndB").addEndEvent("EndA").addEndEvent("EndB");
     return procBuilder.getProcessDefinition();

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/sequence/SequenceTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/sequence/SequenceTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/sequence/SequenceTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -66,9 +66,10 @@
 
   public ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt builder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
-    builder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task");
-    builder.addTaskExt("Task").addSequenceFlow("End").addEndEvent("End");
-    return builder.getProcessDefinition();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
+    procBuilder.addProcess("Proc").addStartEvent("Start").addSequenceFlow("Task");
+    procBuilder.addTaskExt("Task").addSequenceFlow("End").addEndEvent("End");
+    return procBuilder.getProcessDefinition();
   }
 }

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/simplemerge/SimpleMergeTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/simplemerge/SimpleMergeTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/simplemerge/SimpleMergeTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -60,7 +60,8 @@
 
   public ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("ParallelGatewayMerge").addStartEvent("Start").addSequenceFlow("Split");
     procBuilder.addGateway("Split", GatewayType.Inclusive).addSequenceFlow("TaskA").addSequenceFlow("TaskB");
     procBuilder.addTaskExt("TaskA").addSequenceFlow("Merge");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/synchronization/SynchronizationTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/synchronization/SynchronizationTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/control/synchronization/SynchronizationTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -66,7 +66,8 @@
 
   public ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("ParallelGatewayMerge").addStartEvent("Start").addSequenceFlow("Split");
     procBuilder.addGateway("Split", GatewayType.Parallel).addSequenceFlow("TaskA").addSequenceFlow("TaskB");
     procBuilder.addTaskExt("TaskA").addNodeAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "'TaskA'", "taskValueA").addSequenceFlow("Merge");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/casedata/CaseDataTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/casedata/CaseDataTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/casedata/CaseDataTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -62,7 +62,8 @@
 
   protected ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("CaseData");
     procBuilder.addProcessAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "CaseData_foo", "propValue");
     procBuilder.addProcessProperty("foo", "bar").addStartEvent("Start").addSequenceFlow("TaskA");

Modified: projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/taskdata/TaskDataTest.java
===================================================================
--- projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/taskdata/TaskDataTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/cts/src/test/java/org/jboss/bpm/test/pattern/data/taskdata/TaskDataTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -63,7 +63,8 @@
 
   protected ProcessDefinition getProcessDefinition() throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = getProcessEngine().getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess("TaskData").addStartEvent("Start").addSequenceFlow("TaskA");
     TaskBuilder taskBuilder = procBuilder.addTaskExt("TaskA");
     taskBuilder.addNodeProperty("foo", "bar").addSequenceFlow("End");

Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/DialectHandlerImpl.java
===================================================================
--- projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/DialectHandlerImpl.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/DialectHandlerImpl.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -56,7 +56,7 @@
     try
     {
       ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
-      ProcessDefinition procDef = unmarschaller.unmarshallProcess(new StringReader(pXML));
+      ProcessDefinition procDef = unmarschaller.unmarshallProcess(getProcessEngine(), new StringReader(pXML));
       return procDef;
     }
     catch (JAXBException ex)
@@ -75,7 +75,7 @@
     try
     {
       ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
-      ProcessDefinition procDef = unmarschaller.unmarshallProcess(new InputStreamReader(pURL.openStream()));
+      ProcessDefinition procDef = unmarschaller.unmarshallProcess(getProcessEngine(), new InputStreamReader(pURL.openStream()));
       return procDef;
     }
     catch (JAXBException ex)

Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java
===================================================================
--- projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -31,6 +31,7 @@
 import javax.xml.bind.Unmarshaller;
 
 import org.jboss.bpm.api.NotImplementedException;
+import org.jboss.bpm.api.client.ProcessEngine;
 import org.jboss.bpm.api.model.Gateway;
 import org.jboss.bpm.api.model.ProcessDefinition;
 import org.jboss.bpm.api.model.SequenceFlow.ConditionType;
@@ -78,19 +79,20 @@
   // Provide logging
   private static final Logger log = LoggerFactory.getLogger(ProcessUnmarshaller.class);
   
-  public ProcessDefinition unmarshallProcess(Reader xml) throws JAXBException, IOException
+  public ProcessDefinition unmarshallProcess(ProcessEngine engine, Reader xml) throws JAXBException, IOException
   {
     JAXBContext jaxbContext = JAXBContext.newInstance(ObjectFactory.class);
     Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
     unmarshaller.setProperty("com.sun.xml.bind.ObjectFactory", new ObjectFactory());
     JAXBProcess jaxbProc = (JAXBProcess)unmarshaller.unmarshal(xml);
-    ProcessDefinition procDef = adaptProcess(jaxbProc);
+    ProcessDefinition procDef = adaptProcess(engine, jaxbProc);
     return procDef;
   }
 
-  private ProcessDefinition adaptProcess(JAXBProcess jaxbProc) throws IOException
+  private ProcessDefinition adaptProcess(ProcessEngine engine, JAXBProcess jaxbProc) throws IOException
   {
-    ProcessBuilder procBuilder = ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = engine.getService(ProcessBuilderService.class);
+    ProcessBuilder procBuilder = pbService.getProcessBuilder();
     procBuilder.addProcess(jaxbProc.getName());
 
     // Process Nodes

Modified: projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshallerExt.java
===================================================================
--- projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshallerExt.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshallerExt.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -32,6 +32,7 @@
 import javax.xml.bind.Unmarshaller;
 
 import org.jboss.bpm.api.NotImplementedException;
+import org.jboss.bpm.api.client.ProcessEngine;
 import org.jboss.bpm.api.model.Gateway;
 import org.jboss.bpm.api.model.ProcessDefinition;
 import org.jboss.bpm.api.model.SequenceFlow.ConditionType;
@@ -92,19 +93,20 @@
  */
 public class ProcessUnmarshallerExt
 {
-  public ProcessDefinition unmarshallProcess(Reader xml) throws JAXBException, IOException
+  public ProcessDefinition unmarshallProcess(ProcessEngine engine, Reader xml) throws JAXBException, IOException
   {
     JAXBContext jaxbContext = JAXBContext.newInstance(ObjectFactory.class);
     Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
     unmarshaller.setProperty("com.sun.xml.bind.ObjectFactory", new ObjectFactory());
     JAXBProcess jaxbProc = (JAXBProcess)unmarshaller.unmarshal(xml);
-    ProcessDefinition procDef = adaptProcess(jaxbProc);
+    ProcessDefinition procDef = adaptProcess(engine, jaxbProc);
     return procDef;
   }
 
-  private ProcessDefinition adaptProcess(JAXBProcess jaxbProc) throws IOException
+  private ProcessDefinition adaptProcess(ProcessEngine engine, JAXBProcess jaxbProc) throws IOException
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = engine.getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess(jaxbProc.getName());
 
     // Process Messages

Modified: projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/DialectHandlerImpl.java
===================================================================
--- projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/DialectHandlerImpl.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/DialectHandlerImpl.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -61,7 +61,7 @@
     {
       ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
       JPDL32ProcessDefinition jaxbProc = unmarschaller.unmarshallProcess(new StringReader(pXML));
-      ProcessDefinition proc = new ProcessDefinitionAdapter().adaptProcessDefinition(jaxbProc);
+      ProcessDefinition proc = new ProcessDefinitionAdapter().adaptProcessDefinition(getProcessEngine(), jaxbProc);
       return proc;
     }
     catch (JAXBException ex)
@@ -77,7 +77,7 @@
     {
       ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
       JPDL32ProcessDefinition jaxbProc = unmarschaller.unmarshallProcess(new InputStreamReader(pURL.openStream()));
-      ProcessDefinition proc = new ProcessDefinitionAdapter().adaptProcessDefinition(jaxbProc);
+      ProcessDefinition proc = new ProcessDefinitionAdapter().adaptProcessDefinition(getProcessEngine(), jaxbProc);
       return proc;
     }
     catch (JAXBException ex)

Modified: projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/ProcessDefinitionAdapter.java
===================================================================
--- projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/ProcessDefinitionAdapter.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/dialects/jpdl32/src/main/java/org/jboss/bpm/dialect/jpdl32/ProcessDefinitionAdapter.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -26,6 +26,7 @@
 import java.util.List;
 
 import org.jboss.bpm.api.InvalidProcessException;
+import org.jboss.bpm.api.client.ProcessEngine;
 import org.jboss.bpm.api.model.Gateway;
 import org.jboss.bpm.api.model.ProcessDefinition;
 import org.jboss.bpm.api.model.Task;
@@ -49,9 +50,10 @@
  */
 public class ProcessDefinitionAdapter
 {
-  public ProcessDefinition adaptProcessDefinition(JPDL32ProcessDefinition jpdlProcDef)
+  public ProcessDefinition adaptProcessDefinition(ProcessEngine engine, JPDL32ProcessDefinition jpdlProcDef)
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = engine.getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess(jpdlProcDef.getName());
     
     for (Object jpdlObj : jpdlProcDef.getDescriptionOrSwimlaneOrStartState())

Modified: projects/spec/trunk/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/DialectHandlerImpl.java
===================================================================
--- projects/spec/trunk/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/DialectHandlerImpl.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/DialectHandlerImpl.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -58,7 +58,7 @@
     try
     {
       ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
-      ProcessDefinition procDef = unmarschaller.unmarshallProcess(new ByteArrayInputStream(pXML.getBytes()));
+      ProcessDefinition procDef = unmarschaller.unmarshallProcess(getProcessEngine(), new ByteArrayInputStream(pXML.getBytes()));
       return procDef;
     }
     catch (JAXBException ex)
@@ -73,7 +73,7 @@
     try
     {
       ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
-      ProcessDefinition procDef = unmarschaller.unmarshallProcess(pURL.openStream());
+      ProcessDefinition procDef = unmarschaller.unmarshallProcess(getProcessEngine(), pURL.openStream());
       return procDef;
     }
     catch (JAXBException ex)

Modified: projects/spec/trunk/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/ProcessUnmarshaller.java
===================================================================
--- projects/spec/trunk/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/ProcessUnmarshaller.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/dialects/stp/src/main/java/org/jboss/bpm/dialect/stp/ProcessUnmarshaller.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -36,6 +36,7 @@
 import javax.xml.parsers.DocumentBuilderFactory;
 
 import org.jboss.bpm.api.InvalidProcessException;
+import org.jboss.bpm.api.client.ProcessEngine;
 import org.jboss.bpm.api.model.Gateway;
 import org.jboss.bpm.api.model.ProcessDefinition;
 import org.jboss.bpm.api.model.Task;
@@ -66,7 +67,7 @@
   private List<Activity> activities = new ArrayList<Activity>();
 
   @SuppressWarnings("unchecked")
-  public ProcessDefinition unmarshallProcess(InputStream xml) throws JAXBException
+  public ProcessDefinition unmarshallProcess(ProcessEngine engine, InputStream xml) throws JAXBException
   {
     JAXBContext jaxbContext = JAXBContext.newInstance(ObjectFactory.class);
     Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
@@ -90,7 +91,7 @@
 
     Element root = doc.getDocumentElement();
     diagram = unmarshaller.unmarshal(root, BpmnDiagram.class).getValue();
-    ProcessBuilderExt procBuilder = adaptDiagram(diagram);
+    ProcessBuilderExt procBuilder = adaptDiagram(engine, diagram);
 
     // Initialize the list of sequence edges
     Element poolEl = (Element)DOMUtils.getChildElements(root, "pools").next();
@@ -137,7 +138,7 @@
     return procDef;
   }
 
-  private ProcessBuilderExt adaptDiagram(BpmnDiagram bpmnDiagram)
+  private ProcessBuilderExt adaptDiagram(ProcessEngine engine, BpmnDiagram bpmnDiagram)
   {
     List<Pool> stpPools = bpmnDiagram.getPools();
     if (stpPools == null || stpPools.size() == 0)
@@ -146,7 +147,8 @@
       throw new IllegalStateException("Multiple Pools not supported");
 
     Pool stpPool = stpPools.get(0);
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = engine.getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess(stpPool.getId());
 
     return procBuilder;

Modified: projects/spec/trunk/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/DialectHandlerImpl.java
===================================================================
--- projects/spec/trunk/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/DialectHandlerImpl.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/DialectHandlerImpl.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -60,7 +60,7 @@
     {
       ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
       XPDLWorkflowProcess jaxbProc = unmarschaller.unmarshallProcess(new StringReader(pXML));
-      ProcessDefinition proc = new WorkflowProcessAdapter().adaptWorkflowProcess(jaxbProc);
+      ProcessDefinition proc = new WorkflowProcessAdapter().adaptWorkflowProcess(getProcessEngine(), jaxbProc);
       return proc;
     }
     catch (JAXBException ex)
@@ -76,7 +76,7 @@
     {
       ProcessUnmarshaller unmarschaller = new ProcessUnmarshaller();
       XPDLWorkflowProcess jaxbProc = unmarschaller.unmarshallProcess(new InputStreamReader(pURL.openStream()));
-      ProcessDefinition proc = new WorkflowProcessAdapter().adaptWorkflowProcess(jaxbProc);
+      ProcessDefinition proc = new WorkflowProcessAdapter().adaptWorkflowProcess(getProcessEngine(), jaxbProc);
       return proc;
     }
     catch (JAXBException ex)

Modified: projects/spec/trunk/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/WorkflowProcessAdapter.java
===================================================================
--- projects/spec/trunk/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/WorkflowProcessAdapter.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/dialects/xpdl21/src/main/java/org/jboss/bpm/dialect/xpdl21/WorkflowProcessAdapter.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -24,6 +24,7 @@
 // $Id$
 
 import org.jboss.bpm.api.InvalidProcessException;
+import org.jboss.bpm.api.client.ProcessEngine;
 import org.jboss.bpm.api.model.ProcessDefinition;
 import org.jboss.bpm.api.service.ProcessBuilderService;
 import org.jboss.bpm.dialect.xpdl21.model.XPDLActivities;
@@ -40,9 +41,10 @@
  */
 public class WorkflowProcessAdapter
 {
-  public ProcessDefinition adaptWorkflowProcess(XPDLWorkflowProcess xpdlProc)
+  public ProcessDefinition adaptWorkflowProcess(ProcessEngine engine, XPDLWorkflowProcess xpdlProc)
   {
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessBuilderService pbService = engine.getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess(xpdlProc.getName());
     
     XPDLActivities xpdlActivities = xpdlProc.getActivities();

Modified: projects/spec/trunk/modules/ri/src/test/java/org/jboss/bpm/test/ri/dialect/stp/sequence/SequenceTest.java
===================================================================
--- projects/spec/trunk/modules/ri/src/test/java/org/jboss/bpm/test/ri/dialect/stp/sequence/SequenceTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/ri/src/test/java/org/jboss/bpm/test/ri/dialect/stp/sequence/SequenceTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -44,7 +44,7 @@
   {
     URL procURL = getResourceURL("dialect/stp/sequence/basic-sequence.bpmn");
 
-    ProcessDefinitionService pdService = ProcessDefinitionService.locateProcessDefinitionService();
+    ProcessDefinitionService pdService = getProcessEngine().getService(ProcessDefinitionService.class);
     ProcessDefinition procDef = pdService.parseProcessDefinition(procURL);
     
     assertNotNull(procDef);

Modified: projects/spec/trunk/modules/ri/src/test/java/org/jboss/bpm/test/ri/service/persistence/NodePersistenceTest.java
===================================================================
--- projects/spec/trunk/modules/ri/src/test/java/org/jboss/bpm/test/ri/service/persistence/NodePersistenceTest.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/ri/src/test/java/org/jboss/bpm/test/ri/service/persistence/NodePersistenceTest.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -46,7 +46,7 @@
   protected void setUp() throws Exception
   {
     super.setUp();
-    service = (HibernatePersistenceServiceImpl)PersistenceService.locatePersistenceService();
+    service = (HibernatePersistenceServiceImpl)getProcessEngine().getService(PersistenceService.class);
     session = service.createSession();
   }
 

Modified: projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java
===================================================================
--- projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -25,6 +25,8 @@
 
 import javax.management.ObjectName;
 
+import org.jboss.bpm.api.client.Configuration;
+import org.jboss.bpm.api.client.ProcessEngine;
 import org.jboss.bpm.api.model.Expression;
 import org.jboss.bpm.api.model.ProcessDefinition;
 import org.jboss.bpm.api.model.Expression.ExpressionLanguage;
@@ -94,7 +96,9 @@
   public ProcessDefinition buildProcessDefinition()
   {
     // Create a Process through the ProcessBuilder
-    ProcessBuilderExt procBuilder = (ProcessBuilderExt)ProcessBuilderService.locateProcessBuilder();
+    ProcessEngine engine = Configuration.getProcessEngine();
+    ProcessBuilderService pbService = engine.getService(ProcessBuilderService.class);
+    ProcessBuilderExt procBuilder = (ProcessBuilderExt)pbService.getProcessBuilder();
     procBuilder.addProcess(PROCESS_NAME);
     
     // Add Start Event

Modified: projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java
===================================================================
--- projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java	2008-11-28 13:22:03 UTC (rev 3145)
+++ projects/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java	2008-11-28 13:50:24 UTC (rev 3146)
@@ -6,6 +6,8 @@
 import javax.management.ObjectName;
 import javax.servlet.http.HttpSession;
 
+import org.jboss.bpm.api.client.Configuration;
+import org.jboss.bpm.api.client.ProcessEngine;
 import org.jboss.bpm.api.model.ProcessDefinition;
 import org.jboss.bpm.api.model.builder.ObjectNameFactory;
 import org.jboss.bpm.api.service.ProcessService;
@@ -37,7 +39,8 @@
 
   public void sendMessage(GwtMessage gwtMsg)
   {
-    ProcessService procService = ProcessService.locateProcessService();
+    ProcessEngine engine = Configuration.getProcessEngine();
+    ProcessService procService = engine.getService(ProcessService.class);
     MessageService mm = MessageService.locateMessageService();
     SignalService sm = SignalService.locateSignalService();
 




More information about the jbpm-commits mailing list