[jbpm-commits] JBoss JBPM SVN: r1903 - in jbossbpm/spec/trunk/modules: dialects/api10/src/test/java/org/jboss/bpm/dialect/api10/include and 5 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Aug 15 10:21:50 EDT 2008


Author: thomas.diesler at jboss.com
Date: 2008-08-15 10:21:49 -0400 (Fri, 15 Aug 2008)
New Revision: 1903

Modified:
   jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessManager.java
   jbossbpm/spec/trunk/modules/dialects/api10/src/test/java/org/jboss/bpm/dialect/api10/include/ProcessIncludeTest.java
   jbossbpm/spec/trunk/modules/dialects/stp/src/test/java/org/jboss/bpm/dialect/stp/sequence/SequenceTest.java
   jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ExecutionManagerImpl.java
   jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ProcessManagerImpl.java
   jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ProcessImpl.java
   jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/ProcessMarshallerTest.java
   jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/engine/EngineShutdownTest.java
Log:
Don't implicitly register process on create

Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessManager.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessManager.java	2008-08-15 13:08:08 UTC (rev 1902)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessManager.java	2008-08-15 14:21:49 UTC (rev 1903)
@@ -60,7 +60,7 @@
   protected Map<String, DialectHandler> dialectHandlers;
   // The dialect registry
   protected DialectRegistry dialectRegistry;
-  // The set of process definitions
+  // The set of registered processes
   private Map<ObjectName, Process> procs = new HashMap<ObjectName, Process>();
 
   // Hide public constructor
@@ -82,12 +82,8 @@
    */
   public final Process createProcess(String pXML)
   {
-    if (ProcessEngine.locateProcessEngine().isPrepareForShutdown())
-      throw new EngineShutdownException("Cannot create new Process while engine is shutting down");
-
     String nsURI = getNamespaceURI(new ByteArrayInputStream(pXML.getBytes()));
     Process proc = getDialectHandler(nsURI).createProcess(pXML, false);
-    registerProcess(proc);
     return proc;
   }
 
@@ -96,12 +92,8 @@
    */
   public final Process createProcess(URL pURL) throws IOException
   {
-    if (ProcessEngine.locateProcessEngine().isPrepareForShutdown())
-      throw new EngineShutdownException("Cannot create new Process while engine is shutting down");
-
     String nsURI = getNamespaceURI(pURL.openStream());
     Process proc = getDialectHandler(nsURI).createProcess(pURL, false);
-    registerProcess(proc);
     return proc;
   }
 
@@ -145,18 +137,21 @@
   }
 
   /**
-   * Register a Process. This is not part of the API.
+   * Register a Process.
    */
-  protected void registerProcess(Process proc)
+  public void registerProcess(Process proc)
   {
+    if (ProcessEngine.locateProcessEngine().isPrepareForShutdown())
+      throw new EngineShutdownException("Cannot register process while engine is shutting down");
+    
     log.debug("registerProcess: " + proc);
     procs.put(proc.getID(), proc);
   }
 
   /**
-   * Destroy a Process.
+   * Unregister a Process.
    */
-  public void destroyProcess(Process proc)
+  public void unregisterProcess(Process proc)
   {
     log.debug("destroyProcess: " + proc);
     procs.remove(proc.getID());
@@ -165,8 +160,25 @@
   /**
    * Start a Process with a given process id.
    */
-  public abstract void startProcess(ObjectName procID, Attachments att);
+  public void startProcess(ObjectName procID, Attachments att)
+  {
+    Process proc = getProcessStrict(procID);
+    ExecutionManager exm = ExecutionManager.locateExecutionManager();
+    exm.startProcess(proc, att);
+  }
 
+  private Process getProcessStrict(ObjectName procID)
+  {
+    Process proc = getProcessByID(procID);
+    if (proc == null)
+    {
+      IllegalStateException rte = new IllegalStateException("Cannot obtain process: " + procID);
+      log.error(rte);
+      throw rte;
+    }
+    return proc;
+  }
+
   private String getNamespaceURI(InputStream inStream)
   {
     DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

Modified: jbossbpm/spec/trunk/modules/dialects/api10/src/test/java/org/jboss/bpm/dialect/api10/include/ProcessIncludeTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/dialects/api10/src/test/java/org/jboss/bpm/dialect/api10/include/ProcessIncludeTest.java	2008-08-15 13:08:08 UTC (rev 1902)
+++ jbossbpm/spec/trunk/modules/dialects/api10/src/test/java/org/jboss/bpm/dialect/api10/include/ProcessIncludeTest.java	2008-08-15 14:21:49 UTC (rev 1903)
@@ -47,7 +47,5 @@
     Message msg = recTask.getMessageRef();
     assertEquals("FooMsg", msg.getName());
     assertEquals("bar", msg.getPropertyValue("foo"));
-    
-    pm.destroyProcess(proc);
   }
 }

Modified: jbossbpm/spec/trunk/modules/dialects/stp/src/test/java/org/jboss/bpm/dialect/stp/sequence/SequenceTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/dialects/stp/src/test/java/org/jboss/bpm/dialect/stp/sequence/SequenceTest.java	2008-08-15 13:08:08 UTC (rev 1902)
+++ jbossbpm/spec/trunk/modules/dialects/stp/src/test/java/org/jboss/bpm/dialect/stp/sequence/SequenceTest.java	2008-08-15 14:21:49 UTC (rev 1903)
@@ -46,7 +46,6 @@
 
     ProcessManager pm = ProcessManager.locateProcessManager();
     Process proc = pm.createProcess(jpdlURL);
-    pm.destroyProcess(proc);
     
     assertNotNull(proc);
   }

Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ExecutionManagerImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ExecutionManagerImpl.java	2008-08-15 13:08:08 UTC (rev 1902)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ExecutionManagerImpl.java	2008-08-15 14:21:49 UTC (rev 1903)
@@ -164,7 +164,7 @@
           procImpl.setProcessStatus(ProcessStatus.Completed);
 
         ProcessManager procManager = ProcessManager.locateProcessManager();
-        procManager.destroyProcess(rtProc.getProcess());
+        procManager.unregisterProcess(rtProc.getProcess());
         removeRuntimeProcess(rtProc);
       }
     }

Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ProcessManagerImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ProcessManagerImpl.java	2008-08-15 13:08:08 UTC (rev 1902)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ProcessManagerImpl.java	2008-08-15 14:21:49 UTC (rev 1903)
@@ -25,16 +25,9 @@
 
 import java.util.Map;
 
-import javax.management.ObjectName;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.jboss.bpm.client.DialectHandler;
 import org.jboss.bpm.client.DialectRegistry;
-import org.jboss.bpm.client.ExecutionManager;
 import org.jboss.bpm.client.ProcessManager;
-import org.jboss.bpm.model.Process;
-import org.jboss.bpm.runtime.Attachments;
 
 /**
  * The process manager is the entry point to create, find and otherwise manage processes.
@@ -44,9 +37,6 @@
  */
 public class ProcessManagerImpl extends ProcessManager
 {
-  // provide logging
-  private static final Log log = LogFactory.getLog(ProcessManagerImpl.class);
-
   public void setDialectHandlers(Map<String, DialectHandler> dialectHandlers)
   {
     this.dialectHandlers = dialectHandlers;
@@ -56,30 +46,4 @@
   {
     this.dialectRegistry = dialectRegistry;
   }
-
-  // Provide public access
-  @Override
-  public void registerProcess(Process proc)
-  {
-    super.registerProcess(proc);
-  }
-
-  public void startProcess(ObjectName procID, Attachments att)
-  {
-    Process proc = getProcessStrict(procID);
-    ExecutionManager exm = ExecutionManager.locateExecutionManager();
-    exm.startProcess(proc, att);
-  }
-
-  private Process getProcessStrict(ObjectName procID)
-  {
-    Process proc = getProcessByID(procID);
-    if (proc == null)
-    {
-      IllegalStateException rte = new IllegalStateException("Cannot obtain process: " + procID);
-      log.error(rte);
-      throw rte;
-    }
-    return proc;
-  }
 }

Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ProcessImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ProcessImpl.java	2008-08-15 13:08:08 UTC (rev 1902)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ProcessImpl.java	2008-08-15 14:21:49 UTC (rev 1903)
@@ -296,7 +296,7 @@
     {
       // Destroy the process
       ProcessManager procManager = ProcessManager.locateProcessManager();
-      procManager.destroyProcess(this);
+      procManager.unregisterProcess(this);
     }
   }
 

Modified: jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/ProcessMarshallerTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/ProcessMarshallerTest.java	2008-08-15 13:08:08 UTC (rev 1902)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/ProcessMarshallerTest.java	2008-08-15 14:21:49 UTC (rev 1903)
@@ -91,7 +91,6 @@
     URL expURL = getResourceURL("samples/airticket/airticket-api10.xml");
     ProcessManager pm = ProcessManager.locateProcessManager();
     Process proc = pm.createProcess(expURL);
-    pm.destroyProcess(proc);
     
     StringWriter strwr = new StringWriter();
     DialectHandler dh = pm.getDialectHandler("urn:bpm.jboss:pdl-0.1");

Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/engine/EngineShutdownTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/engine/EngineShutdownTest.java	2008-08-15 13:08:08 UTC (rev 1902)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/engine/EngineShutdownTest.java	2008-08-15 14:21:49 UTC (rev 1903)
@@ -39,9 +39,6 @@
  */
 public class EngineShutdownTest extends DefaultEngineTestCase
 {
-  /**
-   * Try to create a Process during shutdown
-   */
   public void testCreateProcess() throws Exception 
   {
     ProcessEngine engine = ProcessEngine.locateProcessEngine();
@@ -56,15 +53,37 @@
     try
     {
       engine.prepareForShutdown();
-      pm.createProcess(jpdlURL);
+      proc = pm.createProcess(jpdlURL);
+      assertNotNull("Process expected", proc);
     }
+    finally
+    {
+      engine.cancelShutdown();
+    }
+  }
+  
+  public void testRegisterProcess() throws Exception 
+  {
+    ProcessEngine engine = ProcessEngine.locateProcessEngine();
+    URL jpdlURL = getResourceURL("cts/engine/basic-engine-" + getDialect() + ".xml");
+    
+    // Create a Process through the ProcessManager
+    ProcessManager pm = ProcessManager.locateProcessManager();
+    Process proc = pm.createProcess(jpdlURL);
+    assertNotNull("Process expected", proc);
+    
+    // Try to register a Process during shutdown
+    try
+    {
+      engine.prepareForShutdown();
+      pm.registerProcess(proc);
+    }
     catch (EngineShutdownException ex)
     {
-      assertEquals("Cannot create new Process while engine is shutting down", ex.getMessage());
+      // expected
     }
     finally
     {
-      pm.destroyProcess(proc);
       engine.cancelShutdown();
     }
   }




More information about the jbpm-commits mailing list