Author: antelder
Date: Thu Nov 16 11:03:48 2006
New Revision: 475872

URL: http://svn.apache.org/viewvc?view=rev&rev=475872
Log:
Tidy up the E4X convertor, make the conversions work as efficently as possible

Modified:
    
incubator/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/convertors/JSOMElementConvertor.java

Modified: 
incubator/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/convertors/JSOMElementConvertor.java
URL: 
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/convertors/JSOMElementConvertor.java?view=diff&rev=475872&r1=475871&r2=475872
==============================================================================
--- 
incubator/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/convertors/JSOMElementConvertor.java
 (original)
+++ 
incubator/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/convertors/JSOMElementConvertor.java
 Thu Nov 16 11:03:48 2006
@@ -15,8 +15,6 @@
  */
 package org.apache.synapse.mediators.bsf.convertors;
 
-import java.io.ByteArrayInputStream;
-
 import javax.xml.stream.XMLStreamException;
 
 import org.apache.axiom.om.OMElement;
@@ -48,7 +46,7 @@
     public Object toScript(OMElement o) {
         XmlObject xml;
         try {
-            xml = XmlObject.Factory.parse(new 
ByteArrayInputStream(o.toString().getBytes()));
+            xml = XmlObject.Factory.parse(o.getXMLStreamReader());
         } catch (Exception e) {
             throw new SynapseException("exception getting message XML: " + e);
         }
@@ -71,15 +69,11 @@
             return super.fromScript(o);
         }
 
-        // TODO: E4X Bug? Shouldn't need this copy, but without it the outer 
element gets lost???
-        Scriptable jsXML = (Scriptable) 
ScriptableObject.callMethod((Scriptable) o, "copy", new Object[0]);
-        Wrapper wrapper = (Wrapper) ScriptableObject.callMethod(jsXML, 
"getXmlObject", new Object[0]);
-        Object response = wrapper.unwrap();
-
+        Wrapper wrapper = (Wrapper) ScriptableObject.callMethod((XMLObject)o, 
"getXmlObject", new Object[0]);
+        XmlObject xmlObject = (XmlObject)wrapper.unwrap();
         try {
 
-            byte[] xmlBytes = response.toString().getBytes();
-            StAXOMBuilder builder = new StAXOMBuilder(new 
ByteArrayInputStream(xmlBytes));
+            StAXOMBuilder builder = new 
StAXOMBuilder(xmlObject.newInputStream());
             OMElement omElement = builder.getDocumentElement();
 
             return omElement;



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to