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
             }
         };
     }
+
 }


Reply via email to