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/03 14:19:45 UTC

svn commit: r740298 [1/2] - in /camel/trunk/camel-core/src: main/java/org/apache/camel/component/file/ main/java/org/apache/camel/component/file/strategy/ main/java/org/apache/camel/converter/jaxp/ main/java/org/apache/camel/language/simple/ test/java/...

Author: davsclaus
Date: Tue Feb  3 13:19:43 2009
New Revision: 740298

URL: http://svn.apache.org/viewvc?rev=740298&view=rev
Log:
CAMEL-1241: Various improvements in the file component. Marked old file component as @deprecated

Added:
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeFileOnlyNoDirectoryOptionTest.java   (contents, props changed)
      - copied, changed from r740222, camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeFileOnlyTest.java
Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/DefaultFileSorter.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/ExclusiveReadLockStrategy.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileComponent.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileConsumer.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileExchange.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileMessage.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileProcessStrategy.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileProducer.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileComponent.java
    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/GenericFileDefaultBinding.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/NewFileBinding.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/NewFileComponent.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/NewFileConsumer.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/DefaultFileRenamer.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/DeleteFileProcessStrategy.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileExpressionRenamer.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategySupport.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileRenameExclusiveReadLockStrategy.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileRenamer.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileDefaultRenamer.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileExpressionRenamer.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileProcessStrategySupport.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameExclusiveReadLockStrategy.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameProcessStrategy.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/file/strategy/NewMarkerFileExclusiveReadLockStrategy.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/NoOpFileProcessStrategy.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/RenameFileProcessStrategy.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/StringSource.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileExpressionBuilder.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/DirectoryCreateIssueTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeFileOnlyTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMultipleDirectoriesTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSingleDirectoryOnlyTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBatchTest.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/FileConsumerBeginExpressionRenameStrategyTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginRenameStrategyTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerCommitRenameStrategyTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryNotMatchedTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerExpressionTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFailureHandledTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileFilterTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerIdempotentRefTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerIdempotentTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSkipDotFilesTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileNoOpLockFileTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileProduceAppendTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileProducerExpressionTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileSortByExpressionTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileSortByIgnoreCaseExpressionTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileSortByNestedExpressionTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileSorterRefTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FilerProducerFileNamesTest.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/DefaultFileSorter.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/DefaultFileSorter.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/DefaultFileSorter.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/DefaultFileSorter.java Tue Feb  3 13:19:43 2009
@@ -27,6 +27,7 @@
  * Default file sorter.
  *
  * @version $Revision$
+ * @deprecated will be replaced with NewFile in Camel 2.0
  */
 public final class DefaultFileSorter {
 

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/ExclusiveReadLockStrategy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/ExclusiveReadLockStrategy.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/ExclusiveReadLockStrategy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/ExclusiveReadLockStrategy.java Tue Feb  3 13:19:43 2009
@@ -29,6 +29,7 @@
  *   <li>FileRenameExclusiveReadLockStrategy waiting until its possible to rename the file. Can be used on file
  *   systems where the FileLock isn't supported.</li>
  * </ul>
+ * @deprecated will be replaced with NewFile in Camel 2.0
  */
 public interface ExclusiveReadLockStrategy {
 

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileComponent.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileComponent.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileComponent.java Tue Feb  3 13:19:43 2009
@@ -32,29 +32,30 @@
  * for working with file systems
  *
  * @version $Revision$
+ * @deprecated will be replaced with NewFile in Camel 2.0
  */
 public class FileComponent extends DefaultComponent {
 
     /**
      * Header key holding the value: the fixed filename to use for producing files.
      */
-    public static final String HEADER_FILE_NAME = "org.apache.camel.file.name";
+    public static final String HEADER_FILE_NAME = NewFileComponent.HEADER_FILE_NAME;
 
     /**
      * Header key holding the value: absolute filepath for the actual file produced (by file producer).
      * Value is set automatically by Camel
      */
-    public static final String HEADER_FILE_NAME_PRODUCED = "org.apache.camel.file.name.produced";
+    public static final String HEADER_FILE_NAME_PRODUCED = NewFileComponent.HEADER_FILE_NAME_PRODUCED;
 
     /**
      * Header key holding the value: current index of total in the batch being consumed
      */
-    public static final String HEADER_FILE_BATCH_INDEX = "org.apache.camel.file.index";
+    public static final String HEADER_FILE_BATCH_INDEX = NewFileComponent.HEADER_FILE_BATCH_INDEX;
 
     /**
      * Header key holding the value: total in the batch being consumed
      */
-    public static final String HEADER_FILE_BATCH_TOTAL = "org.apache.camel.file.total";
+    public static final String HEADER_FILE_BATCH_TOTAL = NewFileComponent.HEADER_FILE_BATCH_TOTAL;
 
     public FileComponent() {
     }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileConsumer.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileConsumer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileConsumer.java Tue Feb  3 13:19:43 2009
@@ -33,6 +33,7 @@
  * For consuming files.
  *
  * @version $Revision$
+ * @deprecated will be replaced with NewFile in Camel 2.0
  */
 public class FileConsumer extends ScheduledPollConsumer {
     private static final transient Log LOG = LogFactory.getLog(FileConsumer.class);

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java Tue Feb  3 13:19:43 2009
@@ -46,6 +46,7 @@
  * working with file systems
  *
  * @version $Revision$
+ * @deprecated will be replaced with NewFile in Camel 2.0
  */
 public class FileEndpoint extends ScheduledPollEndpoint {
     public static final transient String DEFAULT_LOCK_FILE_POSTFIX = ".camelLock";

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileExchange.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileExchange.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileExchange.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileExchange.java Tue Feb  3 13:19:43 2009
@@ -29,6 +29,7 @@
  * A {@link Exchange} for File
  *
  * @version $Revision$
+ * @deprecated will be replaced with NewFile in Camel 2.0
  */
 public class FileExchange extends DefaultExchange {
     private File file;

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileMessage.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileMessage.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileMessage.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileMessage.java Tue Feb  3 13:19:43 2009
@@ -24,6 +24,7 @@
  * A {@link org.apache.camel.Message Message} for File
  *
  * @version $Revision$
+ * @deprecated will be replaced with NewFile in Camel 2.0
  */
 public class FileMessage extends DefaultMessage {
     private File file;

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileProcessStrategy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileProcessStrategy.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileProcessStrategy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileProcessStrategy.java Tue Feb  3 13:19:43 2009
@@ -22,6 +22,7 @@
  * Represents a strategy for marking that a file is processed.
  *
  * @version $Revision$
+ * @deprecated will be replaced with NewFile in Camel 2.0
  */
 public interface FileProcessStrategy {
 

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileProducer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileProducer.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileProducer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileProducer.java Tue Feb  3 13:19:43 2009
@@ -38,6 +38,7 @@
  * For producing files.
  *
  * @version $Revision$
+ * @deprecated will be replaced with NewFile in Camel 2.0
  */
 public class FileProducer extends DefaultProducer {
     private static final transient Log LOG = LogFactory.getLog(FileProducer.class);

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java Tue Feb  3 13:19:43 2009
@@ -17,6 +17,7 @@
 package org.apache.camel.component.file;
 
 import java.io.File;
+import java.io.Serializable;
 
 import org.apache.camel.util.FileUtil;
 import org.apache.camel.util.ObjectHelper;
@@ -25,7 +26,7 @@
  * Generic File. Specific implementations of a file based endpoint need to
  * provide a File for transfer.
  */
-public class GenericFile<T> {
+public class GenericFile<T> implements Serializable {
 
     private String absoluteFileName;
     private String canonicalFileName;
@@ -162,7 +163,7 @@
 
     public GenericFileBinding<T> getBinding() {
         if (binding == null) {
-            binding = new GenericFileDefaultBinding();
+            binding = new GenericFileDefaultBinding<T>();
         }
         return binding;
     }
@@ -171,17 +172,11 @@
         this.binding = binding;
     }
 
-    /**
-     * @param absoluteFileName the absoluteFileName to set
-     */
     public void setAbsoluteFileName(String absoluteFileName) {
         // must normalize path to cater for Windows and other OS
         this.absoluteFileName = FileUtil.normalizePath(absoluteFileName);
     }
 
-    /**
-     * @return the absoluteFileName
-     */
     public String getAbsoluteFileName() {
         return absoluteFileName;
     }
@@ -196,6 +191,6 @@
 
     @Override
     public String toString() {
-        return "GenericFile[" + fileName + "]";
+        return "GenericFile[" + relativeFileName + "]";
     }
 }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileComponent.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileComponent.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileComponent.java Tue Feb  3 13:19:43 2009
@@ -23,6 +23,8 @@
 import org.apache.camel.CamelContext;
 import org.apache.camel.impl.DefaultComponent;
 import org.apache.camel.util.ObjectHelper;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import static org.apache.camel.util.ObjectHelper.isNotEmpty;
 
 /**
@@ -30,6 +32,8 @@
  */
 public abstract class GenericFileComponent<T> extends DefaultComponent {
 
+    protected Log log = LogFactory.getLog(getClass());
+
     public GenericFileComponent() {
     }
 
@@ -37,6 +41,7 @@
         super(context);
     }
 
+    @SuppressWarnings("unchecked")
     protected GenericFileEndpoint<T> createEndpoint(String uri, String remaining, Map parameters) throws Exception {
 
         // create the correct endpoint based on the protocol

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=740298&r1=740297&r2=740298&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 Tue Feb  3 13:19:43 2009
@@ -94,6 +94,8 @@
             // add current index and total as headers
             exchange.getIn().setHeader(FileComponent.HEADER_FILE_BATCH_INDEX, index);
             exchange.getIn().setHeader(FileComponent.HEADER_FILE_BATCH_TOTAL, total);
+            exchange.getIn().setHeader(NewFileComponent.HEADER_FILE_BATCH_INDEX, index);
+            exchange.getIn().setHeader(NewFileComponent.HEADER_FILE_BATCH_TOTAL, total);
             processExchange(exchange);
         }
     }
@@ -168,7 +170,7 @@
                         boolean handled = DeadLetterChannel.isFailureHandled(exchange);
 
                         if (log.isDebugEnabled()) {
-                            log.debug("Done processing file: " + file.getAbsoluteFileName() + ". Status is: "
+                            log.debug("Done processing file: " + file + ". Status is: "
                                     + (failed ? "failed: " + failed + ", handled by failure processor: " + handled : "processed OK"));
                         }
 
@@ -208,6 +210,7 @@
      *                        <tt>true</tt> if an exception occured during processing but it
      *                        was handled by the failure processor (usually the DeadLetterChannel).
      */
+    @SuppressWarnings("unchecked")
     protected void processStrategyCommit(GenericFileProcessStrategy<T> processStrategy,
                                          GenericFileExchange<T> exchange, GenericFile<T> file, boolean failureHandled) {
         if (endpoint.isIdempotent()) {
@@ -257,6 +260,7 @@
      * @param isDirectory wether the file is a directory or a file
      * @return <tt>true</tt> to include the file, <tt>false</tt> to skip it
      */
+    @SuppressWarnings("unchecked")
     protected boolean isValidFile(GenericFile<T> file, boolean isDirectory) {
         if (!isMatched(file, isDirectory)) {
             if (log.isTraceEnabled()) {
@@ -299,7 +303,7 @@
         }
 
         // lock files should be skipped
-        if (name.endsWith(FileEndpoint.DEFAULT_LOCK_FILE_POSTFIX)) {
+        if (name.endsWith(NewFileComponent.DEFAULT_LOCK_FILE_POSTFIX)) {
             return false;
         }
 

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileDefaultBinding.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileDefaultBinding.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileDefaultBinding.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileDefaultBinding.java Tue Feb  3 13:19:43 2009
@@ -17,17 +17,17 @@
 package org.apache.camel.component.file;
 
 /**
- *
+ * Default binding for generic file.
  */
-public class GenericFileDefaultBinding implements GenericFileBinding {
+public class GenericFileDefaultBinding<T> implements GenericFileBinding<T> {
 
     private Object body;
 
-    public Object getBody(GenericFile file) {
+    public Object getBody(GenericFile<T> file) {
         return body;
     }
 
-    public void setBody(GenericFile file, Object body) {
+    public void setBody(GenericFile<T> file, Object body) {
         this.body = body;
     }
 }

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=740298&r1=740297&r2=740298&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 Tue Feb  3 13:19:43 2009
@@ -421,15 +421,21 @@
 
         // compute the name that was written, it should be relative to the endpoint configuraion
         String name = file.getRelativeFileName();
-        if (name.startsWith(getConfiguration().getFile())) {
+
+        if (isDirectory() && name.startsWith(getConfiguration().getFile())) {
+            // remove the file path configured on the endpoint for directory=true
             name = name.substring(getConfiguration().getFile().length());
+        } else if (!isDirectory()) {
+            // use the filename for directory=false
+            name = file.getFileName();
         }
+
         if (name.startsWith(File.separator) || name.startsWith("/")) {
             // skip trailing /
             name = name.substring(1);
         }
 
-        message.setHeader(FileComponent.HEADER_FILE_NAME, name);
+        message.setHeader(NewFileComponent.HEADER_FILE_NAME, name);
     }
 
     protected Map<String, Object> getParamsAsMap() {

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=740298&r1=740297&r2=740298&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 Tue Feb  3 13:19:43 2009
@@ -91,6 +91,8 @@
 
             // lets store the name we really used in the header, so end-users
             // can retrieve it
+            exchange.getIn().setHeader(NewFileComponent.HEADER_FILE_NAME_PRODUCED, target);
+            // @deprecated will be removed later
             exchange.getIn().setHeader(FileComponent.HEADER_FILE_NAME_PRODUCED, target);
         } catch (Exception e) {
             handleFailedWrite(exchange, e);
@@ -114,14 +116,21 @@
     protected void writeFile(GenericFileExchange<T> exchange, String fileName) throws GenericFileOperationFailedException {
         InputStream payload = exchange.getIn().getBody(InputStream.class);
         try {
-            // build directory
-            int lastPathIndex = fileName.lastIndexOf(File.separator);
-            if (lastPathIndex != -1) {
-                String directory = fileName.substring(0, lastPathIndex);
-                if (!operations.buildDirectory(directory, false)) {
-                    log.debug("Can not build directory [" + directory + "] (could be because of denied permissions)");
+            // build directory if auto create is enabled
+            if (endpoint.isAutoCreate()) {
+                int lastPathIndex = fileName.lastIndexOf(File.separator);
+                if (lastPathIndex != -1) {
+                    String directory = fileName.substring(0, lastPathIndex);
+                    if (directory.startsWith(File.separator)) {
+                        // skip trailing /
+                        directory = directory.substring(1);
+                    }
+                    if (!operations.buildDirectory(directory, false)) {
+                        log.debug("Can not build directory [" + directory + "] (could be because of denied permissions)");
+                    }
                 }
             }
+
             // upload
             if (log.isTraceEnabled()) {
                 log.trace("About to write [" + fileName + "] to [" + getEndpoint() + "] from exchange [" + exchange + "]");
@@ -144,8 +153,8 @@
     protected String createFileName(Exchange exchange) {
         String answer;
 
-        String name = exchange.getIn().getHeader(FileComponent.HEADER_FILE_NAME, String.class);
-                
+        String name = exchange.getIn().getHeader(NewFileComponent.HEADER_FILE_NAME, String.class);
+
         // expression support
         Expression expression = endpoint.getExpression();
         if (name != null) {
@@ -153,7 +162,7 @@
             // whatever configured on the endpoint
             if (name.indexOf("${") > -1) {
                 if (log.isDebugEnabled()) {
-                    log.debug(FileComponent.HEADER_FILE_NAME + " contains a FileLanguage expression: " + name);
+                    log.debug(NewFileComponent.HEADER_FILE_NAME + " contains a FileLanguage expression: " + name);
                 }
                 expression = FileLanguage.file(name);
             }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/NewFileBinding.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/NewFileBinding.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/NewFileBinding.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/NewFileBinding.java Tue Feb  3 13:19:43 2009
@@ -17,11 +17,12 @@
 package org.apache.camel.component.file;
 
 import java.io.File;
+import java.io.Serializable;
 
 /**
  * File binding with the {@link java.io.File} type.
  */
-public class NewFileBinding implements GenericFileBinding<File> {
+public class NewFileBinding implements GenericFileBinding<File>, Serializable {
 
     private File body;
 

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/NewFileComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/NewFileComponent.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/NewFileComponent.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/NewFileComponent.java Tue Feb  3 13:19:43 2009
@@ -20,10 +20,36 @@
 import java.util.Map;
 
 /**
- *
+ * File component.
  */
 public class NewFileComponent extends GenericFileComponent<File> {
 
+    /**
+     * Header key holding the value: the fixed filename to use for producing files.
+     */
+    public static final String HEADER_FILE_NAME = "CamelFileName";
+
+    /**
+     * Header key holding the value: absolute filepath for the actual file produced (by file producer).
+     * Value is set automatically by Camel
+     */
+    public static final String HEADER_FILE_NAME_PRODUCED = "CamelFileNameProduced";
+
+    /**
+     * Header key holding the value: current index of total in the batch being consumed
+     */
+    public static final String HEADER_FILE_BATCH_INDEX = "CamelFileBatchIndex";
+
+    /**
+     * Header key holding the value: total in the batch being consumed
+     */
+    public static final String HEADER_FILE_BATCH_TOTAL = "CamelFileBatchTotal";
+
+    /**
+     * Default camel lock filename postfix
+     */
+    public static final String DEFAULT_LOCK_FILE_POSTFIX = ".camelLock";
+
     protected GenericFileEndpoint<File> buildFileEndpoint(String uri, String remaining, Map parameters) throws Exception {
         File file = new File(remaining);
 

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/NewFileConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/NewFileConsumer.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/NewFileConsumer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/NewFileConsumer.java Tue Feb  3 13:19:43 2009
@@ -23,7 +23,7 @@
 import org.apache.camel.Processor;
 
 /**
- *
+ * File consumer.
  */
 public class NewFileConsumer extends GenericFileConsumer<File> {
 
@@ -38,6 +38,14 @@
             return;
         }
 
+        // could be a file and not a directory so delegate to poll file instead
+        // this happens if end user has specified a filename in the URI but have not
+        // set directory=false as an option
+        if (fileOrDirectory.isFile()) {
+            pollFile(fileName, fileList);
+            return;
+        }
+
         if (log.isTraceEnabled()) {
             log.trace("Polling directory: " + fileOrDirectory.getPath());
         }

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=740298&r1=740297&r2=740298&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 Tue Feb  3 13:19:43 2009
@@ -24,7 +24,7 @@
 import org.apache.camel.util.ObjectHelper;
 
 /**
- *
+ * File endpoint.
  */
 public class NewFileEndpoint extends GenericFileEndpoint<File> {
 
@@ -64,6 +64,14 @@
             idempotentRepository = MemoryIdempotentRepository.memoryIdempotentRepository(DEFAULT_IDEMPOTENT_CACHE_SIZE);
         }
 
+        // fix wrong directory option if its a file
+        if (isDirectory() && file.isFile()) {
+            if (log.isDebugEnabled()) {
+                log.debug(file + " is not a directory so setting option directory=false");
+            }
+            setDirectory(false);
+        }
+
         configureConsumer(result);
         return result;
     }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/DefaultFileRenamer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/DefaultFileRenamer.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/DefaultFileRenamer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/DefaultFileRenamer.java Tue Feb  3 13:19:43 2009
@@ -25,6 +25,7 @@
  * Camel default file renamer.
  *
  * @version $Revision$
+ * @deprecated will be replaced with NewFile in Camel 2.0
  */
 public class DefaultFileRenamer implements FileRenamer {
 

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/DeleteFileProcessStrategy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/DeleteFileProcessStrategy.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/DeleteFileProcessStrategy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/DeleteFileProcessStrategy.java Tue Feb  3 13:19:43 2009
@@ -28,6 +28,7 @@
  * A strategy which will delete the file when its processed
  *
  * @version $Revision$
+ * @deprecated will be replaced with NewFile in Camel 2.0
  */
 public class DeleteFileProcessStrategy extends FileProcessStrategySupport {
     private static final transient Log LOG = LogFactory.getLog(DeleteFileProcessStrategy.class);

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileExpressionRenamer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileExpressionRenamer.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileExpressionRenamer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileExpressionRenamer.java Tue Feb  3 13:19:43 2009
@@ -28,6 +28,7 @@
  * <p/>
  * If most cases the {@link org.apache.camel.language.simple.FileLanguage FileLanguage} is used to
  * create the expressions.
+ * @deprecated will be replaced with NewFile in Camel 2.0
  */
 public class FileExpressionRenamer implements FileRenamer {
 

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java Tue Feb  3 13:19:43 2009
@@ -32,6 +32,7 @@
  * Acquires exclusive read lock to the given file. Will wait until the lock is granted.
  * After granting the read lock it is released, we just want to make sure that when we start
  * consuming the file its not currently in progress of being written by third party.
+ * @deprecated will be replaced with NewFile in Camel 2.0
  */
 public class FileLockExclusiveReadLockStrategy implements ExclusiveReadLockStrategy {
     private static final transient Log LOG = LogFactory.getLog(FileLockExclusiveReadLockStrategy.class);

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java Tue Feb  3 13:19:43 2009
@@ -25,6 +25,7 @@
 
 /**
  * Factory to provide the {@link org.apache.camel.component.file.FileProcessStrategy} to use.
+ * @deprecated will be replaced with NewFile in Camel 2.0
  */
 public final class FileProcessStrategyFactory {
 

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategySupport.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategySupport.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategySupport.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategySupport.java Tue Feb  3 13:19:43 2009
@@ -35,6 +35,7 @@
  * Base class for {@link org.apache.camel.component.file.FileProcessStrategy} implementation to extend.
  *
  * @version $Revision$
+ * @deprecated will be replaced with NewFile in Camel 2.0
  */
 public abstract class FileProcessStrategySupport implements FileProcessStrategy {
 

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileRenameExclusiveReadLockStrategy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileRenameExclusiveReadLockStrategy.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileRenameExclusiveReadLockStrategy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileRenameExclusiveReadLockStrategy.java Tue Feb  3 13:19:43 2009
@@ -27,6 +27,7 @@
  * Acquires exclusive read lock to the given file. Will wait until the lock is granted.
  * After granting the read lock it is realeased, we just want to make sure that when we start
  * consuming the file its not currently in progress of being written by third party.
+ * @deprecated will be replaced with NewFile in Camel 2.0
  */
 public class FileRenameExclusiveReadLockStrategy implements ExclusiveReadLockStrategy {
     private static final transient Log LOG = LogFactory.getLog(FileRenameExclusiveReadLockStrategy.class);

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileRenamer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileRenamer.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileRenamer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileRenamer.java Tue Feb  3 13:19:43 2009
@@ -24,6 +24,7 @@
  * Used for renaming files.
  *
  * @version $Revision$
+ * @deprecated will be replaced with NewFile in Camel 2.0
  */
 public interface FileRenamer {
 

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileDefaultRenamer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileDefaultRenamer.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileDefaultRenamer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileDefaultRenamer.java Tue Feb  3 13:19:43 2009
@@ -19,7 +19,7 @@
 import org.apache.camel.component.file.GenericFile;
 import org.apache.camel.component.file.GenericFileExchange;
 
-public class GenericFileDefaultRenamer implements GenericFileRenamer {
+public class GenericFileDefaultRenamer<T> implements GenericFileRenamer<T> {
 
     private String namePrefix;
     private String namePostfix;
@@ -32,11 +32,11 @@
         this.namePostfix = namePostfix;
     }
 
-    public GenericFile renameFile(GenericFileExchange exchange, GenericFile file) {
+    public GenericFile<T> renameFile(GenericFileExchange<T> exchange, GenericFile<T> file) {
         String newName = renameFileName(file.getFileName());
 
         // clone and change the name
-        GenericFile result = file.clone();
+        GenericFile<T> result = file.clone();
         result.changeFileName(newName);
         return result;
     }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileExpressionRenamer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileExpressionRenamer.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileExpressionRenamer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileExpressionRenamer.java Tue Feb  3 13:19:43 2009
@@ -24,14 +24,14 @@
 public class GenericFileExpressionRenamer<T> implements GenericFileRenamer<T> {
     private Expression expression;
 
-    public GenericFile renameFile(GenericFileExchange<T> exchange, GenericFile<T> file) {
+    public GenericFile<T> renameFile(GenericFileExchange<T> exchange, GenericFile<T> file) {
         ObjectHelper.notNull(expression, "expression");
 
         Object eval = expression.evaluate(exchange);
         String newName = exchange.getContext().getTypeConverter().convertTo(String.class, eval);
 
         // clone and change the name
-        GenericFile result = file.clone();
+        GenericFile<T> result = file.clone();
         result.changeFileName(newName);
         return result;
     }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileProcessStrategySupport.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileProcessStrategySupport.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileProcessStrategySupport.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileProcessStrategySupport.java Tue Feb  3 13:19:43 2009
@@ -24,9 +24,8 @@
 import org.apache.camel.component.file.GenericFileProcessStrategy;
 
 public abstract class GenericFileProcessStrategySupport<T> implements GenericFileProcessStrategy<T> {
-    private GenericFileExclusiveReadLockStrategy exclusiveReadLockStrategy;
+    private GenericFileExclusiveReadLockStrategy<T> exclusiveReadLockStrategy;
 
-    @SuppressWarnings("unchecked")
     public boolean begin(GenericFileOperations<T> operations, GenericFileEndpoint<T> endpoint, GenericFileExchange<T> exchange, GenericFile<T> file) throws Exception {
         // is we use excluse read then acquire the exclusive read (waiting until we got it)
         if (exclusiveReadLockStrategy != null) {
@@ -40,25 +39,23 @@
         return true;
     }
 
-    @SuppressWarnings("unchecked")
     public void commit(GenericFileOperations<T> operations, GenericFileEndpoint<T> endpoint, GenericFileExchange<T> exchange, GenericFile<T> file) throws Exception {
         if (exclusiveReadLockStrategy != null) {
             exclusiveReadLockStrategy.releaseExclusiveReadLock(operations, file, exchange);
         }
     }
 
-    @SuppressWarnings("unchecked")
     public void rollback(GenericFileOperations<T> operations, GenericFileEndpoint<T> endpoint, GenericFileExchange<T> exchange, GenericFile<T> file) throws Exception {
         if (exclusiveReadLockStrategy != null) {
             exclusiveReadLockStrategy.releaseExclusiveReadLock(operations, file, exchange);
         }
     }
 
-    public GenericFileExclusiveReadLockStrategy getExclusiveReadLockStrategy() {
+    public GenericFileExclusiveReadLockStrategy<T> getExclusiveReadLockStrategy() {
         return exclusiveReadLockStrategy;
     }
 
-    public void setExclusiveReadLockStrategy(GenericFileExclusiveReadLockStrategy exclusiveReadLockStrategy) {
+    public void setExclusiveReadLockStrategy(GenericFileExclusiveReadLockStrategy<T> exclusiveReadLockStrategy) {
         this.exclusiveReadLockStrategy = exclusiveReadLockStrategy;
     }
 }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameExclusiveReadLockStrategy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameExclusiveReadLockStrategy.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameExclusiveReadLockStrategy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameExclusiveReadLockStrategy.java Tue Feb  3 13:19:43 2009
@@ -28,11 +28,11 @@
  * After granting the read lock it is realeased, we just want to make sure that when we start
  * consuming the file its not currently in progress of being written by third party.
  */
-public class GenericFileRenameExclusiveReadLockStrategy implements GenericFileExclusiveReadLockStrategy {
+public class GenericFileRenameExclusiveReadLockStrategy<T> implements GenericFileExclusiveReadLockStrategy<T> {
     private static final transient Log LOG = LogFactory.getLog(GenericFileRenameExclusiveReadLockStrategy.class);
     private long timeout;
 
-    public boolean acquireExclusiveReadLock(GenericFileOperations operations, GenericFile file,
+    public boolean acquireExclusiveReadLock(GenericFileOperations<T> operations, GenericFile<T> file,
                                             Exchange exchange) throws Exception {
         if (LOG.isTraceEnabled()) {
             LOG.trace("Waiting for exclusive read lock to file: " + file);
@@ -43,7 +43,7 @@
         String newName = file.getFileName() + ".camelExclusiveReadLock";
 
         // clone and change the name
-        GenericFile newFile = file.clone();
+        GenericFile<T> newFile = file.clone();
         newFile.changeFileName(newName);
 
         long start = System.currentTimeMillis();
@@ -75,7 +75,7 @@
         return true;
     }
 
-    public void releaseExclusiveReadLock(GenericFileOperations opeations, GenericFile file,
+    public void releaseExclusiveReadLock(GenericFileOperations<T> opeations, GenericFile<T> file,
                                          Exchange exchange) throws Exception {
         // noop
     }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameProcessStrategy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameProcessStrategy.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameProcessStrategy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameProcessStrategy.java Tue Feb  3 13:19:43 2009
@@ -28,21 +28,21 @@
 
 public class GenericFileRenameProcessStrategy<T> extends GenericFileProcessStrategySupport<T> {
     private static final transient Log LOG = LogFactory.getLog(org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy.class);
-    private GenericFileRenamer beginRenamer;
-    private GenericFileRenamer commitRenamer;
+    private GenericFileRenamer<T> beginRenamer;
+    private GenericFileRenamer<T> commitRenamer;
 
     public GenericFileRenameProcessStrategy() {
     }
 
     public GenericFileRenameProcessStrategy(String namePrefix, String namePostfix) {
-        this(new GenericFileDefaultRenamer(namePrefix, namePostfix), null);
+        this(new GenericFileDefaultRenamer<T>(namePrefix, namePostfix), null);
     }
 
     public GenericFileRenameProcessStrategy(String namePrefix, String namePostfix, String preNamePrefix, String preNamePostfix) {
-        this(new GenericFileDefaultRenamer(namePrefix, namePostfix), new GenericFileDefaultRenamer(preNamePrefix, preNamePostfix));
+        this(new GenericFileDefaultRenamer<T>(namePrefix, namePostfix), new GenericFileDefaultRenamer<T>(preNamePrefix, preNamePostfix));
     }
 
-    public GenericFileRenameProcessStrategy(GenericFileRenamer commitRenamer, GenericFileRenamer beginRenamer) {
+    public GenericFileRenameProcessStrategy(GenericFileRenamer<T> commitRenamer, GenericFileRenamer<T> beginRenamer) {
         this.commitRenamer = commitRenamer;
         this.beginRenamer = beginRenamer;
     }
@@ -56,8 +56,8 @@
         }
 
         if (beginRenamer != null) {
-            GenericFile newName = beginRenamer.renameFile(exchange, file);
-            GenericFile to = renameFile(operations, file, newName);
+            GenericFile<T> newName = beginRenamer.renameFile(exchange, file);
+            GenericFile<T> to = renameFile(operations, file, newName);
             exchange.setGenericFile(to);
         }
 
@@ -70,12 +70,12 @@
         super.commit(operations, endpoint, exchange, file);
 
         if (commitRenamer != null) {
-            GenericFile newName = commitRenamer.renameFile(exchange, file);
+            GenericFile<T> newName = commitRenamer.renameFile(exchange, file);
             renameFile(operations, file, newName);
         }
     }
 
-    private static GenericFile renameFile(GenericFileOperations operations, GenericFile from, GenericFile to) throws IOException {
+    private GenericFile<T> renameFile(GenericFileOperations<T> operations, GenericFile<T> from, GenericFile<T> to) throws IOException {
         // deleting any existing files before renaming
         try {
             operations.deleteFile(to.getAbsoluteFileName());
@@ -87,7 +87,7 @@
         boolean mkdir = operations.buildDirectory(to.getParent(), true);
         
         if (!mkdir) {
-            throw new GenericFileOperationFailedException("Can not create directory: " + to.getParent() + " (could be because of denied permissions)");
+            throw new GenericFileOperationFailedException("Cannot create directory: " + to.getParent() + " (could be because of denied permissions)");
         }
 
         if (LOG.isDebugEnabled()) {
@@ -101,19 +101,19 @@
         return to;
     }
 
-    public GenericFileRenamer getBeginRenamer() {
+    public GenericFileRenamer<T> getBeginRenamer() {
         return beginRenamer;
     }
 
-    public void setBeginRenamer(GenericFileRenamer beginRenamer) {
+    public void setBeginRenamer(GenericFileRenamer<T> beginRenamer) {
         this.beginRenamer = beginRenamer;
     }
 
-    public GenericFileRenamer getCommitRenamer() {
+    public GenericFileRenamer<T> getCommitRenamer() {
         return commitRenamer;
     }
 
-    public void setCommitRenamer(GenericFileRenamer commitRenamer) {
+    public void setCommitRenamer(GenericFileRenamer<T> commitRenamer) {
         this.commitRenamer = commitRenamer;
     }
 

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=740298&r1=740297&r2=740298&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 Tue Feb  3 13:19:43 2009
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.file.strategy;
 
+import java.io.File;
 import java.util.Map;
 
 import org.apache.camel.Expression;
@@ -43,47 +44,48 @@
         boolean preMove = preMoveNamePrefix != null || preMoveNamePostfix != null;
 
         if (isNoop) {
-            GenericFileNoOpProcessStrategy strategy = new GenericFileNoOpProcessStrategy();
+            GenericFileNoOpProcessStrategy<File> strategy = new GenericFileNoOpProcessStrategy<File>();
             strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
             return strategy;
         } else if (isDelete) {
-            GenericFileDeleteProcessStrategy strategy = new GenericFileDeleteProcessStrategy();
+            GenericFileDeleteProcessStrategy<File> strategy = new GenericFileDeleteProcessStrategy<File>();
             strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
             return strategy;
         } else if (move || preMove) {
-            GenericFileRenameProcessStrategy strategy = new GenericFileRenameProcessStrategy();
+            GenericFileRenameProcessStrategy<File> strategy = new GenericFileRenameProcessStrategy<File>();
             strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
             if (move) {
-                strategy.setCommitRenamer(new GenericFileDefaultRenamer(moveNamePrefix, moveNamePostfix));
+                strategy.setCommitRenamer(new GenericFileDefaultRenamer<File>(moveNamePrefix, moveNamePostfix));
             }
             if (preMove) {
-                strategy.setBeginRenamer(new GenericFileDefaultRenamer(preMoveNamePrefix, preMoveNamePostfix));
+                strategy.setBeginRenamer(new GenericFileDefaultRenamer<File>(preMoveNamePrefix, preMoveNamePostfix));
             }
             return strategy;
         } else if (expression != null || preMoveExpression != null) {
-            GenericFileRenameProcessStrategy strategy = new GenericFileRenameProcessStrategy();
+            GenericFileRenameProcessStrategy<File> strategy = new GenericFileRenameProcessStrategy<File>();
             strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
             if (expression != null) {
-                GenericFileExpressionRenamer renamer = new GenericFileExpressionRenamer();
+                GenericFileExpressionRenamer<File> renamer = new GenericFileExpressionRenamer<File>();
                 renamer.setExpression(expression);
                 strategy.setCommitRenamer(renamer);
             }
             if (preMoveExpression != null) {
-                GenericFileExpressionRenamer renamer = new GenericFileExpressionRenamer();
+                GenericFileExpressionRenamer<File> renamer = new GenericFileExpressionRenamer<File>();
                 renamer.setExpression(preMoveExpression);
                 strategy.setBeginRenamer(renamer);
             }
             return strategy;
         } else {
             // default strategy will move files in a .camel/ subfolder
-            GenericFileRenameProcessStrategy strategy = new GenericFileRenameProcessStrategy();
+            GenericFileRenameProcessStrategy<File> strategy = new GenericFileRenameProcessStrategy<File>();
             strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
-            strategy.setCommitRenamer(new GenericFileDefaultRenamer(".camel/", ""));
+            strategy.setCommitRenamer(new GenericFileDefaultRenamer<File>(".camel/", ""));
             return strategy;
         }
     }
 
-    private static GenericFileExclusiveReadLockStrategy getExclusiveReadLockStrategy(Map<String, Object> params) {
+    @SuppressWarnings("unchecked")
+    private static GenericFileExclusiveReadLockStrategy<File> getExclusiveReadLockStrategy(Map<String, Object> params) {
         GenericFileExclusiveReadLockStrategy strategy = (GenericFileExclusiveReadLockStrategy) params.get("exclusiveReadLockStrategy");
         if (strategy != null) {
             return strategy;
@@ -95,22 +97,21 @@
             if ("none".equals(readLock) || "false".equals(readLock)) {
                 return null;
             } else if ("fileLock".equals(readLock)) {
-                GenericFileExclusiveReadLockStrategy readLockStrategy = new NewFileLockExclusiveReadLockStrategy();
+                GenericFileExclusiveReadLockStrategy<File> readLockStrategy = new NewFileLockExclusiveReadLockStrategy();
                 Long timeout = (Long) params.get("readLockTimeout");
                 if (timeout != null) {
                     readLockStrategy.setTimeout(timeout);
                 }
                 return readLockStrategy;
             } else if ("rename".equals(readLock)) {
-                GenericFileExclusiveReadLockStrategy readLockStrategy = new GenericFileRenameExclusiveReadLockStrategy();
+                GenericFileExclusiveReadLockStrategy<File> readLockStrategy = new GenericFileRenameExclusiveReadLockStrategy<File>();
                 Long timeout = (Long) params.get("readLockTimeout");
                 if (timeout != null) {
                     readLockStrategy.setTimeout(timeout);
                 }
                 return readLockStrategy;
             } else if ("markerFile".equals(readLock)) {
-                GenericFileExclusiveReadLockStrategy readLockStrategy = new NewMarkerFileExclusiveReadLockStrategy();
-                return readLockStrategy;
+                return new NewMarkerFileExclusiveReadLockStrategy();
             }
         }
 

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/NewMarkerFileExclusiveReadLockStrategy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/NewMarkerFileExclusiveReadLockStrategy.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/NewMarkerFileExclusiveReadLockStrategy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/NewMarkerFileExclusiveReadLockStrategy.java Tue Feb  3 13:19:43 2009
@@ -27,6 +27,7 @@
 import org.apache.camel.component.file.GenericFileExchange;
 import org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy;
 import org.apache.camel.component.file.GenericFileOperations;
+import org.apache.camel.component.file.NewFileComponent;
 import org.apache.camel.util.ExchangeHelper;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.commons.logging.Log;
@@ -36,10 +37,9 @@
  *
  */
 public class NewMarkerFileExclusiveReadLockStrategy implements GenericFileExclusiveReadLockStrategy<File> {
-    public static final transient String DEFAULT_LOCK_FILE_POSTFIX = ".camelLock";
     private static final transient Log LOG = LogFactory.getLog(NewMarkerFileExclusiveReadLockStrategy.class);
 
-    private GenericFileRenamer lockFileRenamer = new GenericFileDefaultRenamer("", DEFAULT_LOCK_FILE_POSTFIX);
+    private GenericFileRenamer<File> lockFileRenamer = new GenericFileDefaultRenamer<File>("", NewFileComponent.DEFAULT_LOCK_FILE_POSTFIX);
 
     @SuppressWarnings("unchecked")
     public boolean acquireExclusiveReadLock(GenericFileOperations<File> fileGenericFileOperations,

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/NoOpFileProcessStrategy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/NoOpFileProcessStrategy.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/NoOpFileProcessStrategy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/NoOpFileProcessStrategy.java Tue Feb  3 13:19:43 2009
@@ -20,6 +20,7 @@
  * A simple strategy which does not move or delete the processed files in any way.
  *
  * @version $Revision$
+ * @deprecated will be replaced with NewFile in Camel 2.0
  */
 public class NoOpFileProcessStrategy extends FileProcessStrategySupport {
 

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/RenameFileProcessStrategy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/RenameFileProcessStrategy.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/RenameFileProcessStrategy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/RenameFileProcessStrategy.java Tue Feb  3 13:19:43 2009
@@ -28,6 +28,7 @@
  * A strategy to rename a file
  * 
  * @version $Revision$
+ * @deprecated will be replaced with NewFile in Camel 2.0
  */
 public class RenameFileProcessStrategy extends FileProcessStrategySupport {
     private static final transient Log LOG = LogFactory.getLog(RenameFileProcessStrategy.class);

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/StringSource.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/StringSource.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/StringSource.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/StringSource.java Tue Feb  3 13:19:43 2009
@@ -85,8 +85,8 @@
     }
 
     public void writeExternal(ObjectOutput out) throws IOException {
-        int b = ((text != null ? 0x01 : 0x00) + (encoding != null ? 0x02 : 0x00)
-                + (getPublicId() != null ? 0x04 : 0x00) + (getSystemId() != null ? 0x08 : 0x00));
+        int b = (text != null ? 0x01 : 0x00) + (encoding != null ? 0x02 : 0x00)
+                + (getPublicId() != null ? 0x04 : 0x00) + (getSystemId() != null ? 0x08 : 0x00);
         out.writeByte(b);
         if ((b & 0x01) != 0) {
             out.writeUTF(text);

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileExpressionBuilder.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileExpressionBuilder.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileExpressionBuilder.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileExpressionBuilder.java Tue Feb  3 13:19:43 2009
@@ -58,7 +58,12 @@
             public Object evaluate(Exchange exchange) {
                 String name = exchange.getIn().getHeader("CamelFileName", String.class);
                 if (name != null) {
-                    return name.substring(0, name.lastIndexOf('.'));
+                    if (name.lastIndexOf(".") != -1) {
+                        return name.substring(0, name.lastIndexOf('.'));
+                    } else {
+                        // name does not have extension
+                        return name;
+                    }
                 } else {
                     return null;
                 }

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/DirectoryCreateIssueTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/DirectoryCreateIssueTest.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/DirectoryCreateIssueTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/DirectoryCreateIssueTest.java Tue Feb  3 13:19:43 2009
@@ -35,8 +35,8 @@
 
     @Override
     protected void setUp() throws Exception {
-        super.setUp();
         deleteDirectory("target/a");
+        super.setUp();
     }
 
     @Override

Copied: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeFileOnlyNoDirectoryOptionTest.java (from r740222, camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeFileOnlyTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeFileOnlyNoDirectoryOptionTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeFileOnlyNoDirectoryOptionTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeFileOnlyTest.java&r1=740222&r2=740298&rev=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeFileOnlyTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeFileOnlyNoDirectoryOptionTest.java Tue Feb  3 13:19:43 2009
@@ -16,37 +16,21 @@
  */
 package org.apache.camel.component.file;
 
-import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
 
 /**
  * Unit test for consuming the same filename only.
  */
-public class FileConsumeFileOnlyTest extends ContextTestSupport {
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        deleteDirectory("target/fileonly");
-        template.sendBodyAndHeader("newfile://target/fileonly", "Hello World", FileComponent.HEADER_FILE_NAME, "report.txt");
-        template.sendBodyAndHeader("newfile://target/fileonly", "Bye World", FileComponent.HEADER_FILE_NAME, "report2.txt");
-        template.sendBodyAndHeader("newfile://target/fileonly/2008", "2008 Report", FileComponent.HEADER_FILE_NAME, "report2008.txt");
-    }
-
-    public void testConsumeFileOnly() throws Exception {
-        MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedBodiesReceived("Hello World");
-
-        assertMockEndpointsSatisfied();
-    }
+public class FileConsumeFileOnlyNoDirectoryOptionTest extends FileConsumeFileOnlyTest {
 
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                from("newfile://target/fileonly/report.txt?directory=false&recursive=false&delete=true").to("mock:result");
+                // directory=false is not set but Camel so figure out report.txt is a file and consume
+                // the file anyway
+                from("newfile://target/fileonly/report.txt?recursive=false&delete=true&initialDelay=1000").to("mock:result");
             }
         };
     }
-}
+}
\ No newline at end of file

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

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

Propchange: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeFileOnlyNoDirectoryOptionTest.java
------------------------------------------------------------------------------
    svn:mergeinfo = 

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeFileOnlyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeFileOnlyTest.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeFileOnlyTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeFileOnlyTest.java Tue Feb  3 13:19:43 2009
@@ -27,8 +27,8 @@
 
     @Override
     protected void setUp() throws Exception {
-        super.setUp();
         deleteDirectory("target/fileonly");
+        super.setUp();
         template.sendBodyAndHeader("newfile://target/fileonly", "Hello World", FileComponent.HEADER_FILE_NAME, "report.txt");
         template.sendBodyAndHeader("newfile://target/fileonly", "Bye World", FileComponent.HEADER_FILE_NAME, "report2.txt");
         template.sendBodyAndHeader("newfile://target/fileonly/2008", "2008 Report", FileComponent.HEADER_FILE_NAME, "report2008.txt");

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMultipleDirectoriesTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMultipleDirectoriesTest.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMultipleDirectoriesTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMultipleDirectoriesTest.java Tue Feb  3 13:19:43 2009
@@ -31,8 +31,8 @@
 
     @Override
     protected void setUp() throws Exception {
-        super.setUp();
         deleteDirectory("target/multidir");
+        super.setUp();
         template.sendBodyAndHeader(fileUrl, "Bye World", FileComponent.HEADER_FILE_NAME, "bye.txt");
         template.sendBodyAndHeader(fileUrl, "Hello World", FileComponent.HEADER_FILE_NAME, "sub/hello.txt");
         template.sendBodyAndHeader(fileUrl, "Godday World", FileComponent.HEADER_FILE_NAME, "sub/sub2/godday.txt");

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSingleDirectoryOnlyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSingleDirectoryOnlyTest.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSingleDirectoryOnlyTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSingleDirectoryOnlyTest.java Tue Feb  3 13:19:43 2009
@@ -27,8 +27,8 @@
 
     @Override
     protected void setUp() throws Exception {
-        super.setUp();
         deleteDirectory("target/singledirectoryonly");
+        super.setUp();
         template.sendBodyAndHeader("file://target/singledirectoryonly", "Hello World", FileComponent.HEADER_FILE_NAME, "report.txt");
         template.sendBodyAndHeader("file://target/singledirectoryonly", "Bye World", FileComponent.HEADER_FILE_NAME, "report2.txt");
         template.sendBodyAndHeader("file://target/singledirectoryonly/2008", "2008 Report", FileComponent.HEADER_FILE_NAME, "report2008.txt");

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBatchTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBatchTest.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBatchTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBatchTest.java Tue Feb  3 13:19:43 2009
@@ -27,8 +27,8 @@
 
     @Override
     protected void setUp() throws Exception {
-        super.setUp();
         deleteDirectory("target/file-batch");
+        super.setUp();
         template.sendBodyAndHeader("file://target/file-batch/", "Hello World", FileComponent.HEADER_FILE_NAME, "hello.txt");
         template.sendBodyAndHeader("file://target/file-batch/", "Bye World", FileComponent.HEADER_FILE_NAME, "bye.txt");
     }

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=740298&r1=740297&r2=740298&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 Tue Feb  3 13:19:43 2009
@@ -30,11 +30,15 @@
  */
 public class FileConsumerBeginAndCommitExpressionRenameStrategyTest extends ContextTestSupport {
 
-    public void testRenameSuccess() throws Exception {
+    @Override
+    protected void setUp() throws Exception {
         deleteDirectory("target/inprogress");
         deleteDirectory("target/done");
         deleteDirectory("target/reports");
+        super.setUp();
+    }
 
+    public void testRenameSuccess() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:report");
         mock.expectedMessageCount(1);
         mock.expectedBodiesReceived("Hello Paris");

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=740298&r1=740297&r2=740298&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 Tue Feb  3 13:19:43 2009
@@ -30,11 +30,15 @@
  */
 public class FileConsumerBeginAndCommitRenameStrategyTest extends ContextTestSupport {
 
-    public void testRenameSuccess() throws Exception {
+    @Override
+    protected void setUp() throws Exception {
         deleteDirectory("target/inprogress");
         deleteDirectory("target/done");
         deleteDirectory("target/reports");
+        super.setUp();
+    }
 
+    public void testRenameSuccess() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:report");
         mock.expectedMessageCount(1);
         mock.expectedBodiesReceived("Hello Paris");

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginExpressionRenameStrategyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginExpressionRenameStrategyTest.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginExpressionRenameStrategyTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginExpressionRenameStrategyTest.java Tue Feb  3 13:19:43 2009
@@ -30,10 +30,14 @@
  */
 public class FileConsumerBeginExpressionRenameStrategyTest extends ContextTestSupport {
 
-    public void testRenameSuccess() throws Exception {
+    @Override
+    protected void setUp() throws Exception {
         deleteDirectory("target/inprogress");
         deleteDirectory("target/reports");
+        super.setUp();
+    }
 
+    public void testRenameSuccess() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:report");
         mock.expectedMessageCount(1);
         mock.expectedBodiesReceived("Hello Paris");
@@ -46,9 +50,6 @@
     }
 
     public void testRenameFileExists() throws Exception {
-        deleteDirectory("target/inprogress");
-        deleteDirectory("target/reports");
-
         // create a file in inprogress to let there be a duplicate file
         File file = new File("target/inprogress");
         file.mkdirs();

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginRenameStrategyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginRenameStrategyTest.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginRenameStrategyTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginRenameStrategyTest.java Tue Feb  3 13:19:43 2009
@@ -30,10 +30,14 @@
  */
 public class FileConsumerBeginRenameStrategyTest extends ContextTestSupport {
 
-    public void testRenameSuccess() throws Exception {
+    @Override
+    protected void setUp() throws Exception {
         deleteDirectory("target/inprogress");
         deleteDirectory("target/reports");
+        super.setUp();
+    }
 
+    public void testRenameSuccess() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:report");
         mock.expectedMessageCount(1);
         mock.expectedBodiesReceived("Hello Paris");
@@ -46,9 +50,6 @@
     }
 
     public void testRenameFileExists() throws Exception {
-        deleteDirectory("target/inprogress");
-        deleteDirectory("target/reports");
-
         // create a file in inprogress to let there be a duplicate file
         File file = new File("target/inprogress");
         file.mkdirs();

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerCommitRenameStrategyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerCommitRenameStrategyTest.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerCommitRenameStrategyTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerCommitRenameStrategyTest.java Tue Feb  3 13:19:43 2009
@@ -30,16 +30,13 @@
 public class FileConsumerCommitRenameStrategyTest extends ContextTestSupport {
 
     @Override
-    protected void tearDown() throws Exception {
-        super.tearDown();
+    protected void setUp() throws Exception {
         deleteDirectory("target/done");
         deleteDirectory("target/reports");
+        super.setUp();
     }
 
     public void testRenameSuccess() throws Exception {
-        deleteDirectory("target/done");
-        deleteDirectory("target/reports");
-
         MockEndpoint mock = getMockEndpoint("mock:report");
         mock.expectedBodiesReceived("Hello Paris");
 
@@ -56,9 +53,6 @@
     }
 
     public void testRenameFileExists() throws Exception {
-        deleteDirectory("target/done");
-        deleteDirectory("target/reports");
-
         // create a file in done to let there be a duplicate file
         File file = new File("target/done");
         file.mkdirs();

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryNotMatchedTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryNotMatchedTest.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryNotMatchedTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryNotMatchedTest.java Tue Feb  3 13:19:43 2009
@@ -29,8 +29,8 @@
 
     @Override
     protected void setUp() throws Exception {
-        super.setUp();
         deleteDirectory("target/dirnotmatched");
+        super.setUp();
 
         template.sendBodyAndHeader("file:target/dirnotmatched/", "This is a dot file",
             FileComponent.HEADER_FILE_NAME, ".skipme");

Modified: 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/FileConsumerExpressionTest.java?rev=740298&r1=740297&r2=740298&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/FileConsumerExpressionTest.java Tue Feb  3 13:19:43 2009
@@ -31,8 +31,8 @@
 
     @Override
     protected void setUp() throws Exception {
-        super.setUp();
         deleteDirectory("target/filelanguage");
+        super.setUp();
     }
 
     @Override

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFailureHandledTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFailureHandledTest.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFailureHandledTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFailureHandledTest.java Tue Feb  3 13:19:43 2009
@@ -34,13 +34,11 @@
 
     @Override
     protected void tearDown() throws Exception {
-        super.tearDown();
         deleteDirectory("target/messages");
+        super.tearDown();
     }
 
     public void testParis() throws Exception {
-        deleteDirectory("target/messages");
-
         MockEndpoint mock = getMockEndpoint("mock:valid");
         mock.expectedBodiesReceived("Hello Paris");
 
@@ -54,8 +52,6 @@
     }
 
     public void testLondon() throws Exception {
-        deleteDirectory("target/messages");
-
         MockEndpoint mock = getMockEndpoint("mock:invalid");
         // we get the original input so its not Hello London but only London
         mock.expectedBodiesReceived("London");
@@ -70,8 +66,6 @@
     }
     
     public void testMadrid() throws Exception {
-        deleteDirectory("target/messages");
-
         MockEndpoint mock = getMockEndpoint("mock:error");
         // we get the original input so its not Hello London but only London
         mock.expectedBodiesReceived("Madrid");

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileFilterTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileFilterTest.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileFilterTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileFilterTest.java Tue Feb  3 13:19:43 2009
@@ -37,8 +37,8 @@
 
     @Override
     protected void setUp() throws Exception {
-        super.setUp();
         deleteDirectory("target/filefilter");
+        super.setUp();
     }
 
     public void testFilterFiles() throws Exception {

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerIdempotentRefTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerIdempotentRefTest.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerIdempotentRefTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerIdempotentRefTest.java Tue Feb  3 13:19:43 2009
@@ -40,8 +40,8 @@
 
     @Override
     protected void setUp() throws Exception {
-        super.setUp();
         deleteDirectory("target/idempotent");
+        super.setUp();
         template.sendBodyAndHeader("file://target/idempotent/", "Hello World", FileComponent.HEADER_FILE_NAME, "report.txt");
     }
 

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerIdempotentTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerIdempotentTest.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerIdempotentTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerIdempotentTest.java Tue Feb  3 13:19:43 2009
@@ -29,8 +29,8 @@
 
     @Override
     protected void setUp() throws Exception {
-        super.setUp();
         deleteDirectory("target/idempotent");
+        super.setUp();
         template.sendBodyAndHeader("file://target/idempotent/", "Hello World", FileComponent.HEADER_FILE_NAME, "report.txt");
     }
 

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSkipDotFilesTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSkipDotFilesTest.java?rev=740298&r1=740297&r2=740298&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSkipDotFilesTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSkipDotFilesTest.java Tue Feb  3 13:19:43 2009
@@ -29,8 +29,8 @@
 
     @Override
     protected void setUp() throws Exception {
-        super.setUp();
         deleteDirectory("target/dotfiles");
+        super.setUp();
     }
 
     public void testSkipDotFiles() throws Exception {