[jboss-svn-commits] JBL Code SVN: r15063 - in labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners: gateway and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Sep 12 15:21:22 EDT 2007


Author: tcunning
Date: 2007-09-12 15:21:22 -0400 (Wed, 12 Sep 2007)
New Revision: 15063

Modified:
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerTagNames.java
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HibernateInterceptor.java
Log:
bug:JBESB-722
Add id, state, oldValues, newValues, property names, and types to the
message properties.    The element passed back in the body of the message
is still the entity.


Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerTagNames.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerTagNames.java	2007-09-12 18:10:02 UTC (rev 15062)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerTagNames.java	2007-09-12 19:21:22 UTC (rev 15063)
@@ -100,6 +100,13 @@
     /** Hibernate related */
     public static final String HIBERNATE_OBJECT_DATA_TAG	= "hibernateObject";
     
+    public static final String HIBERNATE_INTERCEPTOR_STATE  = "hibernateInterceptorState";
+    public static final String HIBERNATE_INTERCEPTOR_ID		= "hibernateInterceptorId";
+    public static final String HIBERNATE_INTERCEPTOR_TYPES	= "hibernateInterceptorTypes";
+    public static final String HIBERNATE_INTERCEPTOR_NEWVALUES = "hibernateInterceptorNewValues";
+    public static final String HIBERNATE_INTERCEPTOR_OLDVALUES = "hibernateInterceptorOldValues";
+    public static final String HIBERNATE_INTERCEPTOR_PROPERTYNAMES = "hibernateInterceptorPropertyNames";
+    
     /** SQL related  */
     public static final String SQL_ROW_DATA_TAG				= "sqlRowData";
 

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HibernateInterceptor.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HibernateInterceptor.java	2007-09-12 18:10:02 UTC (rev 15062)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HibernateInterceptor.java	2007-09-12 19:21:22 UTC (rev 15063)
@@ -155,6 +155,46 @@
 	}
 	
 	/**
+	 * Add the message info to the message properties.
+	 * @param message message
+	 * @param id id
+	 * @param newValues newValues
+	 * @param oldValues oldValues
+	 * @param propertyNames propertyNames4
+	 * @param types types
+	 */
+	private void addMessageInfo(Message message, Serializable id, Object[] newValues, Object[] oldValues, String[] propertyNames, Type[] types) {
+		if (message != null) {
+			if (id != null) {
+				message.getProperties().setProperty(ListenerTagNames.HIBERNATE_INTERCEPTOR_ID, id);
+			}
+			message.getProperties().setProperty(ListenerTagNames.HIBERNATE_INTERCEPTOR_NEWVALUES, newValues);
+			message.getProperties().setProperty(ListenerTagNames.HIBERNATE_INTERCEPTOR_OLDVALUES, oldValues);
+			message.getProperties().setProperty(ListenerTagNames.HIBERNATE_INTERCEPTOR_PROPERTYNAMES, propertyNames);
+			message.getProperties().setProperty(ListenerTagNames.HIBERNATE_INTERCEPTOR_TYPES, types);
+		}
+	}
+	
+	/** ..
+	 * Add the message info to the message properties.
+	 * @param message message
+	 * @param id id
+	 * @param state state
+	 * @param propertyNames propertyNames
+	 * @param types types
+	 */
+	private void addMessageInfo(Message message, Serializable id, Object[] state, String[] propertyNames, Type[] types) {
+		if (message != null) {
+			if (id != null) {
+				message.getProperties().setProperty(ListenerTagNames.HIBERNATE_INTERCEPTOR_ID, id);
+			}
+			message.getProperties().setProperty(ListenerTagNames.HIBERNATE_INTERCEPTOR_STATE, state);
+			message.getProperties().setProperty(ListenerTagNames.HIBERNATE_INTERCEPTOR_PROPERTYNAMES, propertyNames);
+			message.getProperties().setProperty(ListenerTagNames.HIBERNATE_INTERCEPTOR_TYPES, types);		
+		}
+	}
+	
+	/**
 	 * Delivers the message.
 	 * @param messageObject 
 	 */
@@ -266,6 +306,7 @@
 			if (heb.getEvent().equals(COLLECTION_REMOVE_EVENT)) {
 				if (entity.getClass().getName().equals(heb.getClassname())) {
 					Message message = createMessage(entity);
+					message.getProperties().setProperty(ListenerTagNames.HIBERNATE_INTERCEPTOR_ID, id);
 					deliverMessage(message);
 				}
 			}
@@ -278,6 +319,7 @@
 			if (heb.getEvent().equals(COLLECTION_UPDATE_EVENT)) {
 				if (entity.getClass().getName().equals(heb.getClassname())) {
 					Message message = createMessage(entity);
+					message.getProperties().setProperty(ListenerTagNames.HIBERNATE_INTERCEPTOR_ID, id);
 					deliverMessage(message);		
 				}
 			}
@@ -290,6 +332,7 @@
 			if (heb.getEvent().equals(DELETE_EVENT)) {
 				if (entity.getClass().getName().equals(heb.getClassname())) {
 					Message message = createMessage(entity);
+					addMessageInfo(message, id, state, propertyNames, types);
 					deliverMessage(message);
 				}
 			}
@@ -302,6 +345,7 @@
 			if (heb.getEvent().equals(FLUSH_DIRTY_EVENT)) {
 				if (entity.getClass().getName().equals(heb.getClassname())) {
 					Message message = createMessage(entity);
+					addMessageInfo(message, id, newValues, oldValues, propertyNames, types);
 					deliverMessage(message);
 				}
 			}
@@ -315,6 +359,7 @@
 			if (heb.getEvent().equals(LOAD_EVENT)) {
 				if (entity.getClass().getName().equals(heb.getClassname())) {
 					Message message = createMessage(entity);
+					addMessageInfo(message, id, state, propertyNames, types);
 					deliverMessage(message);
 				}
 			}
@@ -323,12 +368,13 @@
 	}
 
 	public boolean onSave(Object entity, Serializable id, Object[] state,
-			String[] propertyNames, Type[] types) throws CallbackException {
+		String[] propertyNames, Type[] types) throws CallbackException {
 		System.out.println("onSave");
 		for (HibernateEventBean heb: m_events) {
 			if (heb.getEvent().equals(SAVE_EVENT)) {
 				if (entity.getClass().getName().equals(heb.getClassname())) {
 					Message message = createMessage(entity);
+					addMessageInfo(message, id, state, propertyNames, types);
 					deliverMessage(message);
 				}
 			}




More information about the jboss-svn-commits mailing list