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

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


The following commit(s) were added to refs/heads/main by this push:
     new 92713d8  camel-quarkus-dozer Error when running native executable #2449
92713d8 is described below

commit 92713d84c02abaa27bdaa672da66924756d86279
Author: JiriOndrusek <ondrusek.j...@gmail.com>
AuthorDate: Thu Apr 8 13:01:24 2021 +0200

    camel-quarkus-dozer Error when running native executable #2449
---
 .../component/dozer/deployment/DozerProcessor.java |  3 +
 .../quarkus/component/dozer/it/DozerResource.java  |  9 ++-
 .../component/dozer/it/model/CustomerA.java        | 49 +++++++++++++-
 .../component/dozer/it/model/CustomerB.java        | 79 ++++++++++++++++++++++
 .../dozer/src/main/resources/simple-mapping.xml    |  5 ++
 .../quarkus/component/dozer/it/DozerTest.java      |  8 ++-
 6 files changed, 149 insertions(+), 4 deletions(-)

diff --git 
a/extensions/dozer/deployment/src/main/java/org/apache/camel/quarkus/component/dozer/deployment/DozerProcessor.java
 
b/extensions/dozer/deployment/src/main/java/org/apache/camel/quarkus/component/dozer/deployment/DozerProcessor.java
index bd32ece..f0b529f 100644
--- 
a/extensions/dozer/deployment/src/main/java/org/apache/camel/quarkus/component/dozer/deployment/DozerProcessor.java
+++ 
b/extensions/dozer/deployment/src/main/java/org/apache/camel/quarkus/component/dozer/deployment/DozerProcessor.java
@@ -110,6 +110,9 @@ class DozerProcessor {
                 Time[].class,
                 Timestamp[].class,
                 URL[].class,
+                Date.class,
+                File.class,
+                URL.class,
                 DozerThreadContextClassLoader.class,
                 ExpressionFactoryImpl.class));
 
diff --git 
a/integration-tests/dozer/src/main/java/org/apache/camel/quarkus/component/dozer/it/DozerResource.java
 
b/integration-tests/dozer/src/main/java/org/apache/camel/quarkus/component/dozer/it/DozerResource.java
index 75e2ae9..0f1bed7 100644
--- 
a/integration-tests/dozer/src/main/java/org/apache/camel/quarkus/component/dozer/it/DozerResource.java
+++ 
b/integration-tests/dozer/src/main/java/org/apache/camel/quarkus/component/dozer/it/DozerResource.java
@@ -16,6 +16,8 @@
  */
 package org.apache.camel.quarkus.component.dozer.it;
 
+import java.util.Calendar;
+import java.util.GregorianCalendar;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -41,7 +43,9 @@ public class DozerResource {
     @GET
     @Produces(MediaType.APPLICATION_JSON)
     public CustomerB dozerMap() {
-        return producerTemplate.requestBody("direct:mapWithEndpoint", 
createCustomerA(), CustomerB.class);
+        CustomerB cb = producerTemplate.requestBody("direct:mapWithEndpoint", 
createCustomerA(), CustomerB.class);
+        cb.setInternalsAsString();
+        return cb;
     }
 
     @Path("/map/using/converter")
@@ -69,6 +73,7 @@ public class DozerResource {
     }
 
     private CustomerA createCustomerA() {
-        return new CustomerA("Peter", "Post", "Camel Street", "12345");
+        return new CustomerA("Peter", "Post", "Camel Street", "12345",
+                new GregorianCalendar(1990, Calendar.DECEMBER, 15).getTime());
     }
 }
diff --git 
a/integration-tests/dozer/src/main/java/org/apache/camel/quarkus/component/dozer/it/model/CustomerA.java
 
b/integration-tests/dozer/src/main/java/org/apache/camel/quarkus/component/dozer/it/model/CustomerA.java
index 3f85f79..664e3d1 100644
--- 
a/integration-tests/dozer/src/main/java/org/apache/camel/quarkus/component/dozer/it/model/CustomerA.java
+++ 
b/integration-tests/dozer/src/main/java/org/apache/camel/quarkus/component/dozer/it/model/CustomerA.java
@@ -16,21 +16,29 @@
  */
 package org.apache.camel.quarkus.component.dozer.it.model;
 
+import java.util.Date;
+
 public class CustomerA {
 
     private String firstName;
     private String lastName;
     private String street;
     private String zip;
+    private Date joined;
+    private String internalUrl = "http://customer";;
+    private String internalFile = "/test";
+    private String internalClass = "java.lang.String";
+    private String internal = "internal";
 
     public CustomerA() {
     }
 
-    public CustomerA(String firstName, String lastName, String street, String 
zip) {
+    public CustomerA(String firstName, String lastName, String street, String 
zip, Date joined) {
         this.firstName = firstName;
         this.lastName = lastName;
         this.street = street;
         this.zip = zip;
+        this.joined = joined;
     }
 
     public String getFirstName() {
@@ -65,4 +73,43 @@ public class CustomerA {
         this.zip = zip;
     }
 
+    public Date getJoined() {
+        return joined;
+    }
+
+    public void setJoined(Date joined) {
+        this.joined = joined;
+    }
+
+    public String getInternalUrl() {
+        return internalUrl;
+    }
+
+    public void setInternalUrl(String internalUrl) {
+        this.internalUrl = internalUrl;
+    }
+
+    public String getInternalFile() {
+        return internalFile;
+    }
+
+    public void setInternalFile(String internalFile) {
+        this.internalFile = internalFile;
+    }
+
+    public String getInternalClass() {
+        return internalClass;
+    }
+
+    public void setInternalClass(String internalClass) {
+        this.internalClass = internalClass;
+    }
+
+    public String getInternal() {
+        return internal;
+    }
+
+    public void setInternal(String internal) {
+        this.internal = internal;
+    }
 }
diff --git 
a/integration-tests/dozer/src/main/java/org/apache/camel/quarkus/component/dozer/it/model/CustomerB.java
 
b/integration-tests/dozer/src/main/java/org/apache/camel/quarkus/component/dozer/it/model/CustomerB.java
index dc69c6a..89dd1bb 100644
--- 
a/integration-tests/dozer/src/main/java/org/apache/camel/quarkus/component/dozer/it/model/CustomerB.java
+++ 
b/integration-tests/dozer/src/main/java/org/apache/camel/quarkus/component/dozer/it/model/CustomerB.java
@@ -16,11 +16,22 @@
  */
 package org.apache.camel.quarkus.component.dozer.it.model;
 
+import java.io.File;
+import java.net.URL;
+import java.util.Date;
+
 public class CustomerB {
 
     private String firstName;
     private String lastName;
     private Address address;
+    private Date created;
+    private URL internalUrl;
+    private File internalFile;
+    private String internalFileAsString;
+    private Class internalClass;
+    private String internalClassAsString;
+    private Custom internal;
 
     public CustomerB() {
     }
@@ -31,6 +42,15 @@ public class CustomerB {
         this.address = address;
     }
 
+    public void setInternalsAsString() {
+        if (internalClass != null) {
+            internalClassAsString = internalClass.getCanonicalName();
+        }
+        if (internalFile != null) {
+            internalFileAsString = internalFile.toString();
+        }
+    }
+
     public String getFirstName() {
         return firstName;
     }
@@ -55,6 +75,46 @@ public class CustomerB {
         this.address = address;
     }
 
+    public Date getCreated() {
+        return created;
+    }
+
+    public void setCreated(Date created) {
+        this.created = created;
+    }
+
+    public URL getInternalUrl() {
+        return internalUrl;
+    }
+
+    public void setInternalUrl(URL internalUrl) {
+        this.internalUrl = internalUrl;
+    }
+
+    public void setInternalFile(File internalFile) {
+        this.internalFile = internalFile;
+    }
+
+    public void setInternalClass(Class internalClass) {
+        this.internalClass = internalClass;
+    }
+
+    public String getInternalFileAsString() {
+        return internalFileAsString;
+    }
+
+    public String getInternalClassAsString() {
+        return internalClassAsString;
+    }
+
+    public Custom getInternal() {
+        return internal;
+    }
+
+    public void setInternal(Custom internal) {
+        this.internal = internal;
+    }
+
     public static class Address {
 
         private String street;
@@ -84,4 +144,23 @@ public class CustomerB {
             this.zip = zip;
         }
     }
+
+    public static class Custom {
+
+        private String text;
+
+        public Custom(String text) {
+            this.text = "hello " + text;
+        }
+
+        public String getText() {
+            return text;
+        }
+
+        public void setText(String text) {
+            this.text = text;
+        }
+
+    }
+
 }
diff --git a/integration-tests/dozer/src/main/resources/simple-mapping.xml 
b/integration-tests/dozer/src/main/resources/simple-mapping.xml
index 9bd0d19..d64ecf8 100644
--- a/integration-tests/dozer/src/main/resources/simple-mapping.xml
+++ b/integration-tests/dozer/src/main/resources/simple-mapping.xml
@@ -30,6 +30,11 @@
             <a>zip</a>
             <b>address.zip</b>
         </field>
+        <field>
+            <a>joined</a>
+            <b>created</b>
+        </field>
+
     </mapping>
 
 </mappings>
diff --git 
a/integration-tests/dozer/src/test/java/org/apache/camel/quarkus/component/dozer/it/DozerTest.java
 
b/integration-tests/dozer/src/test/java/org/apache/camel/quarkus/component/dozer/it/DozerTest.java
index aa3780b..0117fab 100644
--- 
a/integration-tests/dozer/src/test/java/org/apache/camel/quarkus/component/dozer/it/DozerTest.java
+++ 
b/integration-tests/dozer/src/test/java/org/apache/camel/quarkus/component/dozer/it/DozerTest.java
@@ -20,6 +20,7 @@ import io.quarkus.test.junit.QuarkusTest;
 import io.restassured.RestAssured;
 import org.junit.jupiter.api.Test;
 
+import static org.hamcrest.Matchers.containsString;
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.notNullValue;
 
@@ -43,7 +44,12 @@ class DozerTest {
                 .statusCode(200)
                 .body("address", notNullValue(),
                         "address.zip", is("12345"),
-                        "address.street", is("Camel Street"));
+                        "address.street", is("Camel Street"),
+                        "created", containsString("1990"),
+                        "internalFileAsString", is("/test"),
+                        "internalClassAsString", is("java.lang.String"),
+                        "internalUrl", is("http://customer";),
+                        "internal.text", is("hello internal"));
     }
 
     @Test

Reply via email to