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/02 13:41:35 UTC
svn commit: r739977 - in
/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file: ./
strategy/
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);