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