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 2023/06/09 10:56:02 UTC

[camel] branch main updated: CAMEL-19414: Add file -> path type converter.

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

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


The following commit(s) were added to refs/heads/main by this push:
     new f2c0b978e2b CAMEL-19414: Add file -> path type converter.
f2c0b978e2b is described below

commit f2c0b978e2bcd913d9d2f022a0c513c58986916a
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Jun 9 12:55:48 2023 +0200

    CAMEL-19414: Add file -> path type converter.
---
 .../apache/camel/converter/CamelBaseBulkConverterLoader.java   | 10 +++++++++-
 .../src/main/java/org/apache/camel/converter/IOConverter.java  |  6 ++++++
 .../test/java/org/apache/camel/converter/IOConverterTest.java  | 10 ++++++++++
 3 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/core/camel-base/src/generated/java/org/apache/camel/converter/CamelBaseBulkConverterLoader.java b/core/camel-base/src/generated/java/org/apache/camel/converter/CamelBaseBulkConverterLoader.java
index ed451969320..e65ec08d125 100644
--- a/core/camel-base/src/generated/java/org/apache/camel/converter/CamelBaseBulkConverterLoader.java
+++ b/core/camel-base/src/generated/java/org/apache/camel/converter/CamelBaseBulkConverterLoader.java
@@ -42,7 +42,7 @@ public final class CamelBaseBulkConverterLoader implements TypeConverterLoader,
 
     @Override
     public int size() {
-        return 120;
+        return 121;
     }
 
     @Override
@@ -406,6 +406,10 @@ public final class CamelBaseBulkConverterLoader implements TypeConverterLoader,
             if (value instanceof java.io.InputStream) {
                 return org.apache.camel.converter.IOConverter.covertToByteBuffer((java.io.InputStream) value);
             }
+        } else if (to == java.nio.file.Path.class) {
+            if (value instanceof java.io.File) {
+                return org.apache.camel.converter.IOConverter.toPath((java.io.File) value);
+            }
         } else if (to == java.sql.Timestamp.class) {
             if (value instanceof java.lang.Long) {
                 return org.apache.camel.converter.SQLConverter.toTimestamp((java.lang.Long) value);
@@ -814,6 +818,10 @@ public final class CamelBaseBulkConverterLoader implements TypeConverterLoader,
             if (from == java.io.InputStream.class) {
                 return this;
             }
+        } else if (to == java.nio.file.Path.class) {
+            if (from == java.io.File.class) {
+                return this;
+            }
         } else if (to == java.sql.Timestamp.class) {
             if (from == java.lang.Long.class) {
                 return this;
diff --git a/core/camel-base/src/main/java/org/apache/camel/converter/IOConverter.java b/core/camel-base/src/main/java/org/apache/camel/converter/IOConverter.java
index ebde6598e32..98a6fd4c1a1 100644
--- a/core/camel-base/src/main/java/org/apache/camel/converter/IOConverter.java
+++ b/core/camel-base/src/main/java/org/apache/camel/converter/IOConverter.java
@@ -39,6 +39,7 @@ import java.io.StringReader;
 import java.io.Writer;
 import java.net.URL;
 import java.nio.ByteBuffer;
+import java.nio.file.Path;
 import java.util.Iterator;
 import java.util.Properties;
 import java.util.stream.Stream;
@@ -309,4 +310,9 @@ public final class IOConverter {
         return prop;
     }
 
+    @Converter(order = 37)
+    public static Path toPath(File file) {
+        return file.toPath();
+    }
+
 }
diff --git a/core/camel-core/src/test/java/org/apache/camel/converter/IOConverterTest.java b/core/camel-core/src/test/java/org/apache/camel/converter/IOConverterTest.java
index 235bb2e13b8..391748a6c39 100644
--- a/core/camel-core/src/test/java/org/apache/camel/converter/IOConverterTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/converter/IOConverterTest.java
@@ -30,6 +30,7 @@ import java.io.StringReader;
 import java.io.Writer;
 import java.net.URL;
 import java.nio.file.Files;
+import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.Properties;
 
@@ -265,4 +266,13 @@ public class IOConverterTest extends ContextTestSupport {
         assertTrue(fn.contains("camel-core-test.log"));
     }
 
+    @Test
+    public void testToPathFromFile() throws Exception {
+        File file = new File("src/test/resources/log4j2.properties");
+        Path p = IOConverter.toPath(file);
+        assertNotNull(p);
+        assertEquals(file.getName(), p.getFileName().toString());
+        assertEquals("log4j2.properties", p.getFileName().toString());
+    }
+
 }