[overlord-commits] Overlord SVN: r363 - in cdl/trunk: runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions and 15 other directories.
overlord-commits at lists.jboss.org
overlord-commits at lists.jboss.org
Mon Oct 6 05:38:38 EDT 2008
Author: jeff.yuchang
Date: 2008-10-06 05:38:38 -0400 (Mon, 06 Oct 2008)
New Revision: 363
Added:
cdl/trunk/runtime/jbossesb-assembly/src/test/
cdl/trunk/runtime/jbossesb-assembly/src/test/java/
cdl/trunk/runtime/jbossesb-assembly/src/test/java/org/
cdl/trunk/runtime/jbossesb-assembly/src/test/java/org/jboss/
cdl/trunk/runtime/jbossesb-assembly/src/test/java/org/jboss/soa/
cdl/trunk/runtime/jbossesb-assembly/src/test/java/org/jboss/soa/overlord/
cdl/trunk/runtime/jbossesb-assembly/src/test/java/org/jboss/soa/overlord/jbossesb/
cdl/trunk/runtime/jbossesb-assembly/src/test/java/org/jboss/soa/overlord/jbossesb/HibernateTest.java
cdl/trunk/runtime/jbossesb-assembly/src/test/resources/
cdl/trunk/runtime/jbossesb-assembly/src/test/resources/overlord-cdl-jbossesb-test.cfg.xml
Modified:
cdl/trunk/runtime/jbossesb-assembly/pom.xml
cdl/trunk/runtime/jbossesb-assembly/src/main/resources/cdl-sql/cdl.hsqldb.sql
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/IdentityType.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/Session.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/SessionManager.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ActionProperties.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ConversationAction.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/ScheduleStateAction.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SetStateAction.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SwitchAction.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/util/HibernateUtil.java
cdl/trunk/samples/jbossesb/brokerage/broker/src/main/java/org/jboss/soa/overlord/samples/jbossesb/loan/broker/SetCreditCheckRequestMessageAction.java
cdl/trunk/samples/jbossesb/brokerage/broker/src/main/resources/META-INF/jboss-esb.xml
cdl/trunk/samples/jbossesb/client/src/com/acme/services/buyer/BrokerClient.java
Log:
* Finished parentReference property.
* Update Session class and database script to have 'CDL_Session_property' to store the properties.
* Update PerformAction and SetStateAction accordingly.
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/IdentityType.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/IdentityType.java 2008-10-06 08:43:41 UTC (rev 362)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/IdentityType.java 2008-10-06 09:38:38 UTC (rev 363)
@@ -19,6 +19,12 @@
*/
package org.jboss.soa.overlord.jbossesb;
+/**
+ *
+ * @author <a href="mailto:gary.brown at hattricksoftware.com">Gary Brown</a>
+ *
+ */
+
public enum IdentityType {
Primary,
Association,
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/Session.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/Session.java 2008-10-06 08:43:41 UTC (rev 362)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/Session.java 2008-10-06 09:38:38 UTC (rev 363)
@@ -24,7 +24,9 @@
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import javax.persistence.Column;
import javax.persistence.Entity;
@@ -34,6 +36,7 @@
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
+import javax.persistence.JoinTable;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
@@ -41,6 +44,8 @@
import javax.persistence.Transient;
import org.apache.log4j.Logger;
+import org.hibernate.annotations.CollectionOfElements;
+import org.hibernate.annotations.MapKey;
import org.jboss.internal.soa.esb.addressing.helpers.EPRHelper;
import org.jboss.soa.esb.addressing.EPR;
import org.jboss.soa.esb.client.ServiceInvoker;
@@ -58,8 +63,11 @@
private static final long serialVersionUID = 1115L;
+ public static final String PARENT_REFERENCE_KEY = "parentReferenceKey";
+
private static Logger logger = Logger.getLogger(Session.class);
+
@Id @GeneratedValue
@Column(name="SESSION_ID")
private long id;
@@ -104,6 +112,12 @@
@Column(name="Business_OBJECT")
private byte[] serializedObject;
+ @CollectionOfElements(fetch = FetchType.LAZY)
+ @JoinTable(name="CDL_SESSION_PROPERTY", joinColumns=@JoinColumn(name="SESSION_ID"))
+ @MapKey(columns={@Column(name="property_key")})
+ @Column(name="property_value")
+ private Map<String, String> properties = new HashMap<String, String>();
+
public Session() {
}
@@ -204,7 +218,9 @@
synchronized(joinStates) {
if (isScheduleItemInJoinState(category, name)) {
- throw new Exception("Unable to enact join state, converging paths have still not completed");
+ //FIXME, it should throw exception, but need to use the pemissitic lock in database.
+ logger.error("Unable to enact join state, coverging paths have still not completed");
+ //throw new Exception("Unable to enact join state, converging paths have still not completed");
}
}
@@ -402,7 +418,15 @@
public void setSerializedObject(byte[] serializedObject) {
this.serializedObject = serializedObject;
}
+
+ public Map<String, String> getProperties() {
+ return this.properties;
+ }
+ public void setProperties(Map<String, String> properties) {
+ this.properties = properties;
+ }
+
public String toString() {
StringBuffer sbuffer = new StringBuffer();
sbuffer.append("[ Session id: " + id);
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/SessionManager.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/SessionManager.java 2008-10-06 08:43:41 UTC (rev 362)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/SessionManager.java 2008-10-06 09:38:38 UTC (rev 363)
@@ -77,15 +77,22 @@
getProperty(MessageProperties.BOUND_VARIABLE_KEY);
for(String key : boundVariables.keySet()) {
MVEL.setProperty(businessState, key, boundVariables.get(key));
- logger.info("bound to " + key);
+ logger.debug("bound to " + key);
}
Session conversationSession = new Session();
conversationSession.setPojoClass(sessionName);
conversationSession.setStatus(SessionStatus.Active);
conversationSession.setBusinessObject(businessState);
- conversationSession.setParent(parentSession);
+ conversationSession.setParent(parentSession);
+ Map<String, String> properties = (Map<String, String>)message.getProperties().
+ getProperty(MessageProperties.SESSION_PROPERTIES);
+ if (properties != null) {
+ conversationSession.setProperties(properties);
+ logger.debug("Inject properties of " + properties);
+ }
+
Service service = pojoclass.getAnnotation(Service.class);
if (service != null) {
conversationSession.setServiceName(service.name());
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ActionProperties.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ActionProperties.java 2008-10-06 08:43:41 UTC (rev 362)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ActionProperties.java 2008-10-06 09:38:38 UTC (rev 363)
@@ -48,8 +48,11 @@
public static final String SERVICE_NAME_PROPERTY = "serviceName";
public static final String SERVICE_CATEGORY_PROPERTY = "serviceCategory";
public static final String SERVICE_DESCRIPTION_NAME = "serviceDescriptionName";
+
public static final String PARENT_PROPERTY = "parentProperty";
+ public static final String PARENT_REFERENCE_PROPERTY = "parentReference";
+
public static final String RESPONSE_SERVICE_NAME = "responseServiceName";
public static final String RESPONSE_SERVICE_CATEGORY = "responseServiceCategory";
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ConversationAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ConversationAction.java 2008-10-06 08:43:41 UTC (rev 362)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ConversationAction.java 2008-10-06 09:38:38 UTC (rev 363)
@@ -173,7 +173,7 @@
//message.getProperties().setProperty(MessageProperties.SESSION, ret);
message.getProperties().setProperty(MessageProperties.SESSION_KEY, String.valueOf(ret.getId()));
} else {
- logger.error("Can not get session by using neither session key of [" + sessionKey +"] nor" +
+ logger.debug("Can not get session by using neither session key of [" + sessionKey +"] nor" +
" ids [" + ids + "]");
}
}
@@ -188,7 +188,7 @@
*/
public Message process(Message message) throws Exception {
String sessionKey=(String)message.getProperties().getProperty(MessageProperties.SESSION_KEY);
- logger.info("Session Key is [" + sessionKey + "] Body is: [" + message.getBody().get() + "]");
+ logger.debug("Session Key is [" + sessionKey + "] Body is: [" + message.getBody().get() + "]");
org.hibernate.Session hibernateSession = HibernateUtil.currentSession();
Transaction transaction = hibernateSession.beginTransaction();
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-10-06 08:43:41 UTC (rev 362)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/MessageProperties.java 2008-10-06 09:38:38 UTC (rev 363)
@@ -29,11 +29,15 @@
public class MessageProperties {
public static final String SESSION="session";
+
public static final String SESSION_KEY="sessionKey";
public static final String OPERATION="operation";
+
public static final String MESSAGE_TYPE="messageType";
public static final String BOUND_VARIABLE_KEY = "bound_variable_key";
+ public static final String SESSION_PROPERTIES = "session_properties";
+
}
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-10-06 08:43:41 UTC (rev 362)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/PerformAction.java 2008-10-06 09:38:38 UTC (rev 363)
@@ -59,26 +59,26 @@
Object o = MVEL.eval(fromExpression, session.getBusinessObject());
bindingVal.put(toVariable, o);
- logger.info("bind from :" + fromExpression + " to :" + toVariable);
+ logger.debug("bind from :" + fromExpression + " to :" + toVariable);
}
}
+ message.getProperties().setProperty(MessageProperties.BOUND_VARIABLE_KEY, bindingVal);
-/* String parentProperty = getConfig().getAttribute(ActionProperties.PARENT_PROPERTY);
- if (parentProperty != null && !"".equals(parentProperty.trim())) {
- bindingVal.put(parentProperty, session.getBusinessObject());
- logger.info("Setting parent business state class to sub-session thru property of " + parentProperty);
- }*/
+ String parentProperty = getConfig().getAttribute(ActionProperties.PARENT_REFERENCE_PROPERTY);
+ if (parentProperty != null) {
+ Map<String, String> properties = new HashMap<String, String>();
+ properties.put(Session.PARENT_REFERENCE_KEY, parentProperty);
+ message.getProperties().setProperty(MessageProperties.SESSION_PROPERTIES, properties);
+ }
- message.getProperties().setProperty(MessageProperties.BOUND_VARIABLE_KEY, bindingVal);
-
session.schedule(serviceCategory, serviceName, message);
addScheduleItemToDeliver(serviceCategory, serviceName);
- String responseCategory = getConfig().getAttribute(ActionProperties.RETURN_SERVICE_CATEGORY);
- String responseName = getConfig().getAttribute(ActionProperties.RETURN_SERVICE_NAME);
+ String returnServiceCategory = getConfig().getAttribute(ActionProperties.RETURN_SERVICE_CATEGORY);
+ String returnServiceName = getConfig().getAttribute(ActionProperties.RETURN_SERVICE_NAME);
- if (responseCategory != null && responseName != null) {
- session.schedule(responseCategory, responseName, message);
+ if (returnServiceCategory != null && returnServiceName != null) {
+ session.schedule(returnServiceCategory, returnServiceName, message);
}
return message;
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ScheduleStateAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ScheduleStateAction.java 2008-10-06 08:43:41 UTC (rev 362)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ScheduleStateAction.java 2008-10-06 09:38:38 UTC (rev 363)
@@ -26,6 +26,9 @@
/**
* Schedule state activity.
+ *
+ * @author <a href="mailto:gary.brown at hattricksoftware.com">Gary Brown</a>
+ * @author <a href="mailto:cyu at redhat.com>Jeff Yu</a>
*/
public class ScheduleStateAction extends ConversationAction {
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SetStateAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SetStateAction.java 2008-10-06 08:43:41 UTC (rev 362)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SetStateAction.java 2008-10-06 09:38:38 UTC (rev 363)
@@ -46,12 +46,28 @@
String variable = getConfig().getAttribute("variable");
String stateExpression = getConfig().getAttribute("stateExpression");
String messageExpression = getConfig().getAttribute("messageExpression");
- String parentProperty = getConfig().getAttribute(ActionProperties.PARENT_PROPERTY);
+ if (variable == null) {
+ throw new NullPointerException("variable can not be null");
+ }
+
+ boolean need2UpdateParentState = false;
+
Session session = getSession(message);
Object bstate = session.getBusinessObject();
- logger.info("Set value to the variable of " + variable);
+ if (session.getParent() != null) {
+ Session parentSession = session.getParent();
+ String parentReference = session.getProperties().get(Session.PARENT_REFERENCE_KEY);
+ logger.debug("parentReference is : " + parentReference);
+ if (parentReference != null) {
+ Object parentState = parentSession.getBusinessObject();
+ MVEL.setProperty(bstate, parentReference, parentState);
+ need2UpdateParentState = true;
+ }
+ }
+
+
if (stateExpression != null) {
Object result = MVEL.eval(stateExpression, bstate);
MVEL.setProperty(bstate, variable, result);
@@ -62,14 +78,17 @@
String result = XMLUtils.executeXpath(element, messageExpression);
MVEL.setProperty(bstate, variable, result);
logger.info("populated from messageExpression of: " + messageExpression);
- } else if (parentProperty != null){
+ } else {
+ MVEL.eval(variable, bstate);
+ }
+
+ if (need2UpdateParentState) {
Session parentSession = session.getParent();
- MVEL.setProperty(bstate, parentProperty, parentSession.getBusinessObject());
- MVEL.eval(variable, bstate);
- Object updatedObject = MVEL.eval(parentProperty, bstate);
+ String parentReference = session.getProperties().get(Session.PARENT_REFERENCE_KEY);
+ Object updatedObject = MVEL.eval(parentReference, bstate);
parentSession.setBusinessObject(updatedObject);
SessionManager.updateObject(parentSession);
- logger.info("populated to parentProperty of: " + parentProperty);
+ logger.info("populated to parentProperty of: " + parentReference);
}
session.setBusinessObject(bstate);
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SwitchAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SwitchAction.java 2008-10-06 08:43:41 UTC (rev 362)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SwitchAction.java 2008-10-06 09:38:38 UTC (rev 363)
@@ -27,6 +27,9 @@
/**
* This action represents a choice between a set of specified paths
* based on the message that has occurred.
+ *
+ * @author <a href="mailto:gary.brown at hattricksoftware.com">Gary Brown</a>
+ * @author <a href="mailto:cyu at redhat.com>Jeff Yu</a>
*/
public class SwitchAction extends ConversationAction {
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/util/HibernateUtil.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/util/HibernateUtil.java 2008-10-06 08:43:41 UTC (rev 362)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/util/HibernateUtil.java 2008-10-06 09:38:38 UTC (rev 363)
@@ -35,28 +35,36 @@
private static final ThreadLocal<Session> session = new ThreadLocal<Session>();
- static {
+ private static final String defaultConfigurationFile = "/overlord-cdl-jbossesb.cfg.xml";
+
+
+ public static SessionFactory getSessionFactory(String configurationFile) {
+ if (sessionFactory != null) {
+ return sessionFactory;
+ }
try {
- sessionFactory = new AnnotationConfiguration().configure("/overlord-cdl-jbossesb.cfg.xml").buildSessionFactory();
+ sessionFactory = new AnnotationConfiguration().configure(configurationFile).buildSessionFactory();
} catch (Throwable t) {
throw new ExceptionInInitializerError(t);
}
- }
-
- public static SessionFactory getSessionFactory() {
return sessionFactory;
}
public static void shutdown() {
- if (getSessionFactory() != null) {
- getSessionFactory().close();
+ if (sessionFactory != null) {
+ sessionFactory.close();
}
}
public static synchronized Session currentSession() throws HibernateException {
+ return currentSession(defaultConfigurationFile);
+ }
+
+
+ public static synchronized Session currentSession(String configurationFile) throws HibernateException {
Session s = session.get();
if (s == null) {
- s = sessionFactory.openSession();
+ s = getSessionFactory(configurationFile).openSession();
session.set(s);
}
return s;
Modified: cdl/trunk/runtime/jbossesb-assembly/pom.xml
===================================================================
--- cdl/trunk/runtime/jbossesb-assembly/pom.xml 2008-10-06 08:43:41 UTC (rev 362)
+++ cdl/trunk/runtime/jbossesb-assembly/pom.xml 2008-10-06 09:38:38 UTC (rev 363)
@@ -47,6 +47,13 @@
<version>${hsqldb-version}</version>
</dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.4</version>
+ <scope>test</scope>
+ </dependency>
+
</dependencies>
<build>
@@ -68,7 +75,7 @@
<classpath>
<pathelement path="maven.compile.classpath" />
</classpath>
- <annotationconfiguration configurationfile="target/classes/hibernate.cfg.xml" />
+ <annotationconfiguration configurationfile="target/classes/overlord-cdl-jbossesb.cfg.xml" />
<hbm2ddl
create="true"
drop="false"
Modified: cdl/trunk/runtime/jbossesb-assembly/src/main/resources/cdl-sql/cdl.hsqldb.sql
===================================================================
--- cdl/trunk/runtime/jbossesb-assembly/src/main/resources/cdl-sql/cdl.hsqldb.sql 2008-10-06 08:43:41 UTC (rev 362)
+++ cdl/trunk/runtime/jbossesb-assembly/src/main/resources/cdl-sql/cdl.hsqldb.sql 2008-10-06 09:38:38 UTC (rev 363)
@@ -7,7 +7,9 @@
create table CDL_SCHEDULE_ITEM (ID bigint generated by default as identity (start with 1),CATEGORY varchar(255) not null,NAME varchar(255) not null,SESSION_ID bigint,primary key (ID));
create table CDL_SESSION (SESSION_ID bigint generated by default as identity (start with 1),STATUS varchar(255),POJO_CLASS varchar(255),SERVICE_NAME varchar(255),CONVERSATION_TYPE varchar(255),Business_OBJECT longvarbinary,PARENT_ID bigint,primary key (SESSION_ID));
-
+
+ create table CDL_SESSION_PROPERTY(SESSION_ID bigint not null, property_key varchar(255), property_value varchar(255), primary key (SESSION_ID, property_key));
+
alter table CDL_EPRS add constraint FKC42217E088C85D6A foreign key (SESSION_ID)references CDL_SESSION;
alter table CDL_IDENTITY add constraint FK41FEEA7288C85D6A foreign key (SESSION_ID) references CDL_SESSION;
@@ -17,3 +19,6 @@
alter table CDL_SCHEDULE_ITEM add constraint FKA523168788C85D6A foreign key (SESSION_ID) references CDL_SESSION;
alter table CDL_SESSION add constraint FKD597E42A1212ED6 foreign key (PARENT_ID) references CDL_SESSION;
+
+ alter table CDL_SESSION_PROPERTY add constraint FKE2CE33504BA6EBA4 foreign key (SESSION_ID) references CDL_SESSION;
+
Added: cdl/trunk/runtime/jbossesb-assembly/src/test/java/org/jboss/soa/overlord/jbossesb/HibernateTest.java
===================================================================
--- cdl/trunk/runtime/jbossesb-assembly/src/test/java/org/jboss/soa/overlord/jbossesb/HibernateTest.java (rev 0)
+++ cdl/trunk/runtime/jbossesb-assembly/src/test/java/org/jboss/soa/overlord/jbossesb/HibernateTest.java 2008-10-06 09:38:38 UTC (rev 363)
@@ -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;
+
+import junit.framework.Assert;
+
+import org.jboss.soa.overlord.jbossesb.util.HibernateUtil;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * @author <a href="mailto:cyu at redhat.com>Jeff Yu</a>
+ *
+ */
+public class HibernateTest extends Assert {
+
+ @Test
+ @Ignore
+ public void testGetData() throws Exception {
+ org.hibernate.Session hibernateSession = HibernateUtil.currentSession("/overlord-cdl-jbossesb-test.cfg.xml");
+ Session session = (Session) hibernateSession.load(Session.class, Long.valueOf(1));
+ System.out.println(session.getProperties().get(Session.PARENT_REFERENCE_KEY));
+ System.out.println(session.getServiceName());
+ }
+
+}
Added: cdl/trunk/runtime/jbossesb-assembly/src/test/resources/overlord-cdl-jbossesb-test.cfg.xml
===================================================================
--- cdl/trunk/runtime/jbossesb-assembly/src/test/resources/overlord-cdl-jbossesb-test.cfg.xml (rev 0)
+++ cdl/trunk/runtime/jbossesb-assembly/src/test/resources/overlord-cdl-jbossesb-test.cfg.xml 2008-10-06 09:38:38 UTC (rev 363)
@@ -0,0 +1,64 @@
+<!DOCTYPE hibernate-configuration SYSTEM
+"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+<!--
+ 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,
+ @author JBoss Inc.
+-->
+<hibernate-configuration>
+ <session-factory>
+ <property name="hibernate.connection.driver_class">
+ org.hsqldb.jdbcDriver
+ </property>
+ <property name="hibernate.connection.url">
+ jdbc:hsqldb:hsql://localhost
+ </property>
+ <property name="hibernate.connection.username">
+ sa
+ </property>
+
+ <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
+
+ <!-- DataSource properties (begin) === -->
+ <!--property name="hibernate.connection.datasource">java:/cdlDS</property-->
+ <!-- ==== DataSource properties (end) -->
+
+
+ <!-- Use the C3P0 connection pool provider -->
+ <property name="hibernate.c3p0.min_size">5</property>
+ <property name="hibernate.c3p0.max_size">20</property>
+ <property name="hibernate.c3p0.timeout">300</property>
+ <property name="hibernate.c3p0.max_statements">50</property>
+ <property name="hibernate.c3p0.idle_test_period">3000</property>
+
+ <property name="current_session_context_class">thread</property>
+ <property name="hibernate.connection.isolation">4</property>
+
+ <!-- Show and print nice SQL on stdout -->
+ <property name="show_sql">false</property>
+ <property name="format_sql">true</property>
+
+ <!-- List of annotationed classes (Internal conversation class)-->
+ <mapping class="org.jboss.soa.overlord.jbossesb.Session" />
+ <mapping class="org.jboss.soa.overlord.jbossesb.ScheduleItem"/>
+ <mapping class="org.jboss.soa.overlord.jbossesb.JoinState"/>
+ <mapping class="org.jboss.soa.overlord.jbossesb.Identity"/>
+ <mapping class="org.jboss.soa.overlord.jbossesb.EPRWrapper"/>
+
+ </session-factory>
+</hibernate-configuration>
Modified: cdl/trunk/samples/jbossesb/brokerage/broker/src/main/java/org/jboss/soa/overlord/samples/jbossesb/loan/broker/SetCreditCheckRequestMessageAction.java
===================================================================
--- cdl/trunk/samples/jbossesb/brokerage/broker/src/main/java/org/jboss/soa/overlord/samples/jbossesb/loan/broker/SetCreditCheckRequestMessageAction.java 2008-10-06 08:43:41 UTC (rev 362)
+++ cdl/trunk/samples/jbossesb/brokerage/broker/src/main/java/org/jboss/soa/overlord/samples/jbossesb/loan/broker/SetCreditCheckRequestMessageAction.java 2008-10-06 09:38:38 UTC (rev 363)
@@ -40,7 +40,7 @@
Node node = XMLUtils.getNode((String)message.getBody().get());
String idValue = node.getAttributes().getNamedItem("id").getNodeValue();
- message.getBody().add("<creditInformation id=\"" + idValue +"\"></creditInformation>");
+ message.getBody().add("<CreditCheckRequest id=\"" + idValue +"\"></CreditCheckRequest>");
logger.info("Updated credit check request message: "+message.getBody().get());
Modified: cdl/trunk/samples/jbossesb/brokerage/broker/src/main/resources/META-INF/jboss-esb.xml
===================================================================
--- cdl/trunk/samples/jbossesb/brokerage/broker/src/main/resources/META-INF/jboss-esb.xml 2008-10-06 08:43:41 UTC (rev 362)
+++ cdl/trunk/samples/jbossesb/brokerage/broker/src/main/resources/META-INF/jboss-esb.xml 2008-10-06 09:38:38 UTC (rev 363)
@@ -173,6 +173,7 @@
<property name="serviceName" value="RequestForQuote.main" />
<property name="returnServiceCategory" value="ESBBroker.BrokerParticipant" />
<property name="returnServiceName" value="ESBBrokerProcess.main.9" />
+ <property name="parentReference" value="quoteManager"/>
<property name="bindDetails" >
<bind from-expression="getCurrentSupplier()"
to-variable="supplier" />
@@ -438,7 +439,6 @@
<action class="org.jboss.soa.overlord.jbossesb.actions.SetStateAction"
process="process" name="s9-4">
<property name="variable" value="addToQuoteManager()" />
- <property name="parentProperty" value="quoteManager" />
</action>
</actions>
</service>
@@ -471,7 +471,7 @@
<action class="org.jboss.soa.overlord.jbossesb.actions.SendMessageAction"
process="process" name="s10-4">
<property name="operation" value="checkCredit" />
- <property name="messageType" value="creditInformation" />
+ <property name="messageType" value="CreditCheckRequest" />
<property name="serviceName" value="CreditAgency.main" />
<property name="serviceCategory" value="PurchaseGoods.CreditAgency" />
<property name="responseServiceName" value="CompleteTransaction.main.1" />
@@ -507,11 +507,11 @@
<property name="paths">
<case service-category="ESBBroker.BrokerParticipant"
service-name="CompleteTransaction.main.2" >
- <message type="creditValid" />
+ <message type="CreditCheckOk" />
</case>
<case service-category="ESBBroker.BrokerParticipant"
service-name="CompleteTransaction.main.4" >
- <message type="creditInvalid" />
+ <message type="CreditCheckInvalid" />
</case>
</property>
</action>
@@ -529,7 +529,7 @@
process="process" name="s12-1">
<property name="session" value="org.jboss.soa.overlord.samples.jbossesb.loan.broker.CompleteTransactionMain" />
<property name="operation" value="checkCredit" />
- <property name="messageType" value="creditValid" />
+ <property name="messageType" value="CreditCheckOk" />
<property name="identities" >
<identity type="primary" >
<token name="id" locator="//@id" />
Modified: cdl/trunk/samples/jbossesb/client/src/com/acme/services/buyer/BrokerClient.java
===================================================================
--- cdl/trunk/samples/jbossesb/client/src/com/acme/services/buyer/BrokerClient.java 2008-10-06 08:43:41 UTC (rev 362)
+++ cdl/trunk/samples/jbossesb/client/src/com/acme/services/buyer/BrokerClient.java 2008-10-06 09:38:38 UTC (rev 363)
@@ -49,8 +49,10 @@
}
public void run() {
-
- String quoteReq="<enquiry id=\"20\" ></enquiry>";
+
+ String id = "20";
+
+ String quoteReq="<enquiry id=\"" + id +"\" ></enquiry>";
Message mesg = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);
mesg.getBody().add(quoteReq);
@@ -65,7 +67,7 @@
Thread.sleep(5000);//Waiting...
System.out.println("Sending Buy request to Broker...");
- String buyReq = "<buy id=\"20\" supplierDesc=\"{http://www.jboss.org/overlord/loanBroker}Supplier1\" quoteValue=\"10\"></buy>";
+ String buyReq = "<buy id=\"" + id + "\" supplierDesc=\"{http://www.jboss.org/overlord/loanBroker}Supplier1\" quoteValue=\"10\"></buy>";
mesg.getBody().add(buyReq);
System.out.println("Request: " + mesg.getBody().get());
More information about the overlord-commits
mailing list