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>