[jboss-svn-commits] JBL Code SVN: r10924 - labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/persistence.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Apr 12 11:48:07 EDT 2007
Author: derek.adams
Date: 2007-04-12 11:48:07 -0400 (Thu, 12 Apr 2007)
New Revision: 10924
Removed:
labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/persistence/StoreJCRMessage.java
Modified:
labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/persistence/StoreMessage.java
Log:
Merged message store actions into a single implementation.
Deleted: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/persistence/StoreJCRMessage.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/persistence/StoreJCRMessage.java 2007-04-12 14:35:04 UTC (rev 10923)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/persistence/StoreJCRMessage.java 2007-04-12 15:48:07 UTC (rev 10924)
@@ -1,45 +0,0 @@
-package org.jboss.soa.esb.actions.persistence;
-
-import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
-import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.services.persistence.MessageStore;
-import org.jboss.soa.esb.services.persistence.MessageStoreException;
-import org.jboss.soa.esb.services.persistence.MessageStoreFactory;
-import org.jboss.soa.esb.services.persistence.MessageStoreType;
-
-/**
- * Action that stores the incoming message to the JCR message store.
- *
- * @author Derek Adams
- */
-public class StoreJCRMessage extends AbstractActionPipelineProcessor {
-
- /**
- * Constructor called by pipeline.
- *
- * @param config
- */
- public StoreJCRMessage(ConfigTree config) {
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.jboss.soa.esb.actions.ActionPipelineProcessor#process(org.jboss.soa.esb.message.Message)
- */
- public Message process(Message message) throws ActionProcessingException {
- MessageStore store = MessageStoreFactory.getInstance().getMessageStore(MessageStoreType.JCR);
- if (store == null) {
- throw new ActionProcessingException(
- "JCR message store not available. Verify that the plugin is configured.");
- }
- try {
- store.addMessage(message);
- return message;
- } catch (MessageStoreException e) {
- throw new ActionProcessingException(e);
- }
- }
-}
Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/persistence/StoreMessage.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/persistence/StoreMessage.java 2007-04-12 14:35:04 UTC (rev 10923)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/persistence/StoreMessage.java 2007-04-12 15:48:07 UTC (rev 10924)
@@ -1,5 +1,8 @@
package org.jboss.soa.esb.actions.persistence;
+import java.net.URI;
+import java.net.URISyntaxException;
+
import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
import org.jboss.soa.esb.actions.ActionProcessingException;
import org.jboss.soa.esb.helpers.ConfigTree;
@@ -7,29 +10,73 @@
import org.jboss.soa.esb.services.persistence.MessageStore;
import org.jboss.soa.esb.services.persistence.MessageStoreException;
import org.jboss.soa.esb.services.persistence.MessageStoreFactory;
+import org.jboss.soa.esb.services.persistence.MessageStoreType;
/**
- * Action that stores the incoming message to the default message store.
+ * Action that stores the incoming message to the message store.
*
* @author Derek Adams
*/
public class StoreMessage extends AbstractActionPipelineProcessor {
+ /** Property that indicates the type of message store to be queried */
+ public static final String MESSAGE_STORE_TYPE = "messageStoreType";
+
+ /** Constant that indicates the database datastore should be used */
+ public static final String INDICATOR_DATABASE = "database";
+
+ /** Constant that indicates the JCR datastore should be used */
+ public static final String INDICATOR_JCR = "jcr";
+
+ /** Configuration elements */
+ protected ConfigTree config;
+
+ /** URI that indicates message store type */
+ protected URI messageStoreType;
+
/**
* Constructor called by pipeline.
*
* @param config
*/
public StoreMessage(ConfigTree config) {
+ this.config = config;
}
+ /**
+ * Attempts to load the URI for the message store type from the config tree.
+ *
+ * @return
+ * @throws ActionProcessingException
+ */
+ protected URI getMessageStoreType() throws ActionProcessingException {
+ if (messageStoreType == null) {
+ String strMessageStoreType = config.getAttribute(MESSAGE_STORE_TYPE);
+ if (strMessageStoreType == null) {
+ messageStoreType = MessageStoreType.DEFAULT_TYPE;
+ } else if (INDICATOR_DATABASE.equalsIgnoreCase(strMessageStoreType)) {
+ messageStoreType = MessageStoreType.DATABASE;
+ } else if (INDICATOR_JCR.equalsIgnoreCase(strMessageStoreType)) {
+ messageStoreType = MessageStoreType.JCR;
+ } else {
+ try {
+ messageStoreType = new URI(strMessageStoreType);
+ } catch (URISyntaxException e) {
+ throw new ActionProcessingException(e);
+ }
+ }
+ }
+ return messageStoreType;
+ }
+
/*
* (non-Javadoc)
*
* @see org.jboss.soa.esb.actions.ActionPipelineProcessor#process(org.jboss.soa.esb.message.Message)
*/
public Message process(Message message) throws ActionProcessingException {
- MessageStore store = MessageStoreFactory.getInstance().getMessageStore();
+ MessageStore store = MessageStoreFactory.getInstance().getMessageStore(
+ getMessageStoreType());
try {
store.addMessage(message);
return message;
More information about the jboss-svn-commits
mailing list