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]