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 {