[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