Author: veithen
Date: Sun Apr 12 21:49:45 2009
New Revision: 764333

URL: http://svn.apache.org/viewvc?rev=764333&view=rev
Log:
Fixed moveOrDeleteAfterProcessing: instead of computing the destination URI 
using string manipulation, use the proper VFS methods.

Modified:
    
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java

Modified: 
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java?rev=764333&r1=764332&r2=764333&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java
 (original)
+++ 
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java
 Sun Apr 12 21:49:45 2009
@@ -44,7 +44,6 @@
 import javax.xml.namespace.QName;
 
 import java.util.*;
-import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.text.DateFormat;
@@ -280,18 +279,18 @@
      */
     private void moveOrDeleteAfterProcessing(final PollTableEntry entry, 
FileObject fileObject) {
 
-        String moveToDirectory = null;
+        String moveToDirectoryURI = null;
         try {
             switch (entry.getLastPollState()) {
                 case PollTableEntry.SUCCSESSFUL:
                     if (entry.getActionAfterProcess() == PollTableEntry.MOVE) {
-                        moveToDirectory = entry.getMoveAfterProcess();
+                        moveToDirectoryURI = entry.getMoveAfterProcess();
                     }
                     break;
 
                 case PollTableEntry.FAILED:
                     if (entry.getActionAfterFailure() == PollTableEntry.MOVE) {
-                        moveToDirectory = entry.getMoveAfterFailure();
+                        moveToDirectoryURI = entry.getMoveAfterFailure();
                     }
                     break;
                 
@@ -299,21 +298,22 @@
                     return;
             }
 
-            if (moveToDirectory != null) {
-                String prefix = "";
+            if (moveToDirectoryURI != null) {
+                FileObject moveToDirectory = 
fsManager.resolveFile(moveToDirectoryURI);
+                String prefix;
                 if(entry.getMoveTimestampFormat() != null) {
-                    Date now = new Date();
-                    prefix = entry.getMoveTimestampFormat().format(now);
+                    prefix = entry.getMoveTimestampFormat().format(new Date());
+                } else {
+                    prefix = "";
                 }
-                String destName = moveToDirectory + File.separator + prefix + 
fileObject.getName().getBaseName();
+                FileObject dest = moveToDirectory.resolveFile(prefix + 
fileObject.getName().getBaseName());
                 if (log.isDebugEnabled()) {
-                    log.debug("Moving to file :" + destName);
+                    log.debug("Moving to file :" + dest.getName().getURI());
                 }
-                FileObject dest = fsManager.resolveFile(destName);
                 try {
                     fileObject.moveTo(dest);
                 } catch (FileSystemException e) {
-                    log.error("Error moving file : " + fileObject + " to " + 
moveToDirectory, e);
+                    log.error("Error moving file : " + fileObject + " to " + 
moveToDirectoryURI, e);
                 }
             } else {
                 try {
@@ -330,7 +330,7 @@
             }
 
         } catch (FileSystemException e) {
-            log.error("Error resolving directory to move after processing : " 
+ moveToDirectory, e);
+            log.error("Error resolving directory to move after processing : " 
+ moveToDirectoryURI, e);
         }
     }
 


Reply via email to