[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