Author: ningjiang Date: Thu Mar 12 07:40:48 2009 New Revision: 752796 URL: http://svn.apache.org/viewvc?rev=752796&view=rev Log: Fixed the ftp unit test error on windows box
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFile.java camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java?rev=752796&r1=752795&r2=752796&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java Thu Mar 12 07:40:48 2009 @@ -116,4 +116,16 @@ return "file://" + getFile().getAbsolutePath(); } + @Override + public char getFileSeparator() { + return File.separatorChar; + } + + @Override + public boolean isAbsolute(String name) { + // relative or absolute path? + File file = new File(name); + return file.isAbsolute(); + } + } Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java?rev=752796&r1=752795&r2=752796&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java Thu Mar 12 07:40:48 2009 @@ -84,6 +84,10 @@ File file = new File(name); return file.isAbsolute(); } + + protected String normalizePath(String name) { + return FileUtil.normalizePath(name); + } /** * Changes the name of this remote file. This method alters the absolute and @@ -97,9 +101,9 @@ } // Make sure the newName is normalized. - String newFileName = FileUtil.normalizePath(newName); + String newFileName = normalizePath(newName); - if (LOG.isTraceEnabled()) { + if (LOG.isTraceEnabled()) { LOG.trace("Normalized endpointPath: " + endpointPath); LOG.trace("Normalized newFileName: " + newFileName); } Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java?rev=752796&r1=752795&r2=752796&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java Thu Mar 12 07:40:48 2009 @@ -94,6 +94,10 @@ public abstract String getScheme(); + public abstract char getFileSeparator(); + + public abstract boolean isAbsolute(String name); + /** * Return the file name that will be auto-generated for the given message if * none is provided @@ -426,24 +430,21 @@ } // remove trailing slash - expression = FileUtil.stripTrailingSeparator(expression); + expression = FileUtil.stripTrailingSeparator(expression); StringBuilder sb = new StringBuilder(); - // relative or absolute path? - File file = new File(expression); - // if relative then insert start with the parent folder - if (!file.isAbsolute()) { + if (!isAbsolute(expression)) { sb.append("${file:parent}"); - sb.append(File.separator); + sb.append(getFileSeparator()); } // insert the directory the end user provided sb.append(expression); // append only the filename (file:name can contain a relative path, so we must use onlyname) - sb.append(File.separator); + sb.append(getFileSeparator()); sb.append("${file:onlyname}"); - + return sb.toString(); } Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFile.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFile.java?rev=752796&r1=752795&r2=752796&view=diff ============================================================================== --- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFile.java (original) +++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFile.java Thu Mar 12 07:40:48 2009 @@ -48,6 +48,11 @@ return name.startsWith("" + getFileSeparator()); } + @Override + protected String normalizePath(String name) { + return name; + } + @SuppressWarnings("unchecked") public RemoteFile<T> copyFrom(RemoteFile<T> source) { RemoteFile<T> result; @@ -74,8 +79,8 @@ return result; } - protected String normalizePathToProtocol(String path) { - path = super.normalizePathToProtocol(path); + protected String normalizePathToProtocol(String path) { + path = super.normalizePathToProtocol(path); // strip leading / for FTP protocol to avoid files with absolute paths return FileUtil.stripLeadingSeparator(path); } Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java?rev=752796&r1=752795&r2=752796&view=diff ============================================================================== --- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java (original) +++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java Thu Mar 12 07:40:48 2009 @@ -16,6 +16,8 @@ */ package org.apache.camel.component.file.remote; +import java.io.File; + import org.apache.camel.Processor; import org.apache.camel.component.file.GenericFile; import org.apache.camel.component.file.GenericFileEndpoint; @@ -115,5 +117,15 @@ public String remoteServerInformation() { return ((RemoteFileConfiguration) configuration).remoteServerInformation(); } + + @Override + public char getFileSeparator() { + return '/'; + } + + @Override + public boolean isAbsolute(String name) { + return name.startsWith("/"); + } }