[jboss-svn-commits] JBL Code SVN: r10927 - labs/jbossesb/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/jcr.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Apr 12 11:51:13 EDT 2007


Author: derek.adams
Date: 2007-04-12 11:51:13 -0400 (Thu, 12 Apr 2007)
New Revision: 10927

Modified:
   labs/jbossesb/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/jcr/JCRMessageStoreImpl.java
   labs/jbossesb/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/jcr/JCRNodeNames.java
Log:
Allow JCR message store to persist message properties.

Modified: labs/jbossesb/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/jcr/JCRMessageStoreImpl.java
===================================================================
--- labs/jbossesb/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/jcr/JCRMessageStoreImpl.java	2007-04-12 15:49:51 UTC (rev 10926)
+++ labs/jbossesb/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/jcr/JCRMessageStoreImpl.java	2007-04-12 15:51:13 UTC (rev 10927)
@@ -3,6 +3,7 @@
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.net.URI;
+import java.util.Calendar;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -22,6 +23,7 @@
 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.properties.MessagePropertyFacade;
 import org.jboss.soa.esb.message.urigen.MessageURIGenerator;
 import org.jboss.soa.esb.message.urigen.URIGenerationException;
 import org.jboss.soa.esb.services.persistence.MessageStore;
@@ -36,7 +38,7 @@
 
 	/** Static logger instance */
 	private static Logger LOGGER = Logger.getLogger(JCRMessageStoreImpl.class);
-	
+
 	/** Generator for JCR-specific message URIs */
 	protected MessageURIGenerator uriGenerator = new JcrMessageURIGenerator();
 
@@ -85,6 +87,8 @@
 	protected URI saveMessage(Node root, Message message) throws RepositoryException {
 		try {
 			URI messageURI = uriGenerator.generateMessageURI(message);
+			MessagePropertyFacade msgProps = new MessagePropertyFacade(message);
+			msgProps.setMessageId(messageURI.toString());
 			Node messageNode = root.addNode(messageURI.toString());
 			Node bodyNode = messageNode.addNode(JCRNodeNames.BODY_NODE_NAME);
 			if (message.getBody().getContents() != null) {
@@ -92,6 +96,18 @@
 						message.getBody().getContents());
 				bodyNode.setProperty(JCRNodeNames.BODY_CONTENT_PROP_NAME, stream);
 			}
+			for (String propName : message.getProperties().getNames()) {
+				Object propObj = message.getProperties().getProperty(propName);
+				if (propObj instanceof String) {
+					messageNode.setProperty(propName, (String) propObj);
+				} else if (propObj instanceof Calendar) {
+					messageNode.setProperty(propName, (Calendar) propObj);
+				} else if (propObj instanceof Boolean) {
+					messageNode.setProperty(propName, (Boolean) propObj);
+				} else if (propObj instanceof Long) {
+					messageNode.setProperty(propName, (Long) propObj);
+				}
+			}
 			if (LOGGER.isInfoEnabled()) {
 				LOGGER.info("Saved node to content repository:");
 				dumpNodeToLog(messageNode);
@@ -191,7 +207,9 @@
 		return messageStoreRootNode;
 	}
 
-	/* (non-Javadoc)
+	/*
+	 * (non-Javadoc)
+	 * 
 	 * @see org.jboss.soa.esb.services.persistence.MessageStore#getMessageURIGenerator()
 	 */
 	public MessageURIGenerator getMessageURIGenerator() {

Modified: labs/jbossesb/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/jcr/JCRNodeNames.java
===================================================================
--- labs/jbossesb/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/jcr/JCRNodeNames.java	2007-04-12 15:49:51 UTC (rev 10926)
+++ labs/jbossesb/trunk/product/core/services/src/org/jboss/internal/soa/esb/persistence/format/jcr/JCRNodeNames.java	2007-04-12 15:51:13 UTC (rev 10927)
@@ -12,7 +12,4 @@
 
 	/** Constant for the body content property name */
 	public static final String BODY_CONTENT_PROP_NAME = "Content";
-
-	/** Constant for the properties JCR node name */
-	public static final String PROPERTIES_NODE_NAME = "Properties";
 }
\ No newline at end of file




More information about the jboss-svn-commits mailing list