Author: davsclaus Date: Mon Feb 2 12:41:34 2009 New Revision: 739977 URL: http://svn.apache.org/viewvc?rev=739977&view=rev Log: Polished file component code a bit
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileExclusiveReadLockStrategy.java camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileDeleteProcessStrategy.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/GenericFileNoOpProcessStrategy.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/GenericFileRenamer.java camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/NewMarkerFileExclusiveReadLockStrategy.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileExclusiveReadLockStrategy.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileExclusiveReadLockStrategy.java?rev=739977&r1=739976&r2=739977&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileExclusiveReadLockStrategy.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileExclusiveReadLockStrategy.java Mon Feb 2 12:41:34 2009 @@ -28,6 +28,10 @@ * <ul> * <li>GenericFileRenameExclusiveReadLockStrategy waiting until its possible to * rename the file.</li> + * <li>NewFileLockExclusiveReadLockStrategy acquiring a RW file lock for the duration + * of the processing.</li> + * <li>NewMarkerFileExclusiveReadLockStrategy using a marker file for acquiring + * read lock.</li> * </ul> */ public interface GenericFileExclusiveReadLockStrategy<T> { Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileDeleteProcessStrategy.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileDeleteProcessStrategy.java?rev=739977&r1=739976&r2=739977&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileDeleteProcessStrategy.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileDeleteProcessStrategy.java Mon Feb 2 12:41:34 2009 @@ -22,10 +22,10 @@ import org.apache.camel.component.file.GenericFileOperationFailedException; import org.apache.camel.component.file.GenericFileOperations; -public class GenericFileDeleteProcessStrategy extends GenericFileProcessStrategySupport { +public class GenericFileDeleteProcessStrategy<T> extends GenericFileProcessStrategySupport<T> { @Override - public void commit(GenericFileOperations operations, GenericFileEndpoint endpoint, GenericFileExchange exchange, GenericFile file) throws Exception { + public void commit(GenericFileOperations<T> operations, GenericFileEndpoint<T> endpoint, GenericFileExchange<T> exchange, GenericFile<T> file) throws Exception { // must invoke super super.commit(operations, endpoint, exchange, file); 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=739977&r1=739976&r2=739977&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 Mon Feb 2 12:41:34 2009 @@ -21,10 +21,10 @@ import org.apache.camel.component.file.GenericFileExchange; import org.apache.camel.util.ObjectHelper; -public class GenericFileExpressionRenamer implements GenericFileRenamer { +public class GenericFileExpressionRenamer<T> implements GenericFileRenamer<T> { private Expression expression; - public GenericFile renameFile(GenericFileExchange exchange, GenericFile file) { + public GenericFile renameFile(GenericFileExchange<T> exchange, GenericFile<T> file) { ObjectHelper.notNull(expression, "expression"); Object eval = expression.evaluate(exchange); Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileNoOpProcessStrategy.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileNoOpProcessStrategy.java?rev=739977&r1=739976&r2=739977&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileNoOpProcessStrategy.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileNoOpProcessStrategy.java Mon Feb 2 12:41:34 2009 @@ -16,6 +16,6 @@ */ package org.apache.camel.component.file.strategy; -public class GenericFileNoOpProcessStrategy extends GenericFileProcessStrategySupport { +public class GenericFileNoOpProcessStrategy<T> extends GenericFileProcessStrategySupport<T> { } 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=739977&r1=739976&r2=739977&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 Mon Feb 2 12:41:34 2009 @@ -26,6 +26,7 @@ public abstract class GenericFileProcessStrategySupport<T> implements GenericFileProcessStrategy<T> { private GenericFileExclusiveReadLockStrategy 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) { @@ -39,12 +40,14 @@ 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); Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenamer.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenamer.java?rev=739977&r1=739976&r2=739977&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenamer.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenamer.java Mon Feb 2 12:41:34 2009 @@ -22,7 +22,7 @@ /** * Used for renaming files. */ -public interface GenericFileRenamer { +public interface GenericFileRenamer<T> { /** * Renames the given file @@ -31,6 +31,6 @@ * @param file the original file. * @return the renamed file name. */ - GenericFile renameFile(GenericFileExchange exchange, GenericFile file); + GenericFile<T> renameFile(GenericFileExchange<T> exchange, GenericFile<T> file); } 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=739977&r1=739976&r2=739977&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 Mon Feb 2 12:41:34 2009 @@ -41,10 +41,11 @@ private GenericFileRenamer lockFileRenamer = new GenericFileDefaultRenamer("", DEFAULT_LOCK_FILE_POSTFIX); + @SuppressWarnings("unchecked") public boolean acquireExclusiveReadLock(GenericFileOperations<File> fileGenericFileOperations, GenericFile<File> file, Exchange exchange) throws Exception { - GenericFile newFile = lockFileRenamer.renameFile((GenericFileExchange) exchange, file); + GenericFile newFile = lockFileRenamer.renameFile((GenericFileExchange<File>) exchange, file); String lockFileName = newFile.getAbsoluteFileName(); if (LOG.isTraceEnabled()) { LOG.trace("Locking the file: " + file + " using the lock file name: " + lockFileName);