Author: charith
Date: Fri Feb 18 03:58:22 2011
New Revision: 1071873
URL: http://svn.apache.org/viewvc?rev=1071873&view=rev
Log:
adding message store mediator serializer
Added:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MessageStoreMediatorSerializer.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorSerializerFinder.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MessageStoreFactory.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorSerializerFinder.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorSerializerFinder.java?rev=1071873&r1=1071872&r2=1071873&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorSerializerFinder.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorSerializerFinder.java
Fri Feb 18 03:58:22 2011
@@ -64,7 +64,8 @@ public class MediatorSerializerFinder {
EnqueueMediatorSerializer.class,
ConditionalRouterMediatorSerializer.class,
SamplingThrottleMediatorSerializer.class,
- EnrichMediatorSerializer.class
+ EnrichMediatorSerializer.class,
+ MessageStoreMediatorSerializer.class
};
private final static MediatorSerializerFinder instance = new
MediatorSerializerFinder();
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MessageStoreFactory.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MessageStoreFactory.java?rev=1071873&r1=1071872&r2=1071873&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MessageStoreFactory.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MessageStoreFactory.java
Fri Feb 18 03:58:22 2011
@@ -111,14 +111,17 @@ public class MessageStoreFactory {
processor.setMessageStore(messageStore);
} else {
- log.warn("Creating a Message Store without ");
+ log.warn("Creating a Message Store without a Message processor ");
}
if(processor != null) {
messageStore.setMessageProcessor(processor);
+ processor.setMessageStore(messageStore);
} else {
log.warn("Message Store Created with out a Message processor. ");
}
+
+ log.info("Successfully created Message Store" +
nameAtt.getAttributeValue());
return messageStore;
}
Added:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MessageStoreMediatorSerializer.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MessageStoreMediatorSerializer.java?rev=1071873&view=auto
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MessageStoreMediatorSerializer.java
(added)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MessageStoreMediatorSerializer.java
Fri Feb 18 03:58:22 2011
@@ -0,0 +1,85 @@
+/*
+* Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights
Reserved.
+*
+* WSO2 Inc. licenses this file to you under the Apache License,
+* Version 2.0 (the "License"); you may not use this file except
+* in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied. See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*/
+package org.apache.synapse.config.xml;
+
+import org.apache.axiom.om.OMAttribute;
+import org.apache.axiom.om.OMElement;
+import org.apache.synapse.Mediator;
+import org.apache.synapse.mediators.store.MessageStoreMediator;
+
+import javax.xml.namespace.QName;
+
+/**
+ * Serialize an instance of a MessageStore mediator to the XML configuration .
+ * <pre>
+ * <store messageStore = "message store name" [sequence = "sequence name"]
/>
+ * </pre>
+ * TODO Message store mediator will be improved with more user options
+ */
+public class MessageStoreMediatorSerializer extends AbstractMediatorSerializer
{
+
+ private static final QName STORE_Q = new
QName(XMLConfigConstants.SYNAPSE_NAMESPACE, "store");
+ private static final String ATT_MESSAGE_STORE = "messageStore";
+ private static final String ATT_SEQUENCE = "sequence";
+
+ @Override
+ protected OMElement serializeSpecificMediator(Mediator m) {
+
+ if (!(m instanceof MessageStoreMediator)) {
+ handleException("Unsupported mediator passed in for serialization
: " + m.getType());
+ }
+
+
+ MessageStoreMediator messageStoreMediator = (MessageStoreMediator)m;
+
+ String messageStoreName = messageStoreMediator.getMessageStoreName();
+
+ OMElement storeElem = fac.createOMElement(STORE_Q);
+
+ String name = messageStoreMediator.getName();
+
+ if(name != null) {
+ OMAttribute nameAtt = fac.createOMAttribute("name" , nullNS ,
name);
+ storeElem.addAttribute(nameAtt);
+ }
+
+ //In normal operations messageStoreName can't be null
+ //But we do a null check here since in run time there can be manuel
modifications
+ if(messageStoreName != null ) {
+ OMAttribute msName = fac.createOMAttribute(ATT_MESSAGE_STORE
,nullNS,messageStoreName);
+ storeElem.addAttribute(msName);
+ } else {
+ handleException("Can't serialize MessageStore Mediator message
store is null ");
+ }
+
+
+ String sequence = messageStoreMediator.getOnStoreSequence();
+ // sequence is an optional parameter
+ if(sequence != null) {
+ OMAttribute sequenceAtt = fac.createOMAttribute(ATT_SEQUENCE ,
nullNS ,sequence);
+ storeElem.addAttribute(sequenceAtt);
+ }
+
+ return storeElem;
+
+ }
+
+ public String getMediatorClassName() {
+ return MessageStoreMediator.class.getName();
+ }
+}