You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by as...@apache.org on 2008/02/21 07:34:40 UTC
svn commit: r629697 - in /synapse/trunk/java: ./
modules/core/src/main/java/org/apache/synapse/mediators/transform/
modules/core/src/test/java/org/apache/synapse/mediators/transform/
repository/conf/sample/resources/transform/
Author: asankha
Date: Wed Feb 20 22:34:34 2008
New Revision: 629697
URL: http://svn.apache.org/viewvc?rev=629697&view=rev
Log:
fix https://issues.apache.org/jira/browse/SYNAPSE-242
Added:
synapse/trunk/java/repository/conf/sample/resources/transform/med_message.xml (with props)
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/transform/XSLTMediator.java
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/transform/XSLTMediatorTest.java
synapse/trunk/java/pom.xml
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/transform/XSLTMediator.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/transform/XSLTMediator.java?rev=629697&r1=629696&r2=629697&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/transform/XSLTMediator.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/transform/XSLTMediator.java Wed Feb 20 22:34:34 2008
@@ -143,6 +143,11 @@
*/
private boolean useDOMSourceAndResults = false;
+ /**
+ * Hold any TransformerException's encountered during transformation by the XSLT processor
+ */
+ private TransformerException transformerException = null;
+
// todo - this is a hack to get the handler module case working - ruwan
// public static final String DEFAULT_XPATH = "//s11:Envelope/s11:Body/child::*[position()=1] | " +
// "//s12:Envelope/s12:Body/child::*[position()=1]";
@@ -206,7 +211,7 @@
* @param traceOrDebugOn is trace or debug on?
* @param traceOn is trace on?
*/
- private void performXSLT(MessageContext synCtx, boolean traceOrDebugOn, boolean traceOn) {
+ private void performXSLT(MessageContext synCtx, final boolean traceOrDebugOn, final boolean traceOn) {
boolean reCreate = false;
OMNode sourceNode = getTransformSource(synCtx);
@@ -351,8 +356,26 @@
}
try {
+ transformer.setErrorListener(new ErrorListener() {
+ public void warning(TransformerException e) throws TransformerException {
+ if (traceOrDebugOn) {
+ traceOrDebug(traceOn, "Warning encountered during transformation : " + e.getMessage());
+ }
+ log.warn("Transformation warning encountered", e);
+ }
+ public void error(TransformerException e) throws TransformerException {
+ setTransformerException(e);
+ }
+ public void fatalError(TransformerException e) throws TransformerException {
+ setTransformerException(e);
+ }
+ });
transformer.transform(transformSrc, transformTgt);
+ if (transformerException != null) {
+ throw transformerException;
+ }
+
} catch (TransformerException x) {
// did we exceed the in-memory BYTE_ARRAY_SIZE? if so, use a file for output
try {
@@ -661,6 +684,10 @@
public void setTargetPropertyName(String targetPropertyName) {
this.targetPropertyName = targetPropertyName;
+ }
+
+ public void setTransformerException(TransformerException transformerException) {
+ this.transformerException = transformerException;
}
}
Modified: synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/transform/XSLTMediatorTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/transform/XSLTMediatorTest.java?rev=629697&r1=629696&r2=629697&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/transform/XSLTMediatorTest.java (original)
+++ synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/transform/XSLTMediatorTest.java Wed Feb 20 22:34:34 2008
@@ -186,6 +186,29 @@
}
}
+ public void testSynapse242() throws Exception {
+
+ // create a new switch mediator
+ transformMediator = new XSLTMediator();
+ // set XSLT transformation URL
+ transformMediator.setXsltKey("xslt-key");
+
+ Map props = new HashMap();
+ Entry prop = new Entry();
+ prop.setType(Entry.URL_SRC);
+ prop.setSrc(new URL("file:./../../repository/conf/sample/resources/transform/transform_load_2.xml"));
+ props.put("xslt-key", prop);
+
+ // invoke transformation, with static enveope
+ MessageContext synCtx = TestUtils.getTestContextForXSLTMediatorUsingFile("./../../repository/conf/sample/resources/transform/med_message.xml", props);
+ transformMediator.mediate(synCtx);
+
+ // validate result
+ OMContainer body = synCtx.getEnvelope().getBody();
+ assertTrue(body.getFirstOMChild().getNextOMSibling() instanceof OMElement);
+ assertTrue( ((OMElement)body.getFirstOMChild().getNextOMSibling()).getText().length() > 0);
+ }
+
public void testTransformXSLTSmallMessages() throws Exception {
Modified: synapse/trunk/java/pom.xml
URL: http://svn.apache.org/viewvc/synapse/trunk/java/pom.xml?rev=629697&r1=629696&r2=629697&view=diff
==============================================================================
--- synapse/trunk/java/pom.xml (original)
+++ synapse/trunk/java/pom.xml Wed Feb 20 22:34:34 2008
@@ -174,7 +174,7 @@
<artifactId>maven-surefire-plugin</artifactId>
<version>2.3</version>
<configuration>
- <argLine>-Xms128m -Xmx128m</argLine>
+ <argLine>-Xms128m -Xmx256m</argLine>
</configuration>
</plugin>
Added: synapse/trunk/java/repository/conf/sample/resources/transform/med_message.xml
URL: http://svn.apache.org/viewvc/synapse/trunk/java/repository/conf/sample/resources/transform/med_message.xml?rev=629697&view=auto
==============================================================================
--- synapse/trunk/java/repository/conf/sample/resources/transform/med_message.xml (added)
+++ synapse/trunk/java/repository/conf/sample/resources/transform/med_message.xml Wed Feb 20 22:34:34 2008
@@ -0,0 +1,162 @@
+<ns:getMarketActivityResponse xmlns:ns="http://services.samples/xsd">
+ <ns:quotes type="samples.services.GetQuoteResponse">
+ <ns:change>-2.3331712765191983</ns:change>
+ <ns:earnings>-9.65231195444267</ns:earnings>
+ <ns:high>179.16347749816438</ns:high>
+ <ns:last>172.19045747628292</ns:last>
+ <ns:lastTradeTimestamp>Mon Oct 22 15:11:34 LKT 2007</ns:lastTradeTimestamp>
+ <ns:low>178.7203293609462</ns:low>
+ <ns:marketCap>1.379322935732207E7</ns:marketCap>
+ <ns:name>UXO Company</ns:name>
+ <ns:open>-169.9395638882107</ns:open>
+ <ns:peRatio>-17.09677690440378</ns:peRatio>
+ <ns:percentageChange>1.3736742954737378</ns:percentageChange>
+ <ns:prevClose>-169.84894339269556</ns:prevClose>
+ <ns:symbol>UXO</ns:symbol>
+ <ns:volume>15056</ns:volume>
+ </ns:quotes>
+ <ns:quotes type="samples.services.GetQuoteResponse">
+ <ns:change>3.983139320414658</ns:change>
+ <ns:earnings>-9.04062951777676</ns:earnings>
+ <ns:high>94.57780160008556</ns:high>
+ <ns:last>90.21405473469899</ns:last>
+ <ns:lastTradeTimestamp>Mon Oct 22 15:11:34 LKT 2007</ns:lastTradeTimestamp>
+ <ns:low>93.85204073409948</ns:low>
+ <ns:marketCap>-8372468.946299013</ns:marketCap>
+ <ns:name>OOV Company</ns:name>
+ <ns:open>-88.15089890974984</ns:open>
+ <ns:peRatio>-18.82367884355716</ns:peRatio>
+ <ns:percentageChange>-4.709174373521174</ns:percentageChange>
+ <ns:prevClose>-84.58254047272324</ns:prevClose>
+ <ns:symbol>OOV</ns:symbol>
+ <ns:volume>6922</ns:volume>
+ </ns:quotes>
+ <ns:quotes type="samples.services.GetQuoteResponse">
+ <ns:change>3.983139320414658</ns:change>
+ <ns:earnings>-9.04062951777676</ns:earnings>
+ <ns:high>94.57780160008556</ns:high>
+ <ns:last>90.21405473469899</ns:last>
+ <ns:lastTradeTimestamp>Mon Oct 22 15:11:34 LKT 2007</ns:lastTradeTimestamp>
+ <ns:low>93.85204073409948</ns:low>
+ <ns:marketCap>-8372468.946299013</ns:marketCap>
+ <ns:name>OOV Company</ns:name>
+ <ns:open>-88.15089890974984</ns:open>
+ <ns:peRatio>-18.82367884355716</ns:peRatio>
+ <ns:percentageChange>-4.709174373521174</ns:percentageChange>
+ <ns:prevClose>-84.58254047272324</ns:prevClose>
+ <ns:symbol>OOV</ns:symbol>
+ <ns:volume>6922</ns:volume>
+ </ns:quotes>
+ <ns:quotes type="samples.services.GetQuoteResponse">
+ <ns:change>3.983139320414658</ns:change>
+ <ns:earnings>-9.04062951777676</ns:earnings>
+ <ns:high>94.57780160008556</ns:high>
+ <ns:last>90.21405473469899</ns:last>
+ <ns:lastTradeTimestamp>Mon Oct 22 15:11:34 LKT 2007</ns:lastTradeTimestamp>
+ <ns:low>93.85204073409948</ns:low>
+ <ns:marketCap>-8372468.946299013</ns:marketCap>
+ <ns:name>OOV Company</ns:name>
+ <ns:open>-88.15089890974984</ns:open>
+ <ns:peRatio>-18.82367884355716</ns:peRatio>
+ <ns:percentageChange>-4.709174373521174</ns:percentageChange>
+ <ns:prevClose>-84.58254047272324</ns:prevClose>
+ <ns:symbol>OOV</ns:symbol>
+ <ns:volume>6922</ns:volume>
+ </ns:quotes>
+ <ns:quotes type="samples.services.GetQuoteResponse">
+ <ns:change>3.983139320414658</ns:change>
+ <ns:earnings>-9.04062951777676</ns:earnings>
+ <ns:high>94.57780160008556</ns:high>
+ <ns:last>90.21405473469899</ns:last>
+ <ns:lastTradeTimestamp>Mon Oct 22 15:11:34 LKT 2007</ns:lastTradeTimestamp>
+ <ns:low>93.85204073409948</ns:low>
+ <ns:marketCap>-8372468.946299013</ns:marketCap>
+ <ns:name>OOV Company</ns:name>
+ <ns:open>-88.15089890974984</ns:open>
+ <ns:peRatio>-18.82367884355716</ns:peRatio>
+ <ns:percentageChange>-4.709174373521174</ns:percentageChange>
+ <ns:prevClose>-84.58254047272324</ns:prevClose>
+ <ns:symbol>OOV</ns:symbol>
+ <ns:volume>6922</ns:volume>
+ </ns:quotes>
+ <ns:quotes type="samples.services.GetQuoteResponse">
+ <ns:change>3.983139320414658</ns:change>
+ <ns:earnings>-9.04062951777676</ns:earnings>
+ <ns:high>94.57780160008556</ns:high>
+ <ns:last>90.21405473469899</ns:last>
+ <ns:lastTradeTimestamp>Mon Oct 22 15:11:34 LKT 2007</ns:lastTradeTimestamp>
+ <ns:low>93.85204073409948</ns:low>
+ <ns:marketCap>-8372468.946299013</ns:marketCap>
+ <ns:name>OOV Company</ns:name>
+ <ns:open>-88.15089890974984</ns:open>
+ <ns:peRatio>-18.82367884355716</ns:peRatio>
+ <ns:percentageChange>-4.709174373521174</ns:percentageChange>
+ <ns:prevClose>-84.58254047272324</ns:prevClose>
+ <ns:symbol>OOV</ns:symbol>
+ <ns:volume>6922</ns:volume>
+ </ns:quotes>
+ <ns:quotes type="samples.services.GetQuoteResponse">
+ <ns:change>3.983139320414658</ns:change>
+ <ns:earnings>-9.04062951777676</ns:earnings>
+ <ns:high>94.57780160008556</ns:high>
+ <ns:last>90.21405473469899</ns:last>
+ <ns:lastTradeTimestamp>Mon Oct 22 15:11:34 LKT 2007</ns:lastTradeTimestamp>
+ <ns:low>93.85204073409948</ns:low>
+ <ns:marketCap>-8372468.946299013</ns:marketCap>
+ <ns:name>OOV Company</ns:name>
+ <ns:open>-88.15089890974984</ns:open>
+ <ns:peRatio>-18.82367884355716</ns:peRatio>
+ <ns:percentageChange>-4.709174373521174</ns:percentageChange>
+ <ns:prevClose>-84.58254047272324</ns:prevClose>
+ <ns:symbol>OOV</ns:symbol>
+ <ns:volume>6922</ns:volume>
+ </ns:quotes>
+ <ns:quotes type="samples.services.GetQuoteResponse">
+ <ns:change>3.983139320414658</ns:change>
+ <ns:earnings>-9.04062951777676</ns:earnings>
+ <ns:high>94.57780160008556</ns:high>
+ <ns:last>90.21405473469899</ns:last>
+ <ns:lastTradeTimestamp>Mon Oct 22 15:11:34 LKT 2007</ns:lastTradeTimestamp>
+ <ns:low>93.85204073409948</ns:low>
+ <ns:marketCap>-8372468.946299013</ns:marketCap>
+ <ns:name>OOV Company</ns:name>
+ <ns:open>-88.15089890974984</ns:open>
+ <ns:peRatio>-18.82367884355716</ns:peRatio>
+ <ns:percentageChange>-4.709174373521174</ns:percentageChange>
+ <ns:prevClose>-84.58254047272324</ns:prevClose>
+ <ns:symbol>OOV</ns:symbol>
+ <ns:volume>6922</ns:volume>
+ </ns:quotes>
+ <ns:quotes type="samples.services.GetQuoteResponse">
+ <ns:change>3.983139320414658</ns:change>
+ <ns:earnings>-9.04062951777676</ns:earnings>
+ <ns:high>94.57780160008556</ns:high>
+ <ns:last>90.21405473469899</ns:last>
+ <ns:lastTradeTimestamp>Mon Oct 22 15:11:34 LKT 2007</ns:lastTradeTimestamp>
+ <ns:low>93.85204073409948</ns:low>
+ <ns:marketCap>-8372468.946299013</ns:marketCap>
+ <ns:name>OOV Company</ns:name>
+ <ns:open>-88.15089890974984</ns:open>
+ <ns:peRatio>-18.82367884355716</ns:peRatio>
+ <ns:percentageChange>-4.709174373521174</ns:percentageChange>
+ <ns:prevClose>-84.58254047272324</ns:prevClose>
+ <ns:symbol>OOV</ns:symbol>
+ <ns:volume>6922</ns:volume>
+ </ns:quotes>
+ <ns:quotes type="samples.services.GetQuoteResponse">
+ <ns:change>3.983139320414658</ns:change>
+ <ns:earnings>-9.04062951777676</ns:earnings>
+ <ns:high>94.57780160008556</ns:high>
+ <ns:last>90.21405473469899</ns:last>
+ <ns:lastTradeTimestamp>Mon Oct 22 15:11:34 LKT 2007</ns:lastTradeTimestamp>
+ <ns:low>93.85204073409948</ns:low>
+ <ns:marketCap>-8372468.946299013</ns:marketCap>
+ <ns:name>OOV Company</ns:name>
+ <ns:open>-88.15089890974984</ns:open>
+ <ns:peRatio>-18.82367884355716</ns:peRatio>
+ <ns:percentageChange>-4.709174373521174</ns:percentageChange>
+ <ns:prevClose>-84.58254047272324</ns:prevClose>
+ <ns:symbol>OOV</ns:symbol>
+ <ns:volume>6922</ns:volume>
+ </ns:quotes>
+</ns:getMarketActivityResponse>
Propchange: synapse/trunk/java/repository/conf/sample/resources/transform/med_message.xml
------------------------------------------------------------------------------
svn:executable = *