[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