Author: jstrachan
Date: Fri Jun  6 10:21:25 2008
New Revision: 664042

URL: http://svn.apache.org/viewvc?rev=664042&view=rev
Log:
fixed the test cases on OS X using a helper method to extract the generated 
file name

Modified:
    
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
    
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileProducer.java
    
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileProduceGeneratedFileNameTest.java
    
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FilerProducerFileNamesTest.java

Modified: 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java?rev=664042&r1=664041&r2=664042&view=diff
==============================================================================
--- 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
 (original)
+++ 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
 Fri Jun  6 10:21:25 2008
@@ -30,6 +30,7 @@
 import org.apache.camel.impl.ScheduledPollEndpoint;
 import org.apache.camel.util.FactoryFinder;
 import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.util.UuidGenerator;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
@@ -104,6 +105,14 @@
         return new FileExchange(getCamelContext(), pattern, file);
     }
 
+
+    /**
+     * Return the file name that will be auto-generated for the given message 
if none is provided
+     */
+    public String getGeneratedFileName(Message message) {
+        return getFileFriendlyMessageId(message.getMessageId());
+    }
+
     /**
      * Configures the given message with the file which sets the body to the 
file object
      * and sets the [EMAIL PROTECTED] FileComponent#HEADER_FILE_NAME} header.
@@ -330,4 +339,8 @@
     protected String createEndpointUri() {
         return "file://" + getFile().getAbsolutePath();
     }
+    
+    protected  String getFileFriendlyMessageId(String id) {
+        return UuidGenerator.generateSanitizedId(id);
+    }
 }

Modified: 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileProducer.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileProducer.java?rev=664042&r1=664041&r2=664042&view=diff
==============================================================================
--- 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileProducer.java
 (original)
+++ 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileProducer.java
 Fri Jun  6 10:21:25 2008
@@ -115,10 +115,10 @@
             if (name != null) {
                 answer = new File(endpointFile, name);
                 if (answer.isDirectory()) {
-                    answer = new File(answer, 
getFileFriendlyMessageId(message.getMessageId()));
+                    answer = new File(answer, 
endpoint.getGeneratedFileName(message));
                 }
             } else {
-                answer = new File(endpointFile, 
getFileFriendlyMessageId(message.getMessageId()));
+                answer = new File(endpointFile, 
endpoint.getGeneratedFileName(message));
             }
         } else {
             if (name == null) {
@@ -128,6 +128,9 @@
             }
         }
 
+        // TODO lets store the name in the header?
+        //message.setHeader(FileComponent.HEADER_FILE_NAME, answer.toString());
+
         return answer;
     }
 
@@ -141,8 +144,5 @@
         }
     }
 
-    private static String getFileFriendlyMessageId(String id) {
-        return UuidGenerator.generateSanitizedId(id);
-    }
 
 }

Modified: 
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileProduceGeneratedFileNameTest.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileProduceGeneratedFileNameTest.java?rev=664042&r1=664041&r2=664042&view=diff
==============================================================================
--- 
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileProduceGeneratedFileNameTest.java
 (original)
+++ 
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileProduceGeneratedFileNameTest.java
 Fri Jun  6 10:21:25 2008
@@ -30,13 +30,18 @@
 
     public void testGeneratedFileName() throws Exception {
         Endpoint endpoint = context.getEndpoint("direct:a");
+        FileEndpoint fileEndpoint = resolveMandatoryEndpoint("file://target", 
FileEndpoint.class);
+
         Exchange exchange = endpoint.createExchange();
         exchange.getIn().setBody("Hello World");
-        String id = exchange.getIn().getMessageId();
+
+        String id = fileEndpoint.getGeneratedFileName(exchange.getIn());
         template.send(endpoint, exchange);
 
         File file = new File("target/" + id);
-        assertEquals("The generated file should exists", true, file.exists());
+        file = file.getAbsoluteFile();
+        System.out.println("absolute file: " + file);
+        assertEquals("The generated file should exists: " + file, true, 
file.exists());
     }
 
     protected RouteBuilder createRouteBuilder() throws Exception {

Modified: 
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FilerProducerFileNamesTest.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FilerProducerFileNamesTest.java?rev=664042&r1=664041&r2=664042&view=diff
==============================================================================
--- 
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FilerProducerFileNamesTest.java
 (original)
+++ 
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FilerProducerFileNamesTest.java
 Fri Jun  6 10:21:25 2008
@@ -33,7 +33,9 @@
         Endpoint endpoint = context.getEndpoint("direct:report");
         Exchange exchange = endpoint.createExchange();
         exchange.getIn().setBody("This is a good report");
-        String id = exchange.getIn().getMessageId();
+
+        FileEndpoint fileEndpoint = 
resolveMandatoryEndpoint("file:target/reports/report.txt", FileEndpoint.class);
+        String id = fileEndpoint.getGeneratedFileName(exchange.getIn());
 
         template.send("direct:report", exchange);
 


Reply via email to