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);