Author: indika
Date: Mon Feb 16 11:18:53 2009
New Revision: 744893
URL: http://svn.apache.org/viewvc?rev=744893&view=rev
Log:
add support to use string in transformation if it is an XML
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/xpath/SourceXPathSupport.java
synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/xquery/XQueryMediator.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java?rev=744893&r1=744892&r2=744893&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java
Mon Feb 16 11:18:53 2009
@@ -608,5 +608,19 @@
}
return null;
}
+
+ public static OMElement stringToOM(String xml) {
+ try {
+ //TODO if there are any better way of converting string to OM ,
use it
+ XMLStreamReader reader =
XMLInputFactory.newInstance().createXMLStreamReader(
+ new StringReader(xml));
+ StAXOMBuilder builder = new StAXOMBuilder(reader);
+ return builder.getDocumentElement();
+ } catch (XMLStreamException e) {
+ handleException("Unable to convert a string to OM Node as the
string " +
+ "is malformed , String : " + xml);
+ }
+ return null;
+ }
}
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/xpath/SourceXPathSupport.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/xpath/SourceXPathSupport.java?rev=744893&r1=744892&r2=744893&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/xpath/SourceXPathSupport.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/xpath/SourceXPathSupport.java
Mon Feb 16 11:18:53 2009
@@ -23,6 +23,7 @@
import org.apache.synapse.MessageContext;
import org.apache.synapse.SynapseException;
import org.apache.synapse.SynapseLog;
+import org.apache.synapse.config.SynapseConfigUtils;
import org.jaxen.JaxenException;
/**
@@ -93,6 +94,8 @@
}
if (result instanceof OMNode) {
return (OMNode) result;
+ } else if (result instanceof String) {
+ return SynapseConfigUtils.stringToOM((String) result);
} else {
throw new SynapseException("The evaluation of the XPath
expression "
+ xpath + " did not result in an OMNode : " + result,
synLog);
Modified:
synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/xquery/XQueryMediator.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/xquery/XQueryMediator.java?rev=744893&r1=744892&r2=744893&view=diff
==============================================================================
---
synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/xquery/XQueryMediator.java
(original)
+++
synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/xquery/XQueryMediator.java
Mon Feb 16 11:18:53 2009
@@ -566,7 +566,7 @@
OMElement varibleValue = null;
if (value instanceof String) {
- varibleValue = createOMElement((String) value);
+ varibleValue = SynapseConfigUtils.stringToOM((String) value);
} else if (value instanceof OMElement) {
varibleValue = (OMElement) value;
}
@@ -587,18 +587,6 @@
}
}
- private OMElement createOMElement(String xml) {
- try {
- XMLStreamReader reader =
XMLInputFactory.newInstance().createXMLStreamReader(
- new StringReader(xml));
- StAXOMBuilder builder = new StAXOMBuilder(reader);
- return builder.getDocumentElement();
- } catch (XMLStreamException e) {
- handleException("Malform XML : " + xml);
- }
- return null;
- }
-
private void handleException(String msg, Exception e) {
log.error(msg, e);
throw new SynapseException(msg, e);