You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2011/08/22 16:19:26 UTC

svn commit: r1160275 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/util/ components/camel-freemarker/src/test/java/org/apache/camel/component/freemarker/ components/camel-velocity/src/test/java/org/apache/camel/component/velocity/

Author: davsclaus
Date: Mon Aug 22 14:19:26 2011
New Revision: 1160275

URL: http://svn.apache.org/viewvc?rev=1160275&view=rev
Log:
CAMEL-4365: Fixed freemarker loading templates from file system

Added:
    camel/trunk/components/camel-freemarker/src/test/java/org/apache/camel/component/freemarker/FreemarkerFileLetterTest.java
      - copied, changed from r1160262, camel/trunk/components/camel-freemarker/src/test/java/org/apache/camel/component/freemarker/FreemarkerLetterTest.java
    camel/trunk/components/camel-velocity/src/test/java/org/apache/camel/component/velocity/VelocityFileLetterTest.java
      - copied, changed from r1160262, camel/trunk/components/camel-velocity/src/test/java/org/apache/camel/component/velocity/VelocityLetterTest.java
Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/util/ResourceHelper.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/util/ResourceHelper.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/util/ResourceHelper.java?rev=1160275&r1=1160274&r2=1160275&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/util/ResourceHelper.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/util/ResourceHelper.java Mon Aug 22 14:19:26 2011
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.util;
 
+import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
@@ -87,8 +88,14 @@ public final class ResourceHelper {
      * @throws java.io.FileNotFoundException is thrown if the resource file could not be found
      * @throws java.net.MalformedURLException if the uri is malformed
      */
-    public static URL resolveMandatoryResourceAsUrl(ClassResolver classResolver,  String uri) throws FileNotFoundException, MalformedURLException {
+    public static URL resolveMandatoryResourceAsUrl(ClassResolver classResolver, String uri) throws FileNotFoundException, MalformedURLException {
         if (uri.startsWith("file:")) {
+            // check if file exists first
+            String name = ObjectHelper.after(uri, "file:");
+            File file = new File(name);
+            if (!file.exists()) {
+                throw new FileNotFoundException("File " + file + " not found");
+            }
             return new URL(uri);
         } else if (uri.startsWith("http:")) {
             return new URL(uri);

Copied: camel/trunk/components/camel-freemarker/src/test/java/org/apache/camel/component/freemarker/FreemarkerFileLetterTest.java (from r1160262, camel/trunk/components/camel-freemarker/src/test/java/org/apache/camel/component/freemarker/FreemarkerLetterTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-freemarker/src/test/java/org/apache/camel/component/freemarker/FreemarkerFileLetterTest.java?p2=camel/trunk/components/camel-freemarker/src/test/java/org/apache/camel/component/freemarker/FreemarkerFileLetterTest.java&p1=camel/trunk/components/camel-freemarker/src/test/java/org/apache/camel/component/freemarker/FreemarkerLetterTest.java&r1=1160262&r2=1160275&rev=1160275&view=diff
==============================================================================
--- camel/trunk/components/camel-freemarker/src/test/java/org/apache/camel/component/freemarker/FreemarkerLetterTest.java (original)
+++ camel/trunk/components/camel-freemarker/src/test/java/org/apache/camel/component/freemarker/FreemarkerFileLetterTest.java Mon Aug 22 14:19:26 2011
@@ -16,51 +16,17 @@
  */
 package org.apache.camel.component.freemarker;
 
-import org.apache.camel.Exchange;
-import org.apache.camel.Message;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
 
-/**
- * Unit test for wiki documentation
- */
-public class FreemarkerLetterTest extends CamelTestSupport {
-
-    // START SNIPPET: e1
-    private Exchange createLetter() {
-        Exchange exchange = context.getEndpoint("direct:a").createExchange();
-
-        Message msg = exchange.getIn();
-        msg.setHeader("firstName", "Claus");
-        msg.setHeader("lastName", "Ibsen");
-        msg.setHeader("item", "Camel in Action");
-        msg.setBody("PS: Next beer is on me, James");
-
-        return exchange;
-    }
-
-    @Test
-    public void testFreemarkerLetter() throws Exception {
-        MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedMessageCount(1);
-        mock.expectedBodiesReceived("Dear Ibsen, Claus\n\nThanks for the order of Camel in Action."
-                + "\n\nRegards Camel Riders Bookstore\nPS: Next beer is on me, James");
-
-        template.send("direct:a", createLetter());
-
-        mock.assertIsSatisfied();
-    }
+public class FreemarkerFileLetterTest extends FreemarkerLetterTest {
 
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
                 from("direct:a")
-                    .to("freemarker:org/apache/camel/component/freemarker/letter.ftl")
+                    .to("freemarker:file:src/test/resources/org/apache/camel/component/freemarker/letter.ftl")
                     .to("mock:result");
             }
         };
     }
-    // END SNIPPET: e1
 }

Copied: camel/trunk/components/camel-velocity/src/test/java/org/apache/camel/component/velocity/VelocityFileLetterTest.java (from r1160262, camel/trunk/components/camel-velocity/src/test/java/org/apache/camel/component/velocity/VelocityLetterTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-velocity/src/test/java/org/apache/camel/component/velocity/VelocityFileLetterTest.java?p2=camel/trunk/components/camel-velocity/src/test/java/org/apache/camel/component/velocity/VelocityFileLetterTest.java&p1=camel/trunk/components/camel-velocity/src/test/java/org/apache/camel/component/velocity/VelocityLetterTest.java&r1=1160262&r2=1160275&rev=1160275&view=diff
==============================================================================
--- camel/trunk/components/camel-velocity/src/test/java/org/apache/camel/component/velocity/VelocityLetterTest.java (original)
+++ camel/trunk/components/camel-velocity/src/test/java/org/apache/camel/component/velocity/VelocityFileLetterTest.java Mon Aug 22 14:19:26 2011
@@ -16,46 +16,15 @@
  */
 package org.apache.camel.component.velocity;
 
-import org.apache.camel.Exchange;
-import org.apache.camel.Message;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
 
-/**
- * Unit test for wiki documentation
- */
-public class VelocityLetterTest extends CamelTestSupport {
-
-    // START SNIPPET: e1
-    private Exchange createLetter() {
-        Exchange exchange = context.getEndpoint("direct:a").createExchange();
-        Message msg = exchange.getIn();
-        msg.setHeader("firstName", "Claus");
-        msg.setHeader("lastName", "Ibsen");
-        msg.setHeader("item", "Camel in Action");
-        msg.setBody("PS: Next beer is on me, James");
-        return exchange;
-    }
-
-    @Test
-    public void testVelocityLetter() throws Exception {
-        MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedMessageCount(1);
-        mock.expectedBodiesReceived("Dear Ibsen, Claus\n\nThanks for the order of Camel in Action.\n\nRegards Camel Riders Bookstore\nPS: Next beer is on me, James");
-
-        template.send("direct:a", createLetter());
-
-        mock.assertIsSatisfied();
-    }
+public class VelocityFileLetterTest extends VelocityLetterTest {
 
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                from("direct:a").to("velocity:org/apache/camel/component/velocity/letter.vm").to("mock:result");
+                from("direct:a").to("velocity:file:src/test/resources/org/apache/camel/component/velocity/letter.vm").to("mock:result");
             }
         };
     }
-    // END SNIPPET: e1
 }