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