Author: janstey
Date: Tue Nov 22 15:09:40 2011
New Revision: 1205032
URL: http://svn.apache.org/viewvc?rev=1205032&view=rev
Log:
CAMEL-4689 - Add back fail-fast behavior of camel-xslt. Keep new behavior of
checking for XSLT via header.
Removed:
camel/trunk/camel-core/src/test/java/org/apache/camel/component/xslt/XsltFromHeaderTest.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java
camel/trunk/camel-core/src/test/java/org/apache/camel/component/xslt/InvalidXsltFileTest.java
camel/trunk/camel-core/src/test/java/org/apache/camel/component/xslt/XsltFileNotFoundTest.java
camel/trunk/components/camel-saxon/src/test/java/org/apache/camel/component/xslt/SaxonInvalidXsltFileTest.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java?rev=1205032&r1=1205031&r2=1205032&view=diff
==============================================================================
---
camel/trunk/camel-core/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java
(original)
+++
camel/trunk/camel-core/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java
Tue Nov 22 15:09:40 2011
@@ -48,9 +48,7 @@ public class XsltEndpoint extends Proces
this.xslt = xslt;
this.resourceUri = resourceUri;
this.cacheStylesheet = cacheStylesheet;
-
- // load stylesheet on first exchange
- clearCachedStylesheet();
+ loadResource(xslt, resourceUri);
}
@ManagedOperation(description = "Clears the cached XSLT stylesheet,
forcing to re-load the stylesheet on next request")
@@ -88,7 +86,7 @@ public class XsltEndpoint extends Proces
XsltEndpoint newEndpoint = findOrCreateEndpoint(getEndpointUri(),
newResourceUri);
newEndpoint.onExchange(exchange);
return;
- } else {
+ } else {
if (!cacheStylesheet || cacheCleared) {
loadResource(xslt, resourceUri);
}
Modified:
camel/trunk/camel-core/src/test/java/org/apache/camel/component/xslt/InvalidXsltFileTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/xslt/InvalidXsltFileTest.java?rev=1205032&r1=1205031&r2=1205032&view=diff
==============================================================================
---
camel/trunk/camel-core/src/test/java/org/apache/camel/component/xslt/InvalidXsltFileTest.java
(original)
+++
camel/trunk/camel-core/src/test/java/org/apache/camel/component/xslt/InvalidXsltFileTest.java
Tue Nov 22 15:09:40 2011
@@ -16,31 +16,36 @@
*/
package org.apache.camel.component.xslt;
-import javax.xml.transform.TransformerConfigurationException;
-
-import org.apache.camel.CamelExecutionException;
-import org.apache.camel.ContextTestSupport;
+import org.apache.camel.CamelContext;
+import org.apache.camel.FailedToCreateRouteException;
+import org.apache.camel.ResolveEndpointFailedException;
+import org.apache.camel.TestSupport;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.impl.DefaultCamelContext;
/**
*
*/
-public class InvalidXsltFileTest extends ContextTestSupport {
+public class InvalidXsltFileTest extends TestSupport {
public void testInvalidStylesheet() throws Exception {
try {
- template.sendBody("direct:a", "foo");
+ RouteBuilder builder = createRouteBuilder();
+ CamelContext context = new DefaultCamelContext();
+ context.addRoutes(builder);
+ context.start();
+
fail("Should have thrown an exception due XSL compilation error");
- } catch (CamelExecutionException e) {
+ } catch (FailedToCreateRouteException e) {
// expected
- assertIsInstanceOf(TransformerConfigurationException.class,
e.getCause());
- }
+ assertIsInstanceOf(ResolveEndpointFailedException.class,
e.getCause());
+ }
}
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
public void configure() throws Exception {
-
from("direct:a").to("xslt:org/apache/camel/component/xslt/invalid.xsl");
+
from("seda:a").to("xslt:org/apache/camel/component/xslt/invalid.xsl");
}
};
}
Modified:
camel/trunk/camel-core/src/test/java/org/apache/camel/component/xslt/XsltFileNotFoundTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/xslt/XsltFileNotFoundTest.java?rev=1205032&r1=1205031&r2=1205032&view=diff
==============================================================================
---
camel/trunk/camel-core/src/test/java/org/apache/camel/component/xslt/XsltFileNotFoundTest.java
(original)
+++
camel/trunk/camel-core/src/test/java/org/apache/camel/component/xslt/XsltFileNotFoundTest.java
Tue Nov 22 15:09:40 2011
@@ -17,30 +17,39 @@
package org.apache.camel.component.xslt;
import java.io.FileNotFoundException;
+import javax.xml.transform.TransformerConfigurationException;
-import org.apache.camel.CamelExecutionException;
-import org.apache.camel.ContextTestSupport;
+import org.apache.camel.CamelContext;
+import org.apache.camel.FailedToCreateRouteException;
+import org.apache.camel.ResolveEndpointFailedException;
+import org.apache.camel.TestSupport;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.impl.DefaultCamelContext;
/**
*
*/
-public class XsltFileNotFoundTest extends ContextTestSupport {
+public class XsltFileNotFoundTest extends TestSupport {
public void testNoXsltFile() throws Exception {
try {
- template.sendBody("direct:a", "foo");
+ RouteBuilder builder = createRouteBuilder();
+ CamelContext context = new DefaultCamelContext();
+ context.addRoutes(builder);
+ context.start();
+
fail("Should have thrown an exception due XSLT file not found");
- } catch (CamelExecutionException e) {
+ } catch (FailedToCreateRouteException e) {
// expected
- assertIsInstanceOf(FileNotFoundException.class, e.getCause());
+ assertIsInstanceOf(ResolveEndpointFailedException.class,
e.getCause());
+ assertIsInstanceOf(FileNotFoundException.class,
e.getCause().getCause());
}
}
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
public void configure() throws Exception {
-
from("direct:a").to("xslt:org/apache/camel/component/xslt/notfound.xsl");
+
from("seda:a").to("xslt:org/apache/camel/component/xslt/notfound.xsl");
}
};
}
Modified:
camel/trunk/components/camel-saxon/src/test/java/org/apache/camel/component/xslt/SaxonInvalidXsltFileTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-saxon/src/test/java/org/apache/camel/component/xslt/SaxonInvalidXsltFileTest.java?rev=1205032&r1=1205031&r2=1205032&view=diff
==============================================================================
---
camel/trunk/components/camel-saxon/src/test/java/org/apache/camel/component/xslt/SaxonInvalidXsltFileTest.java
(original)
+++
camel/trunk/components/camel-saxon/src/test/java/org/apache/camel/component/xslt/SaxonInvalidXsltFileTest.java
Tue Nov 22 15:09:40 2011
@@ -16,30 +16,31 @@
*/
package org.apache.camel.component.xslt;
-import java.io.FileNotFoundException;
-
-import javax.xml.transform.TransformerConfigurationException;
-
-import org.apache.camel.CamelExecutionException;
+import org.apache.camel.CamelContext;
+import org.apache.camel.FailedToCreateRouteException;
+import org.apache.camel.ResolveEndpointFailedException;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.test.junit4.TestSupport;
import org.junit.Test;
-public class SaxonInvalidXsltFileTest extends CamelTestSupport {
+public class SaxonInvalidXsltFileTest extends TestSupport {
@Test
public void testInvalidStylesheet() throws Exception {
try {
- template.requestBody("seda:a", "foo");
+ RouteBuilder builder = createRouteBuilder();
+ CamelContext context = new DefaultCamelContext();
+ context.addRoutes(builder);
+ context.start();
+
fail("Should have thrown an exception due XSL compilation error");
- } catch (CamelExecutionException e) {
+ } catch (FailedToCreateRouteException e) {
// expected
- Class<?> clazz = e.getCause().getClass();
- assertTrue("Not an expected exception type", clazz ==
TransformerConfigurationException.class || clazz ==
FileNotFoundException.class);
+ assertIsInstanceOf(ResolveEndpointFailedException.class,
e.getCause());
}
}
- @Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
public void configure() throws Exception {
@@ -47,4 +48,5 @@ public class SaxonInvalidXsltFileTest ex
}
};
}
+
}