Overlord SVN: r94 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb: src and 2 other directories.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2008-07-01 07:15:18 -0400 (Tue, 01 Jul 2008)
New Revision: 94
Added:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/test/
Modified:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/.classpath
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/ESBAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/ESBLink.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/ESBService.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/Messages.properties
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/CreateSessionAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/GetVariableAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/IfAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/MessageRouterAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/Messages.properties
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/ParallelAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/PerformAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/ReceiveMessageAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/RetrieveSessionAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/ScheduleStateAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/SendMessageAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/SetVariableAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/SwitchAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/WhenAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/WhileAction.java
Log:
Implemented basic validation of ESB actions.
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/.classpath
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/.classpath 2008-07-01 10:15:42 UTC (rev 93)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/.classpath 2008-07-01 11:15:18 UTC (rev 94)
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/java"/>
+ <classpathentry kind="src" path="src/test"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/ESBAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/ESBAction.java 2008-07-01 10:15:42 UTC (rev 93)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/ESBAction.java 2008-07-01 11:15:18 UTC (rev 94)
@@ -109,6 +109,18 @@
*/
public void validate(ModelListener l) {
+ String[] mandatory=getMandatoryProperties();
+
+ for (int i=0; i < mandatory.length; i++) {
+ if (getPropertyValue(mandatory[i]) == null) {
+ l.error(this, org.scribble.util.MessageUtil.format(
+ java.util.PropertyResourceBundle.getBundle(
+ "org.jboss.tools.overlord.jbossesb.model.Messages"),
+ "_NOT_SPECIFIED_PROPERTY",
+ new String[]{mandatory[i]}), null);
+ }
+ }
+
String session=getPropertyValue(BUSINESS_OBJECT_TYPE_PROPERTY);
if (session != null) {
@@ -121,7 +133,7 @@
} catch(ClassNotFoundException cfne) {
l.error(this, org.scribble.util.MessageUtil.format(
java.util.PropertyResourceBundle.getBundle(
- "org.jboss.tools.overlord.jbossesb.model.actions.Messages"),
+ "org.jboss.tools.overlord.jbossesb.model.Messages"),
"_NOT_FOUND_BUSINESS_OBJECT_TYPE",
new String[]{session}), null);
}
@@ -136,16 +148,27 @@
for (int i=0; i < m_links.size(); i++) {
ESBLink link=(ESBLink)m_links.get(i);
- // Don't report message links, if
- // service not found, as may be defined in
- // another file.
- if (link.getService() == null &&
- link.isControl()) {
- l.error(this, org.scribble.util.MessageUtil.format(
+ if (link.getService() == null) {
+ // If target service not found, then report error
+ // unless it is a remote service, so defined in a
+ // different file
+ if (link.isRemote() == false) {
+ l.error(this, org.scribble.util.MessageUtil.format(
java.util.PropertyResourceBundle.getBundle(
- "org.jboss.tools.overlord.jbossesb.model.actions.Messages"),
+ "org.jboss.tools.overlord.jbossesb.model.Messages"),
"_NOT_FOUND_SERVICE_DESCRIPTOR",
new String[]{link.getCategory(),link.getName()}), null);
+ }
+ } else if (getService().getSessionName() != null &&
+ isPerform() == false &&
+ getService().getSessionName().equals(
+ link.getService().getSessionName()) == false) {
+
+ l.error(this, org.scribble.util.MessageUtil.format(
+ java.util.PropertyResourceBundle.getBundle(
+ "org.jboss.tools.overlord.jbossesb.model.Messages"),
+ "_MISMATCH_SESSION_CLASS",
+ new String[]{link.getCategory(),link.getName()}), null);
}
}
}
@@ -170,6 +193,25 @@
}
/**
+ * This method indicates whether this action performs another
+ * sub-conversation.
+ *
+ * @return Whether the action is a 'perform'
+ */
+ public boolean isPerform() {
+ return(false);
+ }
+
+ /**
+ * This method returns the mandatory property names.
+ *
+ * @return The mandatory property names
+ */
+ protected String[] getMandatoryProperties() {
+ return(new String[0]);
+ }
+
+ /**
* This method returns the action's class name.
*
* @return The action's class name
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/ESBLink.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/ESBLink.java 2008-07-01 10:15:42 UTC (rev 93)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/ESBLink.java 2008-07-01 11:15:18 UTC (rev 94)
@@ -37,10 +37,27 @@
*/
public ESBLink(String category, String name,
ESBService service, boolean control) {
+ this(category, name, service, control, false);
+ }
+
+ /**
+ * This is the constructor for the link.
+ *
+ * @param category The service category of the target service descriptor
+ * @param name The service name of the target descriptor
+ * @param service A reference to the service model containing the action
+ * that links to the service descriptor
+ * @param control Whether the link is a control link, if not then it
+ * represents a message link (i.e. to another service)
+ * @param remote Whether the link is to a remote service
+ */
+ public ESBLink(String category, String name,
+ ESBService service, boolean control, boolean remote) {
m_category = category;
m_name = name;
m_service = service;
m_control = control;
+ m_remote = remote;
}
/**
@@ -54,6 +71,16 @@
}
/**
+ * This method indicates whether this is a
+ * link to a remote service.
+ *
+ * @return Whether the link is to a remote service
+ */
+ public boolean isRemote() {
+ return(m_remote);
+ }
+
+ /**
* This method returns the service category.
*
* @return The service category
@@ -86,4 +113,5 @@
private String m_name=null;
private ESBService m_service=null;
private boolean m_control=false;
+ private boolean m_remote=false;
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/ESBService.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/ESBService.java 2008-07-01 10:15:42 UTC (rev 93)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/ESBService.java 2008-07-01 11:15:18 UTC (rev 94)
@@ -404,13 +404,13 @@
}
/**
- * This method returns the session class associated with the service
+ * This method returns the session name associated with the service
* descriptor.
*
- * @return The session class
+ * @return The session name
*/
- public Class<?> getSessionClass() {
- Class<?> ret=null;
+ public String getSessionName() {
+ String ret=null;
ESBAction action=null;
for (int i=0; action == null && i < m_actions.size(); i++) {
@@ -421,24 +421,36 @@
}
}
- if (action != null) {
- if (action.getActionClass().startsWith(ACTION_PACKAGE)) {
- String session=action.getPropertyValue(BUSINESS_OBJECT_TYPE_PROPERTY);
+ if (action != null &&
+ action.getActionClass().startsWith(ACTION_PACKAGE)) {
+ ret = action.getPropertyValue(BUSINESS_OBJECT_TYPE_PROPERTY);
+ }
+
+ return(ret);
+ }
+
+ /**
+ * This method returns the session class associated with the service
+ * descriptor.
+ *
+ * @return The session class
+ */
+ public Class<?> getSessionClass() {
+ Class<?> ret=null;
+ String session=getSessionName();
+
+ if (session != null) {
+ try {
+ ClassLoader cl=getProjectLoader();
- if (session != null) {
- try {
- ClassLoader cl=getProjectLoader();
-
- ret = Class.forName(session, true, cl);
-
- } catch(Exception e) {
- logger.log(java.util.logging.Level.SEVERE,
- "Failed to get session class '"+session+"'", e);
- }
- }
+ ret = Class.forName(session, true, cl);
+
+ } catch(Exception e) {
+ logger.log(java.util.logging.Level.SEVERE,
+ "Failed to get session class '"+session+"'", e);
}
}
-
+
return(ret);
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/Messages.properties
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/Messages.properties 2008-07-01 10:15:42 UTC (rev 93)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/Messages.properties 2008-07-01 11:15:18 UTC (rev 94)
@@ -16,4 +16,8 @@
# * MA 02110-1301, USA.
# */
+_MISMATCH_SESSION_CLASS=Session class mismatch with service descriptor for category '{0}' and name '{1}'
+_NOT_FOUND_BUSINESS_OBJECT_TYPE=Business object type '{0}' could not be found
+_NOT_FOUND_SERVICE_DESCRIPTOR=Service descriptor for category '{0}' and name '{1}' not found
+_NOT_SPECIFIED_PROPERTY=Property '{0}' must be specified
_NOT_SPECIFIED_SESSION_CLASS=First conversation action must specify a valid session class
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/CreateSessionAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/CreateSessionAction.java 2008-07-01 10:15:42 UTC (rev 93)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/CreateSessionAction.java 2008-07-01 11:15:18 UTC (rev 94)
@@ -28,7 +28,44 @@
*/
public class CreateSessionAction extends ESBAction {
+ private static final String CONVERSATION_TYPE = "conversationType";
+
/**
+ * This method validates the ESB action and reports warnings or
+ * errors to the supplied model listener.
+ *
+ * @param l The model listener
+ */
+ @Override
+ public void validate(ModelListener l) {
+ super.validate(l);
+
+ // Action must be first conversation based action in
+ // the service
+ if (getService() != null && getService().getActions().size() > 0) {
+ ESBAction act=getService().getActions().get(0);
+
+ if (act != this) {
+ l.error(this, org.scribble.util.MessageUtil.format(
+ java.util.PropertyResourceBundle.getBundle(
+ "org.jboss.tools.overlord.jbossesb.model.actions.Messages"),
+ "_MUST_BE_FIRST_ACTION",
+ new String[]{"CreateSession"}), null);
+ }
+ }
+
+ // If service is root, then need to defined conversation type
+ if (getService().isRoot() &&
+ getPropertyValue(CONVERSATION_TYPE) == null) {
+ l.error(this, org.scribble.util.MessageUtil.format(
+ java.util.PropertyResourceBundle.getBundle(
+ "org.jboss.tools.overlord.jbossesb.model.actions.Messages"),
+ "_NOT_SPECIFIED_CONVERSATION_TYPE",
+ new String[]{}), null);
+ }
+ }
+
+ /**
* This method converts the ESB action into an equivalent
* behavioural description for conformance checking.
*
@@ -40,5 +77,4 @@
public void convert(java.util.List<Activity> activities,
ConversionContext context) {
}
-
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/GetVariableAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/GetVariableAction.java 2008-07-01 10:15:42 UTC (rev 93)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/GetVariableAction.java 2008-07-01 11:15:18 UTC (rev 94)
@@ -33,6 +33,16 @@
private static final String VARIABLE = "variable";
/**
+ * This method returns the mandatory property names.
+ *
+ * @return The mandatory property names
+ */
+ @Override
+ protected String[] getMandatoryProperties() {
+ return(new String[]{VARIABLE});
+ }
+
+ /**
* This method validates the ESB action and reports warnings or
* errors to the supplied model listener.
*
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/IfAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/IfAction.java 2008-07-01 10:15:42 UTC (rev 93)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/IfAction.java 2008-07-01 11:15:18 UTC (rev 94)
@@ -70,6 +70,16 @@
}
/**
+ * This method returns the mandatory property names.
+ *
+ * @return The mandatory property names
+ */
+ @Override
+ protected String[] getMandatoryProperties() {
+ return(new String[]{PATHS});
+ }
+
+ /**
* This method validates the ESB action and reports warnings or
* errors to the supplied model listener.
*
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/MessageRouterAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/MessageRouterAction.java 2008-07-01 10:15:42 UTC (rev 93)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/MessageRouterAction.java 2008-07-01 11:15:18 UTC (rev 94)
@@ -93,6 +93,16 @@
}
/**
+ * This method returns the mandatory property names.
+ *
+ * @return The mandatory property names
+ */
+ @Override
+ protected String[] getMandatoryProperties() {
+ return(new String[]{PATHS});
+ }
+
+ /**
* This method validates the ESB action and reports warnings or
* errors to the supplied model listener.
*
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/Messages.properties
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/Messages.properties 2008-07-01 10:15:42 UTC (rev 93)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/Messages.properties 2008-07-01 11:15:18 UTC (rev 94)
@@ -19,9 +19,9 @@
_CANNOT_INITIATE_NON_ROOT=Cannot 'initiate' non-root service descriptor for category '{0}' and name '{1}'
_CANNOT_SESSION_BASED_ACTIONS_WITH_ROUTER=Cannot define MessageRouterAction with session based actions in service descriptor
_MUST_INITIATE_ROOT=Must 'initiate' root service descriptor for category '{0}' and name '{1}'
-_NOT_FOUND_BUSINESS_OBJECT_TYPE=Business object type '{0}' could not be found
_NOT_FOUND_VARIABLE=Variable '{0}' could not be found on session type '{1}'
_NOT_FOUND_PERFORM_CREATE_SESSION=Perform action can only invoke a service descriptor that starts with a CreateSessionAction
-_NOT_FOUND_SERVICE_DESCRIPTOR=Service descriptor for category '{0}' and name '{1}' not found
+_NOT_SPECIFIED_CONVERSATION_TYPE=Conversation type must be specified on root service descriptor
+_NOT_SPECIFIED_REQ_RESP_EPR=Send does not contain request service category/name or response client EPR
_NOT_SPECIFIED_VARIABLE=Variable name has not been specified
_MUST_BE_FIRST_ACTION='{0}' action must be first in the service descriptor
\ No newline at end of file
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/ParallelAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/ParallelAction.java 2008-07-01 10:15:42 UTC (rev 93)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/ParallelAction.java 2008-07-01 11:15:18 UTC (rev 94)
@@ -82,6 +82,16 @@
}
/**
+ * This method returns the mandatory property names.
+ *
+ * @return The mandatory property names
+ */
+ @Override
+ protected String[] getMandatoryProperties() {
+ return(new String[]{PATHS});
+ }
+
+ /**
* This method converts the ESB action into an equivalent
* behavioural description for conformance checking.
*
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/PerformAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/PerformAction.java 2008-07-01 10:15:42 UTC (rev 93)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/PerformAction.java 2008-07-01 11:15:18 UTC (rev 94)
@@ -62,6 +62,27 @@
}
/**
+ * This method indicates whether this action performs another
+ * sub-conversation.
+ *
+ * @return Whether the action is a 'perform'
+ */
+ @Override
+ public boolean isPerform() {
+ return(true);
+ }
+
+ /**
+ * This method returns the mandatory property names.
+ *
+ * @return The mandatory property names
+ */
+ @Override
+ protected String[] getMandatoryProperties() {
+ return(new String[]{SERVICE_CATEGORY, SERVICE_NAME});
+ }
+
+ /**
* This method validates the ESB action and reports warnings or
* errors to the supplied model listener.
*
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/ReceiveMessageAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/ReceiveMessageAction.java 2008-07-01 10:15:42 UTC (rev 93)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/ReceiveMessageAction.java 2008-07-01 11:15:18 UTC (rev 94)
@@ -29,10 +29,21 @@
*/
public class ReceiveMessageAction extends ESBAction {
+ private static final String IDENTITIES = "identities";
private static final String MESSAGE_TYPE = "messageType";
private static final String OPERATION = "operation";
/**
+ * This method returns the mandatory property names.
+ *
+ * @return The mandatory property names
+ */
+ @Override
+ protected String[] getMandatoryProperties() {
+ return(new String[]{MESSAGE_TYPE,IDENTITIES});
+ }
+
+ /**
* This method converts the ESB action into an equivalent
* behavioural description for conformance checking.
*
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/RetrieveSessionAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/RetrieveSessionAction.java 2008-07-01 10:15:42 UTC (rev 93)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/RetrieveSessionAction.java 2008-07-01 11:15:18 UTC (rev 94)
@@ -28,7 +28,44 @@
*/
public class RetrieveSessionAction extends ESBAction {
+ private static final String IDENTITIES = "identities";
+
/**
+ * This method returns the mandatory property names.
+ *
+ * @return The mandatory property names
+ */
+ @Override
+ protected String[] getMandatoryProperties() {
+ return(new String[]{IDENTITIES});
+ }
+
+ /**
+ * This method validates the ESB action and reports warnings or
+ * errors to the supplied model listener.
+ *
+ * @param l The model listener
+ */
+ @Override
+ public void validate(ModelListener l) {
+ super.validate(l);
+
+ // Action must be first conversation based action in
+ // the service
+ if (getService() != null && getService().getActions().size() > 0) {
+ ESBAction act=getService().getActions().get(0);
+
+ if (act != this) {
+ l.error(this, org.scribble.util.MessageUtil.format(
+ java.util.PropertyResourceBundle.getBundle(
+ "org.jboss.tools.overlord.jbossesb.model.actions.Messages"),
+ "_MUST_BE_FIRST_ACTION",
+ new String[]{"RetrieveSession"}), null);
+ }
+ }
+ }
+
+ /**
* This method converts the ESB action into an equivalent
* behavioural description for conformance checking.
*
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/ScheduleStateAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/ScheduleStateAction.java 2008-07-01 10:15:42 UTC (rev 93)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/ScheduleStateAction.java 2008-07-01 11:15:18 UTC (rev 94)
@@ -53,6 +53,16 @@
}
/**
+ * This method returns the mandatory property names.
+ *
+ * @return The mandatory property names
+ */
+ @Override
+ protected String[] getMandatoryProperties() {
+ return(new String[]{SERVICE_CATEGORY, SERVICE_NAME});
+ }
+
+ /**
* This method converts the ESB action into an equivalent
* behavioural description for conformance checking.
*
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/SendMessageAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/SendMessageAction.java 2008-07-01 10:15:42 UTC (rev 93)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/SendMessageAction.java 2008-07-01 11:15:18 UTC (rev 94)
@@ -31,6 +31,8 @@
*/
public class SendMessageAction extends ESBAction {
+ private static final String IDENTITIES = "identities";
+ private static final String CLIENT_EPR = "clientEPR";
private static final String RESPONSE_SERVICE_NAME = "responseServiceName";
private static final String RESPONSE_SERVICE_CATEGORY = "responseServiceCategory";
private static final String SERVICE_NAME = "serviceName";
@@ -56,7 +58,7 @@
serviceCategory, serviceName);
getLinks().add(new ESBLink(serviceCategory, serviceName,
- service, false));
+ service, true, true));
}
if (responseServiceCategory != null && responseServiceName != null) {
@@ -64,11 +66,52 @@
responseServiceCategory, responseServiceName);
getLinks().add(new ESBLink(responseServiceCategory,
- responseServiceName, service, true));
+ responseServiceName, service, false));
}
}
+
+ /**
+ * This method returns the mandatory property names.
+ *
+ * @return The mandatory property names
+ */
+ @Override
+ protected String[] getMandatoryProperties() {
+ return(new String[]{MESSAGE_TYPE, IDENTITIES});
+ }
/**
+ * This method validates the ESB action and reports warnings or
+ * errors to the supplied model listener.
+ *
+ * @param l The model listener
+ */
+ @Override
+ public void validate(ModelListener l) {
+ super.validate(l);
+
+ // If sending request, then category/name must be specified,
+ // else a response requires the 'client epr'. Validate that
+ // either case is true.
+ if (getPropertyValue(SERVICE_CATEGORY) != null &&
+ getPropertyValue(SERVICE_NAME) != null) {
+ // Sending a request
+
+ } else if (getPropertyValue(CLIENT_EPR) != null) {
+ // Sending a response
+
+ // TODO: Validate that the client EPR has been sent on
+ // a preceding received request
+ } else {
+ l.error(this, org.scribble.util.MessageUtil.format(
+ java.util.PropertyResourceBundle.getBundle(
+ "org.jboss.tools.overlord.jbossesb.model.actions.Messages"),
+ "_NOT_SPECIFIED_REQ_RESP_EPR",
+ new String[]{}), null);
+ }
+ }
+
+ /**
* This method converts the ESB action into an equivalent
* behavioural description for conformance checking.
*
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/SetVariableAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/SetVariableAction.java 2008-07-01 10:15:42 UTC (rev 93)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/SetVariableAction.java 2008-07-01 11:15:18 UTC (rev 94)
@@ -33,6 +33,16 @@
private static final String VARIABLE = "variable";
/**
+ * This method returns the mandatory property names.
+ *
+ * @return The mandatory property names
+ */
+ @Override
+ protected String[] getMandatoryProperties() {
+ return(new String[]{VARIABLE});
+ }
+
+ /**
* This method validates the ESB action and reports warnings or
* errors to the supplied model listener.
*
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/SwitchAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/SwitchAction.java 2008-07-01 10:15:42 UTC (rev 93)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/SwitchAction.java 2008-07-01 11:15:18 UTC (rev 94)
@@ -66,6 +66,16 @@
}
/**
+ * This method returns the mandatory property names.
+ *
+ * @return The mandatory property names
+ */
+ @Override
+ protected String[] getMandatoryProperties() {
+ return(new String[]{PATHS});
+ }
+
+ /**
* This method converts the ESB action into an equivalent
* behavioural description for conformance checking.
*
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/WhenAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/WhenAction.java 2008-07-01 10:15:42 UTC (rev 93)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/WhenAction.java 2008-07-01 11:15:18 UTC (rev 94)
@@ -83,6 +83,16 @@
}
/**
+ * This method returns the mandatory property names.
+ *
+ * @return The mandatory property names
+ */
+ @Override
+ protected String[] getMandatoryProperties() {
+ return(new String[]{PATHS});
+ }
+
+ /**
* This method validates the ESB action and reports warnings or
* errors to the supplied model listener.
*
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/WhileAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/WhileAction.java 2008-07-01 10:15:42 UTC (rev 93)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/WhileAction.java 2008-07-01 11:15:18 UTC (rev 94)
@@ -95,6 +95,16 @@
}
/**
+ * This method returns the mandatory property names.
+ *
+ * @return The mandatory property names
+ */
+ @Override
+ protected String[] getMandatoryProperties() {
+ return(new String[]{PATHS});
+ }
+
+ /**
* This method validates the ESB action and reports warnings or
* errors to the supplied model listener.
*
15 years, 10 months
Overlord SVN: r93 - in cdl/trunk: runtime/jbossesb/src/main/java/org/jboss/soa/overlord/conversation and 10 other directories.
by overlord-commits@lists.jboss.org
Author: jeff.yuchang
Date: 2008-07-01 06:15:42 -0400 (Tue, 01 Jul 2008)
New Revision: 93
Added:
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/GetVariableAction.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SetVariableAction.java
cdl/trunk/runtime/jbossesb/src/test/java/org/
cdl/trunk/runtime/jbossesb/src/test/java/org/jboss/
cdl/trunk/runtime/jbossesb/src/test/java/org/jboss/soa/
cdl/trunk/runtime/jbossesb/src/test/java/org/jboss/soa/overlord/
cdl/trunk/runtime/jbossesb/src/test/java/org/jboss/soa/overlord/jbossesb/
cdl/trunk/runtime/jbossesb/src/test/java/org/jboss/soa/overlord/jbossesb/util/
cdl/trunk/runtime/jbossesb/src/test/java/org/jboss/soa/overlord/jbossesb/util/XMLUtilsTest.java
Removed:
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/util/Test.java
Modified:
cdl/trunk/runtime/jbossesb/pom.xml
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/conversation/PersistentTest.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/conversation/SessionManager.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/CreateSessionAction.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/MessageProperties.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/PerformAction.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhenAction.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhileAction.java
cdl/trunk/samples/jbossesb/broker/src/main/resources/META-INF/jboss-esb.xml
Log:
* update example.
Modified: cdl/trunk/runtime/jbossesb/pom.xml
===================================================================
--- cdl/trunk/runtime/jbossesb/pom.xml 2008-07-01 03:15:50 UTC (rev 92)
+++ cdl/trunk/runtime/jbossesb/pom.xml 2008-07-01 10:15:42 UTC (rev 93)
@@ -57,6 +57,12 @@
<artifactId>c3p0</artifactId>
<version>0.9.1</version>
</dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.4</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<reporting>
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/conversation/PersistentTest.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/conversation/PersistentTest.java 2008-07-01 03:15:50 UTC (rev 92)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/conversation/PersistentTest.java 2008-07-01 10:15:42 UTC (rev 93)
@@ -34,7 +34,7 @@
public static void main(String[] args) throws Exception{
- Session s = SessionManager.createSession("com.acme.services.broker.PurchaseGoods", null);
+ Session s = SessionManager.createSession("com.acme.services.broker.PurchaseGoods");
Identity id = new Identity();
id.setSession(s);
id.setServiceName(s.getServiceName());
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/conversation/SessionManager.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/conversation/SessionManager.java 2008-07-01 03:15:50 UTC (rev 92)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/conversation/SessionManager.java 2008-07-01 10:15:42 UTC (rev 93)
@@ -25,6 +25,9 @@
import org.apache.log4j.Logger;
import org.hibernate.Transaction;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.overlord.jbossesb.actions.ConversationActionException;
+import org.jboss.soa.overlord.jbossesb.actions.MessageProperties;
import org.jboss.soa.overlord.jbossesb.actions.Service;
/**
@@ -35,13 +38,11 @@
private static Logger logger = Logger.getLogger(SessionManager.class);
- public static Session createSession(String sessionName, String sessionKey) throws Exception {
+ public static Session createSession(String sessionName) throws Exception {
+
org.hibernate.Session hibernateSession = HibernateUtil.getSessionFactory().openSession();
Transaction transaction = null;
try {
- if (sessionKey != null && !"".equals(sessionKey)) {
- return (Session) hibernateSession.load(Session.class, Long.valueOf(sessionKey));
- }
Class<?> pojoclass= ClassLoaderUtil.loadClass(sessionName);
Object businessState = pojoclass.newInstance();
@@ -81,6 +82,48 @@
}
}
+
+ public static Session createSubSession(String sessionName, String sessionKey, Message message) throws Exception {
+
+ org.hibernate.Session hibernateSession = HibernateUtil.getSessionFactory().openSession();
+ Transaction transaction = null;
+ try {
+ Session parentSession = (Session)hibernateSession.load(Session.class, Long.valueOf(sessionKey));
+ Class<?> pojoclass= ClassLoaderUtil.loadClass(sessionName);
+ Object businessState = pojoclass.newInstance();
+
+ transaction = hibernateSession.beginTransaction();
+ //TODO: set variable here.
+ String bindExpression = (String) message.getProperties().getProperty(MessageProperties.BIND_VARIABLE);
+ Object value = message.getProperties().getProperty(MessageProperties.BIND_OBJECT);
+
+ hibernateSession.save(businessState);
+
+ Session conversationSession = new Session();
+ conversationSession.setPojoClass(sessionName);
+ conversationSession.setStatus(SessionStatus.Active);
+ if (businessState instanceof HibernateObject) {
+ HibernateObject ho = (HibernateObject) businessState;
+ conversationSession.setPojoID(ho.getId());
+ logger.debug("Set Business State Object ID : " + ho.getId());
+ }
+ conversationSession.setBusinessObject(businessState);
+ conversationSession.setParent(parentSession);
+
+ hibernateSession.save(conversationSession);
+ transaction.commit();
+
+ return conversationSession;
+ } catch (Exception e) {
+ if (transaction != null) {
+ transaction.rollback();
+ }
+ throw new Exception (e);
+ } finally {
+ hibernateSession.close();
+ }
+ }
+
public static Session retrieveSession(String sessionKey, java.util.List<Identity> ids) throws Exception {
if (sessionKey == null && ids == null) {
@@ -112,46 +155,85 @@
public static Object saveObject(Object obj) throws Exception {
org.hibernate.Session hibernateSession = HibernateUtil.getSessionFactory().openSession();
- Transaction transaction = hibernateSession.beginTransaction();
- hibernateSession.save(obj);
- transaction.commit();
- hibernateSession.close();
+ Transaction transaction = null;
+ try {
+ transaction = hibernateSession.beginTransaction();
+ hibernateSession.save(obj);
+ transaction.commit();
+ } catch (Exception e) {
+ if (transaction != null) {
+ transaction.rollback();
+ }
+ throw new ConversationActionException("Error in saveObject", e);
+ } finally {
+ hibernateSession.close();
+ }
+
return obj;
}
@SuppressWarnings("unchecked")
public static Collection saveCollection(Collection col) throws Exception {
org.hibernate.Session hibernateSession = HibernateUtil.getSessionFactory().openSession();
- Transaction transaction = hibernateSession.beginTransaction();
+ Transaction transaction = null;
+ try {
+ transaction = hibernateSession.beginTransaction();
- for(Iterator it = col.iterator(); it.hasNext();) {
- Object o = it.next();
- hibernateSession.save(o);
+ for(Iterator it = col.iterator(); it.hasNext();) {
+ Object o = it.next();
+ hibernateSession.save(o);
+ }
+
+ transaction.commit();
+ } catch (Exception e) {
+ if (transaction != null) {
+ transaction.rollback();
+ }
+ throw new ConversationActionException("Error in saveCollection", e);
+ } finally {
+ hibernateSession.close();
}
- transaction.commit();
- hibernateSession.close();
return col;
}
- public static void updateObject(Object obj) throws Exception {
+ public static void updateObject(Object obj) {
org.hibernate.Session hibernateSession = HibernateUtil.getSessionFactory().openSession();
- Transaction transaction = hibernateSession.beginTransaction();
- hibernateSession.update(obj);
- transaction.commit();
- hibernateSession.close();
+ Transaction transaction = null;
+ try {
+ transaction = hibernateSession.beginTransaction();
+ hibernateSession.update(obj);
+ transaction.commit();
+ } catch (Exception e) {
+ if (transaction != null) {
+ transaction.rollback();
+ }
+ throw new ConversationActionException("Error in updateObject", e);
+ } finally {
+ hibernateSession.close();
+ }
}
- public static void removeObject(Object obj) throws Exception {
+ public static void removeObject(Object obj) {
org.hibernate.Session hibernateSession = HibernateUtil.getSessionFactory().openSession();
- Transaction transaction = hibernateSession.beginTransaction();
- hibernateSession.delete(obj);
- transaction.commit();
- hibernateSession.close();
+ Transaction transaction = null;
+ try {
+ transaction = hibernateSession.beginTransaction();
+ hibernateSession.delete(obj);
+ transaction.commit();
+ } catch (Exception e) {
+ if (transaction != null) {
+ transaction.rollback();
+ }
+ throw new ConversationActionException("Error in removeObject", e);
+ } finally {
+ hibernateSession.close();
+ }
+
}
- public static Session getSession(Identity id) throws Exception {
+ public static Session getSession(Identity id) {
org.hibernate.Session hibernateSession = HibernateUtil.getSessionFactory().openSession();
String query = "select b from Identity b where b.type =:type and b.propertyValues =:propertyValues and b.serviceName =:serviceName";
List<?> results = hibernateSession.createQuery(query)
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/CreateSessionAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/CreateSessionAction.java 2008-07-01 03:15:50 UTC (rev 92)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/CreateSessionAction.java 2008-07-01 10:15:42 UTC (rev 93)
@@ -44,10 +44,15 @@
String sessionName=getConfig().getAttribute(ActionProperties.SESSION_NAME);
if (sessionName != null) {
- String key=(String)message.getProperties().
- getProperty(MessageProperties.SESSION_KEY);
- Session session=SessionManager.createSession(sessionName, key);
+ String key=(String)message.getProperties().getProperty(MessageProperties.SESSION_KEY);
+ Session session= null;
+ if (isSubSession(key)) {
+ session = SessionManager.createSubSession(sessionName, key, message);
+ } else {
+ session = SessionManager.createSession(sessionName);
+ }
+
logger.info("Set session '"+sessionName+"' = "+session);
message.getProperties().setProperty(MessageProperties.SESSION, session);
@@ -55,13 +60,18 @@
} else {
logger.error("No session has been defined");
- throw new Exception("Session not defined");
+ throw new ConversationActionException("Session is not defined");
}
return(message);
}
+ private boolean isSubSession(String key) {
+ return key != null && !"".equals(key);
+ }
+
+
}
Added: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/GetVariableAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/GetVariableAction.java (rev 0)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/GetVariableAction.java 2008-07-01 10:15:42 UTC (rev 93)
@@ -0,0 +1,46 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * 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,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2008,
+ */
+package org.jboss.soa.overlord.jbossesb.actions;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.overlord.conversation.Session;
+
+/**
+ * @author jeffyu
+ *
+ */
+public class GetVariableAction extends ConversationAction {
+
+ public GetVariableAction(ConfigTree config) {
+ super(config);
+ }
+
+
+ @Override
+ public Message handle(Message message) throws Exception {
+ String expression = getConfig().getAttribute("variable");
+ Session session = getSession(message);
+ Object obj = session.getBusinessObject();
+ //TODO
+ return message;
+ }
+
+}
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/MessageProperties.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/MessageProperties.java 2008-07-01 03:15:50 UTC (rev 92)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/MessageProperties.java 2008-07-01 10:15:42 UTC (rev 93)
@@ -27,4 +27,7 @@
public static final String OPERATION="operation";
public static final String MESSAGE_TYPE="messageType";
+ public static final String BIND_VARIABLE = "bind_variable";
+ public static final String BIND_OBJECT = "bind_object";
+
}
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/PerformAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/PerformAction.java 2008-07-01 03:15:50 UTC (rev 92)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/PerformAction.java 2008-07-01 10:15:42 UTC (rev 93)
@@ -19,6 +19,7 @@
*/
package org.jboss.soa.overlord.jbossesb.actions;
+import org.jboss.soa.esb.client.ServiceInvoker;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
@@ -36,8 +37,27 @@
@Override
public Message handle(Message message) throws Exception {
+ String serviceCategory = getConfig().getAttribute(ActionProperties.SERVICE_CATEGORY_PROPERTY);
+ String serviceName = getConfig().getAttribute(ActionProperties.SERVICE_NAME_PROPERTY);
- return null;
+ ConfigTree[] configs = getConfig().getAllChildren();
+
+ for(ConfigTree ct : configs) {
+ if ("bind".equals(ct.getName())) {
+ String fromExpression = ct.getAttribute("from-expression");
+ String toVariable = ct.getAttribute("to-variable");
+
+ //TODO: Object retrieving from the "fromExpression".
+ Object o = new Object();
+ message.getProperties().setProperty(MessageProperties.BIND_VARIABLE, toVariable);
+ message.getProperties().setProperty(MessageProperties.BIND_OBJECT, o);
+
+ ServiceInvoker serviceInvoker = new ServiceInvoker(serviceCategory, serviceName);
+ serviceInvoker.deliverAsync(message);
+ }
+ }
+
+ return message;
}
}
Added: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SetVariableAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SetVariableAction.java (rev 0)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SetVariableAction.java 2008-07-01 10:15:42 UTC (rev 93)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * 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,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2008,
+ */
+package org.jboss.soa.overlord.jbossesb.actions;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * @author jeffyu
+ *
+ */
+public class SetVariableAction extends ConversationAction {
+
+ public SetVariableAction(ConfigTree config) {
+ super(config);
+ }
+
+
+ @Override
+ public Message handle(Message message) throws Exception {
+ //TODO
+ return message;
+ }
+
+}
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhenAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhenAction.java 2008-07-01 03:15:50 UTC (rev 92)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhenAction.java 2008-07-01 10:15:42 UTC (rev 93)
@@ -85,7 +85,8 @@
}
}
} catch (Exception e) {
- logger.error("Failed invoke decision method: " + decision);
+ logger.error("Failed to invoke decision method: " + decision);
+ throw new ConversationActionException("Failed to invoke decision method of - " + decision);
}
}
}
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhileAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhileAction.java 2008-07-01 03:15:50 UTC (rev 92)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhileAction.java 2008-07-01 10:15:42 UTC (rev 93)
@@ -53,6 +53,7 @@
}
}
+ //TODO: Need to think about the expression.
String decisionMethod = whileConfig.getAttribute("decision-method");
Class<?> cls= ClassLoaderUtil.loadClass(session.getPojoClass());
Deleted: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/util/Test.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/util/Test.java 2008-07-01 03:15:50 UTC (rev 92)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/util/Test.java 2008-07-01 10:15:42 UTC (rev 93)
@@ -1,45 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * 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,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2008,
- */
-package org.jboss.soa.overlord.jbossesb.util;
-
-import org.w3c.dom.Element;
-
-/**
- * @author jeffyu
- *
- */
-public class Test {
-
- /**
- * @param args
- */
- public static void main(String[] args) throws Exception{
- String attr="myId";
- String val="<order><orderId id=\""+3+"\" /></order>";
- String expr="/order/orderId/@id";
-
- String value = XMLUtils.executeXpath(val, expr);
- System.out.println(value);
-
- Element element = (Element) XMLUtils.getNode(val);
- System.out.println(XMLUtils.executeXpath(element, expr));
- }
-
-}
Added: cdl/trunk/runtime/jbossesb/src/test/java/org/jboss/soa/overlord/jbossesb/util/XMLUtilsTest.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/test/java/org/jboss/soa/overlord/jbossesb/util/XMLUtilsTest.java (rev 0)
+++ cdl/trunk/runtime/jbossesb/src/test/java/org/jboss/soa/overlord/jbossesb/util/XMLUtilsTest.java 2008-07-01 10:15:42 UTC (rev 93)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * 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,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2008,
+ */
+package org.jboss.soa.overlord.jbossesb.util;
+
+import org.w3c.dom.Element;
+import org.junit.Test;
+
+import junit.framework.Assert;
+
+/**
+ * @author jeffyu
+ *
+ */
+public class XMLUtilsTest extends Assert{
+
+ @Test
+ public void testExecuteXpath() throws Exception {
+ String val="<order><orderId id=\""+3+"\" /></order>";
+ String expr="/order/orderId/@id";
+
+ String value = XMLUtils.executeXpath(val, expr);
+ assertEquals("3",value);
+
+ Element element = (Element) XMLUtils.getNode(val);
+ assertEquals("3", XMLUtils.executeXpath(element, expr));
+ }
+
+}
Modified: cdl/trunk/samples/jbossesb/broker/src/main/resources/META-INF/jboss-esb.xml
===================================================================
--- cdl/trunk/samples/jbossesb/broker/src/main/resources/META-INF/jboss-esb.xml 2008-07-01 03:15:50 UTC (rev 92)
+++ cdl/trunk/samples/jbossesb/broker/src/main/resources/META-INF/jboss-esb.xml 2008-07-01 10:15:42 UTC (rev 93)
@@ -30,6 +30,33 @@
<jms-bus busid="BrokerService7">
<jms-message-filter dest-type="QUEUE" dest-name="queue/esb-loan-broker7"/>
</jms-bus>
+ <jms-bus busid="BrokerService8">
+ <jms-message-filter dest-type="QUEUE" dest-name="queue/esb-loan-broker8"/>
+ </jms-bus>
+ <jms-bus busid="BrokerService9">
+ <jms-message-filter dest-type="QUEUE" dest-name="queue/esb-loan-broker9"/>
+ </jms-bus>
+ <jms-bus busid="BrokerService10">
+ <jms-message-filter dest-type="QUEUE" dest-name="queue/esb-loan-broker10"/>
+ </jms-bus>
+ <jms-bus busid="BrokerService11">
+ <jms-message-filter dest-type="QUEUE" dest-name="queue/esb-loan-broker11"/>
+ </jms-bus>
+ <jms-bus busid="BrokerService12">
+ <jms-message-filter dest-type="QUEUE" dest-name="queue/esb-loan-broker12"/>
+ </jms-bus>
+ <jms-bus busid="BrokerService13">
+ <jms-message-filter dest-type="QUEUE" dest-name="queue/esb-loan-broker13"/>
+ </jms-bus>
+ <jms-bus busid="BrokerService14">
+ <jms-message-filter dest-type="QUEUE" dest-name="queue/esb-loan-broker14"/>
+ </jms-bus>
+ <jms-bus busid="BrokerService15">
+ <jms-message-filter dest-type="QUEUE" dest-name="queue/esb-loan-broker15"/>
+ </jms-bus>
+ <jms-bus busid="BrokerService16">
+ <jms-message-filter dest-type="QUEUE" dest-name="queue/esb-loan-broker16"/>
+ </jms-bus>
<jms-bus busid="CreditAgencyService">
<jms-message-filter dest-type="QUEUE" dest-name="queue/esb-loan-creditAgency" />
</jms-bus>
@@ -100,7 +127,9 @@
<service category="ESBBroker.BrokerParticipant" name="ESBBrokerProcess.main" description="">
<listeners>
- <!-- To be done -->
+ <jms-listener name="BrokerServiceListener1"
+ busidref="BrokerService1"
+ maxThreads="1"/>
</listeners>
<actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.actions.CreateSessionAction"
@@ -138,10 +167,12 @@
<service category="ESBBroker.BrokerParticipant" name="ESBBrokerProcess.main.1" description="">
<listeners>
- <!-- To be done -->
+ <jms-listener name="BrokerServiceListener2"
+ busidref="BrokerService2"
+ maxThreads="1"/>
</listeners>
<actions mep="OneWay">
- <action class="org.jboss.soa.esb.actions.conversation.WhileAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.WhileAction"
process="process" name="s2-1">
<property name="paths">
<while decision-method="sendAllRequests"
@@ -162,12 +193,13 @@
<service category="ESBBroker.BrokerParticipant" name="ESBBrokerProcess.main.2" description="">
<listeners>
- <!-- To be done -->
+ <jms-listener name="BrokerServiceListener3"
+ busidref="BrokerService3"
+ maxThreads="1"/>
</listeners>
<actions mep="OneWay">
- <action class="org.jboss.soa.esb.actions.conversation.PerformAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.PerformAction"
process="process" name="s3-1">
- <property name="session" value="org.jboss.soa.esb.samples.broker.BrokerMain" />
<property name="serviceCategory" value="ESBBroker.BrokerParticipant" />
<property name="serviceName" value="RequestForQuote.main" />
<property name="bindDetails" >
@@ -196,10 +228,12 @@
<service category="ESBBroker.BrokerParticipant" name="ESBBrokerProcess.main.3" description="">
<listeners>
- <!-- To be done -->
+ <jms-listener name="BrokerServiceListener4"
+ busidref="BrokerService4"
+ maxThreads="1"/>
</listeners>
<actions mep="OneWay">
- <action class="org.jboss.soa.esb.actions.conversation.WhenAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.WhenAction"
process="process" name="s4-1">
<property name="paths">
<when expression="allQuotesReceived"
@@ -212,15 +246,17 @@
<service category="ESBBroker.BrokerParticipant" name="ESBBrokerProcess.main.4" description="">
<listeners>
- <!-- To be done -->
+ <jms-listener name="BrokerServiceListener5"
+ busidref="BrokerService5"
+ maxThreads="1"/>
</listeners>
<actions mep="OneWay">
- <action class="org.jboss.soa.esb.actions.conversation.GetStateAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.GetStateAction"
process="process" name="s4-1">
<property name="session" value="org.jboss.soa.esb.samples.broker.BrokerMain" />
<property name="variable" value="quotes" />
</action>
- <action class="org.jboss.soa.esb.actions.conversation.SendMessageAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.SendMessageAction"
process="process" name="s4-2">
<property name="operation" value="makeEnquiry" />
<property name="messageType" value="quoteList" />
@@ -231,7 +267,7 @@
</identity>
</property>
</action>
- <action class="org.jboss.soa.esb.actions.conversation.ScheduleStateAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.ScheduleStateAction"
process="process" name="s4-3">
<property name="serviceCategory" value="ESBBroker.BrokerParticipant" />
<property name="serviceName" value="ESBBrokerProcess.main.5" />
@@ -251,10 +287,12 @@
<service category="ESBBroker.BrokerParticipant" name="ESBBrokerProcess.main.5" description="">
<listeners>
- <!-- To be done -->
+ <jms-listener name="BrokerServiceListener6"
+ busidref="BrokerService6"
+ maxThreads="1"/>
</listeners>
<actions mep="OneWay">
- <action class="org.jboss.soa.esb.actions.conversation.RetrieveSessionAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.RetrieveSessionAction"
process="process" name="s5-1">
<property name="session" value="org.jboss.soa.esb.samples.broker.BrokerMain" />
<property name="serviceName" value="ESBBrokerProcess.main.5" />
@@ -265,7 +303,7 @@
</identity>
</property>
</action>
- <action class="org.jboss.soa.esb.actions.conversation.SwitchAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.SwitchAction"
process="process" name="s5-2">
<property name="paths">
<case service-category="ESBBroker.BrokerParticipant"
@@ -289,10 +327,12 @@
<service category="ESBBroker.BrokerParticipant" name="ESBBrokerProcess.main.6" description="">
<listeners>
- <!-- To be done -->
+ <jms-listener name="BrokerServiceListener7"
+ busidref="BrokerService7"
+ maxThreads="1"/>
</listeners>
<actions mep="OneWay">
- <action class="org.jboss.soa.esb.actions.conversation.ReceiveMessageAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.ReceiveMessageAction"
process="process" name="s6-1">
<property name="operation" value="cancel" />
<property name="messageType" value="cancel" />
@@ -312,10 +352,12 @@
<service category="ESBBroker.BrokerParticipant" name="ESBBrokerProcess.main.7" description="">
<listeners>
- <!-- To be done -->
+ <jms-listener name="BrokerServiceListener8"
+ busidref="BrokerService8"
+ maxThreads="1"/>
</listeners>
<actions mep="OneWay">
- <action class="org.jboss.soa.esb.actions.conversation.PerformAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.PerformAction"
process="process" name="s7-1">
<property name="session" value="org.jboss.soa.esb.samples.broker.BrokerMain" />
<property name="serviceCategory" value="ESBBroker.BrokerParticipant" />
@@ -335,7 +377,9 @@
<service category="ESBBroker.BrokerParticipant" name="ESBBrokerProcess.main.8" description="">
<listeners>
- <!-- To be done -->
+ <jms-listener name="BrokerServiceListener9"
+ busidref="BrokerService9"
+ maxThreads="1"/>
</listeners>
<actions mep="OneWay">
<!-- No actions - required to act as a join point for the performed sub-choreo
@@ -354,10 +398,12 @@
<service category="ESBBroker.BrokerParticipant" name="RequestForQuote.main" description="">
<listeners>
- <!-- To be done -->
+ <jms-listener name="BrokerServiceListener10"
+ busidref="BrokerService10"
+ maxThreads="1"/>
</listeners>
<actions mep="OneWay">
- <action class="org.jboss.soa.esb.actions.conversation.CreateSessionAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.CreateSessionAction"
process="process" name="s8-1">
<property name="session" value="org.jboss.soa.overlord.samples.jbossesb.loan.broker.Request4QuoteMain" />
</action>
@@ -365,7 +411,7 @@
<!-- NOTE: the service being sent the message is obtained by
xpath expression on the session's state. -->
- <action class="org.jboss.soa.esb.actions.conversation.SendMessageAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.SendMessageAction"
process="process" name="s8-2">
<property name="operation" value="getQuote" />
<property name="messageType" value="requestForQuote" />
@@ -387,10 +433,12 @@
<service category="ESBBroker.BrokerParticipant" name="RequestForQuote.main" description="">
<listeners>
- <!-- To be done -->
+ <jms-listener name="BrokerServiceListener11"
+ busidref="BrokerService11"
+ maxThreads="1"/>
</listeners>
<actions mep="OneWay">
- <action class="org.jboss.soa.esb.actions.conversation.ReceiveMessageAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.ReceiveMessageAction"
process="process" name="s9-1">
<property name="operation" value="getQuote" />
<property name="messageType" value="quote" />
@@ -409,14 +457,16 @@
<service category="ESBBroker.BrokerParticipant" name="CompleteTransaction.main" description="">
<listeners>
- <!-- To be done -->
+ <jms-listener name="BrokerServiceListener12"
+ busidref="BrokerService12"
+ maxThreads="1"/>
</listeners>
<actions mep="OneWay">
- <action class="org.jboss.soa.esb.actions.conversation.CreateSessionAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.CreateSessionAction"
process="process" name="s10-1">
<property name="session" value="org.jboss.soa.esb.samples.broker.CompleteTransactionMain" />
</action>
- <action class="org.jboss.soa.esb.actions.conversation.ReceiveMessageAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.ReceiveMessageAction"
process="process" name="s10-2">
<property name="operation" value="buy" />
<property name="messageType" value="purchaseDetails" />
@@ -427,7 +477,7 @@
</identity>
</property>
</action>
- <action class="org.jboss.soa.esb.actions.conversation.SendMessageAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.SendMessageAction"
process="process" name="s10-3">
<property name="operation" value="checkCredit" />
<property name="messageType" value="creditInformation" />
@@ -446,10 +496,12 @@
<service category="ESBBroker.BrokerParticipant" name="CompleteTransaction.main.1" description="">
<listeners>
- <!-- To be done -->
+ <jms-listener name="BrokerServiceListener13"
+ busidref="BrokerService13"
+ maxThreads="1"/>
</listeners>
<actions mep="OneWay">
- <action class="org.jboss.soa.esb.actions.conversation.RetrieveSessionAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.RetrieveSessionAction"
process="process" name="s11-1">
<property name="session" value="org.jboss.soa.esb.samples.broker.CompleteTransactionMain" />
<property name="serviceName" value="CompleteTransaction.main.1" />
@@ -460,7 +512,7 @@
</identity>
</property>
</action>
- <action class="org.jboss.soa.esb.actions.conversation.SwitchAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.SwitchAction"
process="process" name="s11-2">
<property name="paths">
<case service-category="ESBBroker.BrokerParticipant"
@@ -478,10 +530,12 @@
<service category="ESBBroker.BrokerParticipant" name="CompleteTransaction.main.2" description="">
<listeners>
- <!-- To be done -->
+ <jms-listener name="BrokerServiceListener14"
+ busidref="BrokerService14"
+ maxThreads="1"/>
</listeners>
<actions mep="OneWay">
- <action class="org.jboss.soa.esb.actions.conversation.ReceiveMessageAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.ReceiveMessageAction"
process="process" name="s12-1">
<property name="operation" value="checkCredit" />
<property name="messageType" value="creditValid" />
@@ -494,11 +548,11 @@
<!-- Intermediate actions to construct confirmation -->
- <action class="org.jboss.soa.esb.actions.conversation.GetVariableAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.GetVariableAction"
process="process" name="s12-2">
<property name="variable" value="confirmation" />
</action>
- <action class="org.jboss.soa.esb.actions.conversation.SendMessageAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.SendMessageAction"
process="process" name="s12-3">
<property name="operation" value="confirm" />
<property name="messageType" value="orderConfirmed" />
@@ -517,10 +571,12 @@
<service category="ESBBroker.BrokerParticipant" name="CompleteTransaction.main.3" description="">
<listeners>
- <!-- To be done -->
+ <jms-listener name="BrokerServiceListener15"
+ busidref="BrokerService15"
+ maxThreads="1"/>
</listeners>
<actions mep="OneWay">
- <action class="org.jboss.soa.esb.actions.conversation.ReceiveMessageAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.ReceiveMessageAction"
process="process" name="s13-1">
<property name="operation" value="confirm" />
<property name="messageType" value="bookingReference" />
@@ -534,12 +590,12 @@
<!-- Intermediate actions to store booking reference and then
retrieve confirmation to be returned to the customer e.g. -->
- <action class="org.jboss.soa.esb.actions.conversation.GetVariableAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.GetVariableAction"
process="process" name="s13-2">
<property name="variable" value="confirmation" />
</action>
- <action class="org.jboss.soa.esb.actions.conversation.SendMessageAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.SendMessageAction"
process="process" name="s13-3">
<property name="operation" value="buy" />
<property name="messageType" value="orderConfirmed" />
@@ -555,10 +611,12 @@
<service category="ESBBroker.BrokerParticipant" name="CompleteTransaction.main.4" description="">
<listeners>
- <!-- To be done -->
+ <jms-listener name="BrokerServiceListener16"
+ busidref="BrokerService16"
+ maxThreads="1"/>
</listeners>
<actions mep="OneWay">
- <action class="org.jboss.soa.esb.actions.conversation.ReceiveMessageAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.ReceiveMessageAction"
process="process" name="s14-1">
<property name="operation" value="checkCredit" />
<property name="messageType" value="creditInvalid" />
@@ -572,7 +630,7 @@
<!-- Intermediate actions to build and return OrderRejected
message and return it to the customer -->
- <action class="org.jboss.soa.esb.actions.conversation.SendMessageAction"
+ <action class="org.jboss.soa.overlord.jbossesb.actions.SendMessageAction"
process="process" name="s13-3">
<property name="operation" value="buy" />
<property name="messageType" value="orderRejected" />
@@ -586,5 +644,7 @@
</actions>
</service>
+ <!-- CreditAgency participant -->
+
</services>
</jbossesb>
15 years, 10 months
Overlord SVN: r91 - cdl.
by overlord-commits@lists.jboss.org
Author: jeff.yuchang
Date: 2008-06-30 23:10:55 -0400 (Mon, 30 Jun 2008)
New Revision: 91
Added:
cdl/trunk/
Removed:
cdl/cdl/
Log:
* rename it to trunk.
e-This line, and those below, will be ignored--
D cdl/cdl
A cdl/trunk
Copied: cdl/trunk (from rev 90, cdl/cdl)
15 years, 10 months
Overlord SVN: r90 - trunk and 1 other directory.
by overlord-commits@lists.jboss.org
Author: jeff.yuchang
Date: 2008-06-30 23:09:26 -0400 (Mon, 30 Jun 2008)
New Revision: 90
Added:
cdl/cdl/
Removed:
trunk/cdl/
Log:
* move the cdl repository.
Copied: cdl/cdl (from rev 87, trunk/cdl)
15 years, 10 months
Overlord SVN: r89 - cdl.
by overlord-commits@lists.jboss.org
Author: jeff.yuchang
Date: 2008-06-30 23:07:39 -0400 (Mon, 30 Jun 2008)
New Revision: 89
Removed:
cdl/trunk/
Log:
* remove the trunk firstly
15 years, 10 months
Overlord SVN: r87 - in trunk/cdl: samples and 7 other directories.
by overlord-commits@lists.jboss.org
Author: jeff.yuchang
Date: 2008-06-30 23:05:21 -0400 (Mon, 30 Jun 2008)
New Revision: 87
Added:
trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ConversationActionException.java
trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/PerformAction.java
trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhenAction.java
trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhileAction.java
trunk/cdl/samples/jbossesb/broker/src/main/java/org/jboss/soa/overlord/samples/jbossesb/loan/broker/Request4QuoteMain.java
trunk/cdl/samples/jbossesb/client/src/com/acme/services/buyer/BrokerClient.java
Modified:
trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ActionProperties.java
trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ConversationAction.java
trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/CreateSessionAction.java
trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/IfAction.java
trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/MessageRouterAction.java
trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ParallelAction.java
trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ReceiveMessageAction.java
trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/RetrieveSessionAction.java
trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ScheduleStateAction.java
trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SendMessageAction.java
trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SwitchAction.java
trunk/cdl/samples/jbossesb/README.txt
trunk/cdl/samples/jbossesb/broker/src/main/java/org/jboss/soa/overlord/samples/jbossesb/loan/broker/Quote.java
trunk/cdl/samples/jbossesb/broker/src/main/resources/META-INF/jboss-esb.xml
trunk/cdl/samples/jbossesb/client/build.xml
trunk/cdl/samples/jbossesb/client/src/com/acme/services/buyer/BuyerClient.java
trunk/cdl/samples/jbossesb/client/src/jbossesb-properties.xml
trunk/cdl/samples/jbossesb/purchasing/pom.xml
trunk/cdl/samples/pom.xml
Log:
* Continuing update the broker example.(Not executable yet)
Modified: trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ActionProperties.java
===================================================================
--- trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ActionProperties.java 2008-06-30 16:57:42 UTC (rev 86)
+++ trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ActionProperties.java 2008-07-01 03:05:21 UTC (rev 87)
@@ -45,4 +45,6 @@
public static final String IMMEDIATE="immediate";
public static final String IDENTITIES="identities";
+
+ public static final String INITIATE = "initiate" ;
}
Modified: trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ConversationAction.java
===================================================================
--- trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ConversationAction.java 2008-06-30 16:57:42 UTC (rev 86)
+++ trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ConversationAction.java 2008-07-01 03:05:21 UTC (rev 87)
@@ -40,7 +40,7 @@
*/
public abstract class ConversationAction extends AbstractActionLifecycle {
- private static Logger logger = Logger.getLogger(ConversationAction.class);
+ protected static Logger logger = Logger.getLogger(ConversationAction.class);
private ConfigTree config;
@@ -62,62 +62,66 @@
return(ret);
}
- protected java.util.List<Identity> getIdentities(Message message, String serviceDescriptionName) throws Exception {
- java.util.List<Identity> ret=null;
+ public List<Identity> getIdentities(Message message, String serviceDescriptionName, ConfigTree ct) throws Exception {
- // Check if identity already associated with message
- // and if not, then use token/locator information to
- // derive identity
- if (message.getProperties().getProperty(ActionProperties.IDENTITIES) == null) {
- ConfigTree[] children=getConfig().getAllChildren();
- java.util.List<Identity> ids=new java.util.Vector<Identity>();
-
- org.w3c.dom.Element elem=getElement(message);
-
- for (int i=0; i < children.length; i++) {
-
- if (children[i].getName().equals("identity")) {
- String type=children[i].getAttribute("type");
+ ConfigTree[] children=ct.getAllChildren();
+ java.util.List<Identity> ids=new java.util.Vector<Identity>();
+
+ org.w3c.dom.Element elem=getElement(message);
+
+ for (int i=0; i < children.length; i++) {
- ConfigTree[] tokens=children[i].getAllChildren();
-
- Map<String, String> properties = new HashMap<String, String>();
-
- for (int j=0; j < tokens.length; j++) {
- if (tokens[j].getName().equals("token")) {
- String locator=tokens[j].getAttribute("locator");
+ if (children[i].getName().equals("identity")) {
+ String type=children[i].getAttribute("type");
+
+ ConfigTree[] tokens=children[i].getAllChildren();
+
+ Map<String, String> properties = new HashMap<String, String>();
+
+ for (int j=0; j < tokens.length; j++) {
+ if (tokens[j].getName().equals("token")) {
+ String locator=tokens[j].getAttribute("locator");
+
+ try {
+ String value = XMLUtils.executeXpath(elem, locator);
+ properties.put(tokens[j].getAttribute("name"), value);
- try {
- String value = XMLUtils.executeXpath(elem, locator);
- properties.put(tokens[j].getAttribute("name"), value);
-
- } catch(Exception e) {
- logger.error("Failed to evaluate registry query '" + locator+"': "+e);
- throw new Exception(e);
- }
+ } catch(Exception e) {
+ logger.error("Failed to evaluate registry query '" + locator+"': "+e);
+ throw new Exception(e);
}
}
-
- Identity id = new Identity();
- id.setType(IdentityType.toIdentityType(type));
- id.setProperties(properties);
- id.setSession(getSession(message));
- if (serviceDescriptionName != null) {
- id.setServiceName(serviceDescriptionName);
- }
- ids.add(id);
}
+
+ Identity id = new Identity();
+ id.setType(IdentityType.toIdentityType(type));
+ id.setProperties(properties);
+ id.setSession(getSession(message));
+ if (serviceDescriptionName != null) {
+ id.setServiceName(serviceDescriptionName);
+ }
+ ids.add(id);
}
-
- ret = ids;
}
- return(ret);
+ return ids;
}
+
+ protected List<Identity> getIdentities(Message message, String serviceDescriptionName) throws Exception {
+
+ // Check if identity already associated with message
+ // and if not, then use token/locator information to
+ // derive identity
+ if (message.getProperties().getProperty(ActionProperties.IDENTITIES) == null) {
+ return getIdentities(message, serviceDescriptionName, getConfig());
+ }
+
+ return null;
+ }
+
protected String getMessageType(Message message) throws Exception {
- String mesgType=(String)message.getProperties().getProperty(
- MessageProperties.MESSAGE_TYPE);
+ String mesgType=(String)message.getProperties().getProperty( MessageProperties.MESSAGE_TYPE);
// NOTE: Only deals with XML at present
Added: trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ConversationActionException.java
===================================================================
--- trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ConversationActionException.java (rev 0)
+++ trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ConversationActionException.java 2008-07-01 03:05:21 UTC (rev 87)
@@ -0,0 +1,46 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * 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,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2008,
+ */
+package org.jboss.soa.overlord.jbossesb.actions;
+
+/**
+ * @author jeffyu
+ *
+ */
+public class ConversationActionException extends RuntimeException {
+
+ private static final long serialVersionUID = -8332666951736901905L;
+
+ public ConversationActionException() {
+ super();
+ }
+
+ public ConversationActionException(String message) {
+ super(message);
+ }
+
+ public ConversationActionException(Throwable t) {
+ super(t);
+ }
+
+ public ConversationActionException(String message, Throwable t) {
+ super(message, t);
+ }
+
+}
Modified: trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/CreateSessionAction.java
===================================================================
--- trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/CreateSessionAction.java 2008-06-30 16:57:42 UTC (rev 86)
+++ trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/CreateSessionAction.java 2008-07-01 03:05:21 UTC (rev 87)
@@ -19,7 +19,6 @@
*/
package org.jboss.soa.overlord.jbossesb.actions;
-import org.apache.log4j.Logger;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.overlord.conversation.Session;
@@ -32,8 +31,6 @@
*/
public class CreateSessionAction extends ConversationAction {
- private static Logger logger = Logger.getLogger(CreateSessionAction.class);
-
public CreateSessionAction(ConfigTree config) {
super(config);
}
Modified: trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/IfAction.java
===================================================================
--- trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/IfAction.java 2008-06-30 16:57:42 UTC (rev 86)
+++ trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/IfAction.java 2008-07-01 03:05:21 UTC (rev 87)
@@ -22,6 +22,7 @@
import org.apache.log4j.Logger;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.overlord.conversation.ClassLoaderUtil;
import org.jboss.soa.overlord.conversation.Session;
/**
@@ -54,7 +55,7 @@
if (method != null) {
// Try to invoke method on business object, to obtain a decision
try {
- Class cls= Thread.currentThread().getContextClassLoader().loadClass(session.getPojoClass());
+ Class cls= ClassLoaderUtil.loadClass(session.getPojoClass());
Class[] clsParam = null;
java.lang.reflect.Method m=cls.getMethod(method, clsParam);
Modified: trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/MessageRouterAction.java
===================================================================
--- trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/MessageRouterAction.java 2008-06-30 16:57:42 UTC (rev 86)
+++ trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/MessageRouterAction.java 2008-07-01 03:05:21 UTC (rev 87)
@@ -19,43 +19,68 @@
*/
package org.jboss.soa.overlord.jbossesb.actions;
-import org.apache.log4j.Logger;
-import org.jboss.soa.esb.actions.AbstractActionLifecycle;
+import java.util.List;
+
import org.jboss.soa.esb.client.ServiceInvoker;
import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.message.MessageDeliverException;
import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.overlord.jbossesb.util.MessageUtil;
+import org.jboss.soa.overlord.conversation.Identity;
+import org.jboss.soa.overlord.conversation.ScheduleItem;
+import org.jboss.soa.overlord.conversation.Session;
/**
* @author jeffyu
*
*/
-public class MessageRouterAction extends AbstractActionLifecycle {
+public class MessageRouterAction extends ConversationAction {
- private static Logger logger = Logger.getLogger(MessageRouterAction.class);
+ private boolean routerFlag = false;
- private ConfigTree config;
-
public MessageRouterAction(ConfigTree config) {
- this.config = config;
+ super(config);
}
- public Message process(Message message) throws Exception {
- ConfigTree[] children = config.getAllChildren();
- String messageType = MessageUtil.getMessageType(message.getBody().get());
+ @Override
+ public Message handle(Message message) throws Exception {
+ ConfigTree[] children = getConfig().getAllChildren();
+ String messageType = getMessageType(message);
+
logger.debug("The sent message type is [" + messageType + "]");
for (ConfigTree ct : children) {
ConfigTree[] msgNodes = ct.getChildren("message");
String msgType = msgNodes[0].getAttribute("type");
- if (messageType.equals(msgType)) {
- String serviceCategory = ct.getAttribute("service-category");
- String serviceName = ct.getAttribute("service-name");
- ServiceInvoker invoker = new ServiceInvoker(serviceCategory, serviceName);
- invoker.deliverAsync(message);
+ if (routerFlag == false && messageType.equals(msgType)) {
+ List<Identity> ids = getIdentities(message, null, ct);
+ Session session = getSession(message, ids);
+ String serviceCategory = ct.getAttribute(ActionProperties.SERVICE_CATEGORY);
+ String serviceName = ct.getAttribute(ActionProperties.SERVICE_NAME);
+ String initiate = ct.getAttribute(ActionProperties.INITIATE);
+ if ("true".equals(initiate) && session == null) {
+ invokeService(message, serviceCategory, serviceName);
+ } else if (session != null){
+ List<ScheduleItem> items = session.getScheduleItems();
+ for (ScheduleItem item : items) {
+ if (serviceCategory.equals(item.getCategory()) && serviceName.equals(item.getName())) {
+ invokeService(message, serviceCategory, serviceName);
+ }
+ }
+ }
}
}
- throw new Exception ("Could not find any services to proceed!");
+ if (routerFlag == false) {
+ throw new ConversationActionException ("Could not find any appropriate services to proceed!");
+ }
+ return null;
}
+
+ private void invokeService(Message message, String serviceCategory,
+ String serviceName) throws MessageDeliverException {
+ ServiceInvoker invoker = new ServiceInvoker(serviceCategory, serviceName);
+ invoker.deliverAsync(message);
+ routerFlag = true;
+ }
+
}
Modified: trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ParallelAction.java
===================================================================
--- trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ParallelAction.java 2008-06-30 16:57:42 UTC (rev 86)
+++ trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ParallelAction.java 2008-07-01 03:05:21 UTC (rev 87)
@@ -19,7 +19,6 @@
*/
package org.jboss.soa.overlord.jbossesb.actions;
-import org.apache.log4j.Logger;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.overlord.conversation.Session;
@@ -29,8 +28,6 @@
*/
public class ParallelAction extends ConversationAction {
- private static Logger logger = Logger.getLogger(ParallelAction.class);
-
public ParallelAction(ConfigTree config) {
super(config);
}
@@ -91,7 +88,6 @@
String name=children[i].getAttribute("service-name");
String immediate=children[i].getAttribute("immediate","false");
- logger.info("SESSION is stale?" + session.getJoinStates().get(0).getSpawnPath());
// Schedule service
session.schedule(category, name,
immediate.equalsIgnoreCase("true"),
Added: trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/PerformAction.java
===================================================================
--- trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/PerformAction.java (rev 0)
+++ trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/PerformAction.java 2008-07-01 03:05:21 UTC (rev 87)
@@ -0,0 +1,43 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * 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,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2008,
+ */
+package org.jboss.soa.overlord.jbossesb.actions;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * @author jeffyu
+ *
+ */
+public class PerformAction extends ConversationAction {
+
+
+ public PerformAction(ConfigTree config) {
+ super(config);
+ }
+
+
+ @Override
+ public Message handle(Message message) throws Exception {
+
+ return null;
+ }
+
+}
Modified: trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ReceiveMessageAction.java
===================================================================
--- trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ReceiveMessageAction.java 2008-06-30 16:57:42 UTC (rev 86)
+++ trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ReceiveMessageAction.java 2008-07-01 03:05:21 UTC (rev 87)
@@ -19,10 +19,8 @@
*/
package org.jboss.soa.overlord.jbossesb.actions;
-import org.apache.log4j.Logger;
import org.jboss.soa.esb.addressing.EPR;
import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.message.Body;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.overlord.conversation.Identity;
import org.jboss.soa.overlord.conversation.Session;
@@ -32,8 +30,6 @@
*/
public class ReceiveMessageAction extends ConversationAction {
- private static Logger logger = Logger.getLogger(ReceiveMessageAction.class);
-
public ReceiveMessageAction(ConfigTree config) {
super(config);
}
Modified: trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/RetrieveSessionAction.java
===================================================================
--- trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/RetrieveSessionAction.java 2008-06-30 16:57:42 UTC (rev 86)
+++ trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/RetrieveSessionAction.java 2008-07-01 03:05:21 UTC (rev 87)
@@ -21,7 +21,6 @@
import java.util.List;
-import org.apache.log4j.Logger;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.overlord.conversation.Identity;
@@ -32,8 +31,6 @@
*/
public class RetrieveSessionAction extends ConversationAction {
- private static Logger logger = Logger.getLogger(RetrieveSessionAction.class);
-
public RetrieveSessionAction(ConfigTree config) {
super(config);
}
Modified: trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ScheduleStateAction.java
===================================================================
--- trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ScheduleStateAction.java 2008-06-30 16:57:42 UTC (rev 86)
+++ trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ScheduleStateAction.java 2008-07-01 03:05:21 UTC (rev 87)
@@ -19,7 +19,6 @@
*/
package org.jboss.soa.overlord.jbossesb.actions;
-import org.apache.log4j.Logger;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.overlord.conversation.Session;
@@ -29,8 +28,6 @@
*/
public class ScheduleStateAction extends ConversationAction {
- private static Logger logger = Logger.getLogger(ScheduleStateAction.class);
-
public ScheduleStateAction(ConfigTree config) {
super(config);
}
Modified: trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SendMessageAction.java
===================================================================
--- trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SendMessageAction.java 2008-06-30 16:57:42 UTC (rev 86)
+++ trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SendMessageAction.java 2008-07-01 03:05:21 UTC (rev 87)
@@ -19,7 +19,6 @@
*/
package org.jboss.soa.overlord.jbossesb.actions;
-import org.apache.log4j.Logger;
import org.jboss.soa.esb.addressing.EPR;
import org.jboss.soa.esb.addressing.eprs.LogicalEPR;
import org.jboss.soa.esb.client.ServiceInvoker;
@@ -39,8 +38,6 @@
*/
public class SendMessageAction extends ConversationAction {
- private static Logger logger = Logger.getLogger(SendMessageAction.class);
-
public SendMessageAction(ConfigTree config) {
super(config);
}
Modified: trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SwitchAction.java
===================================================================
--- trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SwitchAction.java 2008-06-30 16:57:42 UTC (rev 86)
+++ trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SwitchAction.java 2008-07-01 03:05:21 UTC (rev 87)
@@ -19,7 +19,6 @@
*/
package org.jboss.soa.overlord.jbossesb.actions;
-import org.apache.log4j.Logger;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.overlord.conversation.Session;
@@ -30,8 +29,6 @@
*/
public class SwitchAction extends ConversationAction {
- private static Logger logger = Logger.getLogger(SwitchAction.class);
-
public SwitchAction(ConfigTree config) {
super(config);
}
Added: trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhenAction.java
===================================================================
--- trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhenAction.java (rev 0)
+++ trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhenAction.java 2008-07-01 03:05:21 UTC (rev 87)
@@ -0,0 +1,96 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * 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,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2008,
+ */
+package org.jboss.soa.overlord.jbossesb.actions;
+
+import java.lang.reflect.Method;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.overlord.conversation.ClassLoaderUtil;
+import org.jboss.soa.overlord.conversation.Session;
+
+/**
+ * @author jeffyu
+ *
+ */
+public class WhenAction extends ConversationAction {
+
+ public WhenAction(ConfigTree config) {
+ super(config);
+ }
+
+
+ @Override
+ public Message handle(Message message) throws Exception {
+ Session session = getSession(message);
+ int pathCount = 0;
+ String joinCategory = null;
+ String joinName = null;
+
+ for(ConfigTree ct : getConfig().getAllChildren()) {
+ if ("when".equals(ct.getName())) {
+ pathCount ++;
+ } else if ("join".equals(ct.getName())) {
+
+ if (joinName != null) {
+ logger.error("Join details already defined");
+ }
+
+ joinCategory = ct.getAttribute(ActionProperties.SERVICE_CATEGORY);
+ joinName = ct.getAttribute(ActionProperties.SERVICE_NAME);
+ }
+ }
+
+ if (joinCategory != null && joinName != null && pathCount > 0) {
+ session.join(joinCategory, joinName, pathCount);
+ }
+
+ for(ConfigTree ct : getConfig().getAllChildren()) {
+ if ("when".equals(ct.getName())) {
+ //TODO: make the expression as an method name temporarily
+ String decision = ct.getAttribute("expression");
+ String category = ct.getAttribute(ActionProperties.SERVICE_CATEGORY);
+ String name = ct.getAttribute(ActionProperties.SERVICE_NAME);
+ try {
+ Class<?> cls= ClassLoaderUtil.loadClass(session.getPojoClass());
+ Class<?>[] clsParam = null;
+ Method m=cls.getMethod(decision, clsParam);
+ if (m != null) {
+ Object[] params = null;
+ Object res = m.invoke(session.getBusinessObject(), params);
+ if (res instanceof Boolean) {
+ Boolean ret = (Boolean)res;
+ if (ret.booleanValue()) {
+ session.schedule(category, name, true, message);
+ }
+ } else {
+ logger.error("currently doesn't support the return value other than Boolean");
+ }
+ }
+ } catch (Exception e) {
+ logger.error("Failed invoke decision method: " + decision);
+ }
+ }
+ }
+
+ return message;
+ }
+
+}
Added: trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhileAction.java
===================================================================
--- trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhileAction.java (rev 0)
+++ trunk/cdl/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhileAction.java 2008-07-01 03:05:21 UTC (rev 87)
@@ -0,0 +1,88 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * 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,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2008,
+ */
+package org.jboss.soa.overlord.jbossesb.actions;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.overlord.conversation.ClassLoaderUtil;
+import org.jboss.soa.overlord.conversation.Session;
+
+/**
+ * @author jeffyu
+ *
+ */
+public class WhileAction extends ConversationAction {
+
+ private int counter = 0;
+
+ public WhileAction(ConfigTree config) {
+ super(config);
+ }
+
+ @Override
+ public Message handle(Message message) throws Exception {
+ Session session = getSession(message);
+ ConfigTree whileConfig = null;
+ ConfigTree exitConfig = null;
+
+ ConfigTree[] configTrees = getConfig().getAllChildren();
+ for (ConfigTree ct : configTrees) {
+ if ("while".equals(ct.getName())) {
+ whileConfig = ct;
+ } else if ("exit".equals(ct.getName())){
+ exitConfig = ct;
+ } else {
+ throw new ConversationActionException("Unrecognized configuration Node in WhileAction");
+ }
+ }
+
+ String decisionMethod = whileConfig.getAttribute("decision-method");
+
+ Class<?> cls= ClassLoaderUtil.loadClass(session.getPojoClass());
+ Class<?>[] clsParam = null;
+ java.lang.reflect.Method m=cls.getMethod(decisionMethod, clsParam);
+ if (m != null) {
+ Object[] params = null;
+ Object response = m.invoke(session.getBusinessObject(), params);
+ if (response instanceof Integer) {
+ Integer value = (Integer) response;
+ if (counter < value) {
+ String category = whileConfig.getAttribute(ActionProperties.SERVICE_CATEGORY);
+ String name = whileConfig.getAttribute(ActionProperties.SERVICE_NAME);
+ session.schedule(category, name, true, message);
+ counter ++;
+ } else {
+ String category = exitConfig.getAttribute(ActionProperties.SERVICE_CATEGORY);
+ String name = exitConfig.getAttribute(ActionProperties.SERVICE_NAME);
+ session.schedule(category, name, true, message);
+ }
+ } else {
+ throw new ConversationActionException("method return value is not an Integer.");
+ }
+ } else {
+ throw new ConversationActionException("Haven't found the decision method in the configuration.");
+ }
+
+ return message;
+ }
+
+
+
+}
Modified: trunk/cdl/samples/jbossesb/README.txt
===================================================================
--- trunk/cdl/samples/jbossesb/README.txt 2008-06-30 16:57:42 UTC (rev 86)
+++ trunk/cdl/samples/jbossesb/README.txt 2008-07-01 03:05:21 UTC (rev 87)
@@ -7,8 +7,8 @@
Settings required to edit before running:
-File: system/pom.xml
-- Update the "deploy.dir" to your JBossAS server directory.
+File: purchasing/pom.xml
+- Update the "deploy.dir" variable to your JBossAS server directory.
-- Notice Before jbossesb-rosetta.jar and jbossesb-config-model.jar get published in jboss maven repository, you need to install these two artifacts into
your local repository by using following commands:
@@ -18,7 +18,8 @@
Here we are using jbossesb-rosetta 4.2.1 version, jbossesb-config-model 1.0.1 version.
-Running instructions:
+
+Running instructions for purchasing example:
------------------------------------------------
To run the purchasing, follow these steps:
@@ -26,12 +27,12 @@
2 - from the $JBossAS, execute the command to start the ESB: "bin/run.sh", or "bin/run.bat" for windows.
-3 - from the $Purchasing/system execute the command to start the Hsql database: "ant startdb".
+3 - from the $purchasing: execute the command to start the Hsql database: "ant startdb".
-4 - Open up another shell, from the $Purchasing/system, execute the command to deploy the "Purchasing system": "mvn install"
+4 - Open up another shell, from the $Purchasing, execute the command to deploy the "Purchasing": "mvn install"
* this should deploy the ESB archive to your JBoss AS server/default.
-5 - from the $Purchasing/client, execute the command to run the client: "ant runClient"
+5 - from the $client, execute the command to run the client: "ant runClient"
You will see the "<BuyResponse id="5"></BuyResponse>" in the client console.
-6 - you can from the $Purchasing/system to run "ant dbmanager" to open up the database browser to check the data.
+6 - you can from the $purchasing to run "ant dbmanager" to open up the database browser to check the data.
Modified: trunk/cdl/samples/jbossesb/broker/src/main/java/org/jboss/soa/overlord/samples/jbossesb/loan/broker/Quote.java
===================================================================
--- trunk/cdl/samples/jbossesb/broker/src/main/java/org/jboss/soa/overlord/samples/jbossesb/loan/broker/Quote.java 2008-06-30 16:57:42 UTC (rev 86)
+++ trunk/cdl/samples/jbossesb/broker/src/main/java/org/jboss/soa/overlord/samples/jbossesb/loan/broker/Quote.java 2008-07-01 03:05:21 UTC (rev 87)
@@ -19,53 +19,8 @@
*/
package org.jboss.soa.overlord.samples.jbossesb.loan.broker;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.OneToOne;
-import javax.persistence.Table;
-import org.jboss.soa.overlord.conversation.HibernateObject;
-@Entity
-@Table(name="T_QUOTE")
-public class Quote implements HibernateObject {
-
- private static final long serialVersionUID = 111113L;
-
- @Id @GeneratedValue
- @Column(name="ID")
- private long id;
-
- @Column(name="SUPPLIER")
- @OneToOne(mappedBy="SUPPLIER")
- private Supplier supplier;
-
- @Column(name="QUOTE_VALUE")
- private int quoteValue;
+public class Quote {
- public long getId() {
- return this.id;
- }
-
- public void setId(long id) {
- this.id = id;
- }
-
- public Supplier getSupplier() {
- return supplier;
- }
-
- public void setSupplier(Supplier supplier) {
- this.supplier = supplier;
- }
-
- public int getQuoteValue() {
- return quoteValue;
- }
-
- public void setQuoteValue(int quoteValue) {
- this.quoteValue = quoteValue;
- }
}
Added: trunk/cdl/samples/jbossesb/broker/src/main/java/org/jboss/soa/overlord/samples/jbossesb/loan/broker/Request4QuoteMain.java
===================================================================
--- trunk/cdl/samples/jbossesb/broker/src/main/java/org/jboss/soa/overlord/samples/jbossesb/loan/broker/Request4QuoteMain.java (rev 0)
+++ trunk/cdl/samples/jbossesb/broker/src/main/java/org/jboss/soa/overlord/samples/jbossesb/loan/broker/Request4QuoteMain.java 2008-07-01 03:05:21 UTC (rev 87)
@@ -0,0 +1,66 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * 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,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2008,
+ */
+package org.jboss.soa.overlord.samples.jbossesb.loan.broker;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+
+import org.jboss.soa.overlord.conversation.HibernateObject;
+
+/**
+ * @author jeffyu
+ *
+ */
+@Entity
+@Table(name="T_REQUEST_QUOTE")
+public class Request4QuoteMain implements HibernateObject {
+
+ private static final long serialVersionUID = -6269132071760540966L;
+
+ @Id @GeneratedValue
+ @Column(name="ID")
+ private long id;
+
+ @Column(name="SUPPLIER")
+ @OneToOne(mappedBy="SUPPLIER")
+ private Supplier supplier;
+
+ public long getId() {
+ return id;
+ }
+
+ public void setId(long id) {
+ this.id = id;
+ }
+
+ public Supplier getSupplier() {
+ return supplier;
+ }
+
+ public void setSupplier(Supplier supplier) {
+ this.supplier = supplier;
+ }
+
+
+}
Modified: trunk/cdl/samples/jbossesb/broker/src/main/resources/META-INF/jboss-esb.xml
===================================================================
--- trunk/cdl/samples/jbossesb/broker/src/main/resources/META-INF/jboss-esb.xml 2008-06-30 16:57:42 UTC (rev 86)
+++ trunk/cdl/samples/jbossesb/broker/src/main/resources/META-INF/jboss-esb.xml 2008-07-01 03:05:21 UTC (rev 87)
@@ -70,14 +70,15 @@
<action class="org.jboss.soa.overlord.jbossesb.actions.MessageRouterAction"
process="process" name="s0-1">
<property name="paths">
- <route service-category="ESBBroker.BrokerParticipant"
- service-name="ESBBrokerProcess.main" >
+ <route service-category="ESBBroker.BrokerParticipant"
+ service-name="ESBBrokerProcess.main"
+ initiate="true">
<identity type="primary" >
<token name="id" locator="//@id" />
</identity>
<message type="enquiry" />
</route>
- <route service-category="ESBBroker.BrokerParticipant"
+ <route service-category="ESBBroker.BrokerParticipant"
service-name="ESBBrokerProcess.main.5" >
<identity type="primary" >
<token name="id" locator="//@id" />
@@ -200,7 +201,6 @@
<actions mep="OneWay">
<action class="org.jboss.soa.esb.actions.conversation.WhenAction"
process="process" name="s4-1">
- <property name="session" value="org.jboss.soa.esb.samples.broker.BrokerMain" />
<property name="paths">
<when expression="allQuotesReceived"
service-category="ESBBroker.BrokerParticipant"
@@ -359,7 +359,7 @@
<actions mep="OneWay">
<action class="org.jboss.soa.esb.actions.conversation.CreateSessionAction"
process="process" name="s8-1">
- <property name="session" value="org.jboss.soa.overlord.samples.jbossesb.loan.broker.Quote" />
+ <property name="session" value="org.jboss.soa.overlord.samples.jbossesb.loan.broker.Request4QuoteMain" />
</action>
<!-- NOTE: the service being sent the message is obtained by
@@ -585,5 +585,6 @@
</action>
</actions>
</service>
+
</services>
</jbossesb>
Modified: trunk/cdl/samples/jbossesb/client/build.xml
===================================================================
--- trunk/cdl/samples/jbossesb/client/build.xml 2008-06-30 16:57:42 UTC (rev 86)
+++ trunk/cdl/samples/jbossesb/client/build.xml 2008-07-01 03:05:21 UTC (rev 87)
@@ -38,4 +38,11 @@
</java>
</target>
+ <target name="runBrokerClient" depends="compile">
+ <java fork="yes" classname="com.acme.services.buyer.BrokerClient">
+ <classpath refid="project.classpath" />
+ <classpath location="${classes.dir}" />
+ </java>
+ </target>
+
</project>
Added: trunk/cdl/samples/jbossesb/client/src/com/acme/services/buyer/BrokerClient.java
===================================================================
--- trunk/cdl/samples/jbossesb/client/src/com/acme/services/buyer/BrokerClient.java (rev 0)
+++ trunk/cdl/samples/jbossesb/client/src/com/acme/services/buyer/BrokerClient.java 2008-07-01 03:05:21 UTC (rev 87)
@@ -0,0 +1,76 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * 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,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2008,
+ */
+package com.acme.services.buyer;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.client.ServiceInvoker;
+import org.jboss.soa.esb.common.Configuration;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+
+/**
+ * @author jeffyu
+ *
+ */
+public class BrokerClient {
+
+ private static Logger logger = Logger.getLogger(BuyerClient.class);
+
+ private ServiceInvoker brokerInvoker;
+
+ public BrokerClient() {
+
+ String regClass = Configuration.getRegistryFactoryClass();
+ System.setProperty("javax.xml.registry.ConnectionFactoryClass",regClass);
+
+ try {
+ brokerInvoker = new ServiceInvoker("ESBBroker.BrokerParticipant", "ESBBrokerProcess");
+ } catch (Exception e) {
+ throw new RuntimeException("Failed to create ServiceInvoker", e);
+ }
+ }
+
+ public void run() {
+
+ String buyReq="<enquiry id=\"20\" ></enquiry>";
+
+ Message mesg = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);
+ mesg.getBody().add(buyReq);
+
+ try {
+ Message reply=brokerInvoker.deliverSync(mesg, 20000);
+
+ if (reply != null) {
+ System.out.println("Reply: "+reply.getBody().get());
+ } else {
+ System.err.println("NO REPLY");
+ }
+
+ } catch (Exception e) {
+ logger.error(e);
+ }
+ }
+
+ public static void main(String[] args) {
+ BrokerClient client=new BrokerClient();
+ client.run();
+ }
+}
Modified: trunk/cdl/samples/jbossesb/client/src/com/acme/services/buyer/BuyerClient.java
===================================================================
--- trunk/cdl/samples/jbossesb/client/src/com/acme/services/buyer/BuyerClient.java 2008-06-30 16:57:42 UTC (rev 86)
+++ trunk/cdl/samples/jbossesb/client/src/com/acme/services/buyer/BuyerClient.java 2008-07-01 03:05:21 UTC (rev 87)
@@ -1,3 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * 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,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2008,
+ */
package com.acme.services.buyer;
import org.apache.log4j.Logger;
@@ -7,6 +26,9 @@
import org.jboss.soa.esb.client.ServiceInvoker;
import org.jboss.soa.esb.common.Configuration;
+/**
+ * @author gary
+ */
public class BuyerClient {
private static Logger logger = Logger.getLogger(BuyerClient.class);
@@ -16,8 +38,7 @@
public BuyerClient() {
String regClass = Configuration.getRegistryFactoryClass();
- System.setProperty("javax.xml.registry.ConnectionFactoryClass",
- regClass);
+ System.setProperty("javax.xml.registry.ConnectionFactoryClass", regClass);
try {
brokerInvoker = new ServiceInvoker("PurchaseGoods.Broker", "Broker.main");
Modified: trunk/cdl/samples/jbossesb/client/src/jbossesb-properties.xml
===================================================================
--- trunk/cdl/samples/jbossesb/client/src/jbossesb-properties.xml 2008-06-30 16:57:42 UTC (rev 86)
+++ trunk/cdl/samples/jbossesb/client/src/jbossesb-properties.xml 2008-07-01 03:05:21 UTC (rev 87)
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
JBoss, Home of Professional Open Source
- Copyright 2006, JBoss Inc., and others contributors as indicated
+ Copyright 2008, JBoss Inc., and others contributors as indicated
by the @authors tag. All rights reserved.
See the copyright.txt in the distribution for a
full listing of individual contributors.
@@ -16,7 +16,7 @@
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA.
- (C) 2005-2006,
+ (C) 2008,
@author JBoss Inc.
-->
<!-- $Id: jbossesb-unittest-properties.xml $ -->
Modified: trunk/cdl/samples/jbossesb/purchasing/pom.xml
===================================================================
--- trunk/cdl/samples/jbossesb/purchasing/pom.xml 2008-06-30 16:57:42 UTC (rev 86)
+++ trunk/cdl/samples/jbossesb/purchasing/pom.xml 2008-07-01 03:05:21 UTC (rev 87)
@@ -95,7 +95,7 @@
<phase>install</phase>
<configuration>
<tasks>
- <property name="deploy.dir" value="/var/local/jboss-4.2.2.GA/server/default/deploy" />
+ <property name="deploy.dir" value="/var/local/jboss-4.2.2.GA/server/default/deploy" />
<copy file="target/purchasing.esb" todir="${deploy.dir}" overwrite="true" />
</tasks>
</configuration>
Modified: trunk/cdl/samples/pom.xml
===================================================================
--- trunk/cdl/samples/pom.xml 2008-06-30 16:57:42 UTC (rev 86)
+++ trunk/cdl/samples/pom.xml 2008-07-01 03:05:21 UTC (rev 87)
@@ -16,7 +16,7 @@
</parent>
<modules>
- <module>jbossesb/purchasing/system</module>
+ <module>jbossesb/purchasing</module>
<module>jbossesb/broker</module>
</modules>
15 years, 10 months