Author: hiranya
Date: Wed Aug  7 07:02:38 2013
New Revision: 1511195

URL: http://svn.apache.org/r1511195
Log:
Added template serialization test cases

Added:
    
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/templates/
    
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/templates/TemplateSerializationTest.java
Modified:
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TemplateMediatorFactory.java
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TemplateMediatorSerializer.java
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TemplateParameterSerializer.java
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/TemplateFactory.java
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/TemplateSerializer.java
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/template/TemplateMediator.java

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TemplateMediatorFactory.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TemplateMediatorFactory.java?rev=1511195&r1=1511194&r2=1511195&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TemplateMediatorFactory.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TemplateMediatorFactory.java
 Wed Aug  7 07:02:38 2013
@@ -16,20 +16,18 @@
  *  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.SynapseException;
-import org.apache.synapse.mediators.TemplateParameter;
 import org.apache.synapse.mediators.template.TemplateMediator;
 
 import javax.xml.namespace.QName;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
 import java.util.Properties;
+
 /**
  * Factory class for Template configuration as follows
  * <template name="simple_func">
@@ -39,6 +37,7 @@ import java.util.Properties;
     </template>
  */
 public class TemplateMediatorFactory extends AbstractListMediatorFactory {
+
     private static final QName TEMPLATE_Q
             = new QName(XMLConfigConstants.SYNAPSE_NAMESPACE, "template");
     private static final QName TEMPLATE_BODY_Q
@@ -55,7 +54,7 @@ public class TemplateMediatorFactory ext
             OMElement templateBodyElem = 
elem.getFirstChildWithName(TEMPLATE_BODY_Q);
             addChildren(templateBodyElem, templateTemplateMediator, 
properties);
         } else {
-            String msg = "A EIP template should be a named mediator .";
+            String msg = "An EIP template must be a named mediator .";
             log.error(msg);
             throw new SynapseException(msg);
         }

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TemplateMediatorSerializer.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TemplateMediatorSerializer.java?rev=1511195&r1=1511194&r2=1511195&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TemplateMediatorSerializer.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TemplateMediatorSerializer.java
 Wed Aug  7 07:02:38 2013
@@ -39,14 +39,14 @@ public class TemplateMediatorSerializer 
     protected OMElement serializeSpecificMediator(Mediator m) {
         if (!(m instanceof TemplateMediator)) {
             handleException("Unsupported mediator passed in for serialization 
: " + m.getType());
+            return null;
         }
 
         TemplateMediator mediator = (TemplateMediator) m;
         OMElement templateElem = fac.createOMElement("template", synNS);
 
         if (mediator.getName() != null) {
-            templateElem.addAttribute(fac.createOMAttribute(
-                    "name", nullNS, mediator.getName()));
+            templateElem.addAttribute(fac.createOMAttribute("name", nullNS, 
mediator.getName()));
             //serialize parameters
             serializeParams(templateElem,mediator);
             serializeBody(templateElem, mediator.getList());
@@ -65,7 +65,7 @@ public class TemplateMediatorSerializer 
     private void serializeParams(OMElement templateElem, TemplateMediator 
mediator) {
         Collection<TemplateParameter> params = mediator.getParameters();
         if (params != null && params.size() > 0) {
-               
TemplateParameterSerializer.serializeTemplateParameters(templateElem,mediator.getParameters());
+            
TemplateParameterSerializer.serializeTemplateParameters(templateElem,mediator.getParameters());
         }
     }
 

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TemplateParameterSerializer.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TemplateParameterSerializer.java?rev=1511195&r1=1511194&r2=1511195&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TemplateParameterSerializer.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TemplateParameterSerializer.java
 Wed Aug  7 07:02:38 2013
@@ -61,7 +61,7 @@ public class TemplateParameterSerializer
      */
     public static void serializeTemplateParameters(OMElement parent,
                                                Collection<TemplateParameter> 
params) {
-            serializeTemplateParameters(parent, params, PARAMETER_Q);
+        serializeTemplateParameters(parent, params, PARAMETER_Q);
     }
 
     /**

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/TemplateFactory.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/TemplateFactory.java?rev=1511195&r1=1511194&r2=1511195&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/TemplateFactory.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/TemplateFactory.java
 Wed Aug  7 07:02:38 2013
@@ -33,6 +33,7 @@ import java.util.Iterator;
 import java.util.Properties;
 
 public class TemplateFactory {
+
     public static final Log log = LogFactory.getLog(TemplateFactory.class);
 
     public Template createEndpointTemplate(OMElement element, Properties 
properties) {
@@ -53,15 +54,11 @@ public class TemplateFactory {
                 new QName(SynapseConstants.SYNAPSE_NAMESPACE, "parameter"));
         while (paramItr.hasNext()) {
             OMElement paramElement = (OMElement) paramItr.next();
-
             OMAttribute paramName = paramElement.getAttribute(new 
QName("name"));
-
             if (paramName == null) {
                 handleException("parameter name should be present");
             }
-
             assert paramName != null;
-
             template.addParameter(paramName.getAttributeValue().trim());
         }
 

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/TemplateSerializer.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/TemplateSerializer.java?rev=1511195&r1=1511194&r2=1511195&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/TemplateSerializer.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/TemplateSerializer.java
 Wed Aug  7 07:02:38 2013
@@ -45,9 +45,8 @@ public class TemplateSerializer {
 
         List<String> parameters = template.getParameters();
         for (String entry : parameters) {
-            OMElement paramElement = fac.createOMElement(
-                    new QName(SynapseConstants.SYNAPSE_NAMESPACE, 
"parameter"));
-
+            OMElement paramElement = fac.createOMElement("parameter",
+                    SynapseConstants.SYNAPSE_OMNAMESPACE);
             paramElement.addAttribute(fac.createOMAttribute("name", nullNS, 
entry));
             templateElement.addChild(paramElement);
         }

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/template/TemplateMediator.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/template/TemplateMediator.java?rev=1511195&r1=1511194&r2=1511195&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/template/TemplateMediator.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/template/TemplateMediator.java
 Wed Aug  7 07:02:38 2013
@@ -42,7 +42,7 @@ public class TemplateMediator extends Ab
 
     private String eipPatternName;
     private String fileName;
-    /** flag to ensure that each and every sequence is initialized and 
destroyed atmost once */
+    /** flag to ensure that each and every sequence is initialized and 
destroyed at most once */
     private boolean initialized = false;
 
     public void setParameters(Collection<TemplateParameter> paramNames) {

Added: 
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/templates/TemplateSerializationTest.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/templates/TemplateSerializationTest.java?rev=1511195&view=auto
==============================================================================
--- 
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/templates/TemplateSerializationTest.java
 (added)
+++ 
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/templates/TemplateSerializationTest.java
 Wed Aug  7 07:02:38 2013
@@ -0,0 +1,98 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF 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.templates;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.synapse.config.xml.AbstractTestCase;
+import org.apache.synapse.config.xml.TemplateMediatorSerializer;
+import org.apache.synapse.config.xml.XMLToTemplateMapper;
+import org.apache.synapse.config.xml.endpoints.TemplateSerializer;
+import org.apache.synapse.endpoints.Template;
+import org.apache.synapse.mediators.template.TemplateMediator;
+
+public class TemplateSerializationTest extends AbstractTestCase {
+
+    public void testEndpointTemplateScenarioOne() throws Exception {
+        String inputXML = "<template name=\"t1\" 
xmlns=\"http://ws.apache.org/ns/synapse\";>" +
+                "<parameter name=\"name\"/><parameter 
name=\"uri\"/><endpoint/>" +
+                "</template>" ;
+
+        OMElement inputElement = createOMElement(inputXML);
+        XMLToTemplateMapper mapper = new XMLToTemplateMapper();
+        Template template = (Template) 
mapper.getObjectFromOMNode(inputElement, null);
+
+        OMElement serializedOut = new 
TemplateSerializer().serializeEndpointTemplate(template, null);
+        assertTrue(compare(serializedOut, inputElement));
+    }
+
+    public void testEndpointTemplateScenarioTwo() throws Exception {
+        String inputXML = "<template name=\"t1\" 
xmlns=\"http://ws.apache.org/ns/synapse\";>" +
+                "<parameter name=\"name\"/><parameter name=\"uri\"/>" +
+                
"<endpoint><timeout><duration>10000</duration></timeout></endpoint>" +
+                "</template>" ;
+
+        OMElement inputElement = createOMElement(inputXML);
+        XMLToTemplateMapper mapper = new XMLToTemplateMapper();
+        Template template = (Template) 
mapper.getObjectFromOMNode(inputElement, null);
+
+        OMElement serializedOut = new 
TemplateSerializer().serializeEndpointTemplate(template, null);
+        assertTrue(compare(serializedOut,inputElement));
+    }
+
+    public void testSequenceTemplateScenarioOne() throws Exception {
+        String inputXML = "<template name=\"t2\" 
xmlns=\"http://ws.apache.org/ns/synapse\";>" +
+                "<sequence/>" +
+                "</template>" ;
+
+        OMElement inputElement = createOMElement(inputXML);
+        XMLToTemplateMapper mapper = new XMLToTemplateMapper();
+        TemplateMediator template = (TemplateMediator) 
mapper.getObjectFromOMNode(inputElement, null);
+
+        OMElement serializedOut = new 
TemplateMediatorSerializer().serializeMediator(null, template);
+        assertTrue(compare(serializedOut,inputElement));
+    }
+
+    public void testSequenceTemplateScenarioTwo() throws Exception {
+        String inputXML = "<template name=\"t2\" 
xmlns=\"http://ws.apache.org/ns/synapse\";>" +
+                "<sequence><log/><drop/></sequence>" +
+                "</template>" ;
+
+        OMElement inputElement = createOMElement(inputXML);
+        XMLToTemplateMapper mapper = new XMLToTemplateMapper();
+        TemplateMediator template = (TemplateMediator) 
mapper.getObjectFromOMNode(inputElement, null);
+
+        OMElement serializedOut = new 
TemplateMediatorSerializer().serializeMediator(null, template);
+        assertTrue(compare(serializedOut,inputElement));
+    }
+
+    public void testSequenceTemplateScenarioThree() throws Exception {
+        String inputXML = "<template name=\"t2\" 
xmlns=\"http://ws.apache.org/ns/synapse\";>" +
+                "<parameter name=\"foo\"/><parameter name=\"bar\"/>" +
+                "<sequence><log/><drop/></sequence>" +
+                "</template>" ;
+
+        OMElement inputElement = createOMElement(inputXML);
+        XMLToTemplateMapper mapper = new XMLToTemplateMapper();
+        TemplateMediator template = (TemplateMediator) 
mapper.getObjectFromOMNode(inputElement, null);
+
+        OMElement serializedOut = new 
TemplateMediatorSerializer().serializeMediator(null, template);
+        assertTrue(compare(serializedOut,inputElement));
+    }
+}


Reply via email to