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 2025/02/14 19:45:33 UTC

(camel) branch camel-4.10.x updated (935015f1ab9 -> 828ed11d8a1)

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a change to branch camel-4.10.x
in repository https://gitbox.apache.org/repos/asf/camel.git


    from 935015f1ab9 CAMEL-21734: camel-csv - Allow to configurer header via CsvFormat reference (#17091)
     new c915f2adfb0 CAMEL-21739: camel-ftp - Add filename to implementation of GenericFileConsumer.getRelativeFilePath for (S)FTP (#17143)
     new 828ed11d8a1 CAMEL-21739: camel-ftp - Add filename to implementation of GenericFileConsumer.getRelativeFilePath for (S)FTP

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../java/org/apache/camel/component/file/remote/FtpConsumer.java  | 2 +-
 .../java/org/apache/camel/component/file/remote/SftpConsumer.java | 2 +-
 ...impleConsumeIT.java => SftpSimpleConsumeWithAntIncludeIT.java} | 8 +++++---
 3 files changed, 7 insertions(+), 5 deletions(-)
 copy components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/integration/{SftpSimpleConsumeIT.java => SftpSimpleConsumeWithAntIncludeIT.java} (89%)


(camel) 01/02: CAMEL-21739: camel-ftp - Add filename to implementation of GenericFileConsumer.getRelativeFilePath for (S)FTP (#17143)

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch camel-4.10.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit c915f2adfb0abc6add7bada44e132a193566cb07
Author: Benjamin Graf <gr...@users.noreply.github.com>
AuthorDate: Fri Feb 14 20:41:24 2025 +0100

    CAMEL-21739: camel-ftp - Add filename to implementation of GenericFileConsumer.getRelativeFilePath for (S)FTP (#17143)
---
 .../camel/component/file/remote/FtpConsumer.java   |  2 +-
 .../camel/component/file/remote/SftpConsumer.java  |  2 +-
 .../SftpSimpleConsumeWithAntIncludeIT.java         | 59 ++++++++++++++++++++++
 3 files changed, 61 insertions(+), 2 deletions(-)

diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
index d7f931c019d..6b1e44bae00 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConsumer.java
@@ -316,7 +316,7 @@ public class FtpConsumer extends RemoteFileConsumer<FTPFile> {
             // the relative filename, skip the leading endpoint configured path
             String relativePath = StringHelper.after(absolutePath, endpointPath);
             // skip leading /
-            return FileUtil.stripLeadingSeparator(relativePath);
+            return FileUtil.stripLeadingSeparator(relativePath) + "/" + file.getName();
         };
     }
 
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
index d231d6a3fd8..3725006a7bc 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConsumer.java
@@ -272,7 +272,7 @@ public class SftpConsumer extends RemoteFileConsumer<SftpRemoteFile> {
         return () -> {
             String relativePath = StringHelper.after(absolutePath, endpointPath);
             // skip trailing /
-            return FileUtil.stripLeadingSeparator(relativePath);
+            return FileUtil.stripLeadingSeparator(relativePath) + "/" + file.getFilename();
         };
     }
 
diff --git a/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/integration/SftpSimpleConsumeWithAntIncludeIT.java b/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/integration/SftpSimpleConsumeWithAntIncludeIT.java
new file mode 100644
index 00000000000..25a40c635b3
--- /dev/null
+++ b/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/integration/SftpSimpleConsumeWithAntIncludeIT.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.file.remote.sftp.integration;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.EnabledIf;
+
+@EnabledIf(value = "org.apache.camel.test.infra.ftp.services.embedded.SftpUtil#hasRequiredAlgorithms('src/test/resources/hostkey.pem')")
+public class SftpSimpleConsumeWithAntIncludeIT extends SftpServerTestSupport {
+
+    @Test
+    public void testSftpSimpleConsume() throws Exception {
+        String expected = "Hello World";
+
+        // create file using regular file
+        template.sendBodyAndHeader("file://" + service.getFtpRootDir(), expected, Exchange.FILE_NAME, "subdir/hello.txt");
+
+        MockEndpoint mock = getMockEndpoint("mock:result");
+        mock.expectedMessageCount(1);
+        mock.expectedHeaderReceived(Exchange.FILE_NAME, "hello.txt");
+        mock.expectedBodiesReceived(expected);
+
+        context.getRouteController().startRoute("foo");
+
+        MockEndpoint.assertIsSatisfied(context);
+    }
+
+    @Override
+    protected RouteBuilder createRouteBuilder() {
+        return new RouteBuilder() {
+            @Override
+            public void configure() {
+                from("sftp://localhost:{{ftp.server.port}}/{{ftp.root.dir}}"
+                        + "?username=admin&password=admin&delay=10000&disconnect=true"
+                        + "&recursive=true&antInclude=subdir/hello.txt"
+                        + "&knownHostsFile="
+                        + service.getKnownHostsFile()).routeId("foo").noAutoStartup()
+                        .to("mock:result");
+            }
+        };
+    }
+}


(camel) 02/02: CAMEL-21739: camel-ftp - Add filename to implementation of GenericFileConsumer.getRelativeFilePath for (S)FTP

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch camel-4.10.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 828ed11d8a15a4885378107f49c646686f507991
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Feb 14 20:44:23 2025 +0100

    CAMEL-21739: camel-ftp - Add filename to implementation of GenericFileConsumer.getRelativeFilePath for (S)FTP
---
 .../sftp/integration/SftpSimpleConsumeWithAntIncludeIT.java       | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/integration/SftpSimpleConsumeWithAntIncludeIT.java b/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/integration/SftpSimpleConsumeWithAntIncludeIT.java
index 25a40c635b3..98615210dd4 100644
--- a/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/integration/SftpSimpleConsumeWithAntIncludeIT.java
+++ b/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/sftp/integration/SftpSimpleConsumeWithAntIncludeIT.java
@@ -48,10 +48,10 @@ public class SftpSimpleConsumeWithAntIncludeIT extends SftpServerTestSupport {
             @Override
             public void configure() {
                 from("sftp://localhost:{{ftp.server.port}}/{{ftp.root.dir}}"
-                        + "?username=admin&password=admin&delay=10000&disconnect=true"
-                        + "&recursive=true&antInclude=subdir/hello.txt"
-                        + "&knownHostsFile="
-                        + service.getKnownHostsFile()).routeId("foo").noAutoStartup()
+                     + "?username=admin&password=admin&delay=10000&disconnect=true"
+                     + "&recursive=true&antInclude=subdir/hello.txt"
+                     + "&knownHostsFile="
+                     + service.getKnownHostsFile()).routeId("foo").noAutoStartup()
                         .to("mock:result");
             }
         };