[jbpm-commits] JBoss JBPM SVN: r1879 - in jbossbpm/spec/trunk/modules: api/src/main/java/org/jboss/bpm/model and 15 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Wed Aug 13 09:04:26 EDT 2008
Author: thomas.diesler at jboss.com
Date: 2008-08-13 09:04:26 -0400 (Wed, 13 Aug 2008)
New Revision: 1879
Added:
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/processmanager/ProcessManagerTest.java
Removed:
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/processmanager/ProcessRegistryTest.java
Modified:
jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ExecutionManager.java
jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/MessageListener.java
jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/MessageManager.java
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/SignalManager.java
jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Signal.java
jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/test/AbstractAPITestCase.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/EndEventImpl.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/GatewayImpl.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/IntermediateEventImpl.java
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/ReceiveTaskImpl.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/StartEventImpl.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/SubProcessImpl.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/TaskImpl.java
jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java
jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java
jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AbstractAirticketTest.java
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/gateway/exclusive/ExclusiveMergeTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelMergeTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelSplitTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/process/ProcessStartTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/sequence/BasicSequenceTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/task/BasicTaskTest.java
Log:
Cleanup ProcessManager API
Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ExecutionManager.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ExecutionManager.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ExecutionManager.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -80,8 +80,8 @@
runtimeProcesses.put(procID, rtProc);
}
- protected void removeRuntimeProcess(ObjectName procID)
+ protected void removeRuntimeProcess(RuntimeProcess rtProc)
{
- runtimeProcesses.remove(procID);
+ runtimeProcesses.remove(rtProc.getProcess().getID());
}
}
Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/MessageListener.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/MessageListener.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/MessageListener.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -38,7 +38,7 @@
/**
* Get the id for this listener
*/
- ObjectName getMessageListenerID();
+ ObjectName getID();
/**
* Catch a message from the process that this listener is registered with
Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/MessageManager.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/MessageManager.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/MessageManager.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -23,8 +23,8 @@
//$Id$
-import java.util.HashSet;
-import java.util.Set;
+import java.util.HashMap;
+import java.util.Map;
import javax.management.ObjectName;
@@ -52,7 +52,7 @@
private static final Log log = LogFactory.getLog(MessageManager.class);
// The set of registered message listeners
- private Set<MessageListener> messageListeners = new HashSet<MessageListener>();
+ private Map<ObjectName, MessageListener> listeners = new HashMap<ObjectName, MessageListener>();
/**
* Locate the MessageManager
@@ -68,17 +68,37 @@
*/
public void addMessageListener(MessageListener listener)
{
+ if (hasMessageListener(listener.getID()))
+ throw new IllegalStateException("Listener already registered: " + listener.getID());
+
log.debug("addMessageListener: " + listener);
- messageListeners.add(listener);
+ listeners.put(listener.getID(), listener);
}
/**
+ * Get a MessageListener for a given ID
+ * @return null if there is none
+ */
+ public MessageListener getMessageListener(ObjectName listenerID)
+ {
+ return listeners.get(listenerID);
+ }
+
+ /**
+ * True if there is a MessageListener for a given ID
+ */
+ public boolean hasMessageListener(ObjectName listenerID)
+ {
+ return getMessageListener(listenerID) != null;
+ }
+
+ /**
* Remove an MessageListener
*/
- public void removeMessageListener(MessageListener listener)
+ public void removeMessageListener(ObjectName listenerID)
{
- log.debug("removeMessageListener: " + listener);
- messageListeners.remove(listener);
+ log.debug("removeMessageListener: " + listenerID);
+ listeners.remove(listenerID);
}
/**
@@ -94,6 +114,7 @@
if (target instanceof MessageListener == false)
throw new IllegalArgumentException("Message target is not a valid message receiver: " + targetName);
+ log.debug("sendMessage to " + target + " => " + msg);
MessageListener msgListener = (MessageListener)target;
msgListener.catchMessage(msg);
}
@@ -103,18 +124,11 @@
*/
public void sendMessage(ObjectName targetID, Message msg)
{
- MessageListener msgListener = null;
- for (MessageListener auxListener : messageListeners)
- {
- if (auxListener.getMessageListenerID().equals(targetID))
- {
- msgListener = auxListener;
- break;
- }
- }
+ MessageListener msgListener = listeners.get(targetID);
if (msgListener == null)
throw new IllegalStateException("No message listener registered for: " + targetID);
+ log.debug("sendMessage to '" + targetID + "' => " + msg);
msgListener.catchMessage(msg);
}
}
\ No newline at end of file
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-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessManager.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -28,6 +28,7 @@
import java.io.InputStream;
import java.net.URL;
import java.util.Collections;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@@ -38,7 +39,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.jboss.bpm.BPMException;
import org.jboss.bpm.EngineShutdownException;
import org.jboss.bpm.model.Process;
import org.jboss.bpm.model.Process.ProcessStatus;
@@ -62,7 +62,7 @@
// The dialect registry
protected DialectRegistry dialectRegistry;
// The set of process definitions
- private Set<Process> procs = new HashSet<Process>();
+ private Map<ObjectName, Process> procs = new HashMap<ObjectName, Process>();
// Hide public constructor
protected ProcessManager()
@@ -111,7 +111,8 @@
*/
public Set<Process> getProcesses()
{
- return Collections.unmodifiableSet(procs);
+ Set<Process> procSet = new HashSet<Process>(procs.values());
+ return Collections.unmodifiableSet(procSet);
}
/**
@@ -124,7 +125,7 @@
public Set<Process> getProcesses(String name, Process.ProcessStatus status)
{
Set<Process> procSet = new HashSet<Process>();
- for (Process aux : procs)
+ for (Process aux : procs.values())
{
if (aux.getName().equals(name))
{
@@ -138,16 +139,10 @@
/**
* Get a Process for a given id
*/
- public Process getProcessByID(ObjectName id)
+ public Process getProcessByID(ObjectName procID)
{
- for (Process aux : procs)
- {
- if (aux.getID().equals(id))
- {
- return aux;
- }
- }
- throw new BPMException("Cannot find process: " + id);
+ Process proc = procs.get(procID);
+ return proc;
}
/**
@@ -156,7 +151,7 @@
protected void registerProcess(Process proc)
{
log.debug("registerProcess: " + proc);
- procs.add(proc);
+ procs.put(proc.getID(), proc);
}
/**
@@ -164,13 +159,13 @@
*/
public void destroyProcess(Process proc)
{
- procs.remove(proc);
+ procs.remove(proc.getID());
}
/**
- * Start a Process with a given name
+ * Start a Process with a given process id.
*/
- public abstract ObjectName startProcess(String name, Attachments att);
+ public abstract void startProcess(ObjectName procID, Attachments att);
private String getNamespaceURI(InputStream inStream)
{
Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/SignalManager.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/SignalManager.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/SignalManager.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -47,7 +47,7 @@
private static final Log log = LogFactory.getLog(SignalManager.class);
// The map of registered signal listeners
- private Map<String, Set<SignalListener>> signalListeners = new HashMap<String, Set<SignalListener>>();
+ private Map<String, Set<SignalListener>> listeners = new HashMap<String, Set<SignalListener>>();
/**
* Locate the SignalManager
@@ -64,11 +64,11 @@
public void addSignalListener(String procName, SignalListener listener)
{
log.debug("addSignalListener: " + listener);
- Set<SignalListener> set = signalListeners.get(procName);
+ Set<SignalListener> set = listeners.get(procName);
if (set == null)
{
set = new HashSet<SignalListener>();
- signalListeners.put(procName, set);
+ listeners.put(procName, set);
}
set.add(listener);
}
@@ -79,7 +79,7 @@
public void removeSignalListener(String procName, SignalListener listener)
{
log.debug("removeSignalListener: " + listener);
- Set<SignalListener> set = signalListeners.get(procName);
+ Set<SignalListener> set = listeners.get(procName);
if (set != null)
{
set.remove(listener);
@@ -92,7 +92,7 @@
public void removeSignalListeners(String procName)
{
log.debug("removeSignalListeners: " + procName);
- signalListeners.remove(procName);
+ listeners.remove(procName);
}
/**
@@ -101,7 +101,7 @@
public void throwSignal(String procName, Signal signal)
{
log.debug("throwSignal: " + signal);
- Set<SignalListener> set = signalListeners.get(procName);
+ Set<SignalListener> set = listeners.get(procName);
if (set != null)
{
for (SignalListener listener : set)
Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Signal.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Signal.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Signal.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -40,13 +40,13 @@
*/
public enum SignalType
{
- ENTER_START_EVENT, EXIT_START_EVENT, START_TRIGGER,
- ENTER_EVENT, EXIT_EVENT, EVENT_TRIGGER,
- ENTER_END_EVENT, EXIT_END_EVENT, END_TRIGGER,
- ENTER_GATEWAY, EXIT_GATEWAY,
- ENTER_PROCESS, EXIT_PROCESS,
- ENTER_SUB_PROCESS, EXIT_SUB_PROCESS,
- ENTER_TASK, EXIT_TASK, TASK_TRIGGER
+ SYSTEM_START_EVENT_ENTER, SYSTEM_START_EVENT_EXIT, SYSTEM_START_TRIGGER,
+ SYSTEM_EVENT_ENTER, SYSTEM_EVENT_EXIT, SYSTEM_EVENT_TRIGGER,
+ SYSTEM_END_EVENT_ENTER, SYSTEM_END_EVENT_EXIT, SYSTEM_END_TRIGGER,
+ SYSTEM_GATEWAY_ENTER, SYSTEM_GATEWAY_EXIT,
+ SYSTEM_PROCESS_ENTER, SYSTEM_PROCESS_EXIT,
+ SYSTEM_SUB_PROCESS_ENTER, SYSTEM_SUB_PROCESS_EXIT,
+ SYSTEM_TASK_ENTER, SYSTEM_TASK_EXIT, SYSTEM_TASK_TRIGGER
}
private SignalType type;
Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/test/AbstractAPITestCase.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/test/AbstractAPITestCase.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/test/AbstractAPITestCase.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -43,13 +43,17 @@
import org.jboss.bpm.model.Message;
import org.jboss.bpm.model.Signal;
-public abstract class AbstractAPITestCase extends TestCase implements SignalListener, MessageListener
+public abstract class AbstractAPITestCase extends TestCase
{
// provide logging
- private static final Log log = LogFactory.getLog(AbstractAPITestCase.class);
+ protected final Log log = LogFactory.getLog(getClass());
// Every test case has a deployer
private EmbeddedBeansDeployer deployer;
+ // The embedded SignalListener
+ private SignalListener signalListener;
+ // The embedded MessageListener
+ private MessageListener messageListener;
// The signals caught by this test case
private List<Signal> signals = new ArrayList<Signal>();
// The messages caught by this test case
@@ -62,19 +66,15 @@
protected void setUp() throws Exception
{
super.setUp();
- log.debug("setUp: " + getName());
+ log.debug("setUp: " + getClass().getName() + "." + getName());
deployer = new EmbeddedBeansDeployer();
- deployBeans(getBeansConfig());
signals.clear();
}
@Override
protected void tearDown() throws Exception
{
- log.debug("tearDown: " + getName());
- undeployBeans(getBeansConfig());
- //ProcessManager pm = ProcessManager.locateProcessManager();
- //System.out.println("XXX " + pm.getProcesses());
+ log.debug("tearDown: " + getClass().getName() + "." + getName());
super.tearDown();
}
@@ -112,9 +112,19 @@
return url;
}
- public void catchSignal(Signal signal)
+ public SignalListener getSignalListener()
{
- signals.add(signal);
+ if (signalListener == null)
+ {
+ signalListener = new SignalListener()
+ {
+ public void catchSignal(Signal signal)
+ {
+ signals.add(signal);
+ }
+ };
+ }
+ return signalListener;
}
public List<Signal> getSignals()
@@ -133,17 +143,32 @@
return Collections.unmodifiableList(retSignals);
}
+ public MessageListener getMessageListener()
+ {
+ if (messageListener == null)
+ {
+ messageListener = new MessageListener()
+ {
+ public ObjectName getID()
+ {
+ return getMessageListenerID();
+ }
+
+ public void catchMessage(Message message)
+ {
+ messages.add(message);
+ log.debug("catchMessage: " + message);
+ }
+ };
+ }
+ return messageListener;
+ }
+
public ObjectName getMessageListenerID()
{
- return ObjectNameFactory.create(BPMNElement.ID_DOMAIN, "test", getName());
+ return ObjectNameFactory.create(BPMNElement.ID_DOMAIN, "test", getClass() + "." + getName());
}
- public void catchMessage(Message message)
- {
- messages.add(message);
- log.debug("catchMessage: " + message);
- }
-
public List<Message> getMessages()
{
return Collections.unmodifiableList(messages);
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-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/dialects/stp/src/test/java/org/jboss/bpm/dialect/stp/sequence/SequenceTest.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -44,9 +44,10 @@
{
URL jpdlURL = getResourceURL("sequence/basic-sequence.bpmn");
- // Create a Process through the ProcessManager
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-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ExecutionManagerImpl.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -27,6 +27,7 @@
import org.apache.commons.logging.LogFactory;
import org.jboss.bpm.InvalidProcessException;
import org.jboss.bpm.client.ExecutionManager;
+import org.jboss.bpm.client.ProcessManager;
import org.jboss.bpm.client.SignalManager;
import org.jboss.bpm.model.Process;
import org.jboss.bpm.model.Signal;
@@ -57,10 +58,11 @@
@Override
public void startProcess(Process proc, Attachments att)
{
- ((ProcessImpl)proc).setProcessStatus(ProcessStatus.Active);
+ ProcessImpl procImpl = (ProcessImpl)proc;
+ procImpl.setProcessStatus(ProcessStatus.Active);
SignalManager signalManager = SignalManager.locateSignalManager();
- signalManager.throwSignal(proc.getName(), new Signal(proc.getName(), SignalType.ENTER_PROCESS));
+ signalManager.throwSignal(proc.getName(), new Signal(proc.getName(), SignalType.SYSTEM_PROCESS_ENTER));
final RuntimeProcessImpl rtProc = new RuntimeProcessImpl(proc);
final RunnableProcess runner = new RunnableProcess(rtProc, att);
@@ -145,12 +147,14 @@
finally
{
SignalManager signalManager = SignalManager.locateSignalManager();
- signalManager.throwSignal(procName, new Signal(procName, Signal.SignalType.EXIT_PROCESS));
+ signalManager.throwSignal(procName, new Signal(procName, Signal.SignalType.SYSTEM_PROCESS_EXIT));
if (procStatus == ProcessStatus.Active)
procImpl.setProcessStatus(ProcessStatus.Completed);
- removeRuntimeProcess(procImpl.getID());
+ ProcessManager procManager = ProcessManager.locateProcessManager();
+ procManager.destroyProcess(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-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ProcessManagerImpl.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -24,7 +24,6 @@
// $Id$
import java.util.Map;
-import java.util.Set;
import javax.management.ObjectName;
@@ -36,8 +35,8 @@
import org.jboss.bpm.client.ExecutionManager;
import org.jboss.bpm.client.ProcessManager;
import org.jboss.bpm.model.Process;
-import org.jboss.bpm.model.internal.ProcessImpl;
import org.jboss.bpm.model.Process.ProcessStatus;
+import org.jboss.bpm.model.internal.ProcessImpl;
import org.jboss.bpm.runtime.Attachments;
/**
@@ -68,35 +67,23 @@
super.registerProcess(proc);
}
- public ObjectName startProcess(String name, Attachments att)
+ public void startProcess(ObjectName procID, Attachments att)
{
- Set<Process> procSet = getProcesses(name, ProcessStatus.Ready);
- if (procSet.size() == 0)
- throw new IllegalStateException("Cannot obtain process with name: " + name);
- if (procSet.size() > 1)
- throw new IllegalStateException("Multiple processes with name: " + name);
-
- Process proc = procSet.iterator().next();
- return startProcess(proc, att);
- }
-
- private ObjectName startProcess(Process proc, Attachments att)
- {
- // Register a copy the process instance
- registerProcess(proc.copyProcess());
-
+ Process proc = getProcessByID(procID);
+ if (proc == null)
+ throw new IllegalStateException("Cannot obtain process: " + procID);
+
// Start the process in a thread
ExecutionManager exm = ExecutionManager.locateExecutionManager();
exm.startProcess(proc, att);
-
- return proc.getID();
}
@Override
public ProcessStatus waitForEnd(ObjectName procID, long timeout)
{
- ProcessImpl procImpl = (ProcessImpl)getProcessByID(procID);
- ProcessStatus status = procImpl.getProcessStatus();
+ Process proc = getProcessByID(procID);
+ ProcessImpl procImpl = (ProcessImpl)proc;
+ ProcessStatus status = proc.getProcessStatus();
if (status == ProcessStatus.None || status == ProcessStatus.Ready)
throw new IllegalStateException("Cannot wait for process in state: " + status);
@@ -109,7 +96,7 @@
{
while (forever || now < until)
{
- status = procImpl.getProcessStatus();
+ status = proc.getProcessStatus();
if (status == ProcessStatus.Cancelled || status == ProcessStatus.Completed)
{
return status;
@@ -130,11 +117,6 @@
{
log.warn(ex);
}
- finally
- {
- // Remove the process
- destroyProcess(procImpl);
- }
// Throw timeout exception if it took too long
throw new ProcessTimeoutException("Process timeout for: " + procID);
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/EndEventImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/EndEventImpl.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/EndEventImpl.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -103,12 +103,12 @@
{
public Signal getEnterSignal()
{
- return new Signal(getName(), Signal.SignalType.ENTER_END_EVENT);
+ return new Signal(getName(), Signal.SignalType.SYSTEM_END_EVENT_ENTER);
}
public Signal getExitSignal()
{
- return new Signal(getName(), Signal.SignalType.EXIT_END_EVENT);
+ return new Signal(getName(), Signal.SignalType.SYSTEM_END_EVENT_EXIT);
}
};
}
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/GatewayImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/GatewayImpl.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/GatewayImpl.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -35,6 +35,7 @@
import org.jboss.bpm.model.SequenceFlow;
import org.jboss.bpm.model.Signal;
import org.jboss.bpm.model.SequenceFlow.ConditionType;
+import org.jboss.bpm.model.Signal.SignalType;
import org.jboss.bpm.runtime.ExecutionHandler;
import org.jboss.bpm.runtime.SignalHandler;
import org.jboss.bpm.runtime.Token;
@@ -148,12 +149,12 @@
{
public Signal getEnterSignal()
{
- return new Signal(getName(), Signal.SignalType.ENTER_GATEWAY);
+ return new Signal(getName(), SignalType.SYSTEM_GATEWAY_ENTER);
}
public Signal getExitSignal()
{
- return new Signal(getName(), Signal.SignalType.EXIT_GATEWAY);
+ return new Signal(getName(), SignalType.SYSTEM_GATEWAY_EXIT);
}
};
}
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/IntermediateEventImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/IntermediateEventImpl.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/IntermediateEventImpl.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -95,12 +95,12 @@
{
public Signal getEnterSignal()
{
- return new Signal(getName(), Signal.SignalType.ENTER_EVENT);
+ return new Signal(getName(), Signal.SignalType.SYSTEM_EVENT_ENTER);
}
public Signal getExitSignal()
{
- return new Signal(getName(), Signal.SignalType.EXIT_EVENT);
+ return new Signal(getName(), Signal.SignalType.SYSTEM_EVENT_EXIT);
}
};
}
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-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ProcessImpl.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -195,18 +195,20 @@
public ObjectName startProcess(Attachments att)
{
- ProcessManagerImpl pm = (ProcessManagerImpl)ProcessManager.locateProcessManager();
+ ProcessManager pm = ProcessManager.locateProcessManager();
if (getProcessStatus() != ProcessStatus.Ready)
throw new IllegalStateException("Cannot start process in state: " + getProcessStatus());
// Register the process if needed
- if (pm.getProcesses(getName(), null).size() == 0)
+ if (pm.getProcessByID(getID()) == null)
{
- pm.registerProcess(this);
+ ProcessManagerImpl pmImpl = (ProcessManagerImpl)pm;
+ pmImpl.registerProcess(this);
}
- return pm.startProcess(getName(), att);
+ pm.startProcess(getID(), att);
+ return getID();
}
public void waitForEnd()
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ReceiveTaskImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ReceiveTaskImpl.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ReceiveTaskImpl.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -91,7 +91,7 @@
throw new NotImplementedException();
}
- public ObjectName getMessageListenerID()
+ public ObjectName getID()
{
return getID();
}
@@ -101,6 +101,7 @@
String msgName = message.getName();
if (messageRef.getName().equals(msgName))
{
+ log.debug("catchMessage in " + this + " => " + message);
for (Property prop : messageRef.getProperties())
{
String name = prop.getName();
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/StartEventImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/StartEventImpl.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/StartEventImpl.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -120,12 +120,12 @@
{
public Signal getEnterSignal()
{
- return new Signal("Start", Signal.SignalType.ENTER_START_EVENT);
+ return new Signal("Start", Signal.SignalType.SYSTEM_START_EVENT_ENTER);
}
public Signal getExitSignal()
{
- return new Signal("Start", Signal.SignalType.EXIT_START_EVENT);
+ return new Signal("Start", Signal.SignalType.SYSTEM_START_EVENT_EXIT);
}
};
}
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/SubProcessImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/SubProcessImpl.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/SubProcessImpl.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -55,12 +55,12 @@
{
public Signal getEnterSignal()
{
- return new Signal(getName(), Signal.SignalType.ENTER_SUB_PROCESS);
+ return new Signal(getName(), Signal.SignalType.SYSTEM_SUB_PROCESS_ENTER);
}
public Signal getExitSignal()
{
- return new Signal(getName(), Signal.SignalType.EXIT_SUB_PROCESS);
+ return new Signal(getName(), Signal.SignalType.SYSTEM_SUB_PROCESS_EXIT);
}
};
}
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/TaskImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/TaskImpl.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/TaskImpl.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -63,12 +63,12 @@
{
public Signal getEnterSignal()
{
- return new Signal(getName(), Signal.SignalType.ENTER_TASK);
+ return new Signal(getName(), Signal.SignalType.SYSTEM_TASK_ENTER);
}
public Signal getExitSignal()
{
- return new Signal(getName(), Signal.SignalType.EXIT_TASK);
+ return new Signal(getName(), Signal.SignalType.SYSTEM_TASK_EXIT);
}
};
}
Modified: jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/AirticketProcessBuilder.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -83,11 +83,11 @@
public static final String PROPERTY_IS_AVAILABLE = "isAvailable";
public static final String PROPERTY_IS_OFFER_ACCEPTED = "isOfferAccepted";
- private ObjectName listenerID;
+ private ObjectName msgListenerID;
- public AirticketProcessBuilder(ObjectName listenerID)
+ public AirticketProcessBuilder(ObjectName msgListenerID)
{
- this.listenerID = listenerID;
+ this.msgListenerID = msgListenerID;
}
public Process buildProcess()
@@ -211,7 +211,7 @@
// Add InvalidDataMsg
procBuilder.addMessage(MESSAGE_INVALID_DATA).
- addToRef(listenerID).
+ addToRef(msgListenerID).
addProperty(PROPERTY_NAME, null, true).
addProperty(PROPERTY_FROM, null, true).
addProperty(PROPERTY_TO, null, true).
@@ -220,7 +220,7 @@
// Add NotAvailableMsg
procBuilder.addMessage(MESSAGE_NOT_AVAILABLE).
- addToRef(listenerID).
+ addToRef(msgListenerID).
addProperty(PROPERTY_NAME, null, true).
addProperty(PROPERTY_FROM, null, true).
addProperty(PROPERTY_TO, null, true).
@@ -229,7 +229,7 @@
// Add OfferMsg
procBuilder.addMessage(MESSAGE_OFFER).
- addToRef(listenerID).
+ addToRef(msgListenerID).
addProperty(PROPERTY_NAME, null, true).
addProperty(PROPERTY_FROM, null, true).
addProperty(PROPERTY_TO, null, true).
@@ -245,7 +245,7 @@
// Add ConfirmMsg
procBuilder.addMessage(MESSAGE_CONFIRM).
- addToRef(listenerID).
+ addToRef(msgListenerID).
addProperty(PROPERTY_NAME, null, true).
addProperty(PROPERTY_FROM, null, true).
addProperty(PROPERTY_TO, null, true).
Modified: jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -74,7 +74,7 @@
if (httpSession.isNew() == false)
{
ProcessManager pm = ProcessManager.locateProcessManager();
- procID = pm.startProcess(AirticketProcessBuilder.PROCESS_NAME, null);
+ pm.startProcess(procID, null);
httpSession.setAttribute("procID", procID);
}
@@ -194,7 +194,7 @@
System.out.println("catchMessage: " + message);
}
- public ObjectName getMessageListenerID()
+ public ObjectName getID()
{
return listenerID;
}
Modified: jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AbstractAirticketTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AbstractAirticketTest.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/samples/airticket/server/src/test/java/org/jboss/bpm/samples/airticket/AbstractAirticketTest.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -28,13 +28,10 @@
import org.jboss.bpm.client.MessageListener;
import org.jboss.bpm.client.MessageManager;
import org.jboss.bpm.client.ObjectNameFactory;
-import org.jboss.bpm.client.SignalListener;
-import org.jboss.bpm.client.SignalManager;
import org.jboss.bpm.model.Message;
import org.jboss.bpm.model.MessageBuilder;
import org.jboss.bpm.model.MessageBuilderFactory;
import org.jboss.bpm.model.Process;
-import org.jboss.bpm.model.Signal;
import org.jboss.bpm.test.DefaultEngineTestCase;
/**
@@ -45,6 +42,9 @@
*/
public abstract class AbstractAirticketTest extends DefaultEngineTestCase
{
+ private MessageManager messageManager = MessageManager.locateMessageManager();
+ private AirticketMessageListener msgListener;
+
@Override
public ObjectName getMessageListenerID()
{
@@ -55,46 +55,36 @@
protected void setUp() throws Exception
{
super.setUp();
+ msgListener = new AirticketMessageListener(getMessageListenerID());
+ messageManager.addMessageListener(msgListener);
+ }
- // Add a signal listener
- SignalListener sl = new SignalListener()
- {
- public void catchSignal(Signal signal)
- {
- // System.out.println(signal);
- }
- };
- SignalManager engine = SignalManager.locateSignalManager();
- engine.addSignalListener("Airticket", sl);
+ @Override
+ protected void tearDown() throws Exception
+ {
+ messageManager.removeMessageListener(getMessageListenerID());
+ super.tearDown();
}
protected void runProcessInvalidData(Process proc)
{
- MessageManager mm = MessageManager.locateMessageManager();
- AirticketMessageListener msgListener = new AirticketMessageListener(getMessageListenerID());
- mm.addMessageListener(msgListener);
-
- mm.sendMessage(proc.getID(), "ReceiveReq", getInvalidRequestMessage());
+ messageManager.sendMessage(proc.getID(), AirticketProcessBuilder.TASK_RECEIVE_REQUEST, getInvalidRequestMessage());
proc.waitForEnd();
Message confirmMessage = msgListener.getConfirmMessage();
assertNotNull("Expected confirm message", confirmMessage);
- String price = confirmMessage.getPropertyValue("Price");
+ String price = confirmMessage.getPropertyValue(AirticketProcessBuilder.PROPERTY_PRICE);
assertEquals("222", price);
}
protected void runProcessValidData(Process proc)
{
- MessageManager mm = MessageManager.locateMessageManager();
- AirticketMessageListener msgListener = new AirticketMessageListener(getMessageListenerID());
- mm.addMessageListener(msgListener);
-
- mm.sendMessage(proc.getID(), "ReceiveReq", getValidRequestMessage());
+ messageManager.sendMessage(proc.getID(), AirticketProcessBuilder.TASK_RECEIVE_REQUEST, getValidRequestMessage());
proc.waitForEnd();
Message confirmMessage = msgListener.getConfirmMessage();
assertNotNull("Expected confirm message", confirmMessage);
- String price = confirmMessage.getPropertyValue("Price");
+ String price = confirmMessage.getPropertyValue(AirticketProcessBuilder.PROPERTY_PRICE);
assertEquals("222", price);
}
@@ -102,12 +92,12 @@
{
MessageBuilderFactory msgFactory = MessageBuilderFactory.newInstance();
MessageBuilder msgBuilder = msgFactory.newMessageBuilder();
- Message msg = msgBuilder.newMessage("ReqDataMsg").
- addProperty("Name", "Kermit").
- addProperty("From", "MUC").
- addProperty("To", "NYC").
- addProperty("Date", "25-Jul-2008").
- addProperty("Seats", "2").getMessage();
+ Message msg = msgBuilder.newMessage(AirticketProcessBuilder.MESSAGE_REQ_DATA).
+ addProperty(AirticketProcessBuilder.PROPERTY_NAME, "Kermit").
+ addProperty(AirticketProcessBuilder.PROPERTY_FROM, "MUC").
+ addProperty(AirticketProcessBuilder.PROPERTY_TO, "NYC").
+ addProperty(AirticketProcessBuilder.PROPERTY_DATE, "25-Jul-2008").
+ addProperty(AirticketProcessBuilder.PROPERTY_SEATS, "2").getMessage();
return msg;
}
@@ -115,13 +105,12 @@
{
MessageBuilderFactory msgFactory = MessageBuilderFactory.newInstance();
MessageBuilder msgBuilder = msgFactory.newMessageBuilder();
- Message msg = msgBuilder.newMessage("ReqDataMsg").
- addToRef(getMessageListenerID()).
- addProperty("Name", "Kermit").
- addProperty("From", "MUC").
- addProperty("To", "NYC").
- addProperty("Date", "25-Jul-2008").
- addProperty("Seats", "0"). // Invalid number of seats
+ Message msg = msgBuilder.newMessage(AirticketProcessBuilder.MESSAGE_REQ_DATA).
+ addProperty(AirticketProcessBuilder.PROPERTY_NAME, "Kermit").
+ addProperty(AirticketProcessBuilder.PROPERTY_FROM, "MUC").
+ addProperty(AirticketProcessBuilder.PROPERTY_TO, "NYC").
+ addProperty(AirticketProcessBuilder.PROPERTY_DATE, "25-Jul-2008").
+ addProperty(AirticketProcessBuilder.PROPERTY_SEATS, "0"). // Invalid number of seats
getMessage();
return msg;
}
@@ -130,10 +119,10 @@
{
MessageBuilderFactory msgFactory = MessageBuilderFactory.newInstance();
MessageBuilder msgBuilder = msgFactory.newMessageBuilder();
- Message msg = msgBuilder.newMessage("AcceptOfferMsg").
- addProperty("CreditCard", "1234-1234-1234-1234").
- addProperty("Expire", "25-Jul-2012").
- addProperty("isOfferAccepted", "true").
+ Message msg = msgBuilder.newMessage(AirticketProcessBuilder.MESSAGE_ACCEPT_OFFER).
+ addProperty(AirticketProcessBuilder.PROPERTY_CREDIT_CARD, "1234-1234-1234-1234").
+ addProperty(AirticketProcessBuilder.PROPERTY_EXPIRE, "25-Jul-2012").
+ addProperty(AirticketProcessBuilder.PROPERTY_IS_OFFER_ACCEPTED, "true").
getMessage();
return msg;
}
@@ -155,17 +144,18 @@
public void catchMessage(Message msg)
{
+ log.debug("catchMessage: " + msg);
ObjectName procID = msg.getFrom().getProcess().getID();
MessageManager mm = MessageManager.locateMessageManager();
- if (msg.getName().equals("InvalidDataMsg"))
- mm.sendMessage(procID, "ReceiveReq", getValidRequestMessage());
- else if (msg.getName().equals("OfferMsg"))
- mm.sendMessage(procID, "ReceiveOrder", getAcceptOfferMessage());
- else if (msg.getName().equals("ConfirmMsg"))
+ if (msg.getName().equals(AirticketProcessBuilder.MESSAGE_INVALID_DATA))
+ mm.sendMessage(procID, AirticketProcessBuilder.TASK_RECEIVE_REQUEST, getValidRequestMessage());
+ else if (msg.getName().equals(AirticketProcessBuilder.MESSAGE_OFFER))
+ mm.sendMessage(procID, AirticketProcessBuilder.TASK_RECEIVE_ORDER, getAcceptOfferMessage());
+ else if (msg.getName().equals(AirticketProcessBuilder.MESSAGE_CONFIRM))
confirmMessage = msg;
}
- public ObjectName getMessageListenerID()
+ public ObjectName getID()
{
return listenerID;
}
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-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/engine/EngineShutdownTest.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -28,6 +28,7 @@
import org.jboss.bpm.EngineShutdownException;
import org.jboss.bpm.client.ProcessEngine;
import org.jboss.bpm.client.ProcessManager;
+import org.jboss.bpm.model.Process;
import org.jboss.bpm.test.DefaultEngineTestCase;
/**
@@ -58,7 +59,8 @@
{
// Create a Process through the ProcessManager
ProcessManager pm = ProcessManager.locateProcessManager();
- assertNotNull("Process expected", pm.createProcess(jpdlURL));
+ Process proc = pm.createProcess(jpdlURL);
+ assertNotNull("Process expected", proc);
// Try to create a Process during shutdown
try
@@ -70,5 +72,9 @@
{
assertEquals("Cannot create new Process while engine is shutting down", ex.getMessage());
}
+ finally
+ {
+ pm.destroyProcess(proc);
+ }
}
}
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeTest.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveMergeTest.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -54,7 +54,7 @@
{
super.setUp();
signalManager = SignalManager.locateSignalManager();
- signalManager.addSignalListener(getName(), this);
+ signalManager.addSignalListener(getName(), getSignalListener());
}
public void testGateA() throws Exception
@@ -63,11 +63,11 @@
proc.startProcess();
// Add a signal listener that sends the other start trigger signal
- Signal startTrigger = new Signal(getName(), SignalType.START_TRIGGER, "B");
+ Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B");
signalManager.addSignalListener(getName(), new MergeListener(getName(), startTrigger));
// Send start trigger signal
- signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.START_TRIGGER, "A"));
+ signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
// Wait for the process to end
proc.waitForEnd();
@@ -82,11 +82,11 @@
proc.startProcess();
// Add a signal listener that sends the other start trigger signal
- Signal startTrigger = new Signal(getName(), SignalType.START_TRIGGER, "A");
+ Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A");
signalManager.addSignalListener(getName(), new MergeListener(getName(), startTrigger));
// Send start trigger signal
- signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.START_TRIGGER, "B"));
+ signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B"));
// Wait for the process to end
proc.waitForEnd();
@@ -99,10 +99,10 @@
{
ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
EventBuilder eventBuilder = procBuilder.addProcess(getName()).addStartEvent("StartA");
- eventBuilder.addSignalTrigger(SignalType.START_TRIGGER, "A").addSequenceFlow("TaskA");
+ eventBuilder.addSignalTrigger(SignalType.SYSTEM_START_TRIGGER, "A").addSequenceFlow("TaskA");
procBuilder.addTask("TaskA").addExecutionHandler(TaskA.class).addSequenceFlow("Merge");
eventBuilder = procBuilder.addStartEvent("StartB");
- eventBuilder.addSignalTrigger(SignalType.START_TRIGGER, "B").addSequenceFlow("TaskB");
+ eventBuilder.addSignalTrigger(SignalType.SYSTEM_START_TRIGGER, "B").addSequenceFlow("TaskB");
procBuilder.addTask("TaskB").addExecutionHandler(TaskB.class).addSequenceFlow("Merge");
procBuilder.addGateway("Merge", GatewayType.Exclusive).addSequenceFlow("TaskC");
procBuilder.addTask("TaskC").addExecutionHandler(TaskC.class).addSequenceFlow("End");
@@ -124,7 +124,7 @@
public void catchSignal(Signal signal)
{
- if (signal.getType() == SignalType.ENTER_GATEWAY)
+ if (signal.getType() == SignalType.SYSTEM_GATEWAY_ENTER)
{
if (nextSignal != null)
{
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitTest.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveSplitTest.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -50,7 +50,7 @@
{
super.setUp();
SignalManager signalManager = SignalManager.locateSignalManager();
- signalManager.addSignalListener(getName(), this);
+ signalManager.addSignalListener(getName(), getSignalListener());
}
public void testGateA() throws Exception
@@ -62,7 +62,7 @@
proc.startProcess(att);
proc.waitForEnd();
- List<Signal> endSignals = getSignals(Signal.SignalType.EXIT_END_EVENT);
+ List<Signal> endSignals = getSignals(Signal.SignalType.SYSTEM_END_EVENT_EXIT);
assertEquals(1, endSignals.size());
assertEquals("EndA", endSignals.get(0).getFromRef());
}
@@ -76,7 +76,7 @@
proc.startProcess(att);
proc.waitForEnd();
- List<Signal> endSignals = getSignals(Signal.SignalType.EXIT_END_EVENT);
+ List<Signal> endSignals = getSignals(Signal.SignalType.SYSTEM_END_EVENT_EXIT);
assertEquals(1, endSignals.size());
assertEquals("EndB", endSignals.get(0).getFromRef());
}
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeTest.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveMergeTest.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -41,7 +41,7 @@
{
super.setUp();
SignalManager signalManager = SignalManager.locateSignalManager();
- signalManager.addSignalListener(getName(), this);
+ signalManager.addSignalListener(getName(), getSignalListener());
}
public void testGateA() throws Exception
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitTest.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveSplitTest.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -40,7 +40,7 @@
{
super.setUp();
SignalManager signalManager = SignalManager.locateSignalManager();
- signalManager.addSignalListener(getName(), this);
+ signalManager.addSignalListener(getName(), getSignalListener());
}
public void testGateA() throws Exception
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelMergeTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelMergeTest.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelMergeTest.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -41,7 +41,7 @@
{
super.setUp();
SignalManager signalManager = SignalManager.locateSignalManager();
- signalManager.addSignalListener(getName(), this);
+ signalManager.addSignalListener(getName(), getSignalListener());
}
public void testGateA() throws Exception
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelSplitTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelSplitTest.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelSplitTest.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -48,7 +48,7 @@
{
super.setUp();
SignalManager signalManager = SignalManager.locateSignalManager();
- signalManager.addSignalListener(getName(), this);
+ signalManager.addSignalListener(getName(), getSignalListener());
}
public void testParallelSplit() throws Exception
@@ -58,7 +58,7 @@
proc.waitForEnd();
// Validate received signals
- List<Signal> signals = getSignals(SignalType.ENTER_END_EVENT);
+ List<Signal> signals = getSignals(SignalType.SYSTEM_END_EVENT_ENTER);
assertEquals(2, signals.size());
String fromRefs = signals.get(0).getFromRef() + signals.get(1).getFromRef();
assertTrue("Unexpected from refs: " + fromRefs, fromRefs.contains("EndA"));
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/process/ProcessStartTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/process/ProcessStartTest.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/process/ProcessStartTest.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -43,6 +43,7 @@
Process proc = getProcess();
ObjectName procID = proc.getID();
assertEquals(procID, proc.startProcess());
+ proc.waitForEnd();
}
public void testStartTwice() throws Exception
@@ -50,7 +51,6 @@
Process proc = getProcess();
ObjectName procID = proc.getID();
assertEquals(procID, proc.startProcess());
-
try
{
proc.startProcess();
@@ -60,6 +60,7 @@
{
// expected;
}
+ proc.waitForEnd();
}
private Process getProcess()
Copied: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/processmanager/ProcessManagerTest.java (from rev 1877, jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/processmanager/ProcessRegistryTest.java)
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/processmanager/ProcessManagerTest.java (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/processmanager/ProcessManagerTest.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -0,0 +1,66 @@
+/*
+ * 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.cts.processmanager;
+
+// $Id$
+
+import javax.management.ObjectName;
+
+import org.jboss.bpm.client.ProcessManager;
+import org.jboss.bpm.model.Process;
+import org.jboss.bpm.model.ProcessBuilder;
+import org.jboss.bpm.model.ProcessBuilderFactory;
+import org.jboss.bpm.test.DefaultEngineTestCase;
+
+/**
+ * Test the ProcessManager
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 08-Jul-2008
+ */
+public class ProcessManagerTest extends DefaultEngineTestCase
+{
+ public void testStartProcess() throws Exception
+ {
+ Process proc = getProcess();
+ ObjectName procID = proc.getID();
+
+ ProcessManager pm = ProcessManager.locateProcessManager();
+ assertNull("A process created through the builder is not registered automatically", pm.getProcessByID(procID));
+
+ // Start the process, which automatically adds it to the registery
+ assertEquals(procID, proc.startProcess());
+ assertNotNull(pm.getProcessByID(procID));
+
+ proc.waitForEnd();
+
+ assertNull("A terminated process is removed from the registry", pm.getProcessByID(procID));
+ }
+
+ private Process getProcess()
+ {
+ ProcessBuilder builder = ProcessBuilderFactory.newInstance().newProcessBuilder();
+ builder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("taskA");
+ Process proc = builder.addTask("taskA").addSequenceFlow("end").addEndEvent("end").getProcess();
+ return proc;
+ }
+}
Deleted: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/processmanager/ProcessRegistryTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/processmanager/ProcessRegistryTest.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/processmanager/ProcessRegistryTest.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -1,82 +0,0 @@
-/*
- * 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.cts.processmanager;
-
-// $Id$
-
-import javax.management.ObjectName;
-
-import org.jboss.bpm.client.ProcessManager;
-import org.jboss.bpm.model.Process;
-import org.jboss.bpm.model.ProcessBuilder;
-import org.jboss.bpm.model.ProcessBuilderFactory;
-import org.jboss.bpm.test.DefaultEngineTestCase;
-
-/**
- * Test the ProcessRegistry
- *
- * @author thomas.diesler at jboss.com
- * @since 08-Jul-2008
- */
-public class ProcessRegistryTest extends DefaultEngineTestCase
-{
- public void testStartProcess() throws Exception
- {
- Process proc = getProcess();
- ObjectName procID = proc.getID();
-
- ProcessManager pm = ProcessManager.locateProcessManager();
- try
- {
- pm.getProcessByID(procID);
- fail("A process created through the builder is not registered automatically");
- }
- catch (RuntimeException ex)
- {
- // expected
- }
-
- // Start the process, which automatically adds it to the registery
- assertEquals(procID, proc.startProcess());
- assertNotNull(pm.getProcessByID(procID));
-
- proc.waitForEnd();
-
- try
- {
- pm.getProcessByID(procID);
- fail("A terminated process is removed from the registry");
- }
- catch (RuntimeException ex)
- {
- // expected
- }
- }
-
- private Process getProcess()
- {
- ProcessBuilder builder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- Process proc = builder.addProcess(getName()).addStartEvent("Start").addSequenceFlow("taskA").
- addTask("taskA").addSequenceFlow("end").addEndEvent("end").getProcess();
- return proc;
- }
-}
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/sequence/BasicSequenceTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/sequence/BasicSequenceTest.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/sequence/BasicSequenceTest.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -48,7 +48,7 @@
{
super.setUp();
SignalManager signalManager = SignalManager.locateSignalManager();
- signalManager.addSignalListener(getName(), this);
+ signalManager.addSignalListener(getName(), getSignalListener());
}
/**
@@ -86,13 +86,13 @@
// Validate received signals
List<Signal> signals = getSignals();
- assertEquals(Signal.SignalType.ENTER_PROCESS, signals.get(0).getType());
- assertEquals(Signal.SignalType.ENTER_START_EVENT, signals.get(1).getType());
- assertEquals(Signal.SignalType.EXIT_START_EVENT, signals.get(2).getType());
- assertEquals(Signal.SignalType.ENTER_TASK, signals.get(3).getType());
- assertEquals(Signal.SignalType.EXIT_TASK, signals.get(4).getType());
- assertEquals(Signal.SignalType.ENTER_END_EVENT, signals.get(5).getType());
- assertEquals(Signal.SignalType.EXIT_END_EVENT, signals.get(6).getType());
- assertEquals(Signal.SignalType.EXIT_PROCESS, signals.get(7).getType());
+ assertEquals(Signal.SignalType.SYSTEM_PROCESS_ENTER, signals.get(0).getType());
+ assertEquals(Signal.SignalType.SYSTEM_START_EVENT_ENTER, signals.get(1).getType());
+ assertEquals(Signal.SignalType.SYSTEM_START_EVENT_EXIT, signals.get(2).getType());
+ assertEquals(Signal.SignalType.SYSTEM_TASK_ENTER, signals.get(3).getType());
+ assertEquals(Signal.SignalType.SYSTEM_TASK_EXIT, signals.get(4).getType());
+ assertEquals(Signal.SignalType.SYSTEM_END_EVENT_ENTER, signals.get(5).getType());
+ assertEquals(Signal.SignalType.SYSTEM_END_EVENT_EXIT, signals.get(6).getType());
+ assertEquals(Signal.SignalType.SYSTEM_PROCESS_EXIT, signals.get(7).getType());
}
}
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/task/BasicTaskTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/task/BasicTaskTest.java 2008-08-13 11:06:27 UTC (rev 1878)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/task/BasicTaskTest.java 2008-08-13 13:04:26 UTC (rev 1879)
@@ -48,7 +48,7 @@
{
super.setUp();
SignalManager signalManager = SignalManager.locateSignalManager();
- signalManager.addSignalListener(getName(), this);
+ signalManager.addSignalListener(getName(), getSignalListener());
}
/**
@@ -86,13 +86,13 @@
// Validate received signals
List<Signal> signals = getSignals();
- assertEquals(Signal.SignalType.ENTER_PROCESS, signals.get(0).getType());
- assertEquals(Signal.SignalType.ENTER_START_EVENT, signals.get(1).getType());
- assertEquals(Signal.SignalType.EXIT_START_EVENT, signals.get(2).getType());
- assertEquals(Signal.SignalType.ENTER_TASK, signals.get(3).getType());
- assertEquals(Signal.SignalType.EXIT_TASK, signals.get(4).getType());
- assertEquals(Signal.SignalType.ENTER_END_EVENT, signals.get(5).getType());
- assertEquals(Signal.SignalType.EXIT_END_EVENT, signals.get(6).getType());
- assertEquals(Signal.SignalType.EXIT_PROCESS, signals.get(7).getType());
+ assertEquals(Signal.SignalType.SYSTEM_PROCESS_ENTER, signals.get(0).getType());
+ assertEquals(Signal.SignalType.SYSTEM_START_EVENT_ENTER, signals.get(1).getType());
+ assertEquals(Signal.SignalType.SYSTEM_START_EVENT_EXIT, signals.get(2).getType());
+ assertEquals(Signal.SignalType.SYSTEM_TASK_ENTER, signals.get(3).getType());
+ assertEquals(Signal.SignalType.SYSTEM_TASK_EXIT, signals.get(4).getType());
+ assertEquals(Signal.SignalType.SYSTEM_END_EVENT_ENTER, signals.get(5).getType());
+ assertEquals(Signal.SignalType.SYSTEM_END_EVENT_EXIT, signals.get(6).getType());
+ assertEquals(Signal.SignalType.SYSTEM_PROCESS_EXIT, signals.get(7).getType());
}
}
More information about the jbpm-commits
mailing list