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>
+ * &lt;pox value="true|false"/&gt;
+ * </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