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/01/27 08:40:22 UTC

svn commit: r738019 - in /camel/trunk/components/camel-ftp/src: main/java/org/apache/camel/component/file/remote/ test/java/org/apache/camel/component/file/remote/

Author: davsclaus
Date: Tue Jan 27 07:40:21 2009
New Revision: 738019

URL: http://svn.apache.org/viewvc?rev=738019&view=rev
Log:
CAMEL-1296: camel-ftp should condigure the endpoint with the full uri (caused by CAMEL-941).

Modified:
    camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpRemoteFileComponent.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/UriConfigurationTest.java

Modified: camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpRemoteFileComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpRemoteFileComponent.java?rev=738019&r1=738018&r2=738019&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpRemoteFileComponent.java (original)
+++ camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpRemoteFileComponent.java Tue Jan 27 07:40:21 2009
@@ -38,15 +38,17 @@
 
     @Override
     protected GenericFileEndpoint<FTPFile> buildFileEndpoint(String uri, String remaining, Map parameters) throws Exception {
-        // get the uri part before the options as they can be non URI valid such
-        // as the expression using $ chars
+        // get the base uri part before the options as they can be non URI valid such as the expression using $ chars
+        // and the URI constructor will regard $ as an illegal character and we dont want to enforce end users to
+        // to espace the $ for the expression (file language)
+        String baseUri = uri;
         if (uri.indexOf("?") != -1) {
-            uri = uri.substring(0, uri.indexOf("?"));
+            baseUri = uri.substring(0, uri.indexOf("?"));
         }
 
-        // lets make sure we create a new configuration as each endpoint can
-        // customize its own version
-        FtpRemoteFileConfiguration config = new FtpRemoteFileConfiguration(new URI(uri));
+        // lets make sure we create a new configuration as each endpoint can customize its own version
+        // must pass on baseUri to the configuration (see above)
+        FtpRemoteFileConfiguration config = new FtpRemoteFileConfiguration(new URI(baseUri));
 
         FtpRemoteFileOperations operations = new FtpRemoteFileOperations();
         return new FtpRemoteFileEndpoint(uri, this, operations, config);

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=738019&r1=738018&r2=738019&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 Tue Jan 27 07:40:21 2009
@@ -50,19 +50,19 @@
 
         RemoteFileExchange exchange = (RemoteFileExchange) mock.getExchanges().get(0);
         RemoteFile file = (RemoteFile) exchange.getGenericFile();
-        assertEquals("multidir/bye.txt", file.getAbsoluteFileName());
+        assertEquals("/multidir/bye.txt", file.getAbsoluteFileName());
         assertEquals("bye.txt", file.getRelativeFileName());
         assertEquals("bye.txt", file.getFileName());
 
         exchange = (RemoteFileExchange) mock.getExchanges().get(1);
         file = (RemoteFile) exchange.getGenericFile();
-        assertEquals("multidir/sub/hello.txt", file.getAbsoluteFileName());
+        assertEquals("/multidir/sub/hello.txt", file.getAbsoluteFileName());
         assertEquals("sub/hello.txt", file.getRelativeFileName());
         assertEquals("hello.txt", file.getFileName());
 
         exchange = (RemoteFileExchange) mock.getExchanges().get(2);
         file = (RemoteFile) exchange.getGenericFile();
-        assertEquals("multidir/sub/sub2/godday.txt", file.getAbsoluteFileName());
+        assertEquals("/multidir/sub/sub2/godday.txt", file.getAbsoluteFileName());
         assertEquals("sub/sub2/godday.txt", file.getRelativeFileName());
         assertEquals("godday.txt", file.getFileName());
     }

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/UriConfigurationTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/UriConfigurationTest.java?rev=738019&r1=738018&r2=738019&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/UriConfigurationTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/UriConfigurationTest.java Tue Jan 27 07:40:21 2009
@@ -40,7 +40,7 @@
         assertNull(config.getUsername());
         assertNull(config.getPassword());
         assertEquals(false, config.isBinary());
-        assertEquals(true, config.isDirectory());
+        assertEquals(true, ftpEndpoint.isDirectory());
     }
 
     public void testSftpConfigurationDefaults() {
@@ -55,7 +55,7 @@
         assertNull(config.getUsername());
         assertNull(config.getPassword());
         assertEquals(false, config.isBinary());
-        assertEquals(true, config.isDirectory());
+        assertEquals(true, sftpEndpoint.isDirectory());
     }
 
     public void testFtpExplicitConfiguration() {
@@ -70,7 +70,7 @@
         assertEquals("user", config.getUsername());
         assertEquals("secret", config.getPassword());
         assertEquals(true, config.isBinary());
-        assertEquals(false, config.isDirectory());
+        assertEquals(false, ftpEndpoint.isDirectory());
     }
 
     public void testSftpExplicitConfiguration() {
@@ -85,18 +85,18 @@
         assertEquals("user", config.getUsername());
         assertEquals("secret", config.getPassword());
         assertEquals(true, config.isBinary());
-        assertEquals(false, config.isDirectory());
+        assertEquals(false, sftpEndpoint.isDirectory());
     }
 
     public void testRemoteFileEndpointFiles() {
-        assertRemoteFileEndpointFile("ftp://hostname/foo/bar", "foo/bar");
-        assertRemoteFileEndpointFile("ftp://hostname/foo/", "foo/");
-        assertRemoteFileEndpointFile("ftp://hostname/foo", "foo");
-        assertRemoteFileEndpointFile("ftp://hostname/", "");
+        assertRemoteFileEndpointFile("ftp://hostname/foo/bar", "/foo/bar");
+        assertRemoteFileEndpointFile("ftp://hostname/foo/", "/foo/");
+        assertRemoteFileEndpointFile("ftp://hostname/foo", "/foo");
+        assertRemoteFileEndpointFile("ftp://hostname/", "/");
         assertRemoteFileEndpointFile("ftp://hostname", "");
-        assertRemoteFileEndpointFile("ftp://hostname//", "/");
-        assertRemoteFileEndpointFile("ftp://hostname//foo/bar", "/foo/bar");
-        assertRemoteFileEndpointFile("sftp://user@hostname:123//foo/bar?password=secret", "/foo/bar");
+        assertRemoteFileEndpointFile("ftp://hostname//", "//");
+        assertRemoteFileEndpointFile("ftp://hostname//foo/bar", "//foo/bar");
+        assertRemoteFileEndpointFile("sftp://user@hostname:123//foo/bar?password=secret", "//foo/bar");
     }
 
     private void assertRemoteFileEndpointFile(String endpointUri, String expectedFile) {
@@ -119,7 +119,7 @@
         assertEquals("user", config.getUsername());
         assertEquals("secret", config.getPassword());
         assertEquals(true, config.isBinary());
-        assertEquals(false, config.isDirectory());
+        assertEquals(false, sftpEndpoint.isDirectory());
         assertEquals("/home/janstey/.ssh/known_hosts", config.getKnownHostsFile());
     }
 }