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]