Author: davsclaus
Date: Sat Mar 16 07:33:59 2013
New Revision: 1457220

URL: http://svn.apache.org/r1457220
Log:
CAMEL-6056: Improved logic when changing file name to better handle dir slash 
in windows or unix style

Modified:
    camel/branches/camel-2.10.x/   (props changed)
    
camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java

Propchange: camel/branches/camel-2.10.x/
------------------------------------------------------------------------------
  Merged /camel/trunk:r1456989

Propchange: camel/branches/camel-2.10.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java?rev=1457220&r1=1457219&r2=1457220&view=diff
==============================================================================
--- 
camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java
 (original)
+++ 
camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java
 Sat Mar 16 07:33:59 2013
@@ -171,19 +171,22 @@ public class GenericFile<T> implements W
 
         // Make sure the newName is normalized.
         String newFileName = normalizePath(newName);
+        String newEndpointPath = normalizePath(endpointPath);
 
-        LOG.trace("Normalized endpointPath: {}", endpointPath);
+        LOG.trace("Normalized endpointPath: {}", newEndpointPath);
         LOG.trace("Normalized newFileName: ()", newFileName);
 
         File file = new File(newFileName);
         if (!absolute) {
             // for relative then we should avoid having the endpoint path 
duplicated so clip it
-            if (ObjectHelper.isNotEmpty(endpointPath) && 
newFileName.startsWith(endpointPath)) {
+            if (ObjectHelper.isNotEmpty(newEndpointPath) && 
newFileName.startsWith(newEndpointPath)) {
                 // clip starting endpoint in case it was added
-                if (endpointPath.endsWith("" + getFileSeparator())) {
-                    newFileName = ObjectHelper.after(newFileName, 
endpointPath);
+                // use File.separatorChar as the normalizePath uses this as 
path separator so we should use the same
+                // in this logic here
+                if (newEndpointPath.endsWith("" + File.separatorChar)) {
+                    newFileName = ObjectHelper.after(newFileName, 
newEndpointPath);
                 } else {
-                    newFileName = ObjectHelper.after(newFileName, endpointPath 
+ getFileSeparator());
+                    newFileName = ObjectHelper.after(newFileName, 
newEndpointPath + File.separatorChar);
                 }
 
                 // reconstruct file with clipped name


Reply via email to