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 <[email protected]>
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