You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by su...@apache.org on 2011/03/10 12:25:37 UTC
svn commit: r1080187 - in
/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml:
TemplateMediatorFactory.java TemplateMediatorSerializer.java
Author: supun
Date: Thu Mar 10 11:25:37 2011
New Revision: 1080187
URL: http://svn.apache.org/viewvc?rev=1080187&view=rev
Log:
applying the patch SYNAPSE-738, thanks Udayanga for the contribution
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
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=1080187&r1=1080186&r2=1080187&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 Thu Mar 10 11:25:37 2011
@@ -40,27 +40,29 @@ import java.util.Properties;
public class TemplateMediatorFactory extends AbstractListMediatorFactory {
private static final QName TEMPLATE_Q
= new QName(XMLConfigConstants.SYNAPSE_NAMESPACE, "template");
- private TemplateMediator templateTemplateMediator;
- private OMElement templateElem;
+ private static final QName TEMPLATE_BODY_Q
+ = new QName(XMLConfigConstants.SYNAPSE_NAMESPACE, "sequence");
+
/**
* Element QName Definitions
*/
- public static final QName PARAMETER_Q = new QName(XMLConfigConstants.SYNAPSE_NAMESPACE, "parameter");
+ public static final QName PARAMETER_Q = new QName(
+ XMLConfigConstants.SYNAPSE_NAMESPACE, "parameter");
protected Mediator createSpecificMediator(OMElement elem, Properties properties) {
- templateTemplateMediator = new TemplateMediator();
- templateElem = elem;
- OMAttribute nameAttr = templateElem.getAttribute(ATT_NAME);
- OMAttribute errorHandlerAttr = templateElem.getAttribute(ATT_ONERROR);
+ TemplateMediator templateTemplateMediator = new TemplateMediator();
+ OMAttribute nameAttr = elem.getAttribute(ATT_NAME);
+ OMAttribute errorHandlerAttr = elem.getAttribute(ATT_ONERROR);
if (nameAttr != null) {
templateTemplateMediator.setName(nameAttr.getAttributeValue());
if (errorHandlerAttr != null) {
templateTemplateMediator.setErrorHandler(errorHandlerAttr.getAttributeValue());
}
- processAuditStatus(templateTemplateMediator, templateElem);
- initParameters();
- addChildren(templateElem, templateTemplateMediator, properties);
+ processAuditStatus(templateTemplateMediator, elem);
+ initParameters(elem, templateTemplateMediator);
+ OMElement templateBodyElem = elem.getFirstChildWithName(TEMPLATE_BODY_Q);
+ addChildren(templateBodyElem, templateTemplateMediator, properties);
} else {
String msg = "A EIP template should be a named mediator .";
log.error(msg);
@@ -69,7 +71,7 @@ public class TemplateMediatorFactory ext
return templateTemplateMediator;
}
- private void initParameters() {
+ private void initParameters(OMElement templateElem, TemplateMediator templateMediator) {
Iterator subElements = templateElem.getChildElements();
Collection<String> paramNames = new ArrayList<String>();
while (subElements.hasNext()) {
@@ -82,7 +84,7 @@ public class TemplateMediatorFactory ext
child.detach();
}
}
- templateTemplateMediator.setParameters(paramNames);
+ templateMediator.setParameters(paramNames);
}
public QName getTagQName() {
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=1080187&r1=1080186&r2=1080187&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 Thu Mar 10 11:25:37 2011
@@ -24,6 +24,7 @@ import org.apache.synapse.mediators.temp
import java.util.Collection;
import java.util.Iterator;
+import java.util.List;
/**
* Serializer class for Template to serialize into a configuration as follows
@@ -52,8 +53,8 @@ public class TemplateMediatorSerializer
"onError", nullNS, mediator.getErrorHandler()));
}
serializeParams(templateElem,mediator);
+ serializeBody(templateElem, mediator.getList());
saveTracingState(templateElem, mediator);
- serializeChildren(templateElem, mediator.getList());
}
return templateElem;
@@ -61,17 +62,21 @@ public class TemplateMediatorSerializer
private void serializeParams(OMElement templateElem, TemplateMediator mediator) {
Collection<String> params = mediator.getParameters();
- Iterator<String> paramIterator = params.iterator();
- while (paramIterator.hasNext()){
- String paramName = paramIterator.next();
- if(!"".equals(paramName)){
+ for (String param : params) {
+ if (!"".equals(param)) {
OMElement paramEl = fac.createOMElement("parameter", synNS);
- paramEl.addAttribute(fac.createOMAttribute("name",nullNS,paramName));
+ paramEl.addAttribute(fac.createOMAttribute("name", nullNS, param));
templateElem.addChild(paramEl);
}
}
}
+ private void serializeBody(OMElement templateElem, List<Mediator> childMediatorList){
+ OMElement seqEl = fac.createOMElement("sequence", synNS);
+ templateElem.addChild(seqEl);
+ serializeChildren(seqEl, childMediatorList);
+ }
+
public String getMediatorClassName() {
return TemplateMediator.class.getName();
}