You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by in...@apache.org on 2007/02/15 07:59:35 UTC
svn commit: r507840 - in /webservices/synapse/trunk/java/modules/core/src:
main/java/org/apache/synapse/config/xml/
test/java/org/apache/synapse/config/xml/
Author: indika
Date: Wed Feb 14 22:59:34 2007
New Revision: 507840
URL: http://svn.apache.org/viewvc?view=rev&rev=507840
Log:
POXMediatorSerializer and test case for that
Added:
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/POXMediatorSerializer.java
webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/POXMediatorSerializationTest.java
Modified:
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorFactoryFinder.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorSerializerFinder.java
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorFactoryFinder.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorFactoryFinder.java?view=diff&rev=507840&r1=507839&r2=507840
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorFactoryFinder.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorFactoryFinder.java Wed Feb 14 22:59:34 2007
@@ -48,8 +48,7 @@
private static final Class[] mediatorFactories = {
SequenceMediatorFactory.class,
LogMediatorFactory.class,
- SendMediatorFactory.class,
- //RestMediatorFactory.class,
+ SendMediatorFactory.class,
FilterMediatorFactory.class,
SynapseMediatorFactory.class,
DropMediatorFactory.class,
@@ -64,7 +63,8 @@
RMMediatorFactory.class,
RMSequenceMediatorFactory.class,
TryMediatorFactory.class,
- ClassMediatorFactory.class
+ ClassMediatorFactory.class,
+ POXMediatorFactory.class
};
private static MediatorFactoryFinder instance = null;
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorSerializerFinder.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorSerializerFinder.java?view=diff&rev=507840&r1=507839&r2=507840
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorSerializerFinder.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MediatorSerializerFinder.java Wed Feb 14 22:59:34 2007
@@ -48,7 +48,8 @@
InMediatorSerializer.class,
OutMediatorSerializer.class,
// TODO RMMediatorSerializer.class,
- TryMediatorSerializer.class
+ TryMediatorSerializer.class,
+ POXMediatorSerializer.class
};
private static MediatorSerializerFinder instance = null;
Added: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/POXMediatorSerializer.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/POXMediatorSerializer.java?view=auto&rev=507840
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/POXMediatorSerializer.java (added)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/POXMediatorSerializer.java Wed Feb 14 22:59:34 2007
@@ -0,0 +1,61 @@
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed 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.OMElement;
+import org.apache.synapse.Mediator;
+import org.apache.synapse.SynapseException;
+import org.apache.synapse.mediators.builtin.POXMediator;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * This serialize a pox mediator instance
+ * <p/>
+ * <pre>
+ * <pox value="true|false"/>
+ * </pre>
+ */
+
+public class POXMediatorSerializer extends AbstractMediatorSerializer {
+
+ private static final Log log = LogFactory.getLog(POXMediatorSerializer.class);
+
+ public OMElement serializeMediator(OMElement parent, Mediator m) {
+ if (!(m instanceof POXMediator)) {
+ handleException("Unsupported mediator passed in for serialization : " + m.getType());
+ }
+ POXMediator poxMediator = (POXMediator) m;
+ OMElement pox = fac.createOMElement("pox", synNS);
+ boolean restEnable = poxMediator.getValue();
+ pox.addAttribute(fac.createOMAttribute(
+ "value", nullNS, Boolean.toString(restEnable)));
+
+ if (parent != null) {
+ parent.addChild(pox);
+ }
+ return pox;
+ }
+
+ public String getMediatorClassName() {
+ return POXMediator.class.getName();
+ }
+
+ private void handleException(String msg) {
+ log.error(msg);
+ throw new SynapseException(msg);
+ }
+}
Added: webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/POXMediatorSerializationTest.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/POXMediatorSerializationTest.java?view=auto&rev=507840
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/POXMediatorSerializationTest.java (added)
+++ webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/POXMediatorSerializationTest.java Wed Feb 14 22:59:34 2007
@@ -0,0 +1,47 @@
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed 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.impl.exception.XMLComparisonException;
+
+/**
+ *
+ *
+ */
+
+public class POXMediatorSerializationTest extends AbstractTestCase {
+
+ POXMediatorFactory mediatorFactory;
+ POXMediatorSerializer mediatorSerializer;
+
+
+ public POXMediatorSerializationTest() {
+ this.mediatorFactory = new POXMediatorFactory();
+ this.mediatorSerializer = new POXMediatorSerializer();
+ }
+
+ public void testPOXMediatorSerializationSenarioOne() throws XMLComparisonException {
+ String inptXml = " <pox value=\"true\" xmlns=\"http://ws.apache.org/ns/synapse\"></pox>";
+ assertTrue(serialization(inptXml, mediatorFactory, mediatorSerializer));
+ assertTrue(serialization(inptXml, mediatorSerializer));
+ }
+
+ public void testPOXMediatorSerializationSenarioTwo() throws XMLComparisonException {
+ String inptXml = " <pox value=\"false\" xmlns=\"http://ws.apache.org/ns/synapse\"></pox>";
+ assertTrue(serialization(inptXml, mediatorFactory, mediatorSerializer));
+ assertTrue(serialization(inptXml, mediatorSerializer));
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org