Author: indika
Date: Wed Feb 21 22:17:43 2007
New Revision: 510413
URL: http://svn.apache.org/viewvc?view=rev&rev=510413
Log:
Committing for Michael Griffin--- applied patch
fixed issue in JIRA SYNAPSE-56 and change XSLTMediatorTest to test fixes
Modified:
webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/transform/XSLTMediator.java
webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/XSLTMediatorTest.java
webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/mediators/TestUtils.java
Modified:
webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/transform/XSLTMediator.java
URL:
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/transform/XSLTMediator.java?view=diff&rev=510413&r1=510412&r2=510413
==============================================================================
---
webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/transform/XSLTMediator.java
(original)
+++
webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/transform/XSLTMediator.java
Wed Feb 21 22:17:43 2007
@@ -190,14 +190,9 @@
log.debug("Transformation result : " + result);
}
- OMContainer parent = sourceNode.getParent();
- if (parent instanceof SOAPEnvelope) {
- ((SOAPEnvelope) parent).getBody().getFirstOMChild().detach();
- ((SOAPEnvelope) parent).getBody().setFirstChild(result);
- } else {
- parent.getFirstOMChild().detach();
- parent.addChild(result);
- }
+ // replace the sourceNode with the result.
+ sourceNode.insertSiblingAfter( result );
+ sourceNode.detach();
} catch (TransformerException e) {
handleException("Error performing XSLT transformation " + xsltKey,
e);
Modified:
webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/XSLTMediatorTest.java
URL:
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/XSLTMediatorTest.java?view=diff&rev=510413&r1=510412&r2=510413
==============================================================================
---
webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/XSLTMediatorTest.java
(original)
+++
webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/XSLTMediatorTest.java
Wed Feb 21 22:17:43 2007
@@ -68,14 +68,14 @@
props.put("xslt-key", prop);
// invoke transformation, with static enveope
- MessageContext synCtx = TestUtils.getTestContext(SOURCE, props);
+ MessageContext synCtx =
TestUtils.getTestContextForXSLTMediator(SOURCE, props);
transformMediator.mediate(synCtx);
// validate result
OMContainer body = synCtx.getEnvelope().getBody();
- if (body.getFirstOMChild() instanceof OMElement) {
+ if (body.getFirstOMChild().getNextOMSibling() instanceof OMElement) {
- OMElement getQuoteElem = (OMElement) body.getFirstOMChild();
+ OMElement getQuoteElem = (OMElement)
body.getFirstOMChild().getNextOMSibling();
assertTrue("GetQuote".equals(getQuoteElem.getLocalName()));
assertTrue("http://www.webserviceX.NET/".equals(getQuoteElem.getNamespace().getName()));
@@ -108,14 +108,14 @@
props.put("xslt-key", prop);
// invoke transformation, with static enveope
- MessageContext synCtx = TestUtils.getTestContext(SOURCE, props);
+ MessageContext synCtx =
TestUtils.getTestContextForXSLTMediator(SOURCE, props);
transformMediator.mediate(synCtx);
// validate result
OMContainer body = synCtx.getEnvelope().getBody();
- if (body.getFirstOMChild() instanceof OMElement) {
+ if (body.getFirstOMChild().getNextOMSibling() instanceof OMElement) {
- OMElement getQuoteElem = (OMElement) body.getFirstOMChild();
+ OMElement getQuoteElem = (OMElement)
body.getFirstOMChild().getNextOMSibling();
assertTrue("GetQuote".equals(getQuoteElem.getLocalName()));
assertTrue("http://www.webserviceX.NET/".equals(getQuoteElem.getNamespace().getName()));
@@ -149,14 +149,14 @@
props.put("xslt-key", prop);
// invoke transformation, with static enveope
- MessageContext synCtx = TestUtils.getTestContext(ENCLOSING_SOURCE,
props);
+ MessageContext synCtx =
TestUtils.getTestContextForXSLTMediator(ENCLOSING_SOURCE, props);
transformMediator.mediate(synCtx);
// validate result
OMContainer body = synCtx.getEnvelope().getBody();
- if (body.getFirstOMChild() instanceof OMElement) {
+ if (body.getFirstOMChild().getNextOMSibling() instanceof OMElement) {
- OMElement someOtherElem = (OMElement) body.getFirstOMChild();
+ OMElement someOtherElem = (OMElement)
body.getFirstOMChild().getNextOMSibling();
assertTrue("someOtherElement".equals(someOtherElem.getLocalName()));
assertTrue("http://someother".equals(someOtherElem.getNamespace().getName()));
Modified:
webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/mediators/TestUtils.java
URL:
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/mediators/TestUtils.java?view=diff&rev=510413&r1=510412&r2=510413
==============================================================================
---
webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/mediators/TestUtils.java
(original)
+++
webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/mediators/TestUtils.java
Wed Feb 21 22:17:43 2007
@@ -31,6 +31,7 @@
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMDocument;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.impl.builder.StAXOMBuilder;
import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.synapse.MessageContext;
@@ -75,6 +76,39 @@
return synCtx;
}
+ public static TestMessageContext getTestContextForXSLTMediator(String
bodyText, Map props) throws Exception {
+
+ // create a test synapse context
+ TestMessageContext synCtx = new TestMessageContext();
+ SynapseConfiguration testConfig = new SynapseConfiguration();
+ testConfig.addRegistry(null, new SimpleURLRegistry());
+
+ if (props != null) {
+ Iterator iter = props.keySet().iterator();
+ while (iter.hasNext()) {
+ String key = (String) iter.next();
+ testConfig.addProperty(key, (Property) props.get(key));
+ }
+ }
+ synCtx.setConfiguration(testConfig);
+
+ SOAPEnvelope envelope =
OMAbstractFactory.getSOAP11Factory().getDefaultEnvelope();
+ OMDocument omDoc =
OMAbstractFactory.getSOAP11Factory().createOMDocument();
+ omDoc.addChild(envelope);
+
+ XMLStreamReader parser = XMLInputFactory.newInstance().
+ createXMLStreamReader(new StringReader(bodyText));
+ StAXOMBuilder builder = new StAXOMBuilder(parser);
+
+ // set a dummy static message
+ OMFactory fac = OMAbstractFactory.getOMFactory();
+ envelope.getBody().addChild(fac.createOMText("first text child "));
+ envelope.getBody().addChild(builder.getDocumentElement());
+ envelope.getBody().addChild(fac.createOMText("second text child "));
+
+ synCtx.setEnvelope(envelope);
+ return synCtx;
+ }
public static TestMessageContext getTestContext(String bodyText) throws
Exception {
return getTestContext(bodyText, null);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]