[jbpm-commits] JBoss JBPM SVN: r1743 - in jbossbpm/spec/trunk/modules: dialects/stp/src/test/resources and 8 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Jul 29 05:12:55 EDT 2008


Author: thomas.diesler at jboss.com
Date: 2008-07-29 05:12:55 -0400 (Tue, 29 Jul 2008)
New Revision: 1743

Added:
   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/SignalManager.java
   jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/MessageManagerImpl.java
   jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/SignalManagerImpl.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/ProcessEngine.java
   jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessManager.java
   jbossbpm/spec/trunk/modules/dialects/stp/src/test/resources/jbpm-beans.xml
   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/ProcessEngineImpl.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/ActivityImpl.java
   jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/MessageImpl.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/SendTaskImpl.java
   jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/TaskBuilderImpl.java
   jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/client/ProcessEngineLocatorTest.java
   jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/airticket/AirticketTest.java
   jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/parallelsplit/ParallelSplitTest.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
   jbossbpm/spec/trunk/modules/testsuite/src/test/resources/jbpm-beans.xml
Log:
Implement SendTask

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-07-29 08:43:03 UTC (rev 1742)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ExecutionManager.java	2008-07-29 09:12:55 UTC (rev 1743)
@@ -39,31 +39,26 @@
  */
 public abstract class ExecutionManager
 {
-  // Injected through the MC
-  protected ProcessEngine engine;
-
   // Hide public constructor
   protected ExecutionManager()
   {
   }
 
+  /** 
+   * Get the ProcessEngine
+   */
+  public ProcessEngine getProcessEngine()
+  {
+    return ProcessEngineLocator.locateProcessEngine();
+  }
+  
   /**
    * Start the Process and return a Future
    * @param proc The Process to start
    * @param att The Attachments in the ExecutionContext
-   * @return The Future from which to obtain the process result
    */
   public abstract void startProcess(Process proc, Attachments att);
   
-  /**
-   * Locate the signal manager
-   */
-  public static ExecutionManager locateExecutionManager()
-  {
-    ProcessEngine engine = ProcessEngineLocator.locateProcessEngine();
-    return engine.getExecutionManager();
-  }
-
   protected ExecutionHandler getExecutionHandler(FlowObject target)
   {
     HandlerSupport exfo = getHandlerSupport(target);

Added: 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	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/MessageManager.java	2008-07-29 09:12:55 UTC (rev 1743)
@@ -0,0 +1,130 @@
+/*
+ * 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.client;
+
+//$Id$
+
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.management.ObjectName;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jboss.bpm.model.FlowObject;
+import org.jboss.bpm.model.Message;
+import org.jboss.bpm.model.Process;
+import org.jboss.bpm.model.Task;
+
+/**
+ * The ProcessEngine sends mesages through the MessageManager. 
+ * <p/> 
+ * A @{link Message} has an ID and is targeted to a
+ * specific @{limk Participant}. A component can register a @{link MessageListener} with the MessageManager.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 18-Jun-2008
+ */
+public class MessageManager
+{
+  // provide logging
+  private static final Log log = LogFactory.getLog(MessageManager.class);
+
+  // The set of registered message listeners
+  private Set<MessageListener> messageListeners = new HashSet<MessageListener>();
+
+  /**
+   * Get the ProcessEngine
+   */
+  public ProcessEngine getProcessEngine()
+  {
+    return ProcessEngineLocator.locateProcessEngine();
+  }
+
+  /**
+   * Locate the MessageManager
+   */
+  public static MessageManager locateMessageManager()
+  {
+    ProcessEngine engine = ProcessEngineLocator.locateProcessEngine();
+    return engine.getMessageManager();
+  }
+  
+  /**
+   * Add a MessageListener
+   */
+  public void addMessageListener(MessageListener listener)
+  {
+    log.debug("addMessageListener: " + listener);
+    messageListeners.add(listener);
+  }
+
+  /**
+   * Remove an MessageListener
+   */
+  public void removeMessageListener(MessageListener listener)
+  {
+    log.debug("removeMessageListener: " + listener);
+    messageListeners.remove(listener);
+  }
+
+  /**
+   * Send a message to a given {@link Task} or @{link Event}
+   */
+  public void sendMessage(ObjectName procID, String targetName, Message msg)
+  {
+    ProcessManager pm = getProcessEngine().getProcessManager();
+    Process proc = pm.getProcessByID(procID);
+    FlowObject target = proc.findFlowObject(targetName);
+    if (target == null)
+      throw new IllegalArgumentException("Cannot find message target: " + targetName);
+    if (target instanceof MessageListener == false)
+      throw new IllegalArgumentException("Message target is not a valid message receiver: " + targetName);
+
+    MessageListener msgListener = (MessageListener)target;
+    msgListener.catchMessage(msg);
+  }
+
+  /**
+   * Send a message to a given {@link MessageListener}
+   */
+  public void sendMessage(ObjectName targetID, Message msg)
+  {
+    MessageListener msgListener = null;
+    for (MessageListener auxListener : messageListeners)
+    {
+      if (auxListener.getMessageListenerID().equals(targetID))
+      {
+        msgListener = auxListener;
+        break;
+      }
+    }
+    if (msgListener != null)
+    {
+      msgListener.catchMessage(msg);
+    }
+    else
+    {
+      log.warn("No message listener registered: " + targetID);
+    }
+  }
+}
\ No newline at end of file


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

Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessEngine.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessEngine.java	2008-07-29 08:43:03 UTC (rev 1742)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessEngine.java	2008-07-29 09:12:55 UTC (rev 1743)
@@ -21,19 +21,8 @@
  */
 package org.jboss.bpm.client;
 
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import javax.management.ObjectName;
-
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.bpm.model.FlowObject;
-import org.jboss.bpm.model.Message;
-import org.jboss.bpm.model.Process;
-import org.jboss.bpm.model.Signal;
 
 // $Id$
 
@@ -57,14 +46,13 @@
   protected ProcessManager processManager;
   // Injected through the MC
   protected ExecutionManager executionManager;
+  // Injected through the MC
+  protected SignalManager signalManager;
+  // Injected through the MC
+  protected MessageManager messageManager;
   // Flag to indicate that the Engine is shutting down
   private boolean prepareForShutdown;
 
-  // The map of registered signal listeners
-  private Map<String, Set<SignalListener>> signalListeners = new HashMap<String, Set<SignalListener>>();
-  // The set of registered message listeners
-  private Set<MessageListener> messageListeners = new HashSet<MessageListener>();
-
   // Hide public constructor
   protected ProcessEngine()
   {
@@ -103,7 +91,6 @@
   {
     if (processManager == null)
       throw new IllegalStateException("ProcessManager not available through kernel configuration");
-
     return processManager;
   }
 
@@ -116,116 +103,30 @@
   {
     if (executionManager == null)
       throw new IllegalStateException("ExecutionManager not available through kernel configuration");
-
     return executionManager;
   }
 
   /**
-   * Add a SignalListener for a given process
+   * Get the configured instance of the SignalManager
+   * 
+   * @return The SignalManager
    */
-  public void addSignalListener(String procName, SignalListener listener)
+  public SignalManager getSignalManager()
   {
-    log.debug("addSignalListener: " + listener);
-    Set<SignalListener> set = signalListeners.get(procName);
-    if (set == null)
-    {
-      set = new HashSet<SignalListener>();
-      signalListeners.put(procName, set);
-    }
-    set.add(listener);
+    if (signalManager == null)
+      throw new IllegalStateException("SignalManager not available through kernel configuration");
+    return signalManager;
   }
 
   /**
-   * Remove an SignalListener for a given process
+   * Get the configured instance of the MessageManager
+   * 
+   * @return The MessageManager
    */
-  public void removeSignalListener(String procName, SignalListener listener)
+  public MessageManager getMessageManager()
   {
-    log.debug("removeSignalListener: " + listener);
-    Set<SignalListener> set = signalListeners.get(procName);
-    if (set != null)
-    {
-      set.remove(listener);
-    }
+    if (messageManager == null)
+      throw new IllegalStateException("MessageManager not available through kernel configuration");
+    return messageManager;
   }
-
-  /** Remove all SignalListener for a given process */
-  public void removeSignalListeners(String procName)
-  {
-    log.debug("removeSignalListeners: " + procName);
-    signalListeners.remove(procName);
-  }
-
-  /** Throw a signal to all registered listeners */
-  public void throwSignal(Signal signal)
-  {
-    log.debug("throwSignal: " + signal);
-    String procName = signal.getProcessName();
-    Set<SignalListener> set = signalListeners.get(procName);
-    if (set != null)
-    {
-      for (SignalListener listener : set)
-      {
-        listener.catchSignal(signal);
-      }
-    }
-  }
-
-  /**
-   * Add a MessageListener
-   */
-  public void addMessageListener(MessageListener listener)
-  {
-    log.debug("addMessageListener: " + listener);
-    messageListeners.add(listener);
-  }
-
-  /**
-   * Remove an MessageListener
-   */
-  public void removeMessageListener(MessageListener listener)
-  {
-    log.debug("removeMessageListener: " + listener);
-    messageListeners.remove(listener);
-  }
-
-  /**
-   * Send a message to a given {@link Task} or @{link Event}
-   */
-  public void sendMessage(ObjectName procID, String targetName, Message msg)
-  {
-    ProcessManager pm = ProcessManager.locateProcessManager();
-    Process proc = pm.getProcessByID(procID);
-    FlowObject target = proc.findFlowObject(targetName);
-    if (target == null)
-      throw new IllegalArgumentException("Cannot find message target: " + targetName);
-    if (target instanceof MessageListener == false)
-      throw new IllegalArgumentException("Message target is not a valid message receiver: " + targetName);
-
-    MessageListener msgListener = (MessageListener)target;
-    msgListener.catchMessage(msg);
-  }
-
-  /**
-   * Send a message to a given {@link MessageListener}
-   */
-  public void sendMessage(ObjectName listenerID, Message msg)
-  {
-    MessageListener msgListener = null;
-    for (MessageListener auxListener : messageListeners)
-    {
-      if (auxListener.getMessageListenerID().equals(listenerID))
-      {
-        msgListener = auxListener;
-        break;
-      }
-    }
-    if (msgListener != null)
-    {
-      msgListener.catchMessage(msg);
-    }
-    else
-    {
-      log.warn("No message listener registered: " + listenerID);
-    }
-  }
 }
\ 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-07-29 08:43:03 UTC (rev 1742)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/ProcessManager.java	2008-07-29 09:12:55 UTC (rev 1743)
@@ -58,8 +58,6 @@
   // provide logging
   private static final Log log = LogFactory.getLog(ProcessManager.class);
 
-  // Injected through the MC
-  protected ProcessEngine engine;
   // The map of registerd dialect handlers
   protected Map<String, DialectHandler> dialectHandlers;
   // The dialect registry
@@ -72,32 +70,29 @@
   {
   }
 
-  /**
-   * Get the associated process engine
+  /** 
+   * Get the ProcessEngine
    */
   public ProcessEngine getProcessEngine()
   {
-    if (engine == null)
-      throw new IllegalStateException("ProcessEngine not available through kernel configuration");
-
-    return engine;
+    return ProcessEngineLocator.locateProcessEngine();
   }
-
+  
   /**
-   * Locate the process definition manager
+   * Locate the ProcessManager
    */
   public static ProcessManager locateProcessManager()
   {
     ProcessEngine engine = ProcessEngineLocator.locateProcessEngine();
     return engine.getProcessManager();
   }
-
+  
   /**
    * Create a Process from a XML string in one of the supported formats
    */
   public final Process createProcess(String pXML)
   {
-    if (engine.isPrepareForShutdown())
+    if (getProcessEngine().isPrepareForShutdown())
       throw new EngineShutdownException("Cannot create new Process while engine is shutting down");
 
     String nsURI = getNamespaceURI(new ByteArrayInputStream(pXML.getBytes()));
@@ -111,7 +106,7 @@
    */
   public final Process createProcess(URL pURL) throws IOException
   {
-    if (engine.isPrepareForShutdown())
+    if (getProcessEngine().isPrepareForShutdown())
       throw new EngineShutdownException("Cannot create new Process while engine is shutting down");
 
     String nsURI = getNamespaceURI(pURL.openStream());

Added: 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	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/SignalManager.java	2008-07-29 09:12:55 UTC (rev 1743)
@@ -0,0 +1,122 @@
+/*
+ * 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.client;
+
+//$Id$
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jboss.bpm.model.Signal;
+
+/**
+ * The ProcessEngine sends signals through the SignalManager
+ * <p/>
+ * A @{link Signal} is like an undirected flare shot up into the air. 
+ * A component can register a @{link SignalListener} with the SignalManager.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 18-Jun-2008
+ */
+public class SignalManager
+{
+  // provide logging
+  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>>();
+  
+  /** 
+   * Get the ProcessEngine
+   */
+  public ProcessEngine getProcessEngine()
+  {
+    return ProcessEngineLocator.locateProcessEngine();
+  }
+  
+  /**
+   * Locate the SignalManager
+   */
+  public static SignalManager locateSignalManager()
+  {
+    ProcessEngine engine = ProcessEngineLocator.locateProcessEngine();
+    return engine.getSignalManager();
+  }
+  
+  /**
+   * Add a SignalListener for a given process
+   */
+  public void addSignalListener(String procName, SignalListener listener)
+  {
+    log.debug("addSignalListener: " + listener);
+    Set<SignalListener> set = signalListeners.get(procName);
+    if (set == null)
+    {
+      set = new HashSet<SignalListener>();
+      signalListeners.put(procName, set);
+    }
+    set.add(listener);
+  }
+
+  /**
+   * Remove an SignalListener for a given process
+   */
+  public void removeSignalListener(String procName, SignalListener listener)
+  {
+    log.debug("removeSignalListener: " + listener);
+    Set<SignalListener> set = signalListeners.get(procName);
+    if (set != null)
+    {
+      set.remove(listener);
+    }
+  }
+
+  /** 
+   * Remove all SignalListener for a given process 
+   */
+  public void removeSignalListeners(String procName)
+  {
+    log.debug("removeSignalListeners: " + procName);
+    signalListeners.remove(procName);
+  }
+
+  /** 
+   * Throw a signal to all registered listeners 
+   */
+  public void throwSignal(Signal signal)
+  {
+    log.debug("throwSignal: " + signal);
+    String procName = signal.getProcessName();
+    Set<SignalListener> set = signalListeners.get(procName);
+    if (set != null)
+    {
+      for (SignalListener listener : set)
+      {
+        listener.catchSignal(signal);
+      }
+    }
+  }
+}
\ No newline at end of file


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

Modified: jbossbpm/spec/trunk/modules/dialects/stp/src/test/resources/jbpm-beans.xml
===================================================================
--- jbossbpm/spec/trunk/modules/dialects/stp/src/test/resources/jbpm-beans.xml	2008-07-29 08:43:03 UTC (rev 1742)
+++ jbossbpm/spec/trunk/modules/dialects/stp/src/test/resources/jbpm-beans.xml	2008-07-29 09:12:55 UTC (rev 1743)
@@ -10,16 +10,17 @@
   <bean name="jBPMProcessEngine" class="org.jboss.bpm.client.internal.ProcessEngineImpl">
     <property name="processManager"><inject bean="jBPMProcessManager"/></property>
     <property name="executionManager"><inject bean="jBPMExecutionManager"/></property>
+    <property name="signalManager"><inject bean="jBPMSignalManager"/></property>
+    <property name="messageManager"><inject bean="jBPMMessageManager"/></property>
   </bean>
 
-  <!-- The ExecutionManager -->
-  <bean name="jBPMExecutionManager" class="org.jboss.bpm.client.internal.ExecutionManagerImpl">
-    <property name="processEngine"><inject bean="jBPMProcessEngine" state="Instantiated"/></property>
-  </bean>
+  <!-- The Managers -->
+  <bean name="jBPMExecutionManager" class="org.jboss.bpm.client.internal.ExecutionManagerImpl"/>
+  <bean name="jBPMSignalManager" class="org.jboss.bpm.client.internal.SignalManagerImpl"/>
+  <bean name="jBPMMessageManager" class="org.jboss.bpm.client.internal.MessageManagerImpl"/>
   
   <!-- The ProcessManager -->
   <bean name="jBPMProcessManager" class="org.jboss.bpm.client.internal.ProcessManagerImpl">
-    <property name="processEngine"><inject bean="jBPMProcessEngine" state="Instantiated"/></property>
     <property name="dialectRegistry"><inject bean="jBPMDialectRegistry"/></property>
     <property name="dialectHandlers">
       <map keyClass="java.lang.String" valueClass="org.jboss.bpm.client.DialectHandler">

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-07-29 08:43:03 UTC (rev 1742)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ExecutionManagerImpl.java	2008-07-29 09:12:55 UTC (rev 1743)
@@ -27,6 +27,8 @@
 import org.apache.commons.logging.LogFactory;
 import org.jboss.bpm.client.ExecutionManager;
 import org.jboss.bpm.client.ProcessEngine;
+import org.jboss.bpm.client.ProcessEngineLocator;
+import org.jboss.bpm.client.SignalManager;
 import org.jboss.bpm.model.Flow;
 import org.jboss.bpm.model.FlowObject;
 import org.jboss.bpm.model.Process;
@@ -56,11 +58,6 @@
   // provide logging
   private static final Log log = LogFactory.getLog(ExecutionManager.class);
 
-  public void setProcessEngine(ProcessEngine engine)
-  {
-    this.engine = engine;
-  }
-
   @Override
   public void startProcess(Process proc, Attachments att)
   {
@@ -77,7 +74,8 @@
   {
     RuntimeProcess rtProc = new RuntimeProcessImpl(proc);
 
-    engine.throwSignal(new Signal(proc, Signal.Type.ENTER_PROCESS));
+    SignalManager signalManager = getProcessEngine().getSignalManager();
+    signalManager.throwSignal(new Signal(proc, Signal.Type.ENTER_PROCESS));
     MutableFlowScheduler flowScheduler = rtProc.getFlowScheduler();
     try
     {
@@ -102,12 +100,12 @@
         // Execute the FlowObject's ExecutionHandler
         try
         {
-          engine.throwSignal(sigHandler.getEnterSignal());
+          signalManager.throwSignal(sigHandler.getEnterSignal());
           executable.execute(token);
         }
         finally
         {
-          engine.throwSignal(sigHandler.getExitSignal());
+          signalManager.throwSignal(sigHandler.getExitSignal());
         }
 
         // Remove the head tuple
@@ -126,7 +124,7 @@
     }
     finally
     {
-      engine.throwSignal(new Signal(proc, Signal.Type.EXIT_PROCESS));
+      signalManager.throwSignal(new Signal(proc, Signal.Type.EXIT_PROCESS));
     }
   }
 

Added: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/MessageManagerImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/MessageManagerImpl.java	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/MessageManagerImpl.java	2008-07-29 09:12:55 UTC (rev 1743)
@@ -0,0 +1,36 @@
+/*
+ * 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.client.internal;
+
+// $Id$
+
+import org.jboss.bpm.client.MessageManager;
+
+/**
+ * The ProcessEngine sends mesages through the MessageManager. 
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 18-Jun-2008
+ */
+public class MessageManagerImpl extends MessageManager
+{
+}
\ No newline at end of file


Property changes on: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/MessageManagerImpl.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ProcessEngineImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ProcessEngineImpl.java	2008-07-29 08:43:03 UTC (rev 1742)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ProcessEngineImpl.java	2008-07-29 09:12:55 UTC (rev 1743)
@@ -24,8 +24,10 @@
 //$Id$
 
 import org.jboss.bpm.client.ExecutionManager;
+import org.jboss.bpm.client.MessageManager;
 import org.jboss.bpm.client.ProcessEngine;
 import org.jboss.bpm.client.ProcessManager;
+import org.jboss.bpm.client.SignalManager;
 
 /**
  * A process engine with public access
@@ -44,4 +46,15 @@
   {
     this.executionManager = executionManager;
   }
+
+  public void setSignalManager(SignalManager signalManager)
+  {
+    this.signalManager = signalManager;
+  }
+
+  public void setMessageManager(MessageManager messageManager)
+  {
+    this.messageManager = messageManager;
+  }
+
 }

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-07-29 08:43:03 UTC (rev 1742)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/ProcessManagerImpl.java	2008-07-29 09:12:55 UTC (rev 1743)
@@ -49,11 +49,6 @@
   // provide logging
   private static final Log log = LogFactory.getLog(ProcessManagerImpl.class);
 
-  public void setProcessEngine(ProcessEngine engine)
-  {
-    this.engine = engine;
-  }
-
   public void setDialectHandlers(Map<String, DialectHandler> dialectHandlers)
   {
     this.dialectHandlers = dialectHandlers;
@@ -79,7 +74,7 @@
     registerProcess(procCopy);
 
     // Start the process in a thread
-    ExecutionManager exm = ExecutionManager.locateExecutionManager();
+    ExecutionManager exm = getProcessEngine().getExecutionManager();
     exm.startProcess(proc, att);
   }
 }

Added: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/SignalManagerImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/SignalManagerImpl.java	                        (rev 0)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/SignalManagerImpl.java	2008-07-29 09:12:55 UTC (rev 1743)
@@ -0,0 +1,36 @@
+/*
+ * 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.client.internal;
+
+// $Id$
+
+import org.jboss.bpm.client.SignalManager;
+
+/**
+ * The ProcessEngine sends signals through the SignalManager
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 18-Jun-2008
+ */
+public class SignalManagerImpl extends SignalManager
+{
+}
\ No newline at end of file


Property changes on: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/client/internal/SignalManagerImpl.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ActivityImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ActivityImpl.java	2008-07-29 08:43:03 UTC (rev 1742)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ActivityImpl.java	2008-07-29 09:12:55 UTC (rev 1743)
@@ -319,7 +319,8 @@
     ExecutionContext exContext = token.getExecutionContext();
     for (Property prop : inputSet.getProperties())
     {
-      exContext.removeAttachment(prop.getName());
+      // TODO: define proper scope for token data 
+      // exContext.removeAttachment(prop.getName());
     }
   }
 

Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/MessageImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/MessageImpl.java	2008-07-29 08:43:03 UTC (rev 1742)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/MessageImpl.java	2008-07-29 09:12:55 UTC (rev 1743)
@@ -103,7 +103,7 @@
    */
   public Participant getFromRef()
   {
-    throw new NotImplementedException();
+    return sourceID != null ? new EntityImpl(sourceID.getCanonicalName()) : null;
   }
 
   /**
@@ -111,7 +111,7 @@
    */
   public Participant getToRef()
   {
-    throw new NotImplementedException();
+    return targetID != null ? new EntityImpl(targetID.getCanonicalName()) : null;
   }
 
   public String toString()

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-07-29 08:43:03 UTC (rev 1742)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/ProcessImpl.java	2008-07-29 09:12:55 UTC (rev 1743)
@@ -33,6 +33,8 @@
 
 import org.jboss.bpm.InvalidProcessException;
 import org.jboss.bpm.NotImplementedException;
+import org.jboss.bpm.client.ProcessEngine;
+import org.jboss.bpm.client.ProcessEngineLocator;
 import org.jboss.bpm.client.ProcessManager;
 import org.jboss.bpm.model.EndEvent;
 import org.jboss.bpm.model.FlowObject;
@@ -183,19 +185,22 @@
 
   public void startProcess(Attachments att)
   {
-    ProcessManager pm = ProcessManager.locateProcessManager();
+    ProcessEngine engine = ProcessEngineLocator.locateProcessEngine();
+    ProcessManager pm = engine.getProcessManager();
     pm.startProcess(getName(), att);
   }
 
   public void waitForEnd()
   {
-    ProcessManager pm = ProcessManager.locateProcessManager();
+    ProcessEngine engine = ProcessEngineLocator.locateProcessEngine();
+    ProcessManager pm = engine.getProcessManager();
     pm.waitForEnd(getID(), -1);
   }
 
   public void waitForEnd(long timeout)
   {
-    ProcessManager pm = ProcessManager.locateProcessManager();
+    ProcessEngine engine = ProcessEngineLocator.locateProcessEngine();
+    ProcessManager pm = engine.getProcessManager();
     pm.waitForEnd(getID(), timeout);
   }
 
@@ -244,7 +249,8 @@
     // Set the anonymous default name
     if (getName() == null)
     {
-      ProcessManager pm = ProcessManager.locateProcessManager();
+      ProcessEngine engine = ProcessEngineLocator.locateProcessEngine();
+      ProcessManager pm = engine.getProcessManager();
       this.name = "AnonymousProcess#" + pm.getProcesses().size();
     }
 

Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/SendTaskImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/SendTaskImpl.java	2008-07-29 08:43:03 UTC (rev 1742)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/SendTaskImpl.java	2008-07-29 09:12:55 UTC (rev 1743)
@@ -21,19 +21,33 @@
  */
 package org.jboss.bpm.model.internal;
 
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.management.ObjectName;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.jboss.bpm.InvalidProcessException;
+import org.jboss.bpm.client.MessageManager;
+import org.jboss.bpm.client.ObjectNameFactory;
+import org.jboss.bpm.model.Entity;
+import org.jboss.bpm.model.Expression;
 import org.jboss.bpm.model.InputSet;
 import org.jboss.bpm.model.Message;
 import org.jboss.bpm.model.MessageBuilder;
 import org.jboss.bpm.model.MessageBuilderFactory;
 import org.jboss.bpm.model.OutputSet;
+import org.jboss.bpm.model.Participant;
 import org.jboss.bpm.model.Process;
 import org.jboss.bpm.model.Property;
+import org.jboss.bpm.model.PropertyBuilder;
 import org.jboss.bpm.model.SendTask;
+import org.jboss.bpm.model.Expression.ExpressionLanguage;
+import org.jboss.bpm.runtime.ExecutionContext;
 import org.jboss.bpm.runtime.ExecutionHandler;
 import org.jboss.bpm.runtime.Token;
+import org.mvel.MVEL;
 
 //$Id$
 
@@ -78,40 +92,50 @@
     this.messageRef = message;
   }
 
-  @Override
-  public ExecutionHandler getExecutionHandler()
+  /**
+   * Execute external business logic
+   */
+  protected void executeHandler(Token token, InputSet inputSet, OutputSet outputSet)
   {
-    ExecutionHandler handler = super.getExecutionHandler();
-    if (handler == null)
+    // Call the execution handler with the InputSet
+    ExecutionHandler handler = getExecutionHandler();
+    if (handler != null)
     {
-      handler = new ExecutionHandler()
+      handler.execute(token, inputSet, outputSet);
+    }
+    // Assume the the single IORule actually mapps the data
+    else 
+    {
+      ExecutionContext exContext = token.getExecutionContext();
+      MessageBuilderFactory factory = MessageBuilderFactory.newInstance();
+      MessageBuilder msgBuilder = factory.newMessageBuilder();
+      
+      Participant toRef = messageRef.getToRef();
+      if (toRef == null || toRef.getEntityRef() == null)
+        throw new IllegalStateException("Cannot obtain target participant");
+      
+      Entity entityRef = toRef.getEntityRef();
+      ObjectName targetID = ObjectNameFactory.create(entityRef.getName());
+      msgBuilder.newMessage(messageRef.getName(), targetID);
+
+      // Copy the properties from the execution context
+      // to the send message
+      for (Property auxProp : messageRef.getProperties())
       {
-        public void execute(Token token, InputSet inputSet, OutputSet outputSet)
-        {
-          MessageBuilderFactory factory = MessageBuilderFactory.newInstance();
-          MessageBuilder msgBuilder = factory.newMessageBuilder();
-          msgBuilder.newMessage(messageRef.getName(), null);
+        String key = auxProp.getName();
+        Expression expr = exContext.getAttachment(key);
+        if (expr == null)
+          throw new IllegalStateException("Cannot obtain property: " + key);
 
-          // Copy the properties from the execution context
-          // to the send message
-          for (Property auxProp : messageRef.getProperties())
-          {
-            String key = auxProp.getName();
-            Property prop = inputSet.getProperty(key);
-            if (prop == null)
-              throw new IllegalStateException("Cannot obtain property: " + key);
-
-            msgBuilder.addProperty(key, prop.getValue().getExpressionBody());
-          }
-
-          Message msg = msgBuilder.getMessage();
-          System.out.println(msg);
-        }
-      };
+        msgBuilder.addProperty(key, expr.getExpressionBody());
+      }
+      Message msg = msgBuilder.getMessage();
+      
+      MessageManager mm = MessageManager.locateMessageManager();
+      mm.sendMessage(targetID, msg);
     }
-    return handler;
   }
-
+  
   @Override
   protected void initialize(Process proc)
   {

Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/TaskBuilderImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/TaskBuilderImpl.java	2008-07-29 08:43:03 UTC (rev 1742)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/model/internal/TaskBuilderImpl.java	2008-07-29 09:12:55 UTC (rev 1743)
@@ -49,11 +49,19 @@
     message = new MessageImpl(messageName, targetID);
     if (flowObject instanceof ReceiveTaskImpl)
     {
-      ((ReceiveTaskImpl)flowObject).setMessageRef(message);
+      if (targetID != null)
+        throw new IllegalArgumentException("Message targetID must be null for ReceiveTask");
+      
+      ReceiveTaskImpl receiveTask = (ReceiveTaskImpl)flowObject;
+      receiveTask.setMessageRef(message);
     }
     else if (flowObject instanceof SendTaskImpl)
     {
-      ((SendTaskImpl)flowObject).setMessageRef(message);
+      if (targetID == null)
+        throw new IllegalArgumentException("Message targetID cannot be null for SendTask");
+      
+      SendTaskImpl sendTask = (SendTaskImpl)flowObject;
+      sendTask.setMessageRef(message);
     }
     else
     {

Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/client/ProcessEngineLocatorTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/client/ProcessEngineLocatorTest.java	2008-07-29 08:43:03 UTC (rev 1742)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/client/ProcessEngineLocatorTest.java	2008-07-29 09:12:55 UTC (rev 1743)
@@ -30,7 +30,7 @@
 
   public void testLocateProcessEngine() throws Exception
   {
-    ProcessEngine engine = ProcessEngineLocator.locateProcessEngine();
+    SignalManager engine = SignalManager.locateSignalManager();
     assertNotNull(engine);
   }
 }

Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/airticket/AirticketTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/airticket/AirticketTest.java	2008-07-29 08:43:03 UTC (rev 1742)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/airticket/AirticketTest.java	2008-07-29 09:12:55 UTC (rev 1743)
@@ -27,11 +27,12 @@
 
 import javax.management.ObjectName;
 
+import org.jboss.bpm.client.MessageListener;
+import org.jboss.bpm.client.MessageManager;
 import org.jboss.bpm.client.ObjectNameFactory;
-import org.jboss.bpm.client.ProcessEngine;
-import org.jboss.bpm.client.ProcessEngineLocator;
 import org.jboss.bpm.client.ProcessManager;
 import org.jboss.bpm.client.SignalListener;
+import org.jboss.bpm.client.SignalManager;
 import org.jboss.bpm.model.BPMNElement;
 import org.jboss.bpm.model.GatewayBuilder;
 import org.jboss.bpm.model.Message;
@@ -56,16 +57,10 @@
 public class AirticketTest extends DefaultEngineTestCase
 {
   @Override
-  public ObjectName getMessageListenerID()
-  {
-    return ObjectNameFactory.create(BPMNElement.ID_DOMAIN, "test", "AirticketTest");
-  }
-
-  @Override
   protected void setUp() throws Exception
   {
     super.setUp();
-    
+
     // Add a signal listener
     SignalListener sl = new SignalListener()
     {
@@ -74,7 +69,7 @@
         System.out.println(signal);
       }
     };
-    ProcessEngine engine = ProcessEngineLocator.locateProcessEngine();
+    SignalManager engine = SignalManager.locateSignalManager();
     engine.addSignalListener("Airticket", sl);
   }
 
@@ -86,30 +81,45 @@
     ProcessManager pm = ProcessManager.locateProcessManager();
     Process proc = pm.createProcess(jpdlURL);
     assertNotNull(proc);
-    
+
     proc.startProcess();
     proc.waitForEnd();
   }
-  
+
   public void testValidRequest() throws Exception
   {
     Process proc = buildDynamicProcess();
     proc.startProcess();
-    
-    ProcessEngine engine = ProcessEngineLocator.locateProcessEngine();
-    engine.sendMessage(proc.getID(), "ReceiveReqTask", getValidRequestMessage());
-    
+
+    MessageManager mm = MessageManager.locateMessageManager();
+    mm.sendMessage(proc.getID(), "ReceiveReqTask", getValidRequestMessage());
+
     proc.waitForEnd();
   }
 
   public void testInvalidRequest() throws Exception
   {
-    Process proc = buildDynamicProcess();
+    final Process proc = buildDynamicProcess();
     proc.startProcess();
+
+    final MessageManager mm = MessageManager.locateMessageManager();
+    final ObjectName listenerID = ObjectNameFactory.create(BPMNElement.ID_DOMAIN, "test", getName());
+    MessageListener msgListener = new MessageListener()
+    {
+      public void catchMessage(Message message)
+      {
+        mm.sendMessage(proc.getID(), "ReceiveReqTask", getValidRequestMessage());
+      }
+
+      public ObjectName getMessageListenerID()
+      {
+        return listenerID;
+      }
+    };
+    mm.addMessageListener(msgListener);
     
-    ProcessEngine engine = ProcessEngineLocator.locateProcessEngine();
-    engine.sendMessage(proc.getID(), "ReceiveReqTask", getInvalidRequestMessage());
-    
+    mm.sendMessage(proc.getID(), "ReceiveReqTask", getInvalidRequestMessage(listenerID));
+
     proc.waitForEnd();
   }
 
@@ -119,17 +129,17 @@
     ProcessBuilderFactory procFactory = ProcessBuilderFactory.newInstance();
     ProcessBuilder procBuilder = procFactory.newProcessBuilder();
     procBuilder.addProcess("Airticket").addStartEvent().addSequenceFlow("ReceiveReqTask");
-    
+
     // Build the ReceiveReq Task
     TaskBuilder taskBuilder = procBuilder.addTask("ReceiveReqTask", TaskType.Receive);
-    taskBuilder.addMessageRef("ReqDataMsg", getMessageListenerID()).
+    taskBuilder.addMessageRef("ReqDataMsg", null).
     addMessageProperty("Name", null, true).
     addMessageProperty("From", null, true).
     addMessageProperty("To", null, true).
     addMessageProperty("Date", null, true).
     addMessageProperty("Seats", null, true).
     addSequenceFlow("ValidateTask");
-    
+
     // Build the Validate Task
     taskBuilder = procBuilder.addTask("ValidateTask", TaskType.None);
     taskBuilder.addInputSet().
@@ -142,16 +152,16 @@
     addPropertyOutput("isReqDataValid", null).
     addIORule("Name != null && From != null && To != null && Date != null && Seats > 0", ExpressionLanguage.MVEL).
     addSequenceFlow("ValidateGateway");
-    
+
     // Build the Validate Gateway
     GatewayBuilder gatewayBuilder = procBuilder.addGateway("ValidateGateway", GatewayType.Exclusive);
     gatewayBuilder.addConditionalGate("CheckAvailabilityTask", ExpressionLanguage.MVEL, "isReqDataValid == true").
     addDefaultGate("SendInvalidTask");
-    
+
     // Build the CheckAvailability Task
     taskBuilder = procBuilder.addTask("CheckAvailabilityTask", TaskType.None);
     taskBuilder.addSequenceFlow("End");
-    
+
     // Build the SendInvalid Task
     taskBuilder = procBuilder.addTask("SendInvalidTask", TaskType.Send);
     taskBuilder.addMessageRef("InvalidDataMsg", getMessageListenerID()).
@@ -161,7 +171,7 @@
     addMessageProperty("Date", null, true).
     addMessageProperty("Seats", null, true).
     addSequenceFlow("ReceiveReqTask");
-    
+
     // Add the EndEvent get the Process
     Process proc = procBuilder.addEndEvent("End").getProcess();
     ProcessManager pm = ProcessManager.locateProcessManager();
@@ -183,11 +193,11 @@
     return msg;
   }
 
-  private Message getInvalidRequestMessage()
+  private Message getInvalidRequestMessage(ObjectName targetID)
   {
     MessageBuilderFactory msgFactory = MessageBuilderFactory.newInstance();
     MessageBuilder msgBuilder = msgFactory.newMessageBuilder();
-    Message msg = msgBuilder.newMessage("ReqDataMsg", null).
+    Message msg = msgBuilder.newMessage("ReqDataMsg", targetID).
     addProperty("Name", "Kermit").
     addProperty("From", "MUC").
     addProperty("To", "NYC").

Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/parallelsplit/ParallelSplitTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/parallelsplit/ParallelSplitTest.java	2008-07-29 08:43:03 UTC (rev 1742)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/parallelsplit/ParallelSplitTest.java	2008-07-29 09:12:55 UTC (rev 1743)
@@ -27,9 +27,9 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import org.jboss.bpm.client.ProcessEngine;
 import org.jboss.bpm.client.ProcessEngineLocator;
 import org.jboss.bpm.client.ProcessManager;
+import org.jboss.bpm.client.SignalManager;
 import org.jboss.bpm.model.Process;
 import org.jboss.bpm.model.ProcessBuilder;
 import org.jboss.bpm.model.ProcessBuilderFactory;
@@ -51,7 +51,7 @@
   protected void setUp() throws Exception
   {
     super.setUp();
-    ProcessEngine engine = ProcessEngineLocator.locateProcessEngine();
+    SignalManager engine = SignalManager.locateSignalManager();
     engine.addSignalListener(getName(), this);
   }
 

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-07-29 08:43:03 UTC (rev 1742)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/sequence/BasicSequenceTest.java	2008-07-29 09:12:55 UTC (rev 1743)
@@ -27,9 +27,9 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import org.jboss.bpm.client.ProcessEngine;
 import org.jboss.bpm.client.ProcessEngineLocator;
 import org.jboss.bpm.client.ProcessManager;
+import org.jboss.bpm.client.SignalManager;
 import org.jboss.bpm.model.Process;
 import org.jboss.bpm.model.ProcessBuilder;
 import org.jboss.bpm.model.ProcessBuilderFactory;
@@ -49,7 +49,7 @@
   protected void setUp() throws Exception
   {
     super.setUp();
-    ProcessEngine engine = ProcessEngineLocator.locateProcessEngine();
+    SignalManager engine = SignalManager.locateSignalManager();
     engine.addSignalListener(getName(), this);
   }
 

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-07-29 08:43:03 UTC (rev 1742)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/task/BasicTaskTest.java	2008-07-29 09:12:55 UTC (rev 1743)
@@ -27,9 +27,9 @@
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 
-import org.jboss.bpm.client.ProcessEngine;
 import org.jboss.bpm.client.ProcessEngineLocator;
 import org.jboss.bpm.client.ProcessManager;
+import org.jboss.bpm.client.SignalManager;
 import org.jboss.bpm.model.Process;
 import org.jboss.bpm.model.ProcessBuilder;
 import org.jboss.bpm.model.ProcessBuilderFactory;
@@ -49,7 +49,7 @@
   protected void setUp() throws Exception
   {
     super.setUp();
-    ProcessEngine engine = ProcessEngineLocator.locateProcessEngine();
+    SignalManager engine = SignalManager.locateSignalManager();
     engine.addSignalListener(getName(), this);
   }
 

Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/jbpm-beans.xml
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/resources/jbpm-beans.xml	2008-07-29 08:43:03 UTC (rev 1742)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/resources/jbpm-beans.xml	2008-07-29 09:12:55 UTC (rev 1743)
@@ -12,16 +12,17 @@
   <bean name="jBPMProcessEngine" class="org.jboss.bpm.client.internal.ProcessEngineImpl">
     <property name="processManager"><inject bean="jBPMProcessManager"/></property>
     <property name="executionManager"><inject bean="jBPMExecutionManager"/></property>
+    <property name="signalManager"><inject bean="jBPMSignalManager"/></property>
+    <property name="messageManager"><inject bean="jBPMMessageManager"/></property>
   </bean>
 
-  <!-- The ExecutionManager -->
-  <bean name="jBPMExecutionManager" class="org.jboss.bpm.client.internal.ExecutionManagerImpl">
-    <property name="processEngine"><inject bean="jBPMProcessEngine" state="Instantiated"/></property>
-  </bean>
+  <!-- The Managers -->
+  <bean name="jBPMExecutionManager" class="org.jboss.bpm.client.internal.ExecutionManagerImpl"/>
+  <bean name="jBPMSignalManager" class="org.jboss.bpm.client.internal.SignalManagerImpl"/>
+  <bean name="jBPMMessageManager" class="org.jboss.bpm.client.internal.MessageManagerImpl"/>
   
   <!-- The ProcessManager -->
   <bean name="jBPMProcessManager" class="org.jboss.bpm.client.internal.ProcessManagerImpl">
-    <property name="processEngine"><inject bean="jBPMProcessEngine" state="Instantiated"/></property>
     <property name="dialectRegistry"><inject bean="jBPMDialectRegistry"/></property>
     <property name="dialectHandlers">
       <map keyClass="java.lang.String" valueClass="org.jboss.bpm.client.DialectHandler">




More information about the jbpm-commits mailing list