[jbpm-commits] JBoss JBPM SVN: r1984 - in jbossbpm/spec/trunk/modules: api/src/main/java/org/jboss/bpm/model and 2 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Fri Aug 22 08:31:53 EDT 2008
Author: thomas.diesler at jboss.com
Date: 2008-08-22 08:31:53 -0400 (Fri, 22 Aug 2008)
New Revision: 1984
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/model/Entity.java
jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Participant.java
jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Role.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/MessageManagerImpl.java
jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/MessageSender.java
Log:
Refactor Participant
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-22 11:12:51 UTC (rev 1983)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/client/MessageManager.java 2008-08-22 12:31:53 UTC (rev 1984)
@@ -33,7 +33,10 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.jboss.bpm.model.Event;
import org.jboss.bpm.model.Message;
+import org.jboss.bpm.model.Participant;
+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
@@ -120,20 +123,24 @@
}
/**
- * Send a message to a given Task or Event
+ * Send a message to a given {@link Task} or {@link Event}
*/
public abstract void sendMessage(ObjectName procID, String targetName, Message msg);
-
+
/**
* Send a message to a given {@link MessageListener}
*/
- public void sendMessage(ObjectName targetID, Message msg)
+ public void sendMessage(Message msg)
{
- MessageListener msgListener = getMessageListener(targetID);
+ Participant toRef = msg.getToRef().getEntityRef();
+ if (toRef == null)
+ throw new IllegalArgumentException("Target entity cannot be null");
+
+ MessageListener msgListener = getMessageListener(toRef.getName());
if (msgListener == null)
- throw new IllegalStateException("No message listener registered for: " + targetID);
+ throw new IllegalStateException("No message listener registered for: " + toRef);
- log.debug("sendMessage to '" + targetID + "' => " + msg);
+ log.debug("sendMessage to '" + toRef + "' => " + msg);
msgListener.catchMessage(msg);
}
}
\ No newline at end of file
Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Entity.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Entity.java 2008-08-22 11:12:51 UTC (rev 1983)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Entity.java 2008-08-22 12:31:53 UTC (rev 1984)
@@ -23,7 +23,6 @@
// $Id: $
-import javax.management.ObjectName;
/**
* An Entity, which is used in the definition of attributes for a {@link Participant}
@@ -31,10 +30,6 @@
* @author thomas.diesler at jboss.com
* @since 21-Jul-2008
*/
-public interface Entity
+public interface Entity extends Participant
{
- /**
- * Name is an attribute that is text description of the Entity.
- */
- ObjectName getName();
}
Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Participant.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Participant.java 2008-08-22 11:12:51 UTC (rev 1983)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Participant.java 2008-08-22 12:31:53 UTC (rev 1984)
@@ -21,9 +21,11 @@
*/
package org.jboss.bpm.model;
+import javax.management.ObjectName;
+
//$Id$
/**
@@ -47,6 +49,11 @@
ParticipantType getParticipantType();
/**
+ * The name of this participant
+ */
+ ObjectName getName();
+
+ /**
* If the ParticipantType = Role, then a Role MUST be identified.
*/
Role getRoleRef();
Modified: jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Role.java
===================================================================
--- jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Role.java 2008-08-22 11:12:51 UTC (rev 1983)
+++ jbossbpm/spec/trunk/modules/api/src/main/java/org/jboss/bpm/model/Role.java 2008-08-22 12:31:53 UTC (rev 1984)
@@ -23,7 +23,6 @@
// $Id: $
-import javax.management.ObjectName;
/**
* A Role, which is used in the definition of attributes for a {@link Participant}
@@ -31,11 +30,6 @@
* @author thomas.diesler at jboss.com
* @since 21-Jul-2008
*/
-public interface Role
+public interface Role extends Participant
{
- /**
- * Name is an attribute that is text description of the Role.
- */
- ObjectName getName();
-
}
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/MessageManagerImpl.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/MessageManagerImpl.java 2008-08-22 11:12:51 UTC (rev 1983)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/client/MessageManagerImpl.java 2008-08-22 12:31:53 UTC (rev 1984)
@@ -51,6 +51,7 @@
/**
* Send a message to a given {@link Task} or {@link Event}
*/
+ @Override
public void sendMessage(ObjectName procID, String targetName, Message msg)
{
ProcessManager pm = ProcessManager.locateProcessManager();
Modified: jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/MessageSender.java
===================================================================
--- jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/MessageSender.java 2008-08-22 11:12:51 UTC (rev 1983)
+++ jbossbpm/spec/trunk/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/MessageSender.java 2008-08-22 12:31:53 UTC (rev 1984)
@@ -93,6 +93,6 @@
msg.setFromRef(fromRef);
MessageManager mm = MessageManager.locateMessageManager();
- mm.sendMessage(targetID, msg);
+ mm.sendMessage(msg);
}
}
\ No newline at end of file
More information about the jbpm-commits
mailing list