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);


Reply via email to