You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by hi...@apache.org on 2013/08/07 09:02:39 UTC
svn commit: r1511195 - in /synapse/trunk/java/modules/core/src:
main/java/org/apache/synapse/config/xml/
main/java/org/apache/synapse/config/xml/endpoints/
main/java/org/apache/synapse/mediators/template/
test/java/org/apache/synapse/config/xml/templates/
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));
+ }
+}