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 2009/02/06 18:13:29 UTC

svn commit: r741638 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/component/file/ camel-core/src/main/java/org/apache/camel/component/file/strategy/ camel-core/src/main/java/org/apache/camel/component/mock/ camel-core/src/test/java/org/a...

Author: davsclaus
Date: Fri Feb  6 17:13:27 2009
New Revision: 741638

URL: http://svn.apache.org/viewvc?rev=741638&view=rev
Log:
CAMEL-1236: Introduced fileExpression for setting dynamic file name to consume. Renamed existing expression to moveExpression as its what it does. Optimized some unit tests to run faster.

Added:
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileExpressionTest.java   (with props)
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerMoveExpressionTest.java   (contents, props changed)
      - copied, changed from r741549, camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerExpressionTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerMoveExpressionTest.java   (contents, props changed)
      - copied, changed from r741417, camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerExpressionTest.java
Removed:
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerExpressionTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerExpressionTest.java
Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileConsumer.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/NewFileEndpoint.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileProcessStrategyFactory.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/NewFileProcessStrategyFactory.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginAndCommitExpressionRenameStrategyTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginAndCommitRenameStrategyTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileProducerExpressionTest.java
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFileToFtpDefaultRootRenameStrategyTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpDirectoryToBinaryFilesTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFilePostfixTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFilePrefixTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFileTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpPassiveModeTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpPreMoveFileExpressionTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpPreMoveFilePostfixTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpPreMoveFilePrefixTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpSetNamesWithMultiDirectoriesTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToAsciiFileNoBodyConversionTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToAsciiFileTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToBinaryFileTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToBinaryFilesTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToFileNoFileNameHeaderTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpIllegalOptionsTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpLoginTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpProducerExpressionTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpProducerTempPrefixTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpServerTestSupport.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileConsumer.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileConsumer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileConsumer.java Fri Feb  6 17:13:27 2009
@@ -22,9 +22,12 @@
 
 import org.apache.camel.AsyncCallback;
 import org.apache.camel.Processor;
+import org.apache.camel.Exchange;
 import org.apache.camel.impl.ScheduledPollConsumer;
+import org.apache.camel.impl.DefaultExchange;
 import org.apache.camel.processor.DeadLetterChannel;
 import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.util.FileUtil;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
@@ -36,6 +39,7 @@
     protected GenericFileEndpoint<T> endpoint;
     protected GenericFileOperations<T> operations;
     protected boolean loggedIn;
+    protected String fileExpressionResult;
 
     public GenericFileConsumer(GenericFileEndpoint<T> endpoint, Processor processor, GenericFileOperations<T> operations) {
         super(endpoint, processor);
@@ -47,6 +51,8 @@
      * Poll for files
      */
     protected void poll() throws Exception {
+        // must reset for each poll
+        fileExpressionResult = null;
 
         // before we poll is there anything we need to check ? Such as are we
         // connected to the FTP Server Still ?
@@ -346,7 +352,26 @@
             }
         }
 
+        // use file expression for a simple dynamic file filter
+        if (endpoint.getFileExpression() != null) {
+            evaluteFileExpression();
+            if (fileExpressionResult != null) {
+               if (!name.equals(fileExpressionResult)) {
+                   return false;
+                }                                    
+            }
+        }
+
         return true;
     }
 
+    private void evaluteFileExpression() {
+        if (fileExpressionResult == null) {
+            Exchange dummy = new DefaultExchange(endpoint.getCamelContext());
+            fileExpressionResult = (String) endpoint.getFileExpression().evaluate(dummy);
+        }
+    }
+
+
+
 }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java Fri Feb  6 17:13:27 2009
@@ -67,7 +67,8 @@
     protected String includeNamePrefix;
     protected String includeNamePostfix;
     protected String regexPattern;
-    protected Expression expression;
+    protected Expression fileExpression;
+    protected Expression moveExpression;
     protected Expression preMoveExpression;
     protected boolean idempotent;
     protected IdempotentRepository idempotentRepository;
@@ -246,20 +247,20 @@
         this.delete = delete;
     }
 
-    public Expression getExpression() {
-        return expression;
+    public Expression getMoveExpression() {
+        return moveExpression;
     }
 
-    public void setExpression(Expression expression) {
-        this.expression = expression;
+    public void setMoveExpression(Expression moveExpression) {
+        this.moveExpression = moveExpression;
     }
 
     /**
-     * Sets the expression based on
+     * Sets the move expression based on
      * {@link org.apache.camel.language.simple.FileLanguage}
      */
-    public void setExpression(String fileLanguageExpression) {
-        this.expression = FileLanguage.file(fileLanguageExpression);
+    public void setMoveExpression(String fileLanguageExpression) {
+        this.moveExpression = FileLanguage.file(fileLanguageExpression);
     }
 
     public Expression getPreMoveExpression() {
@@ -278,6 +279,22 @@
         this.preMoveExpression = FileLanguage.file(fileLanguageExpression);
     }
 
+    public Expression getFileExpression() {
+        return fileExpression;
+    }
+
+    public void setFileExpression(Expression fileExpression) {
+        this.fileExpression = fileExpression;
+    }
+
+    /**
+     * Sets the file expression based on
+     * {@link org.apache.camel.language.simple.FileLanguage}
+     */
+    public void setFileExpression(String fileLanguageExpression) {
+        this.fileExpression = FileLanguage.file(fileLanguageExpression);
+    }
+
     public boolean isIdempotent() {
         return idempotent;
     }
@@ -423,11 +440,13 @@
 
     /**
      * Should the file be moved after consuming?
+     *
+     * @deprecated not used
      */
     public boolean isMoveFile() {
         return moveNamePostfix != null || moveNamePrefix != null
                 || preMoveNamePostfix != null || preMoveNamePrefix != null
-                || expression != null;
+                || moveExpression != null;
     }
 
     /**
@@ -477,8 +496,8 @@
         if (preMoveNamePostfix != null) {
             params.put("preMoveNamePostfix", preMoveNamePostfix);
         }
-        if (expression != null) {
-            params.put("expression", expression);
+        if (moveExpression != null) {
+            params.put("moveExpression", moveExpression);
         }
         if (preMoveExpression != null) {
             params.put("preMoveExpression", preMoveExpression);

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java Fri Feb  6 17:13:27 2009
@@ -156,7 +156,7 @@
         String name = exchange.getIn().getHeader(NewFileComponent.HEADER_FILE_NAME, String.class);
 
         // expression support
-        Expression expression = endpoint.getExpression();
+        Expression expression = endpoint.getFileExpression();
         if (name != null) {
             // the header name can be an expression too, that should override
             // whatever configured on the endpoint

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/NewFileEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/NewFileEndpoint.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/NewFileEndpoint.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/NewFileEndpoint.java Fri Feb  6 17:13:27 2009
@@ -48,8 +48,8 @@
 
         NewFileConsumer result = new NewFileConsumer(this, processor, operations);
 
-        if (isDelete() && (getMoveNamePrefix() != null || getMoveNamePostfix() != null || getExpression() != null)) {
-            throw new IllegalArgumentException("You cannot set delete=true and a moveNamePrefix, moveNamePostfix or expression option");
+        if (isDelete() && (getMoveNamePrefix() != null || getMoveNamePostfix() != null || getMoveExpression() != null)) {
+            throw new IllegalArgumentException("You cannot set both delete=true and either a (moveNamePrefix, moveNamePostfix or moveExpression) option");
         }
 
         // if noop=true then idempotent should also be configured

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileProcessStrategyFactory.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileProcessStrategyFactory.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileProcessStrategyFactory.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileProcessStrategyFactory.java Fri Feb  6 17:13:27 2009
@@ -37,7 +37,7 @@
         String moveNamePostfix = (String) params.get("moveNamePostfix");
         String preMoveNamePrefix = (String) params.get("preMoveNamePrefix");
         String preMoveNamePostfix = (String) params.get("preMoveNamePostfix");
-        Expression expression = (Expression) params.get("expression");
+        Expression moveExpression = (Expression) params.get("moveExpression");
         Expression preMoveExpression = (Expression) params.get("preMoveExpression");
         boolean move = moveNamePrefix != null || moveNamePostfix != null;
         boolean preMove = preMoveNamePrefix != null || preMoveNamePostfix != null;
@@ -60,12 +60,12 @@
                 strategy.setBeginRenamer(new GenericFileDefaultRenamer(preMoveNamePrefix, preMoveNamePostfix));
             }
             return strategy;
-        } else if (expression != null || preMoveExpression != null) {
+        } else if (moveExpression != null || preMoveExpression != null) {
             GenericFileRenameProcessStrategy strategy = new GenericFileRenameProcessStrategy();
             strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
-            if (expression != null) {
+            if (moveExpression != null) {
                 GenericFileExpressionRenamer renamer = new GenericFileExpressionRenamer();
-                renamer.setExpression(expression);
+                renamer.setExpression(moveExpression);
                 strategy.setCommitRenamer(renamer);
             }
             if (preMoveExpression != null) {

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/NewFileProcessStrategyFactory.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/NewFileProcessStrategyFactory.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/NewFileProcessStrategyFactory.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/NewFileProcessStrategyFactory.java Fri Feb  6 17:13:27 2009
@@ -38,7 +38,7 @@
         String moveNamePostfix = (String) params.get("moveNamePostfix");
         String preMoveNamePrefix = (String) params.get("preMoveNamePrefix");
         String preMoveNamePostfix = (String) params.get("preMoveNamePostfix");
-        Expression expression = (Expression) params.get("expression");
+        Expression moveExpression = (Expression) params.get("moveExpression");
         Expression preMoveExpression = (Expression) params.get("preMoveExpression");
         boolean move = moveNamePrefix != null || moveNamePostfix != null;
         boolean preMove = preMoveNamePrefix != null || preMoveNamePostfix != null;
@@ -61,12 +61,12 @@
                 strategy.setBeginRenamer(new GenericFileDefaultRenamer<File>(preMoveNamePrefix, preMoveNamePostfix));
             }
             return strategy;
-        } else if (expression != null || preMoveExpression != null) {
+        } else if (moveExpression != null || preMoveExpression != null) {
             GenericFileRenameProcessStrategy<File> strategy = new GenericFileRenameProcessStrategy<File>();
             strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
-            if (expression != null) {
+            if (moveExpression != null) {
                 GenericFileExpressionRenamer<File> renamer = new GenericFileExpressionRenamer<File>();
-                renamer.setExpression(expression);
+                renamer.setExpression(moveExpression);
                 strategy.setCommitRenamer(renamer);
             }
             if (preMoveExpression != null) {

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java Fri Feb  6 17:13:27 2009
@@ -406,7 +406,7 @@
 
     /**
      * Adds an expection that a file exists with the given name
-     * <p>
+     * <p/>
      * Will wait at most 5 seconds while checking for the existence of the file.
      *
      * @param name name of file, will cater for / and \ on different OS platforms
@@ -417,7 +417,7 @@
 
         expects(new Runnable() {
             public void run() {
-                // wait at most 2 seconds for the file to exists
+                // wait at most 5 seconds for the file to exists
                 final long timeout = System.currentTimeMillis() + 5000;
 
                 boolean stop = false;

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginAndCommitExpressionRenameStrategyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginAndCommitExpressionRenameStrategyTest.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginAndCommitExpressionRenameStrategyTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginAndCommitExpressionRenameStrategyTest.java Fri Feb  6 17:13:27 2009
@@ -50,7 +50,7 @@
 
     public void testIllegalOptions() throws Exception {
         try {
-            context.getEndpoint("newfile://target?expression=../done/${file:name}&delete=true").createConsumer(new Processor() {
+            context.getEndpoint("newfile://target?moveExpression=../done/${file:name}&delete=true").createConsumer(new Processor() {
                 public void process(Exchange exchange) throws Exception {
                 }
             });
@@ -63,7 +63,7 @@
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                from("newfile://target/reports?preMoveExpression=../inprogress/${file:name.noext}.bak&expression=../done/${file:name}&consumer.delay=5000")
+                from("newfile://target/reports?preMoveExpression=../inprogress/${file:name.noext}.bak&moveExpression=../done/${file:name}&consumer.delay=5000")
                         .process(new Processor() {
                             public void process(Exchange exchange) throws Exception {
                                 GenericFileExchange<File> fe = (GenericFileExchange<File>) exchange;

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginAndCommitRenameStrategyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginAndCommitRenameStrategyTest.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginAndCommitRenameStrategyTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginAndCommitRenameStrategyTest.java Fri Feb  6 17:13:27 2009
@@ -60,7 +60,7 @@
         }
 
         try {
-            context.getEndpoint("newfile://target?expression=${file:name.noext}.bak&delete=true").createConsumer(new Processor() {
+            context.getEndpoint("newfile://target?moveExpression=${file:name.noext}.bak&delete=true").createConsumer(new Processor() {
                 public void process(Exchange exchange) throws Exception {
                 }
             });

Added: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileExpressionTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileExpressionTest.java?rev=741638&view=auto
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileExpressionTest.java (added)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileExpressionTest.java Fri Feb  6 17:13:27 2009
@@ -0,0 +1,99 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.file;
+
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.impl.JndiRegistry;
+
+/**
+ * Unit test for expression option for file consumer.
+ */
+public class FileConsumerFileExpressionTest extends ContextTestSupport {
+
+    @Override
+    protected void setUp() throws Exception {
+        deleteDirectory("target/filelanguage");
+        super.setUp();
+    }
+
+    @Override
+    public boolean isUseRouteBuilder() {
+        return false;
+    }
+
+    @Override
+    protected JndiRegistry createRegistry() throws Exception {
+        JndiRegistry jndi = super.createRegistry();
+        jndi.bind("counter", new MyGuidGenerator());
+        return jndi;
+    }
+
+    public void testConsumeFileBasedOnBeanName() throws Exception {
+        template.sendBodyAndHeader("newfile://target/filelanguage/bean", "Hello World", NewFileComponent.HEADER_FILE_NAME, "122.txt");
+        template.sendBodyAndHeader("newfile://target/filelanguage/bean", "Goodday World", NewFileComponent.HEADER_FILE_NAME, "123.txt");
+        template.sendBodyAndHeader("newfile://target/filelanguage/bean", "Bye World", NewFileComponent.HEADER_FILE_NAME, "124.txt");
+
+        context.addRoutes(new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("newfile://target/filelanguage/bean/"
+                      + "?fileExpression=${bean:counter.next}.txt&delete=true").to("mock:result");
+            }
+        });
+        context.start();
+
+        // we should only get one as we only poll a single file using the file expression
+        MockEndpoint mock = getMockEndpoint("mock:result");
+        mock.expectedBodiesReceived("Goodday World");
+        mock.setResultWaitTime(5000);
+
+        assertMockEndpointsSatisfied();
+    }
+
+    public void testConsumeFileBasedOnDatePattern() throws Exception {
+        template.sendBodyAndHeader("newfile://target/filelanguage/date", "Bye World", NewFileComponent.HEADER_FILE_NAME, "myfile-20081128.txt");
+        template.sendBodyAndHeader("newfile://target/filelanguage/date", "Hello World", NewFileComponent.HEADER_FILE_NAME, "myfile-20081129.txt");
+        template.sendBodyAndHeader("newfile://target/filelanguage/date", "Goodday World", NewFileComponent.HEADER_FILE_NAME, "myfile-${date:now:yyyyMMdd}.txt");
+
+        context.addRoutes(new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                // START SNIPPET: e1
+                from("newfile://target/filelanguage/date/"
+                      + "?fileExpression=myfile-${date:now:yyyyMMdd}.txt").to("mock:result");
+                // END SNIPPET: e1
+            }
+        });
+        context.start();
+
+        // we should only get one as we only poll a single file using the file expression
+        MockEndpoint mock = getMockEndpoint("mock:result");
+        mock.expectedBodiesReceived("Goodday World");
+        mock.setResultWaitTime(5000);
+
+        assertMockEndpointsSatisfied();
+    }
+
+    public class MyGuidGenerator {
+        public String next() {
+            return "123";
+        }
+    }
+
+}
\ No newline at end of file

Propchange: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileExpressionTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileExpressionTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerMoveExpressionTest.java (from r741549, camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerExpressionTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerMoveExpressionTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerMoveExpressionTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerExpressionTest.java&r1=741549&r2=741638&rev=741638&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerExpressionTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerMoveExpressionTest.java Fri Feb  6 17:13:27 2009
@@ -27,7 +27,7 @@
 /**
  * Unit test for expression option for file consumer.
  */
-public class FileConsumerExpressionTest extends ContextTestSupport {
+public class FileConsumerMoveExpressionTest extends ContextTestSupport {
 
     @Override
     protected void setUp() throws Exception {
@@ -52,7 +52,7 @@
             @Override
             public void configure() throws Exception {
                 from("newfile://target/filelanguage/report.txt?directory=false&autoCreate=false"
-                     + "&expression=${id}.bak").to("mock:result");
+                     + "&moveExpression=${id}.bak").to("mock:result");
             }
         });
         context.start();
@@ -77,7 +77,7 @@
             @Override
             public void configure() throws Exception {
                 from("newfile://target/filelanguage/report2.txt?directory=false&autoCreate=false"
-                     + "&expression=backup-${id}-${file:name.noext}.bak").to("mock:result");
+                     + "&moveExpression=backup-${id}-${file:name.noext}.bak").to("mock:result");
             }
         });
         context.start();
@@ -102,7 +102,7 @@
             @Override
             public void configure() throws Exception {
                 from("newfile://target/filelanguage/report3.txt?directory=false&autoCreate=false"
-                      + "&expression=backup/${bean:myguidgenerator.guid}.txt").to("mock:result");
+                      + "&moveExpression=backup/${bean:myguidgenerator.guid}.txt").to("mock:result");
             }
         });
         context.start();
@@ -120,7 +120,7 @@
             @Override
             public void configure() throws Exception {
                 from("newfile://target/filelanguage/report4.txt?directory=false&autoCreate=false"
-                     + "&expression=../backup/${file:name}.bak").to("mock:result");
+                     + "&moveExpression=../backup/${file:name}.bak").to("mock:result");
             }
         });
         context.start();
@@ -144,7 +144,7 @@
                 endpoint.setOperations(new NewFileOperations(endpoint));
                 endpoint.setDirectory(false);
                 endpoint.setAutoCreate(false);
-                endpoint.setExpression(BeanLanguage.bean("myguidgenerator"));
+                endpoint.setMoveExpression(BeanLanguage.bean("myguidgenerator"));
 
                 from(endpoint).to("mock:result");
             }

Propchange: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerMoveExpressionTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerMoveExpressionTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileProducerExpressionTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileProducerExpressionTest.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileProducerExpressionTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileProducerExpressionTest.java Fri Feb  6 17:13:27 2009
@@ -51,7 +51,7 @@
     }
 
     public void testProduceBeanByExpression() throws Exception {
-        template.sendBody("file://target/filelanguage?expression=${bean:myguidgenerator}.bak", "Hello World");
+        template.sendBody("file://target/filelanguage?fileExpression=${bean:myguidgenerator}.bak", "Hello World");
 
         assertFileExists("target/filelanguage/123.bak");
     }
@@ -65,7 +65,7 @@
     }
 
     public void testProducerDateByExpression() throws Exception {
-        template.sendBody("file://target/filelanguage?expression=myfile-${date:now:yyyyMMdd}.txt", "Hello World");
+        template.sendBody("file://target/filelanguage?fileExpression=myfile-${date:now:yyyyMMdd}.txt", "Hello World");
 
         String date = new SimpleDateFormat("yyyyMMdd").format(new Date());
         assertFileExists("target/filelanguage/myfile-" + date + ".txt");
@@ -73,14 +73,14 @@
 
     public void testProducerComplexByExpression() throws Exception {
         String expression = "../filelanguageinbox/myfile-${bean:myguidgenerator.guid}-${date:now:yyyyMMdd}.txt";
-        template.sendBody("file://target/filelanguage?expression=" + expression, "Hello World");
+        template.sendBody("file://target/filelanguage?fileExpression=" + expression, "Hello World");
 
         String date = new SimpleDateFormat("yyyyMMdd").format(new Date());
         assertFileExists("target/filelanguageinbox/myfile-123-" + date + ".txt");
     }
 
     public void testProducerSimpleWithHeaderByExpression() throws Exception {
-        template.sendBodyAndHeader("file://target/filelanguage?expression=myfile-${in.header.foo}.txt",
+        template.sendBodyAndHeader("file://target/filelanguage?fileExpression=myfile-${in.header.foo}.txt",
             "Hello World", "foo", "abc");
 
         assertFileExists("target/filelanguage/myfile-abc.txt");
@@ -91,7 +91,7 @@
         cal.set(1974, Calendar.APRIL, 20);
         Date date = cal.getTime();
 
-        template.sendBodyAndHeader("file://target/filelanguage?expression=mybirthday-${date:in.header.birthday:yyyyMMdd}.txt",
+        template.sendBodyAndHeader("file://target/filelanguage?fileExpression=mybirthday-${date:in.header.birthday:yyyyMMdd}.txt",
             "Hello World", "birthday", date);
 
         assertFileExists("target/filelanguage/mybirthday-19740420.txt");

Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java Fri Feb  6 17:13:27 2009
@@ -61,8 +61,8 @@
         afterPropertiesSet();
         RemoteFileConsumer<T> consumer = buildConsumer(processor, (RemoteFileOperations<T>) operations);
 
-        if (isDelete() && (getMoveNamePrefix() != null || getMoveNamePostfix() != null || getExpression() != null)) {
-            throw new IllegalArgumentException("You cannot set delete=true and a moveNamePrefix, moveNamePostfix or expression option");
+        if (isDelete() && (getMoveNamePrefix() != null || getMoveNamePostfix() != null || getMoveExpression() != null)) {
+            throw new IllegalArgumentException("You cannot both set delete=true and either a (moveNamePrefix, moveNamePostfix or moveExpression) option");
         }
         // if noop=true then idempotent should also be configured
         if (isNoop() && !isIdempotent()) {

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFileToFtpDefaultRootRenameStrategyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFileToFtpDefaultRootRenameStrategyTest.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFileToFtpDefaultRootRenameStrategyTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFileToFtpDefaultRootRenameStrategyTest.java Fri Feb  6 17:13:27 2009
@@ -59,13 +59,10 @@
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
 
-        // give our poller chance to collect the file
-        Thread.sleep(500);
-
         assertMockEndpointsSatisfied();
 
-        // give our mock a chance to delete chance to del the file
-        Thread.sleep(500);
+        // give our mock a chance to delete the file
+        Thread.sleep(250);
 
         // assert the file is NOT there now
         assertTrue(!expectedOnFtpServer.exists());

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpDirectoryToBinaryFilesTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpDirectoryToBinaryFilesTest.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpDirectoryToBinaryFilesTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpDirectoryToBinaryFilesTest.java Fri Feb  6 17:13:27 2009
@@ -51,9 +51,6 @@
         byte[] bytes = ex.getIn().getBody(byte[].class);
         assertTrue("Logo size wrong", bytes.length > 10000);
 
-        // wait until the file producer has written the file
-        Thread.sleep(2000);
-
         // assert the file
         File file = new File("target/ftptest/logo1.jpeg");
         assertTrue("The binary file should exists", file.exists());

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFilePostfixTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFilePostfixTest.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFilePostfixTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFilePostfixTest.java Fri Feb  6 17:13:27 2009
@@ -64,16 +64,9 @@
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
         mock.expectedBodiesReceived("Hello World this file will be moved");
+        mock.expectedFileExists(FTP_ROOT_DIR + "movefile/hello.txt.old");
 
         mock.assertIsSatisfied();
-
-        // give some time to move the file after we recieved it on mock
-        Thread.sleep(1000);
-
-        // assert the file is moved
-        File file = new File(FTP_ROOT_DIR + "movefile/hello.txt.old");
-        file = file.getAbsoluteFile();
-        assertTrue("The file should have been moved", file.exists());
     }
 
     protected RouteBuilder createRouteBuilder() throws Exception {

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFilePrefixTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFilePrefixTest.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFilePrefixTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFilePrefixTest.java Fri Feb  6 17:13:27 2009
@@ -64,16 +64,9 @@
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
         mock.expectedBodiesReceived("Hello World this file will be moved");
+        mock.expectedFileExists(FTP_ROOT_DIR + "movefile/done/hello.txt");
 
         mock.assertIsSatisfied();
-
-        // give ftp time to move the file
-        Thread.sleep(1000);
-
-        // assert the file is deleted
-        File file = new File(FTP_ROOT_DIR + "movefile/done/hello.txt");
-        file = file.getAbsoluteFile();
-        assertTrue("The file should have been moved", file.exists());
     }
 
     protected RouteBuilder createRouteBuilder() throws Exception {

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFileTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFileTest.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFileTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFileTest.java Fri Feb  6 17:13:27 2009
@@ -37,8 +37,8 @@
 
     @Override
     protected void setUp() throws Exception {
-        super.setUp();
         deleteDirectory(FTP_ROOT_DIR + "movefile");
+        super.setUp();
         prepareFtpServer();
     }
 
@@ -64,16 +64,9 @@
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
         mock.expectedBodiesReceived("Hello World this file will be moved");
+        mock.expectedFileExists(FTP_ROOT_DIR + "movefile/done/sub2/hello.txt.old");
 
         mock.assertIsSatisfied();
-
-        // give time to allow ftp consumer to move file after its processed
-        Thread.sleep(1000);
-
-        // assert the file is deleted
-        File file = new File(FTP_ROOT_DIR + "movefile/done/sub2/hello.txt.old");
-        file = file.getAbsoluteFile();
-        assertTrue("The file should have been moved", file.exists());
     }
 
     protected RouteBuilder createRouteBuilder() throws Exception {

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpPassiveModeTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpPassiveModeTest.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpPassiveModeTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpPassiveModeTest.java Fri Feb  6 17:13:27 2009
@@ -34,8 +34,8 @@
 
     @Override
     protected void setUp() throws Exception {
-        super.setUp();
         deleteDirectory(FTP_ROOT_DIR + "passive");
+        super.setUp();
         prepareFtpServer();
     }
 

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpPreMoveFileExpressionTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpPreMoveFileExpressionTest.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpPreMoveFileExpressionTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpPreMoveFileExpressionTest.java Fri Feb  6 17:13:27 2009
@@ -38,8 +38,8 @@
 
     @Override
     protected void setUp() throws Exception {
-        super.setUp();
         deleteDirectory(FTP_ROOT_DIR + "movefile");
+        super.setUp();
         prepareFtpServer();
     }
 

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpPreMoveFilePostfixTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpPreMoveFilePostfixTest.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpPreMoveFilePostfixTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpPreMoveFilePostfixTest.java Fri Feb  6 17:13:27 2009
@@ -37,8 +37,8 @@
 
     @Override
     protected void setUp() throws Exception {
-        super.setUp();
         deleteDirectory(FTP_ROOT_DIR + "movefile");
+        super.setUp();
         prepareFtpServer();
     }
 

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpPreMoveFilePrefixTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpPreMoveFilePrefixTest.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpPreMoveFilePrefixTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpPreMoveFilePrefixTest.java Fri Feb  6 17:13:27 2009
@@ -37,8 +37,8 @@
 
     @Override
     protected void setUp() throws Exception {
-        super.setUp();
         deleteDirectory(FTP_ROOT_DIR + "movefile");
+        super.setUp();
         prepareFtpServer();
     }
 

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpSetNamesWithMultiDirectoriesTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpSetNamesWithMultiDirectoriesTest.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpSetNamesWithMultiDirectoriesTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpSetNamesWithMultiDirectoriesTest.java Fri Feb  6 17:13:27 2009
@@ -52,9 +52,6 @@
         byte[] bytes = ex.getIn().getBody(byte[].class);
         assertTrue("Logo size wrong", bytes.length > 10000);
 
-        // wait until the file producer has written the file
-        Thread.sleep(1000);
-
         // assert the file
         File file = new File("target/ftpsetnamestest/data1/logo1.jpeg");
         assertTrue("The binary file should exists", file.exists());
@@ -64,9 +61,6 @@
         file = new File("target/ftpsetnamestest/data2/logo2.png");
         assertTrue(" The binary file should exists", file.exists());
         assertTrue("Logo size wrong", file.length() > 50000);
-
-        // let some time pass to let the consumer etc. properly do its business before closing
-        Thread.sleep(1000);
     }
 
     private void prepareFtpServer() throws Exception {

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToAsciiFileNoBodyConversionTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToAsciiFileNoBodyConversionTest.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToAsciiFileNoBodyConversionTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToAsciiFileNoBodyConversionTest.java Fri Feb  6 17:13:27 2009
@@ -37,9 +37,6 @@
         MockEndpoint resultEndpoint = getMockEndpoint("mock:result");
         resultEndpoint.expectedMinimumMessageCount(1);
         resultEndpoint.expectedBodiesReceived("Hello ASCII from FTPServer");
-
-        // let some time pass to let the consumer etc. properly do its business before closing
-        Thread.sleep(1000);
     }
 
     @Override

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToAsciiFileTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToAsciiFileTest.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToAsciiFileTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToAsciiFileTest.java Fri Feb  6 17:13:27 2009
@@ -40,16 +40,10 @@
         resultEndpoint.expectedBodiesReceived("Hello World from FTPServer");
         resultEndpoint.assertIsSatisfied();
 
-        // wait until the file producer has written the file
-        Thread.sleep(1000);
-
         // assert the file
         File file = new File("target/ftptest/deleteme.txt");
         assertTrue("The ASCII file should exists", file.exists());
         assertTrue("File size wrong", file.length() > 10);
-
-        // let some time pass to let the consumer etc. properly do its business before closing
-        Thread.sleep(1000);
     }
 
     @Override

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToBinaryFileTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToBinaryFileTest.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToBinaryFileTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToBinaryFileTest.java Fri Feb  6 17:13:27 2009
@@ -52,16 +52,10 @@
         byte[] bytes = ex.getIn().getBody(byte[].class);
         assertTrue("Logo size wrong", bytes.length > 10000);
 
-        // wait until the file producer has written the file
-        Thread.sleep(2 * 1000);
-
         // assert the file
         File file = new File("target/ftptest/deleteme.jpg");
         assertTrue("The binary file should exists", file.exists());
         assertTrue("Logo size wrong", file.length() > 10000);
-
-        // let some time pass to let the consumer etc. properly do its business before closing
-        Thread.sleep(1000);
     }
 
     private void prepareFtpServer() throws Exception {

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToBinaryFilesTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToBinaryFilesTest.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToBinaryFilesTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToBinaryFilesTest.java Fri Feb  6 17:13:27 2009
@@ -51,9 +51,6 @@
         byte[] bytes = ex.getIn().getBody(byte[].class);
         assertTrue("Logo size wrong", bytes.length > 10000);
 
-        // wait until the file producer has written the file
-        Thread.sleep(2000);
-
         // assert the file
         File file = new File("target/ftptest/logo.jpeg");
         assertTrue(" The binary file should exists", file.exists());

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToFileNoFileNameHeaderTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToFileNoFileNameHeaderTest.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToFileNoFileNameHeaderTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpToFileNoFileNameHeaderTest.java Fri Feb  6 17:13:27 2009
@@ -47,16 +47,10 @@
         resultEndpoint.expectedBodiesReceived("Hello World from FTPServer");
         resultEndpoint.assertIsSatisfied();
 
-        // wait until the file producer has written the file
-        Thread.sleep(1000);
-
         // assert the file
         File file = new File("target/ftptest/hello.txt");
         assertTrue("The file should exists", file.exists());
         assertTrue("File size wrong", file.length() > 10);
-
-        // let some time pass to let the consumer etc. properly do its business before closing
-        Thread.sleep(1000);
     }
 
     private void prepareFtpServer() throws Exception {

Copied: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerMoveExpressionTest.java (from r741417, camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerExpressionTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerMoveExpressionTest.java?p2=camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerMoveExpressionTest.java&p1=camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerExpressionTest.java&r1=741417&r2=741638&rev=741638&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerExpressionTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerMoveExpressionTest.java Fri Feb  6 17:13:27 2009
@@ -27,7 +27,7 @@
 /**
  * Unit test for FTP using expression (file language)
  */
-public class FtpConsumerExpressionTest extends FtpServerTestSupport {
+public class FtpConsumerMoveExpressionTest extends FtpServerTestSupport {
 
     private String getFtpUrl() {
         return "ftp://admin@localhost:" + getPort() + "/filelanguage?password=admin&consumer.delay=5000";
@@ -69,7 +69,7 @@
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                from(getFtpUrl() + "&expression=backup/${date:now:yyyyMMdd}/${bean:myguidgenerator}"
+                from(getFtpUrl() + "&moveExpression=backup/${date:now:yyyyMMdd}/${bean:myguidgenerator}"
                         + "-${file:name.noext}.bak").to("mock:result");
             }
         };

Propchange: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerMoveExpressionTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerMoveExpressionTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpIllegalOptionsTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpIllegalOptionsTest.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpIllegalOptionsTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpIllegalOptionsTest.java Fri Feb  6 17:13:27 2009
@@ -24,7 +24,7 @@
 
     public void testIllegalOptions() throws Exception {
         try {
-            context.getEndpoint("ftp://target?expression=../done/${file:name}&delete=true").createConsumer(new Processor() {
+            context.getEndpoint("ftp://target?moveExpression=../done/${file:name}&delete=true").createConsumer(new Processor() {
                 public void process(Exchange exchange) throws Exception {
                 }
             });

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpLoginTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpLoginTest.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpLoginTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpLoginTest.java Fri Feb  6 17:13:27 2009
@@ -52,9 +52,6 @@
     public void testGoodLogin() throws Exception {
         uploadFile("scott", "tiger");
 
-        // give time for producer
-        Thread.sleep(2000);
-
         // assert file created
         File file = new File(FTP_ROOT_DIR + "login/report.txt");
         file = file.getAbsoluteFile();

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpProducerExpressionTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpProducerExpressionTest.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpProducerExpressionTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpProducerExpressionTest.java Fri Feb  6 17:13:27 2009
@@ -34,6 +34,11 @@
     }
 
     @Override
+    public boolean isUseRouteBuilder() {
+        return false;
+    }
+
+    @Override
     protected void setUp() throws Exception {
         super.setUp();
         deleteDirectory(FTP_ROOT_DIR + "filelanguage");
@@ -48,49 +53,43 @@
     }
 
     public void testProduceBeanByExpression() throws Exception {
-        template.sendBody(getFtpUrl() + "&expression=${bean:myguidgenerator}.bak", "Hello World");
+        template.sendBody(getFtpUrl() + "&fileExpression=${bean:myguidgenerator}.bak", "Hello World");
 
-        Thread.sleep(500);
         assertFileExists(FTP_ROOT_DIR + "filelanguage/123.bak");
     }
 
     public void testProduceBeanByHeader() throws Exception {
         sendFile(getFtpUrl(), "Hello World", "${bean:myguidgenerator}.bak");
 
-        Thread.sleep(500);
         assertFileExists(FTP_ROOT_DIR + "filelanguage/123.bak");
     }
 
     public void testProducerDateByHeader() throws Exception {
         sendFile(getFtpUrl(), "Hello World", "myfile-${date:now:yyyyMMdd}.txt");
 
-        Thread.sleep(500);
         String date = new SimpleDateFormat("yyyyMMdd").format(new Date());
         assertFileExists(FTP_ROOT_DIR + "filelanguage/myfile-" + date + ".txt");
     }
 
     public void testProducerDateByExpression() throws Exception {
-        template.sendBody(getFtpUrl() + "&expression=myfile-${date:now:yyyyMMdd}.txt", "Hello World");
+        template.sendBody(getFtpUrl() + "&fileExpression=myfile-${date:now:yyyyMMdd}.txt", "Hello World");
 
-        Thread.sleep(500);
         String date = new SimpleDateFormat("yyyyMMdd").format(new Date());
         assertFileExists(FTP_ROOT_DIR + "filelanguage/myfile-" + date + ".txt");
     }
 
     public void testProducerComplexByExpression() throws Exception {
         String expression = "../filelanguageinbox/myfile-${bean:myguidgenerator.guid}-${date:now:yyyyMMdd}.txt";
-        template.sendBody(getFtpUrl() + "&expression=" + expression, "Hello World");
+        template.sendBody(getFtpUrl() + "&fileExpression=" + expression, "Hello World");
 
-        Thread.sleep(500);
         String date = new SimpleDateFormat("yyyyMMdd").format(new Date());
         assertFileExists(FTP_ROOT_DIR + "filelanguageinbox/myfile-123-" + date + ".txt");
     }
 
     public void testProducerSimpleWithHeaderByExpression() throws Exception {
-        template.sendBodyAndHeader(getFtpUrl() + "&expression=myfile-${in.header.foo}.txt",
+        template.sendBodyAndHeader(getFtpUrl() + "&fileExpression=myfile-${in.header.foo}.txt",
                 "Hello World", "foo", "abc");
 
-        Thread.sleep(500);
         assertFileExists(FTP_ROOT_DIR + "filelanguage/myfile-abc.txt");
     }
 
@@ -99,10 +98,9 @@
         cal.set(1974, Calendar.APRIL, 20);
         Date date = cal.getTime();
 
-        template.sendBodyAndHeader(getFtpUrl() + "&expression=mybirthday-${date:in.header.birthday:yyyyMMdd}.txt",
+        template.sendBodyAndHeader(getFtpUrl() + "&fileExpression=mybirthday-${date:in.header.birthday:yyyyMMdd}.txt",
                 "Hello World", "birthday", date);
 
-        Thread.sleep(500);
         assertFileExists(FTP_ROOT_DIR + "filelanguage/mybirthday-19740420.txt");
     }
 

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpProducerTempPrefixTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpProducerTempPrefixTest.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpProducerTempPrefixTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpProducerTempPrefixTest.java Fri Feb  6 17:13:27 2009
@@ -26,6 +26,11 @@
  */
 public class FtpProducerTempPrefixTest extends FtpServerTestSupport {
 
+    @Override
+    public boolean isUseRouteBuilder() {
+        return false;
+    }
+
     private String getFtpUrl() {
         return "ftp://admin@localhost:" + getPort() + "/upload/user/claus?binary=false&password=admin&tempPrefix=.uploading";
     }

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpServerTestSupport.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpServerTestSupport.java?rev=741638&r1=741637&r2=741638&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpServerTestSupport.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpServerTestSupport.java Fri Feb  6 17:13:27 2009
@@ -108,7 +108,6 @@
     }
     
     public void sendFile(String url, Object body, String fileName) {
-        template.sendBodyAndHeader(url, body,
-                                   NewFileComponent.HEADER_FILE_NAME, fileName);
+        template.sendBodyAndHeader(url, body, NewFileComponent.HEADER_FILE_NAME, fileName);
     }
 }