You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2009/05/06 08:45:15 UTC
svn commit: r772071 - in /camel/trunk:
camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java
components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileProducer.java
Author: ningjiang
Date: Wed May 6 06:45:14 2009
New Revision: 772071
URL: http://svn.apache.org/viewvc?rev=772071&view=rev
Log:
CAMEL-1585 fixed the issue of GenericFileProducer.createFileName produces OS normalized file name, that doesn't work with SFTP
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java
camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileProducer.java
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java?rev=772071&r1=772070&r2=772071&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java Wed May 6 06:45:14 2009
@@ -36,12 +36,21 @@
protected final transient Log log = LogFactory.getLog(getClass());
protected final GenericFileEndpoint<T> endpoint;
protected final GenericFileOperations<T> operations;
-
+
protected GenericFileProducer(GenericFileEndpoint<T> endpoint, GenericFileOperations<T> operations) {
super(endpoint);
this.endpoint = endpoint;
this.operations = operations;
}
+
+ protected String getFileSeparator() {
+ return File.separator;
+ }
+
+
+ protected String normalizePath(String name) {
+ return FileUtil.normalizePath(name);
+ }
@SuppressWarnings("unchecked")
public void process(Exchange exchange) throws Exception {
@@ -116,7 +125,7 @@
try {
// build directory if auto create is enabled
if (endpoint.isAutoCreate()) {
- int lastPathIndex = fileName.lastIndexOf(File.separator);
+ int lastPathIndex = fileName.lastIndexOf(getFileSeparator());
if (lastPathIndex != -1) {
String directory = fileName.substring(0, lastPathIndex);
// skip trailing /
@@ -173,7 +182,7 @@
// flattern name
if (name != null && endpoint.isFlattern()) {
- int pos = name.lastIndexOf(File.separator);
+ int pos = name.lastIndexOf(getFileSeparator());
if (pos == -1) {
pos = name.lastIndexOf('/');
}
@@ -188,7 +197,7 @@
// If the path isn't empty, we need to add a trailing / if it isn't already there
String baseDir = "";
if (endpointPath.length() > 0) {
- baseDir = endpointPath + (endpointPath.endsWith(File.separator) ? "" : File.separator);
+ baseDir = endpointPath + (endpointPath.endsWith(getFileSeparator()) ? "" : getFileSeparator());
}
if (name != null) {
answer = baseDir + name;
@@ -198,16 +207,16 @@
}
// must normalize path to cater for Windows and other OS
- answer = FileUtil.normalizePath(answer);
+ answer = normalizePath(answer);
return answer;
}
protected String createTempFileName(String fileName) {
// must normalize path to cater for Windows and other OS
- fileName = FileUtil.normalizePath(fileName);
+ fileName = normalizePath(fileName);
- int path = fileName.lastIndexOf(File.separator);
+ int path = fileName.lastIndexOf(getFileSeparator());
if (path == -1) {
// no path
return endpoint.getTempPrefix() + fileName;
Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileProducer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileProducer.java?rev=772071&r1=772070&r2=772071&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileProducer.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileProducer.java Wed May 6 06:45:14 2009
@@ -16,6 +16,7 @@
*/
package org.apache.camel.component.file.remote;
+import java.io.File;
import java.io.IOException;
import org.apache.camel.Exchange;
@@ -31,10 +32,20 @@
public class RemoteFileProducer<T> extends GenericFileProducer<T> {
private boolean loggedIn;
-
+
protected RemoteFileProducer(RemoteFileEndpoint<T> endpoint, RemoteFileOperations<T> operations) {
super(endpoint, operations);
}
+
+ @Override
+ protected String getFileSeparator() {
+ return "/";
+ }
+
+ @Override
+ protected String normalizePath(String name) {
+ return name;
+ }
@SuppressWarnings("unchecked")
public void process(Exchange exchange) throws Exception {