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/03/08 12:15:48 UTC
svn commit: r751401 - in /camel/trunk:
camel-core/src/main/java/org/apache/camel/
camel-core/src/main/java/org/apache/camel/component/file/
camel-core/src/main/java/org/apache/camel/component/file/strategy/
camel-core/src/main/java/org/apache/camel/lan...
Author: davsclaus
Date: Sun Mar 8 11:15:47 2009
New Revision: 751401
URL: http://svn.apache.org/viewvc?rev=751401&view=rev
Log:
CAMEL-1428: SFTP problem with XP. A quick fix to let Paddy test it.
Added:
camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMoveRelativeNameTest.java (contents, props changed)
- copied, changed from r751229, camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMoveMultipleDirectoriesTest.java
Removed:
camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMoveMultipleDirectoriesTest.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/AntPathMatcherGenericFileFilter.java
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileBinding.java
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileConsumer.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/GenericFileConsumer.java
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileExchange.java
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.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/GenericFileRenameExclusiveReadLockStrategy.java
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameProcessStrategy.java
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/MarkerFileExclusiveReadLockStrategy.java
camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileExpressionBuilder.java
camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileLanguage.java
camel/trunk/camel-core/src/main/java/org/apache/camel/util/FileUtil.java
camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConfigureTest.java
camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeFilesAndDelete.java
camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginAndCommitExpressionRenameStrategyTest.java
camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginAndCommitRenameStrategyTest.java
camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginExpressionRenameStrategyTest.java
camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginRenameStrategyTest.java
camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileSortByExpressionTest.java
camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileSortByNestedExpressionTest.java
camel/trunk/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java
camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpOperations.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/SftpConsumer.java
camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java
camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFileAbsoluteFolderRecursiveTest.java
camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFileRecursiveTest.java
camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFileToHiddenFolderRecursiveTest.java
camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpRemoteFileSortByExpressionTest.java
camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpRemoteFileSortByNestedExpressionTest.java
camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpSetNamesWithMultiDirectoriesTest.java
camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerMultipleDirectoriesTest.java
camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerWithNoFileOptionTest.java
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java Sun Mar 8 11:15:47 2009
@@ -48,6 +48,7 @@
String FILE_BATCH_SIZE = "CamelFileBatchSize";
String FILE_LOCAL_WORK_PATH = "CamelFileLocalWorkPath";
String FILE_NAME = "CamelFileName";
+ String FILE_NAME_ONLY = "CamelFileNameOnly";
String FILE_NAME_PRODUCED = "CamelFileNameProduced";
String LOOP_INDEX = "CamelLoopIndex";
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/AntPathMatcherGenericFileFilter.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/AntPathMatcherGenericFileFilter.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/AntPathMatcherGenericFileFilter.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/AntPathMatcherGenericFileFilter.java Sun Mar 8 11:15:47 2009
@@ -52,7 +52,7 @@
ObjectHelper.invokeMethod(excludesMethod, filter, collectionAsCommaDelimitedString(excludes));
// invoke acceptPathName(String)
- String path = file.getRelativeFileName();
+ String path = file.getRelativeFilePath();
Boolean result = (Boolean) ObjectHelper.invokeMethod(acceptsMethod, filter, path);
return result;
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileBinding.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileBinding.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileBinding.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileBinding.java Sun Mar 8 11:15:47 2009
@@ -29,12 +29,12 @@
public Object getBody(GenericFile<File> file) {
// as we use java.io.File itself as the body (not loading its content into a OutputStream etc.)
// we just store a java.io.File handle to the actual file denoted by the
- // file.getAbsoluteFileName. We must do this as the original file consumed can be renamed before
+ // file.getAbsoluteFilePath. We must do this as the original file consumed can be renamed before
// being processed (preMove) and thus it points to an invalid file location.
- // GenericFile#getAbsoluteFileName() is always up-to-date and thus we use it to create a file
+ // GenericFile#getAbsoluteFilePath() is always up-to-date and thus we use it to create a file
// handle that is correct
- if (body == null || !file.getAbsoluteFileName().equals(body.getAbsolutePath())) {
- body = new File(file.getAbsoluteFileName());
+ if (body == null || !file.getAbsoluteFilePath().equals(body.getAbsolutePath())) {
+ body = new File(file.getAbsoluteFilePath());
}
return body;
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileConsumer.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileConsumer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileConsumer.java Sun Mar 8 11:15:47 2009
@@ -17,7 +17,6 @@
package org.apache.camel.component.file;
import java.io.File;
-import java.io.IOException;
import java.util.List;
import org.apache.camel.Processor;
@@ -103,12 +102,13 @@
answer.setBinding(new FileBinding());
answer.setFile(file);
answer.setFileLength(file.length());
- answer.setFileName(file.getName());
+ answer.setFileNameOnly(file.getName());
answer.setAbsolute(file.isAbsolute());
- answer.setAbsoluteFileName(file.getAbsolutePath());
+ answer.setAbsoluteFilePath(file.getAbsolutePath());
answer.setLastModified(file.lastModified());
if (file.isAbsolute()) {
- answer.setRelativeFileName(null);
+ // use absolute path as relative
+ answer.setRelativeFilePath(file.getAbsolutePath());
} else {
File path;
if (file.getPath().startsWith(endpointPath)) {
@@ -119,11 +119,15 @@
}
if (path.getParent() != null) {
- answer.setRelativeFileName(path.getParent() + File.separator + file.getName());
+ answer.setRelativeFilePath(path.getParent() + File.separator + file.getName());
} else {
- answer.setRelativeFileName(path.getName());
+ answer.setRelativeFilePath(path.getName());
}
}
+
+ // name is the relative path as we want to preserve leading paths relative to the endpoint path
+ answer.setFileName(answer.getRelativeFilePath());
+
// use file as body as we have converters if needed as stream
answer.setBody(file);
return answer;
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=751401&r1=751400&r2=751401&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 Sun Mar 8 11:15:47 2009
@@ -17,8 +17,9 @@
package org.apache.camel.component.file;
import java.io.File;
-import java.io.IOException;
import java.io.Serializable;
+import java.util.Stack;
+import java.util.Iterator;
import org.apache.camel.util.FileUtil;
import org.apache.camel.util.ObjectHelper;
@@ -30,9 +31,10 @@
public class GenericFile<T> implements Serializable {
private String endpointPath;
- private String absoluteFileName;
- private String relativeFileName;
private String fileName;
+ private String fileNameOnly;
+ private String relativeFilePath;
+ private String absoluteFilePath;
private long fileLength;
private long lastModified;
private T file;
@@ -60,9 +62,10 @@
}
result.setEndpointPath(source.getEndpointPath());
result.setAbsolute(source.isAbsolute());
- result.setAbsoluteFileName(source.getAbsoluteFileName());
- result.setRelativeFileName(source.getRelativeFileName());
+ result.setAbsoluteFilePath(source.getAbsoluteFilePath());
+ result.setRelativeFilePath(source.getRelativeFilePath());
result.setFileName(source.getFileName());
+ result.setFileNameOnly(source.getFileNameOnly());
result.setFileLength(source.getFileLength());
result.setLastModified(source.getLastModified());
result.setFile(source.getFile());
@@ -79,6 +82,38 @@
return File.separator;
}
+ public static String normalizePath(String path) {
+ return path;
+
+ // TODO: not needed
+/* // only normalize path if it contains .. as we want to avoid: path/../sub/../sub2 as this can leads to trouble
+ if (path.indexOf("..") == -1) {
+ return path;
+ }
+
+ Stack<String> stack = new Stack<String>();
+ String[] parts = path.split(File.separator);
+ for (String part : parts) {
+ if (part.equals("..") && !stack.isEmpty()) {
+ // only pop if there is a previous path
+ stack.pop();
+ } else {
+ stack.push(part);
+ }
+ }
+
+ // build path based on stack
+ StringBuilder sb = new StringBuilder();
+ for (Iterator it = stack.iterator(); it.hasNext();) {
+ sb.append(it.next());
+ if (it.hasNext()) {
+ sb.append(File.separator);
+ }
+ }
+
+ return sb.toString();*/
+ }
+
/**
* Changes the name of this remote file. This method alters the absolute and
* relative names as well.
@@ -87,35 +122,37 @@
*/
public void changeFileName(String newName) {
newName = needToNormalize() ? FileUtil.normalizePath(newName) : newName;
-
- // is it relative or absolute
boolean absolute = isAbsolutePath(newName);
boolean nameChangeOnly = newName.indexOf(getFileSeparator()) == -1;
+ // use java.io.File to help us with computing name changes
File file = new File(newName);
- if (absolute) {
- setAbsolute(true);
- setFileName(file.getName());
- setRelativeFileName(null);
- setAbsoluteFileName(file.getAbsolutePath());
- } else {
- setAbsolute(false);
- setFileName(file.getName());
- // relative name is a bit more complex for relative files
- if (nameChangeOnly) {
- setRelativeFileName(changeNameOnly(getRelativeFileName(), file.getName()));
+ // store the file name only
+ setFileNameOnly(file.getName());
+ setFileName(file.getName());
+
+ // relative name is a bit more complex
+ if (nameChangeOnly) {
+ setRelativeFilePath(changeNameOnly(getRelativeFilePath(), file.getName()));
+ setFileName(changeNameOnly(getFileName(), file.getName()));
+ } else {
+ if (file.getParent() != null) {
+ setRelativeFilePath(file.getParent() + getFileSeparator() + file.getName());
} else {
- if (file.getParent() != null) {
- setRelativeFileName(file.getParent() + getFileSeparator() + file.getName());
- } else {
- setRelativeFileName(file.getName());
- }
+ setRelativeFilePath(file.getName());
}
+ }
+ // absolute vs relative
+ if (absolute) {
+ setAbsolute(true);
+ setAbsoluteFilePath(file.getAbsolutePath());
+ } else {
+ setAbsolute(false);
// construct a pseudo absolute filename that the file operations uses
- setAbsoluteFileName(endpointPath + getFileSeparator() + getRelativeFileName());
- }
+ setAbsoluteFilePath(endpointPath + getFileSeparator() + getRelativeFilePath());
+ }
}
private String changeNameOnly(String path, String name) {
@@ -131,12 +168,13 @@
return new File(path).isAbsolute();
}
- public String getRelativeFileName() {
- return relativeFileName;
+ public String getRelativeFilePath() {
+ return relativeFilePath;
}
- public void setRelativeFileName(String relativeFileName) {
- this.relativeFileName = needToNormalize() ? FileUtil.normalizePath(relativeFileName) : relativeFileName;
+ public void setRelativeFilePath(String relativeFilePath) {
+ String path = normalizePath(relativeFilePath);
+ this.relativeFilePath = needToNormalize() ? FileUtil.normalizePath(path) : path;
}
public String getFileName() {
@@ -181,11 +219,11 @@
public String getParent() {
if (isAbsolute()) {
- String name = getAbsoluteFileName();
+ String name = getAbsoluteFilePath();
File path = new File(name);
return path.getParent();
} else {
- String name = getRelativeFileName();
+ String name = getRelativeFilePath();
File path = new File(endpointPath, name);
return path.getParent();
}
@@ -202,12 +240,13 @@
this.binding = binding;
}
- public void setAbsoluteFileName(String absoluteFileName) {
- this.absoluteFileName = needToNormalize() ? FileUtil.normalizePath(absoluteFileName) : absoluteFileName;
+ public void setAbsoluteFilePath(String absoluteFilePath) {
+ String path = normalizePath(absoluteFilePath);
+ this.absoluteFilePath = needToNormalize() ? FileUtil.normalizePath(path) : path;
}
- public String getAbsoluteFileName() {
- return absoluteFileName;
+ public String getAbsoluteFilePath() {
+ return absoluteFilePath;
}
public boolean isAbsolute() {
@@ -226,8 +265,16 @@
this.endpointPath = needToNormalize() ? FileUtil.normalizePath(endpointPath) : endpointPath;
}
+ public String getFileNameOnly() {
+ return fileNameOnly;
+ }
+
+ public void setFileNameOnly(String fileNameOnly) {
+ this.fileNameOnly = fileNameOnly;
+ }
+
@Override
public String toString() {
- return "GenericFile[" + (absolute ? absoluteFileName : relativeFileName) + "]";
+ return "GenericFile[" + (absolute ? absoluteFilePath : relativeFilePath) + "]";
}
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileConsumer.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileConsumer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileConsumer.java Sun Mar 8 11:15:47 2009
@@ -144,7 +144,7 @@
// preMoveNamePrefix/preMoveNamePostfix options
final GenericFile<T> target = exchange.getGenericFile();
// must use full name when downloading so we have the correct path
- final String name = target.getAbsoluteFileName();
+ final String name = target.getAbsoluteFilePath();
// retrieve the file using the stream
if (log.isTraceEnabled()) {
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=751401&r1=751400&r2=751401&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 Sun Mar 8 11:15:47 2009
@@ -383,19 +383,15 @@
public void configureMessage(GenericFile<T> file, Message message) {
message.setBody(file);
- // compute the name that was written
- String name = file.isAbsolute() ? file.getAbsoluteFileName() : file.getRelativeFileName();
+ // compute name to set on header that should be relative to starting directory
+ String name = file.isAbsolute() ? file.getAbsoluteFilePath() : file.getRelativeFilePath();
// skip leading endpoint configured directory
if (name.startsWith(getConfiguration().getDirectory())) {
- name = ObjectHelper.after(name, getConfiguration().getDirectory());
- }
-
- if (name.startsWith(File.separator) || name.startsWith("/")) {
- // skip trailing /
- name = name.substring(1);
+ name = ObjectHelper.after(name, getConfiguration().getDirectory() + File.separator);
}
+ // adjust filename
message.setHeader(Exchange.FILE_NAME, name);
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileExchange.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileExchange.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileExchange.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileExchange.java Sun Mar 8 11:15:47 2009
@@ -61,14 +61,18 @@
protected void populateHeaders(GenericFile<T> file) {
if (file != null) {
- getIn().setHeader("CamelFileName", file.getFileName());
+ getIn().setHeader(Exchange.FILE_NAME_ONLY, file.getFileNameOnly());
+ getIn().setHeader(Exchange.FILE_NAME, file.getFileName());
getIn().setHeader("CamelFileAbsolute", file.isAbsolute());
- getIn().setHeader("CamelFileAbsolutePath", file.getAbsoluteFileName());
+ getIn().setHeader("CamelFileAbsolutePath", file.getAbsoluteFilePath());
+
if (file.isAbsolute()) {
- getIn().setHeader("CamelFilePath", file.getAbsoluteFileName());
+ getIn().setHeader("CamelFilePath", file.getAbsoluteFilePath());
} else {
- getIn().setHeader("CamelFilePath", file.getEndpointPath() + File.separator + file.getRelativeFileName());
+ getIn().setHeader("CamelFilePath", file.getEndpointPath() + File.separator + file.getRelativeFilePath());
}
+
+ getIn().setHeader("CamelFileRelativePath", file.getRelativeFilePath());
getIn().setHeader("CamelFileParent", file.getParent());
if (file.getFileLength() > 0) {
@@ -85,8 +89,8 @@
}
public void setGenericFile(GenericFile<T> file) {
- setIn(new GenericFileMessage<T>(file));
this.file = file;
+ setIn(new GenericFileMessage<T>(file));
populateHeaders(file);
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java Sun Mar 8 11:15:47 2009
@@ -42,7 +42,7 @@
private long timeout;
public boolean acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange) throws Exception {
- File target = new File(file.getAbsoluteFileName());
+ File target = new File(file.getAbsoluteFilePath());
if (LOG.isTraceEnabled()) {
LOG.trace("Waiting for exclusive read lock to file: " + target);
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=751401&r1=751400&r2=751401&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 Sun Mar 8 11:15:47 2009
@@ -29,7 +29,7 @@
// must invoke super
super.commit(operations, endpoint, exchange, file);
- boolean deleted = operations.deleteFile(file.getAbsoluteFileName());
+ boolean deleted = operations.deleteFile(file.getAbsoluteFilePath());
if (!deleted) {
throw new GenericFileOperationFailedException("Cannot delete file: " + file);
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameExclusiveReadLockStrategy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameExclusiveReadLockStrategy.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameExclusiveReadLockStrategy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameExclusiveReadLockStrategy.java Sun Mar 8 11:15:47 2009
@@ -60,13 +60,13 @@
}
}
- exclusive = operations.renameFile(file.getAbsoluteFileName(), newFile.getAbsoluteFileName());
+ exclusive = operations.renameFile(file.getAbsoluteFilePath(), newFile.getAbsoluteFilePath());
if (exclusive) {
if (LOG.isTraceEnabled()) {
LOG.trace("Acquired exclusive read lock to file: " + file);
}
// rename it back so we can read it
- operations.renameFile(newFile.getAbsoluteFileName(), file.getAbsoluteFileName());
+ operations.renameFile(newFile.getAbsoluteFilePath(), file.getAbsoluteFilePath());
} else {
boolean interrupted = sleep();
if (interrupted) {
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameProcessStrategy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameProcessStrategy.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameProcessStrategy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameProcessStrategy.java Sun Mar 8 11:15:47 2009
@@ -62,7 +62,7 @@
private GenericFile<T> renameFile(GenericFileOperations<T> operations, GenericFile<T> from, GenericFile<T> to) throws IOException {
// deleting any existing files before renaming
try {
- operations.deleteFile(to.getAbsoluteFileName());
+ operations.deleteFile(to.getAbsoluteFilePath());
} catch (GenericFileOperationFailedException e) {
// ignore the file does not exists
}
@@ -77,7 +77,7 @@
if (log.isDebugEnabled()) {
log.debug("Renaming file: " + from + " to: " + to);
}
- boolean renamed = operations.renameFile(from.getAbsoluteFileName(), to.getAbsoluteFileName());
+ boolean renamed = operations.renameFile(from.getAbsoluteFilePath(), to.getAbsoluteFilePath());
if (!renamed) {
throw new GenericFileOperationFailedException("Cannot rename file: " + from + " to: " + to);
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/MarkerFileExclusiveReadLockStrategy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/MarkerFileExclusiveReadLockStrategy.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/MarkerFileExclusiveReadLockStrategy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/MarkerFileExclusiveReadLockStrategy.java Sun Mar 8 11:15:47 2009
@@ -43,7 +43,7 @@
public boolean acquireExclusiveReadLock(GenericFileOperations<File> fileGenericFileOperations,
GenericFile<File> file, Exchange exchange) throws Exception {
- String lockFileName = file.getAbsoluteFileName() + FileComponent.DEFAULT_LOCK_FILE_POSTFIX;
+ String lockFileName = file.getAbsoluteFilePath() + FileComponent.DEFAULT_LOCK_FILE_POSTFIX;
if (LOG.isTraceEnabled()) {
LOG.trace("Locking the file: " + file + " using the lock file name: " + lockFileName);
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileExpressionBuilder.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileExpressionBuilder.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileExpressionBuilder.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileExpressionBuilder.java Sun Mar 8 11:15:47 2009
@@ -26,6 +26,7 @@
import org.apache.camel.impl.ExpressionAdapter;
import org.apache.camel.language.IllegalSyntaxException;
import org.apache.camel.language.constant.ConstantLanguage;
+import org.apache.camel.util.FileUtil;
/**
* A helper class for working with <a href="http://camel.apache.org/expression.html">expressions</a> based
@@ -44,7 +45,7 @@
public static Expression fileNameExpression() {
return new ExpressionAdapter() {
public Object evaluate(Exchange exchange) {
- return exchange.getIn().getHeader("CamelFileName", String.class);
+ return exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
}
@Override
@@ -54,10 +55,23 @@
};
}
+ public static Expression fileOnlyNameExpression() {
+ return new ExpressionAdapter() {
+ public Object evaluate(Exchange exchange) {
+ return exchange.getIn().getHeader(Exchange.FILE_NAME_ONLY, String.class);
+ }
+
+ @Override
+ public String toString() {
+ return "file:onlyname";
+ }
+ };
+ }
+
public static Expression fileNameNoExtensionExpression() {
return new ExpressionAdapter() {
public Object evaluate(Exchange exchange) {
- String name = exchange.getIn().getHeader("CamelFileName", String.class);
+ String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
if (name != null) {
if (name.lastIndexOf(".") != -1) {
return name.substring(0, name.lastIndexOf('.'));
@@ -77,10 +91,33 @@
};
}
- public static Expression fileNameExtensionExpression() {
+ public static Expression fileOnlyNameNoExtensionExpression() {
+ return new ExpressionAdapter() {
+ public Object evaluate(Exchange exchange) {
+ String name = exchange.getIn().getHeader(Exchange.FILE_NAME_ONLY, String.class);
+ if (name != null) {
+ if (name.lastIndexOf(".") != -1) {
+ return name.substring(0, name.lastIndexOf('.'));
+ } else {
+ // name does not have extension
+ return name;
+ }
+ } else {
+ return null;
+ }
+ }
+
+ @Override
+ public String toString() {
+ return "file:onlyname.noext";
+ }
+ };
+ }
+
+ public static Expression fileExtensionExpression() {
return new ExpressionAdapter() {
public Object evaluate(Exchange exchange) {
- String name = exchange.getIn().getHeader("CamelFileName", String.class);
+ String name = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
if (name != null) {
return name.substring(name.lastIndexOf('.') + 1);
} else {
@@ -90,7 +127,7 @@
@Override
public String toString() {
- return "file:name.ext";
+ return "file:ext";
}
};
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileLanguage.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileLanguage.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileLanguage.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileLanguage.java Sun Mar 8 11:15:47 2009
@@ -25,21 +25,28 @@
*
* Examples of supported file expressions are:
* <ul>
- * <li><tt>file:name</tt> to access the file name</li>
- * <li><tt>file:name.noext</tt> to access the file name with no extension</li>
- * <li><tt>file:name.ext</tt> to access the file name extension</li>
- * <li><tt>file:parent</tt> to access the parent file name</li>
- * <li><tt>file:path</tt> to access the file path name</li>
- * <li><tt>file:absolute</tt> is the file regarded as absolute or relative</li>
- * <li><tt>file:absolute.path</tt> to access the absolute file path name</li>
- * <li><tt>file:length</tt> to access the file length as a Long type</li>
- * <li><tt>file:modified</tt> to access the file last modified as a Date type</li>
- * <li><tt>date:<command>:<pattern></tt> for date formatting using the {@link java.text.SimpleDateFormat} patterns.
+ * <li><tt>file:name</tt> to access the file name (is relative, see note below))</li>
+ * <li><tt>file:name.noext</tt> to access the file name with no extension</li>
+ * <li><tt>file:ext</tt> to access the file extension</li>
+ * <li><tt>file:onlyname</tt> to access the file name (no paths)</li>
+ * <li><tt>file:onlyname.noext</tt> to access the file name (no paths) with no extension </li>
+ * <li><tt>file:parent</tt> to access the parent file name</li>
+ * <li><tt>file:path</tt> to access the file path name</li>
+ * <li><tt>file:absolute</tt> is the file regarded as absolute or relative</li>
+ * <li><tt>file:absolute.path</tt> to access the absolute file path name</li>
+ * <li><tt>file:length</tt> to access the file length as a Long type</li>
+ * <li><tt>file:modified</tt> to access the file last modified as a Date type</li>
+ * <li><tt>date:<command>:<pattern></tt> for date formatting using the {@link java.text.SimpleDateFormat} patterns.
* Additional Supported commands are: <tt>file</tt> for the last modified timestamp of the file.
* All the commands from {@link SimpleLanguage} is also avaiable.
- * </li>
+ * </li>
* </ul>
- * All the simple expression is also available so you can eg use <tt>${in.header.foo}</tt> to access the foo header.
+ * The <b>relative</b> file is the filename with the starting directory clipped, as opposed to <b>path</b> that will
+ * return the full path including the starting directory.
+ * <br/>
+ * The <b>only</b> file is the filename only with all paths clipped.
+ * <br/>
+ * All the simple expression is also available so you can eg use <tt>${in.header.foo}</tt> to access the foo header.
*
* @see org.apache.camel.language.simple.SimpleLanguage
* @see org.apache.camel.language.bean.BeanLanguage
@@ -58,10 +65,14 @@
if (remainder != null) {
if (ObjectHelper.equal(remainder, "name")) {
return FileExpressionBuilder.fileNameExpression();
- } else if (ObjectHelper.equal(remainder, "name.ext")) {
- return FileExpressionBuilder.fileNameExtensionExpression();
} else if (ObjectHelper.equal(remainder, "name.noext")) {
return FileExpressionBuilder.fileNameNoExtensionExpression();
+ } else if (ObjectHelper.equal(remainder, "onlyname")) {
+ return FileExpressionBuilder.fileOnlyNameExpression();
+ } else if (ObjectHelper.equal(remainder, "onlyname.noext")) {
+ return FileExpressionBuilder.fileOnlyNameNoExtensionExpression();
+ } else if (ObjectHelper.equal(remainder, "ext")) {
+ return FileExpressionBuilder.fileExtensionExpression();
} else if (ObjectHelper.equal(remainder, "parent")) {
return FileExpressionBuilder.fileParentExpression();
} else if (ObjectHelper.equal(remainder, "path")) {
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/util/FileUtil.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/util/FileUtil.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/util/FileUtil.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/util/FileUtil.java Sun Mar 8 11:15:47 2009
@@ -309,10 +309,27 @@
}
public static String stripLeadingSeparator(String name) {
+ if (name == null) {
+ return null;
+ }
if (name.startsWith("/") || name.startsWith(File.separator)) {
return name.substring(1);
}
return name;
}
+ public static String stripPath(String name) {
+ if (name == null) {
+ return null;
+ }
+ int pos = name.lastIndexOf("/");
+ if (pos == -1) {
+ pos = name.lastIndexOf(File.separator);
+ }
+ if (pos != -1) {
+ return name.substring(pos + 1);
+ }
+ return name;
+ }
+
}
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConfigureTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConfigureTest.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConfigureTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConfigureTest.java Sun Mar 8 11:15:47 2009
@@ -21,10 +21,8 @@
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
-import org.apache.camel.Message;
import org.apache.camel.Processor;
import org.apache.camel.ResolveEndpointFailedException;
-import org.apache.camel.impl.DefaultMessage;
/**
* @version $Revision$
@@ -40,17 +38,17 @@
};
public void testUriConfigurations() throws Exception {
- assertFileEndpoint("file://target/foo/bar", EXPECT_PATH);
- assertFileEndpoint("file://target/foo/bar?delete=true", EXPECT_PATH);
- assertFileEndpoint("file:target/foo/bar?delete=true", EXPECT_PATH);
- assertFileEndpoint("file:target/foo/bar", EXPECT_PATH);
- assertFileEndpoint("file://target/foo/bar/", EXPECT_PATH);
- assertFileEndpoint("file://target/foo/bar/?delete=true", EXPECT_PATH);
- assertFileEndpoint("file:target/foo/bar/?delete=true", EXPECT_PATH);
- assertFileEndpoint("file:target/foo/bar/", EXPECT_PATH);
- assertFileEndpoint("file:/target/foo/bar/", File.separator + EXPECT_PATH);
- assertFileEndpoint("file:/", File.separator);
- assertFileEndpoint("file:///", File.separator);
+ assertFileEndpoint("file://target/foo/bar", EXPECT_PATH, false);
+ assertFileEndpoint("file://target/foo/bar?delete=true", EXPECT_PATH, false);
+ assertFileEndpoint("file:target/foo/bar?delete=true", EXPECT_PATH, false);
+ assertFileEndpoint("file:target/foo/bar", EXPECT_PATH, false);
+ assertFileEndpoint("file://target/foo/bar/", EXPECT_PATH, false);
+ assertFileEndpoint("file://target/foo/bar/?delete=true", EXPECT_PATH, false);
+ assertFileEndpoint("file:target/foo/bar/?delete=true", EXPECT_PATH, false);
+ assertFileEndpoint("file:target/foo/bar/", EXPECT_PATH, false);
+ assertFileEndpoint("file:/target/foo/bar/", File.separator + EXPECT_PATH + File.separator + EXPECT_FILE, true);
+ assertFileEndpoint("file:/", File.separator, true);
+ assertFileEndpoint("file:///", File.separator, true);
}
public void testConsumerConfigurations() throws Exception {
@@ -76,19 +74,20 @@
return endpoint.createConsumer(DUMMY_PROCESSOR);
}
- private void assertFileEndpoint(String endpointUri, String expectedPath) throws IOException {
+ private void assertFileEndpoint(String endpointUri, String expectedPath, boolean absolute) throws IOException {
FileEndpoint endpoint = resolveMandatoryEndpoint(endpointUri, FileEndpoint.class);
assertNotNull("Could not find endpoint: " + endpointUri, endpoint);
- File file = endpoint.getFile();
- String path = file.getPath();
- assertDirectoryEquals("For uri: " + endpointUri + " the file is not equal", expectedPath, path);
-
- file = new File(expectedPath + (expectedPath.endsWith(File.separator) ? "" : File.separator) + EXPECT_FILE);
- GenericFile<File> consumedFile = FileConsumer.asGenericFile(endpoint.getFile().getPath(), file);
-
- Message message = new DefaultMessage();
- endpoint.configureMessage(consumedFile, message);
- assertEquals(EXPECT_FILE, message.getHeader(Exchange.FILE_NAME));
+ // TODO: absolute also
+ if (!absolute) {
+ File file = endpoint.getFile();
+ String path = file.getPath();
+ assertDirectoryEquals("For uri: " + endpointUri + " the file is not equal", expectedPath, path);
+
+ file = new File(expectedPath + (expectedPath.endsWith(File.separator) ? "" : File.separator) + EXPECT_FILE);
+ GenericFile<File> consumedFile = FileConsumer.asGenericFile(endpoint.getFile().getPath(), file);
+
+ assertEquals(EXPECT_FILE, consumedFile.getRelativeFilePath());
+ }
}
}
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeFilesAndDelete.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeFilesAndDelete.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeFilesAndDelete.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeFilesAndDelete.java Sun Mar 8 11:15:47 2009
@@ -48,14 +48,13 @@
// file should not exists
assertFalse("File should been deleted", new File("target/files/report.txt").getAbsoluteFile().exists());
- assertFalse("File should been deleted", new File("target/files/.camel/report.txt").getAbsoluteFile().exists());
}
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
public void configure() throws Exception {
- from("file://target/files/?recursive=false&delete=true").to("mock:result");
+ from("file://target/files/?fileName=report.txt&delete=true").to("mock:result");
}
};
}
Copied: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMoveRelativeNameTest.java (from r751229, camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMoveMultipleDirectoriesTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMoveRelativeNameTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMoveRelativeNameTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMoveMultipleDirectoriesTest.java&r1=751229&r2=751401&rev=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMoveMultipleDirectoriesTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMoveRelativeNameTest.java Sun Mar 8 11:15:47 2009
@@ -24,10 +24,10 @@
/**
* Unit test for consuming multiple directories.
*/
-public class FileConsumeMoveMultipleDirectoriesTest extends ContextTestSupport {
+public class FileConsumeMoveRelativeNameTest extends ContextTestSupport {
private String fileUrl = "file://target/multidir/?recursive=true&initialDelay=2000&delay=5000"
- + "&exclude=.*old&move=done/${file:name}.old";
+ + "&move=.done/${file:name}.old";
@Override
protected void setUp() throws Exception {
@@ -42,11 +42,12 @@
MockEndpoint mock = getMockEndpoint("mock:result");
mock.expectedBodiesReceivedInAnyOrder("Bye World", "Hello World", "Godday World");
- mock.expectedFileExists("target/multidir/done/bye.txt.old");
- mock.expectedFileExists("target/multidir/done/sub/hello.txt.old");
- mock.expectedFileExists("target/multidir/done/sub/sub2/godday.txt.old");
+ mock.expectedFileExists("target/multidir/.done/bye.txt.old");
+ mock.expectedFileExists("target/multidir/.done/sub/hello.txt.old");
+ mock.expectedFileExists("target/multidir/.done/sub/sub2/godday.txt.old");
assertMockEndpointsSatisfied();
+
}
protected RouteBuilder createRouteBuilder() throws Exception {
Propchange: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMoveRelativeNameTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMoveRelativeNameTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginAndCommitExpressionRenameStrategyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginAndCommitExpressionRenameStrategyTest.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginAndCommitExpressionRenameStrategyTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginAndCommitExpressionRenameStrategyTest.java Sun Mar 8 11:15:47 2009
@@ -67,7 +67,7 @@
.process(new Processor() {
public void process(Exchange exchange) throws Exception {
GenericFileExchange<File> fe = (GenericFileExchange<File>) exchange;
- assertTrue(fe.getGenericFile().getRelativeFileName().indexOf("inprogress") > -1);
+ assertTrue(fe.getGenericFile().getRelativeFilePath().indexOf("inprogress") > -1);
}
})
.to("mock:report");
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginAndCommitRenameStrategyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginAndCommitRenameStrategyTest.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginAndCommitRenameStrategyTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginAndCommitRenameStrategyTest.java Sun Mar 8 11:15:47 2009
@@ -73,11 +73,11 @@
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
public void configure() throws Exception {
- from("file://target/reports?preMove=../inprogress/${file:name}&move=../done/${file:name}&consumer.delay=5000")
+ from("file://target/reports?preMove=../inprogress/${file:name}&move=../done/${file:name}&delay=5000")
.process(new Processor() {
public void process(Exchange exchange) throws Exception {
GenericFileExchange<File> fe = (GenericFileExchange<File>) exchange;
- assertTrue(fe.getGenericFile().getRelativeFileName().indexOf("inprogress") > -1);
+ assertTrue(fe.getGenericFile().getRelativeFilePath().indexOf("inprogress") > -1);
}
})
.to("mock:report");
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginExpressionRenameStrategyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginExpressionRenameStrategyTest.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginExpressionRenameStrategyTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginExpressionRenameStrategyTest.java Sun Mar 8 11:15:47 2009
@@ -76,7 +76,7 @@
.process(new Processor() {
public void process(Exchange exchange) throws Exception {
GenericFileExchange<File> fe = (GenericFileExchange<File>) exchange;
- assertTrue(fe.getGenericFile().getRelativeFileName().indexOf("inprogress") > -1);
+ assertTrue(fe.getGenericFile().getRelativeFilePath().indexOf("inprogress") > -1);
}
})
.to("mock:report");
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginRenameStrategyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginRenameStrategyTest.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginRenameStrategyTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerBeginRenameStrategyTest.java Sun Mar 8 11:15:47 2009
@@ -74,7 +74,7 @@
.process(new Processor() {
public void process(Exchange exchange) throws Exception {
GenericFileExchange<File> fe = (GenericFileExchange<File>) exchange;
- assertTrue(fe.getGenericFile().getRelativeFileName().indexOf("inprogress") > -1);
+ assertTrue(fe.getGenericFile().getRelativeFilePath().indexOf("inprogress") > -1);
}
})
.to("mock:report");
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileSortByExpressionTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileSortByExpressionTest.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileSortByExpressionTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileSortByExpressionTest.java Sun Mar 8 11:15:47 2009
@@ -56,7 +56,7 @@
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
- from(fileUrl + "a/?sortBy=file:name.ext").to("mock:result");
+ from(fileUrl + "a/?sortBy=file:ext").to("mock:result");
}
});
context.start();
@@ -73,7 +73,7 @@
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
- from(fileUrl + "b/?sortBy=reverse:file:name.ext").to("mock:reverse");
+ from(fileUrl + "b/?sortBy=reverse:file:ext").to("mock:reverse");
}
});
context.start();
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileSortByNestedExpressionTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileSortByNestedExpressionTest.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileSortByNestedExpressionTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileSortByNestedExpressionTest.java Sun Mar 8 11:15:47 2009
@@ -59,7 +59,7 @@
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
- from(fileUrl + "a/?sortBy=file:name.ext;file:name").to("mock:result");
+ from(fileUrl + "a/?sortBy=file:ext;file:name").to("mock:result");
}
});
context.start();
@@ -76,7 +76,7 @@
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
- from(fileUrl + "b/?sortBy=file:name.ext;reverse:file:name").to("mock:reverse");
+ from(fileUrl + "b/?sortBy=file:ext;reverse:file:name").to("mock:reverse");
}
});
context.start();
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java Sun Mar 8 11:15:47 2009
@@ -25,6 +25,7 @@
import org.apache.camel.Exchange;
import org.apache.camel.ExchangePattern;
import org.apache.camel.LanguageTestSupport;
+import org.apache.camel.util.ObjectHelper;
import org.apache.camel.component.file.FileConsumer;
import org.apache.camel.component.file.FileEndpoint;
import org.apache.camel.component.file.GenericFile;
@@ -60,9 +61,11 @@
}
public void testFile() throws Exception {
- assertExpression("${file:name}", file.getName());
- assertExpression("${file:name.ext}", "txt");
- assertExpression("${file:name.noext}", "hello");
+ assertExpression("${file:ext}", "txt");
+ assertExpression("${file:name}", "test" + File.separator + file.getName());
+ assertExpression("${file:name.noext}", "test" + File.separator + "hello");
+ assertExpression("${file:onlyname}", file.getName());
+ assertExpression("${file:onlyname.noext}", "hello");
assertExpression("${file:parent}", file.getParent());
assertExpression("${file:path}", file.getPath());
assertExpression("${file:absolute}", file.isAbsolute());
@@ -93,11 +96,13 @@
}
public void testSimpleAndFile() throws Exception {
- assertExpression("backup-${in.header.foo}-${file:name.noext}.bak", "backup-abc-hello.bak");
+ assertExpression("backup-${in.header.foo}-${file:name.noext}.bak", "backup-abc-test/hello.bak");
+ assertExpression("backup-${in.header.foo}-${file:onlyname.noext}.bak", "backup-abc-hello.bak");
}
public void testSimpleAndFileAndBean() throws Exception {
- assertExpression("backup-${in.header.foo}-${bean:generator}-${file:name.noext}.bak", "backup-abc-generatorbybean-hello.bak");
+ assertExpression("backup-${in.header.foo}-${bean:generator}-${file:name.noext}.bak", "backup-abc-generatorbybean-test/hello.bak");
+ assertExpression("backup-${in.header.foo}-${bean:generator}-${file:onlyname.noext}.bak", "backup-abc-generatorbybean-hello.bak");
}
public void testBean() throws Exception {
@@ -108,10 +113,10 @@
public Exchange createExchange() {
// create the file
String uri = "file://target/filelanguage";
- template.sendBodyAndHeader(uri, "Hello World", Exchange.FILE_NAME, "hello.txt");
+ template.sendBodyAndHeader(uri, "Hello World", Exchange.FILE_NAME, "test/hello.txt");
// get the file handle
- file = new File("target/filelanguage/hello.txt");
+ file = new File("target/filelanguage/test/hello.txt");
GenericFile<File> gf = FileConsumer.asGenericFile("target/filelanguage", file);
FileEndpoint endpoint = getMandatoryEndpoint(uri, FileEndpoint.class);
Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java Sun Mar 8 11:15:47 2009
@@ -100,6 +100,7 @@
answer.setEndpointPath(endpointPath);
answer.setFile(file);
answer.setFileName(file.getName());
+ answer.setFileNameOnly(file.getName());
answer.setFileLength(file.getSize());
if (file.getTimestamp() != null) {
answer.setLastModified(file.getTimestamp().getTimeInMillis());
@@ -111,7 +112,7 @@
// create a pseudo absolute name
String absoluteFileName = (ObjectHelper.isNotEmpty(directory) ? directory + "/" : "") + file.getName();
- answer.setAbsoluteFileName(absoluteFileName);
+ answer.setAbsoluteFilePath(absoluteFileName);
// the relative filename, skip the leading endpoint configured path
String relativePath = ObjectHelper.after(absoluteFileName, endpointPath);
@@ -119,7 +120,7 @@
// skip trailing /
relativePath = relativePath.substring(1);
}
- answer.setRelativeFileName(relativePath);
+ answer.setRelativeFilePath(relativePath);
return answer;
}
Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpOperations.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpOperations.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpOperations.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpOperations.java Sun Mar 8 11:15:47 2009
@@ -119,9 +119,6 @@
}
public boolean deleteFile(FTPClient client, String name) throws GenericFileOperationFailedException {
- // for FTP we can not use leading / for refering to files
- name = FileUtil.stripLeadingSeparator(name);
-
if (LOG.isDebugEnabled()) {
LOG.debug("Deleteing file: " + name);
}
@@ -133,10 +130,6 @@
}
public boolean renameFile(String from, String to) throws GenericFileOperationFailedException {
- // for FTP we can not use leading / for refering to files
- from = FileUtil.stripLeadingSeparator(from);
- to = FileUtil.stripLeadingSeparator(to);
-
if (LOG.isDebugEnabled()) {
LOG.debug("Renaming file: " + from + " to: " + to);
}
@@ -148,9 +141,6 @@
}
public boolean buildDirectory(String directory, boolean absolute) throws GenericFileOperationFailedException {
- // for FTP we can not use leading / for refering to files
- directory = FileUtil.stripLeadingSeparator(directory);
-
if (LOG.isTraceEnabled()) {
LOG.trace("Building directory: " + directory);
}
@@ -214,7 +204,7 @@
OutputStream os;
try {
// use relative filename in local work directory
- String relativeName = exchange.getGenericFile().getRelativeFileName();
+ String relativeName = exchange.getGenericFile().getRelativeFilePath();
temp = new File(local, relativeName + ".inprogress");
local = new File(local, relativeName);
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=751401&r1=751400&r2=751401&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 Sun Mar 8 11:15:47 2009
@@ -48,8 +48,8 @@
public RemoteFile<T> copyFrom(RemoteFile<T> source) {
RemoteFile<T> result = (RemoteFile<T>) source.clone();
result.setAbsolute(source.isAbsolute());
- result.setAbsoluteFileName(source.getAbsoluteFileName());
- result.setRelativeFileName(source.getRelativeFileName());
+ result.setAbsoluteFilePath(source.getAbsoluteFilePath());
+ result.setRelativeFilePath(source.getRelativeFilePath());
result.setFileName(source.getFileName());
result.setFileLength(source.getFileLength());
result.setLastModified(source.getLastModified());
Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java Sun Mar 8 11:15:47 2009
@@ -104,6 +104,7 @@
answer.setEndpointPath(endpointPath);
answer.setFile(file);
answer.setFileName(file.getFilename());
+ answer.setFileNameOnly(file.getFilename());
answer.setFileLength(file.getAttrs().getSize());
answer.setLastModified(file.getAttrs().getMTime() * 1000L);
answer.setHostname(((RemoteFileConfiguration) endpoint.getConfiguration()).getHost());
@@ -113,7 +114,7 @@
// create a pseudo absolute name
String absoluteFileName = (ObjectHelper.isNotEmpty(directory) ? directory + "/" : "") + file.getFilename();
- answer.setAbsoluteFileName(absoluteFileName);
+ answer.setAbsoluteFilePath(absoluteFileName);
// the relative filename, skip the leading endpoint configured path
String relativePath = ObjectHelper.after(absoluteFileName, endpointPath);
@@ -121,7 +122,7 @@
// skip trailing /
relativePath = relativePath.substring(1);
}
- answer.setRelativeFileName(relativePath);
+ answer.setRelativeFilePath(relativePath);
return answer;
}
Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpOperations.java Sun Mar 8 11:15:47 2009
@@ -145,9 +145,6 @@
}
public boolean deleteFile(String name) throws GenericFileOperationFailedException {
- // for FTP we can not use leading / for refering to files
- name = FileUtil.stripLeadingSeparator(name);
-
if (LOG.isDebugEnabled()) {
LOG.debug("Deleteing file: " + name);
}
@@ -160,10 +157,6 @@
}
public boolean renameFile(String from, String to) throws GenericFileOperationFailedException {
- // for FTP we can not use leading / for refering to files
- from = FileUtil.stripLeadingSeparator(from);
- to = FileUtil.stripLeadingSeparator(to);
-
if (LOG.isDebugEnabled()) {
LOG.debug("Renaming file: " + from + " to: " + to);
}
@@ -176,9 +169,6 @@
}
public boolean buildDirectory(String directory, boolean absolute) throws GenericFileOperationFailedException {
- // for FTP we can not use leading / for refering to files
- directory = FileUtil.stripLeadingSeparator(directory);
-
// ignore absolute as all dirs are relative with FTP
boolean success = false;
@@ -312,7 +302,7 @@
OutputStream os;
try {
// use relative filename in local work directory
- String relativeName = exchange.getGenericFile().getRelativeFileName();
+ String relativeName = exchange.getGenericFile().getRelativeFilePath();
temp = new File(local, relativeName + ".inprogress");
local = new File(local, relativeName);
Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFileAbsoluteFolderRecursiveTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFileAbsoluteFolderRecursiveTest.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFileAbsoluteFolderRecursiveTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFileAbsoluteFolderRecursiveTest.java Sun Mar 8 11:15:47 2009
@@ -26,8 +26,8 @@
public class FromFtpMoveFileAbsoluteFolderRecursiveTest extends FtpServerTestSupport {
private String getFtpUrl() {
- return "ftp://admin@localhost:" + getPort() + "/movefile?password=admin&recursive=true&binary=false&exclude=.*old"
- + "&move=/done/${file:name}.old&initialDelay=2500&delay=5000";
+ return "ftp://admin@localhost:" + getPort() + "/movefile?password=admin&recursive=true&binary=false"
+ + "&move=/.done/${file:name}.old&initialDelay=2500&delay=5000";
}
@Override
@@ -46,9 +46,9 @@
public void testPollFileAndShouldBeMoved() throws Exception {
MockEndpoint mock = getMockEndpoint("mock:result");
mock.expectedBodiesReceivedInAnyOrder("Hello", "Bye", "Goodday");
- mock.expectedFileExists(FTP_ROOT_DIR + "done/hello.txt.old");
- mock.expectedFileExists(FTP_ROOT_DIR + "done/bye/bye.txt.old");
- mock.expectedFileExists(FTP_ROOT_DIR + "done/goodday/goodday.txt.old");
+ mock.expectedFileExists(FTP_ROOT_DIR + ".done/hello.txt.old");
+ mock.expectedFileExists(FTP_ROOT_DIR + ".done/bye/bye.txt.old");
+ mock.expectedFileExists(FTP_ROOT_DIR + ".done/goodday/goodday.txt.old");
mock.assertIsSatisfied();
}
Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFileRecursiveTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFileRecursiveTest.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFileRecursiveTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFileRecursiveTest.java Sun Mar 8 11:15:47 2009
@@ -26,8 +26,8 @@
public class FromFtpMoveFileRecursiveTest extends FtpServerTestSupport {
private String getFtpUrl() {
- return "ftp://admin@localhost:" + getPort() + "/movefile?password=admin&recursive=true&binary=false&exclude=.*old"
- + "&move=done/${file:name}.old&initialDelay=2500&delay=5000";
+ return "ftp://admin@localhost:" + getPort() + "/movefile?password=admin&recursive=true&binary=false"
+ + "&move=.done/${file:name}.old&initialDelay=2500&delay=5000";
}
@Override
@@ -46,9 +46,9 @@
public void testPollFileAndShouldBeMoved() throws Exception {
MockEndpoint mock = getMockEndpoint("mock:result");
mock.expectedBodiesReceivedInAnyOrder("Hello", "Bye", "Goodday");
- mock.expectedFileExists(FTP_ROOT_DIR + "movefile/done/hello.txt.old");
- mock.expectedFileExists(FTP_ROOT_DIR + "movefile/done/bye/bye.txt.old");
- mock.expectedFileExists(FTP_ROOT_DIR + "movefile/done/goodday/goodday.txt.old");
+ mock.expectedFileExists(FTP_ROOT_DIR + "movefile/.done/hello.txt.old");
+ mock.expectedFileExists(FTP_ROOT_DIR + "movefile/.done/bye/bye.txt.old");
+ mock.expectedFileExists(FTP_ROOT_DIR + "movefile/.done/goodday/goodday.txt.old");
mock.assertIsSatisfied();
}
Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFileToHiddenFolderRecursiveTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFileToHiddenFolderRecursiveTest.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFileToHiddenFolderRecursiveTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpMoveFileToHiddenFolderRecursiveTest.java Sun Mar 8 11:15:47 2009
@@ -27,7 +27,7 @@
private String getFtpUrl() {
return "ftp://admin@localhost:" + getPort() + "?password=admin&recursive=true&binary=false"
- + "&move=.done/${file:name}&initialDelay=3000&delay=5000";
+ + "&move=${file:parent}/.done/${file:onlyname}&initialDelay=3000&delay=5000";
}
@Override
@@ -47,8 +47,8 @@
MockEndpoint mock = getMockEndpoint("mock:result");
mock.expectedBodiesReceivedInAnyOrder("Hello", "Bye", "Goodday");
mock.expectedFileExists(FTP_ROOT_DIR + ".done/hello.txt");
- mock.expectedFileExists(FTP_ROOT_DIR + ".done/bye/bye.txt");
- mock.expectedFileExists(FTP_ROOT_DIR + ".done/goodday/goodday.txt");
+ mock.expectedFileExists(FTP_ROOT_DIR + "bye/.done/bye.txt");
+ mock.expectedFileExists(FTP_ROOT_DIR + "goodday/.done/goodday.txt");
mock.assertIsSatisfied();
}
Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpRemoteFileSortByExpressionTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpRemoteFileSortByExpressionTest.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpRemoteFileSortByExpressionTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpRemoteFileSortByExpressionTest.java Sun Mar 8 11:15:47 2009
@@ -43,7 +43,7 @@
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
- from(getFtpUrl() + "&sortBy=file:name.ext").to("mock:result");
+ from(getFtpUrl() + "&sortBy=file:ext").to("mock:result");
}
});
context.start();
@@ -58,7 +58,7 @@
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
- from(getFtpUrl() + "&sortBy=reverse:file:name.ext").to("mock:reverse");
+ from(getFtpUrl() + "&sortBy=reverse:file:ext").to("mock:reverse");
}
});
context.start();
Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpRemoteFileSortByNestedExpressionTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpRemoteFileSortByNestedExpressionTest.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpRemoteFileSortByNestedExpressionTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpRemoteFileSortByNestedExpressionTest.java Sun Mar 8 11:15:47 2009
@@ -43,7 +43,7 @@
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
- from(getFtpUrl() + "&sortBy=file:name.ext;file:name").to("mock:result");
+ from(getFtpUrl() + "&sortBy=file:ext;file:name").to("mock:result");
}
});
context.start();
@@ -58,7 +58,7 @@
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
- from(getFtpUrl() + "&sortBy=file:name.ext;reverse:file:name").to("mock:reverse");
+ from(getFtpUrl() + "&sortBy=file:ext;reverse:file:name").to("mock:reverse");
}
});
context.start();
Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpSetNamesWithMultiDirectoriesTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpSetNamesWithMultiDirectoriesTest.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpSetNamesWithMultiDirectoriesTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpSetNamesWithMultiDirectoriesTest.java Sun Mar 8 11:15:47 2009
@@ -34,11 +34,13 @@
// must user "consumer." prefix on the parameters to the file component
private String getFtpUrl() {
return "ftp://admin@localhost:" + getPort() + "/incoming?password=admin&binary=true"
- + "&consumer.delay=2000&recursive=true";
+ + "&initialDelay=2500&delay=5000&recursive=true";
}
@Override
protected void setUp() throws Exception {
+ deleteDirectory(FTP_ROOT_DIR + "/incoming");
+ deleteDirectory("./target/ftpsetnamestest");
super.setUp();
prepareFtpServer();
}
@@ -89,8 +91,7 @@
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
public void configure() throws Exception {
- String fileUrl = "file:target/ftpsetnamestest/?noop=true";
- from(getFtpUrl()).to(fileUrl, "mock:result");
+ from(getFtpUrl()).to("file:target/ftpsetnamestest", "mock:result");
}
};
}
Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerMultipleDirectoriesTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerMultipleDirectoriesTest.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerMultipleDirectoriesTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerMultipleDirectoriesTest.java Sun Mar 8 11:15:47 2009
@@ -49,20 +49,20 @@
RemoteFileExchange exchange = (RemoteFileExchange) mock.getExchanges().get(0);
RemoteFile file = (RemoteFile) exchange.getGenericFile();
- assertDirectoryEquals("multidir/bye.txt", file.getAbsoluteFileName());
- assertDirectoryEquals("bye.txt", file.getRelativeFileName());
+ assertDirectoryEquals("multidir/bye.txt", file.getAbsoluteFilePath());
+ assertDirectoryEquals("bye.txt", file.getRelativeFilePath());
assertEquals("bye.txt", file.getFileName());
exchange = (RemoteFileExchange) mock.getExchanges().get(1);
file = (RemoteFile) exchange.getGenericFile();
- assertDirectoryEquals("multidir/sub/hello.txt", file.getAbsoluteFileName());
- assertDirectoryEquals("sub/hello.txt", file.getRelativeFileName());
+ assertDirectoryEquals("multidir/sub/hello.txt", file.getAbsoluteFilePath());
+ assertDirectoryEquals("sub/hello.txt", file.getRelativeFilePath());
assertEquals("hello.txt", file.getFileName());
exchange = (RemoteFileExchange) mock.getExchanges().get(2);
file = (RemoteFile) exchange.getGenericFile();
- assertDirectoryEquals("multidir/sub/sub2/godday.txt", file.getAbsoluteFileName());
- assertDirectoryEquals("sub/sub2/godday.txt", file.getRelativeFileName());
+ assertDirectoryEquals("multidir/sub/sub2/godday.txt", file.getAbsoluteFilePath());
+ assertDirectoryEquals("sub/sub2/godday.txt", file.getRelativeFilePath());
assertEquals("godday.txt", file.getFileName());
}
Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerWithNoFileOptionTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerWithNoFileOptionTest.java?rev=751401&r1=751400&r2=751401&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerWithNoFileOptionTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FtpConsumerWithNoFileOptionTest.java Sun Mar 8 11:15:47 2009
@@ -50,8 +50,8 @@
RemoteFileExchange exchange = (RemoteFileExchange) mock.getExchanges().get(0);
RemoteFile file = (RemoteFile) exchange.getGenericFile();
- assertEquals("hello.txt", file.getAbsoluteFileName());
- assertEquals("hello.txt", file.getRelativeFileName());
+ assertEquals("hello.txt", file.getAbsoluteFilePath());
+ assertEquals("hello.txt", file.getRelativeFilePath());
assertEquals("hello.txt", file.getFileName());
}