You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by al...@apache.org on 2023/02/16 13:32:56 UTC
[camel-quarkus] 01/03: Split json dataformats to different modules
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
commit a5776c711d6fd0f1aa35447782e40c9470c762c9
Author: Lucia Drozdova <ld...@redhat.com>
AuthorDate: Wed Feb 15 15:21:35 2023 +0100
Split json dataformats to different modules
---
.../dataformats-json/json-gson}/pom.xml | 102 ++--------------
.../json/gson/JsonGsonDataformatsResource.java | 104 +++++++++++++++++
.../json/gson/JsonGsonDataformatsRoute.java | 48 +++-----
.../json/gson}/model/AnotherObject.java | 2 +-
.../dataformats/json/gson}/model/DummyObject.java | 4 +-
.../dataformats/json/gson}/model/ExcludeField.java | 2 +-
.../dataformats/json/gson}/model/PojoA.java | 2 +-
.../dataformats/json/gson}/model/PojoB.java | 2 +-
.../dataformats/json}/gson/GsonJsonIT.java | 2 +-
.../dataformats/json/gson/GsonJsonTest.java | 50 ++++----
.../dataformats-json/json-jackson}/pom.xml | 53 ++-------
.../json/jackson}/JacksonJsonResource.java | 27 +----
.../json/jackson}/JacksonJsonRoute.java | 14 +--
.../json/jackson}/NamingStrategyCustomizer.java | 2 +-
.../json/jackson}/model/AnotherObject.java | 2 +-
.../json/jackson}/model/DummyObject.java | 5 +-
.../dataformats/json/jackson}/model/MyModule.java | 2 +-
.../dataformats/json/jackson}/model/Order.java | 2 +-
.../dataformats/json/jackson}/model/Person.java | 2 +-
.../dataformats/json/jackson}/model/Pojo.java | 2 +-
.../dataformats/json/jackson}/model/PojoA.java | 2 +-
.../json/jackson}/model/TestJAXBPojo.java | 2 +-
.../json/jackson}/model/TestOtherPojo.java | 2 +-
.../dataformats/json/jackson}/model/TestPojo.java | 2 +-
.../json/jackson}/model/TestPojoView.java | 2 +-
.../dataformats/json/jackson}/model/Views.java | 2 +-
.../json}/jackson/xml/JacksonXmlResource.java | 31 ++---
.../json}/jackson/xml/JacksonXmlRoute.java | 12 +-
.../src/main/resources/application.properties | 4 +-
.../src/main/resources/routes/jackson-routes.xml | 18 +--
.../dataformats/json/jackson}/JacksonJsonIT.java | 2 +-
.../dataformats/json/jackson}/JacksonJsonTest.java | 67 +++++------
.../json}/jackson/xml/JacksonXmlIT.java | 2 +-
.../json}/jackson/xml/JacksonXmlTest.java | 71 ++++--------
.../dataformats-json/json-jsonb}/pom.xml | 70 ++---------
.../json/jsonb/JsonJsonbDataformatsResource.java | 104 +++++++++++++++++
.../json/jsonb/JsonJsonbDataformatsRoute.java | 72 +++---------
.../dataformats/json/jsonb}/ParamType.java | 2 +-
.../json/jsonb}/model/AnotherObject.java | 2 +-
.../dataformats/json/jsonb}/model/DummyObject.java | 5 +-
.../dataformats/json/jsonb}/model/PojoA.java | 2 +-
.../dataformats/json/jsonb}/model/PojoB.java | 2 +-
.../dataformats/json}/jsonb/JsonbJsonIT.java | 2 +-
.../dataformats/json/jsonb/JsonbJsonTest.java | 50 ++++----
.../{ => dataformats-json}/pom.xml | 33 +++---
integration-test-groups/pom.xml | 1 +
.../pom.xml | 112 +++++++++++-------
.../dataformats/json/JsonDataformatsResource.java | 128 ---------------------
.../json/RegisterSnakeCaseCustomizer.java | 35 ------
.../src/main/resources/routes/gson-routes.xml | 43 -------
.../src/main/resources/routes/jsonb-routes.xml | 43 -------
.../component/dataformats/gson/GsonJsonTest.java | 46 --------
.../component/dataformats/jsonb/JsonbJsonTest.java | 44 -------
integration-tests/pom.xml | 2 +-
tooling/scripts/test-categories.yaml | 1 +
55 files changed, 526 insertions(+), 921 deletions(-)
diff --git a/integration-tests/dataformats-json/pom.xml b/integration-test-groups/dataformats-json/json-gson/pom.xml
similarity index 67%
copy from integration-tests/dataformats-json/pom.xml
copy to integration-test-groups/dataformats-json/json-gson/pom.xml
index 049ef3c77b..d960280bdf 100644
--- a/integration-tests/dataformats-json/pom.xml
+++ b/integration-test-groups/dataformats-json/json-gson/pom.xml
@@ -17,18 +17,21 @@
limitations under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
+
<parent>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-build-parent-it</artifactId>
<version>3.0.0-SNAPSHOT</version>
- <relativePath>../../poms/build-parent-it/pom.xml</relativePath>
+ <relativePath>../../../poms/build-parent-it/pom.xml</relativePath>
</parent>
- <artifactId>camel-quarkus-integration-test-dataformats-json</artifactId>
- <name>Camel Quarkus :: Integration Tests :: DataFormats JSON</name>
- <description>Integration tests for Camel Quarkus extension providing JSON related data formats</description>
+ <artifactId>camel-quarkus-integration-tests-dataformats-json-gson</artifactId>
+ <name>Camel Quarkus :: Integration Tests :: Json Dataformat Gson</name>
+ <description>Integration tests for Gson Json Dataformat</description>
<dependencies>
<dependency>
@@ -39,14 +42,6 @@
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-xml-jaxb</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-jackson</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-jsonb</artifactId>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-direct</artifactId>
@@ -63,32 +58,10 @@
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-gson</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-jacksonxml</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-mock</artifactId>
- </dependency>
-
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-resteasy</artifactId>
- </dependency>
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-jaxb</artifactId>
- </dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-jsonb</artifactId>
</dependency>
- <dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter-api</artifactId>
- </dependency>
-
<!-- test dependencies -->
<dependency>
<groupId>io.quarkus</groupId>
@@ -111,7 +84,6 @@
</exclusion>
</exclusions>
</dependency>
-
</dependencies>
<build>
@@ -160,7 +132,6 @@
</activation>
<dependencies>
<!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
-
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-direct-deployment</artifactId>
@@ -187,45 +158,6 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-jackson-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-jacksonxml-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-jsonb-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-log-deployment</artifactId>
@@ -239,19 +171,6 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-mock-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-vm-deployment</artifactId>
@@ -294,6 +213,5 @@
</dependencies>
</profile>
</profiles>
-
-
-</project>
+
+</project>
\ No newline at end of file
diff --git a/integration-test-groups/dataformats-json/json-gson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/gson/JsonGsonDataformatsResource.java b/integration-test-groups/dataformats-json/json-gson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/gson/JsonGsonDataformatsResource.java
new file mode 100644
index 0000000000..58af7c6d03
--- /dev/null
+++ b/integration-test-groups/dataformats-json/json-gson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/gson/JsonGsonDataformatsResource.java
@@ -0,0 +1,104 @@
+/*
+ * 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.quarkus.component.dataformats.json.gson;
+
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.ws.rs.*;
+import jakarta.ws.rs.core.MediaType;
+import org.apache.camel.CamelContext;
+import org.apache.camel.ConsumerTemplate;
+import org.apache.camel.ProducerTemplate;
+import org.jboss.logging.Logger;
+
+@Path("/dataformats-json-gson")
+@ApplicationScoped
+public class JsonGsonDataformatsResource {
+
+ private static final Logger LOG = Logger.getLogger(JsonGsonDataformatsResource.class);
+ @Inject
+ ProducerTemplate producerTemplate;
+ @Inject
+ ConsumerTemplate consumerTemplate;
+ @Inject
+ CamelContext context;
+
+ @Path("/in")
+ @POST
+ @Consumes(MediaType.TEXT_PLAIN)
+ @Produces(MediaType.TEXT_PLAIN)
+ public String processOrder(String statement) {
+ LOG.infof("Invoking processOrder Gson", statement);
+ return producerTemplate.requestBody("direct:Gson-in", statement, String.class);
+ }
+
+ @Path("/out")
+ @POST
+ @Produces(MediaType.APPLICATION_JSON)
+ public String testOrder() {
+ LOG.infof("Invoking testOrder Gson");
+ return consumerTemplate.receive("vm:Gson-out").getMessage().getBody().toString();
+ }
+
+ @Path("/in-a")
+ @POST
+ @Consumes(MediaType.TEXT_PLAIN)
+ @Produces(MediaType.TEXT_PLAIN)
+ public String processPojoA(String statement) {
+ LOG.infof("Invoking processPojoA Gson", statement);
+ return producerTemplate.requestBody("direct:Gson-in-a", statement, String.class);
+ }
+
+ @Path("/in-b")
+ @POST
+ @Consumes(MediaType.TEXT_PLAIN)
+ @Produces(MediaType.TEXT_PLAIN)
+ public String processPojoB(String statement) {
+ LOG.infof("Invoking processPojoB Gson", statement);
+ return producerTemplate.requestBody("direct:Gson-in-b", statement, String.class);
+ }
+
+ @Path("/out-a")
+ @POST
+ @Produces(MediaType.TEXT_PLAIN)
+ public String testPojoA() {
+ LOG.infof("Invoking testPojoA Gson");
+ return consumerTemplate.receive("vm:Gson-out-a").getMessage().getBody().toString();
+ }
+
+ @Path("/out-b")
+ @POST
+ @Produces(MediaType.TEXT_PLAIN)
+ public String testPojoB() {
+ LOG.infof("Invoking testPojoB Gson");
+ return consumerTemplate.receive("vm:Gson-out-b").getMessage().getBody().toString();
+ }
+
+ @Path("/unmarshal/{direct-id}")
+ @POST
+ @Consumes(MediaType.TEXT_PLAIN)
+ @Produces(MediaType.APPLICATION_JSON)
+ public String testXmlUnmarshalDefinition(@PathParam("direct-id") String directId, String statement) {
+ LOG.infof("Invoking testXmlUnmarshalDefinition(%s, %s)", directId, statement);
+ Object object = producerTemplate.requestBody("direct:" + directId, statement);
+ String answer = JsonbBuilder.create().toJson(object);
+
+ return answer;
+ }
+
+}
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/JsonDataformatsRoute.java b/integration-test-groups/dataformats-json/json-gson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/gson/JsonGsonDataformatsRoute.java
similarity index 68%
copy from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/JsonDataformatsRoute.java
copy to integration-test-groups/dataformats-json/json-gson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/gson/JsonGsonDataformatsRoute.java
index 083bc2810b..4cf13b0ded 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/JsonDataformatsRoute.java
+++ b/integration-test-groups/dataformats-json/json-gson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/gson/JsonGsonDataformatsRoute.java
@@ -14,51 +14,34 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json;
+package org.apache.camel.quarkus.component.dataformats.json.gson;
import java.lang.reflect.Type;
-import java.util.Arrays;
import java.util.List;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.ExclusionStrategy;
import com.google.gson.FieldAttributes;
import com.google.gson.FieldNamingPolicy;
import com.google.gson.reflect.TypeToken;
import jakarta.enterprise.context.ApplicationScoped;
-import jakarta.inject.Inject;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.gson.GsonDataFormat;
-import org.apache.camel.component.jackson.JacksonDataFormat;
-import org.apache.camel.component.jsonb.JsonbDataFormat;
import org.apache.camel.model.dataformat.JsonLibrary;
-import org.apache.camel.quarkus.component.dataformats.json.model.DummyObject;
-import org.apache.camel.quarkus.component.dataformats.json.model.ExcludeField;
-import org.apache.camel.quarkus.component.dataformats.json.model.PojoA;
-import org.apache.camel.quarkus.component.dataformats.json.model.PojoB;
+import org.apache.camel.quarkus.component.dataformats.json.gson.model.*;
import org.apache.camel.spi.DataFormat;
@ApplicationScoped
-public class JsonDataformatsRoute extends RouteBuilder {
-
- @Inject
- ObjectMapper jacksonObjectMapper;
+public class JsonGsonDataformatsRoute extends RouteBuilder {
@Override
public void configure() {
- JacksonDataFormat jacksonDummyObjectDataFormat = new JacksonDataFormat(DummyObject.class);
- jacksonDummyObjectDataFormat.useList();
- jacksonDummyObjectDataFormat.setObjectMapper(jacksonObjectMapper);
- configureJsonRoutes(JsonLibrary.Jackson, jacksonDummyObjectDataFormat, new JacksonDataFormat(PojoA.class),
- new JacksonDataFormat(PojoB.class));
-
GsonDataFormat gsonDummyObjectDataFormat = new GsonDataFormat();
Type genericType = new TypeToken<List<DummyObject>>() {
}.getType();
gsonDummyObjectDataFormat.setUnmarshalGenericType(genericType);
gsonDummyObjectDataFormat.setDateFormatPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
gsonDummyObjectDataFormat.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);
- gsonDummyObjectDataFormat.setExclusionStrategies(Arrays.<ExclusionStrategy> asList(new ExclusionStrategy() {
+ gsonDummyObjectDataFormat.setExclusionStrategies(List.<ExclusionStrategy> of(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes f) {
return f.getAnnotation(ExcludeField.class) != null;
@@ -72,22 +55,9 @@ public class JsonDataformatsRoute extends RouteBuilder {
GsonDataFormat unmarshalByTypeNameGsonDataFormat = new GsonDataFormat();
unmarshalByTypeNameGsonDataFormat
- .setUnmarshalTypeName("org.apache.camel.quarkus.component.dataformats.json.model.PojoA");
+ .setUnmarshalTypeName("org.apache.camel.quarkus.component.dataformats.json.gson.model.PojoA");
configureJsonRoutes(JsonLibrary.Gson, gsonDummyObjectDataFormat, unmarshalByTypeNameGsonDataFormat,
new GsonDataFormat(PojoB.class));
-
- JsonbDataFormat jsonBDummyObjectDataFormat = new JsonbDataFormat(new ParamType(List.class, DummyObject.class));
- configureJsonRoutes(JsonLibrary.Jsonb, jsonBDummyObjectDataFormat, new JsonbDataFormat(PojoA.class),
- new JsonbDataFormat(PojoB.class));
-
- from("direct:jacksonxml-marshal")
- .marshal()
- .jacksonXml(true);
-
- from("direct:jacksonxml-unmarshal")
- .unmarshal()
- .jacksonXml(PojoA.class);
-
}
public void configureJsonRoutes(JsonLibrary library, DataFormat dummyObjectDataFormat, DataFormat pojoADataFormat,
@@ -126,5 +96,13 @@ public class JsonDataformatsRoute extends RouteBuilder {
.marshal(pojoBDataFormat)
.convertBodyTo(String.class)
.toF("vm:%s-out-b", library);
+
+ from("direct:Gson-type-as-attribute")
+ .unmarshal().json(library, AnotherObject.class);
+
+ from("direct:Gson-type-as-header")
+ .setHeader("CamelGsonUnmarshalType")
+ .constant("org.apache.camel.quarkus.component.dataformats.json.gson.model.AnotherObject")
+ .unmarshal().json(library);
}
}
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/AnotherObject.java b/integration-test-groups/dataformats-json/json-gson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/gson/model/AnotherObject.java
similarity index 94%
copy from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/AnotherObject.java
copy to integration-test-groups/dataformats-json/json-gson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/gson/model/AnotherObject.java
index 07464ca982..47f0c87b59 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/AnotherObject.java
+++ b/integration-test-groups/dataformats-json/json-gson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/gson/model/AnotherObject.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json.model;
+package org.apache.camel.quarkus.component.dataformats.json.gson.model;
import io.quarkus.runtime.annotations.RegisterForReflection;
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/DummyObject.java b/integration-test-groups/dataformats-json/json-gson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/gson/model/DummyObject.java
similarity index 93%
copy from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/DummyObject.java
copy to integration-test-groups/dataformats-json/json-gson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/gson/model/DummyObject.java
index 94531f06a6..d05cecca3e 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/DummyObject.java
+++ b/integration-test-groups/dataformats-json/json-gson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/gson/model/DummyObject.java
@@ -14,11 +14,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json.model;
+package org.apache.camel.quarkus.component.dataformats.json.gson.model;
import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonIgnore;
import io.quarkus.runtime.annotations.RegisterForReflection;
import jakarta.json.bind.annotation.JsonbProperty;
import jakarta.json.bind.annotation.JsonbTransient;
@@ -29,7 +28,6 @@ public class DummyObject {
@JsonbProperty("dummy_string")
private String dummyString;
- @JsonIgnore
@ExcludeField
@JsonbTransient
private int ignored;
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/ExcludeField.java b/integration-test-groups/dataformats-json/json-gson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/gson/model/ExcludeField.java
similarity index 93%
rename from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/ExcludeField.java
rename to integration-test-groups/dataformats-json/json-gson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/gson/model/ExcludeField.java
index 505c000b75..554b5f23d8 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/ExcludeField.java
+++ b/integration-test-groups/dataformats-json/json-gson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/gson/model/ExcludeField.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json.model;
+package org.apache.camel.quarkus.component.dataformats.json.gson.model;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/PojoA.java b/integration-test-groups/dataformats-json/json-gson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/gson/model/PojoA.java
similarity index 94%
copy from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/PojoA.java
copy to integration-test-groups/dataformats-json/json-gson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/gson/model/PojoA.java
index 366c9f59a9..ac33ebf16e 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/PojoA.java
+++ b/integration-test-groups/dataformats-json/json-gson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/gson/model/PojoA.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json.model;
+package org.apache.camel.quarkus.component.dataformats.json.gson.model;
import io.quarkus.runtime.annotations.RegisterForReflection;
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/PojoB.java b/integration-test-groups/dataformats-json/json-gson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/gson/model/PojoB.java
similarity index 94%
copy from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/PojoB.java
copy to integration-test-groups/dataformats-json/json-gson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/gson/model/PojoB.java
index b591044c21..9c8f39e9da 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/PojoB.java
+++ b/integration-test-groups/dataformats-json/json-gson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/gson/model/PojoB.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json.model;
+package org.apache.camel.quarkus.component.dataformats.json.gson.model;
import io.quarkus.runtime.annotations.RegisterForReflection;
diff --git a/integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/gson/GsonJsonIT.java b/integration-test-groups/dataformats-json/json-gson/src/test/java/org/apache/camel/quarkus/component/dataformats/json/gson/GsonJsonIT.java
similarity index 93%
rename from integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/gson/GsonJsonIT.java
rename to integration-test-groups/dataformats-json/json-gson/src/test/java/org/apache/camel/quarkus/component/dataformats/json/gson/GsonJsonIT.java
index f6d146d599..868d20ada0 100644
--- a/integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/gson/GsonJsonIT.java
+++ b/integration-test-groups/dataformats-json/json-gson/src/test/java/org/apache/camel/quarkus/component/dataformats/json/gson/GsonJsonIT.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.gson;
+package org.apache.camel.quarkus.component.dataformats.json.gson;
import io.quarkus.test.junit.QuarkusIntegrationTest;
diff --git a/integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/json/JsonBaseTest.java b/integration-test-groups/dataformats-json/json-gson/src/test/java/org/apache/camel/quarkus/component/dataformats/json/gson/GsonJsonTest.java
similarity index 66%
copy from integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/json/JsonBaseTest.java
copy to integration-test-groups/dataformats-json/json-gson/src/test/java/org/apache/camel/quarkus/component/dataformats/json/gson/GsonJsonTest.java
index 703c1d7400..a46f4f1572 100644
--- a/integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/json/JsonBaseTest.java
+++ b/integration-test-groups/dataformats-json/json-gson/src/test/java/org/apache/camel/quarkus/component/dataformats/json/gson/GsonJsonTest.java
@@ -14,59 +14,68 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json;
+package org.apache.camel.quarkus.component.dataformats.json.gson;
+import io.quarkus.test.junit.QuarkusTest;
import io.restassured.RestAssured;
import io.restassured.http.ContentType;
import jakarta.json.bind.JsonbBuilder;
-import org.apache.camel.quarkus.component.dataformats.json.model.AnotherObject;
+import org.apache.camel.quarkus.component.dataformats.json.gson.model.AnotherObject;
+import org.junit.jupiter.api.Test;
import static org.hamcrest.Matchers.*;
-public class JsonBaseTest {
- public void testMarshallAndUnmarshall(String jsonComponent) {
+@QuarkusTest
+public class GsonJsonTest {
+
+ @Test
+ public void testMarshallAndUnmarshall() {
RestAssured.given().contentType(ContentType.TEXT)
- .queryParam("json-component", jsonComponent)
.body("[{\"dummy_string\": \"value1\"}, {\"dummy_string\": \"value2\"}]")
- .post("/dataformats-json/in");
+ .post("/dataformats-json-gson/in");
RestAssured.given()
- .queryParam("json-component", jsonComponent)
- .post("/dataformats-json/out")
+ .post("/dataformats-json-gson/out")
.then()
.body("dummy_string", equalTo("value1"))
.body("date", containsString("1970"));
RestAssured.given()
- .queryParam("json-component", jsonComponent)
- .post("/dataformats-json/out")
+ .post("/dataformats-json-gson/out")
.then()
.body("dummy_string", equalTo("value2"))
.body("date", containsString("1970"));
}
- public void testUnmarshallingDifferentPojos(String jsonComponent) {
+ @Test
+ public void testUnmarshallingDifferentPojos() {
String bodyA = "{\"name\":\"name A\"}";
String bodyB = "{\"value\":1.0}";
RestAssured.given().contentType(ContentType.TEXT)
- .queryParam("json-component", jsonComponent)
.body(bodyA)
- .post("/dataformats-json/in-a");
+ .post("/dataformats-json-gson/in-a");
RestAssured.given().contentType(ContentType.TEXT)
- .queryParam("json-component", jsonComponent)
.body(bodyB)
- .post("/dataformats-json/in-b");
+ .post("/dataformats-json-gson/in-b");
RestAssured.given()
- .queryParam("json-component", jsonComponent)
- .post("/dataformats-json/out-a")
+ .post("/dataformats-json-gson/out-a")
.then()
.body(equalTo(bodyA));
RestAssured.given()
- .queryParam("json-component", jsonComponent)
- .post("/dataformats-json/out-b")
+ .post("/dataformats-json-gson/out-b")
.then()
.body(equalTo(bodyB));
}
+ @Test
+ public void testUnmarshallTypeAsAttribute() {
+ testUnmarshal("Gson-type-as-attribute");
+ }
+
+ @Test
+ public void testUnmarshallTypeAsHeader() {
+ testUnmarshal("Gson-type-as-header");
+ }
+
public void testUnmarshal(String directId) {
AnotherObject object = new AnotherObject();
object.setDummyString("95f669ce-d287-4519-b212-4450bc791867");
@@ -74,8 +83,9 @@ public class JsonBaseTest {
RestAssured.given()
.contentType(ContentType.TEXT)
.body(JsonbBuilder.create().toJson(object))
- .post("/dataformats-json/unmarshal/{direct-id}", directId)
+ .post("/dataformats-json-gson/unmarshal/{direct-id}", directId)
.then()
.body("dummyString", is(object.getDummyString()));
}
+
}
diff --git a/integration-tests/dataformats-json/pom.xml b/integration-test-groups/dataformats-json/json-jackson/pom.xml
similarity index 83%
copy from integration-tests/dataformats-json/pom.xml
copy to integration-test-groups/dataformats-json/json-jackson/pom.xml
index 049ef3c77b..da42dd459b 100644
--- a/integration-tests/dataformats-json/pom.xml
+++ b/integration-test-groups/dataformats-json/json-jackson/pom.xml
@@ -17,18 +17,21 @@
limitations under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
+
<parent>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-build-parent-it</artifactId>
<version>3.0.0-SNAPSHOT</version>
- <relativePath>../../poms/build-parent-it/pom.xml</relativePath>
+ <relativePath>../../../poms/build-parent-it/pom.xml</relativePath>
</parent>
- <artifactId>camel-quarkus-integration-test-dataformats-json</artifactId>
- <name>Camel Quarkus :: Integration Tests :: DataFormats JSON</name>
- <description>Integration tests for Camel Quarkus extension providing JSON related data formats</description>
+ <artifactId>camel-quarkus-integration-tests-dataformats-json-jackson</artifactId>
+ <name>Camel Quarkus :: Integration Tests :: DataFormats JSON Jackson</name>
+ <description>Integration tests for Gson Jackson Dataformat</description>
<dependencies>
<dependency>
@@ -43,10 +46,6 @@
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-jackson</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-jsonb</artifactId>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-direct</artifactId>
@@ -59,10 +58,6 @@
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-vm</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-gson</artifactId>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-jacksonxml</artifactId>
@@ -111,7 +106,6 @@
</exclusion>
</exclusions>
</dependency>
-
</dependencies>
<build>
@@ -174,19 +168,6 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-gson-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-jackson-deployment</artifactId>
@@ -213,19 +194,6 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-jsonb-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-log-deployment</artifactId>
@@ -294,6 +262,5 @@
</dependencies>
</profile>
</profiles>
-
-
-</project>
+
+</project>
\ No newline at end of file
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/jackson/json/JacksonJsonResource.java b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/JacksonJsonResource.java
similarity index 95%
rename from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/jackson/json/JacksonJsonResource.java
rename to integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/JacksonJsonResource.java
index 9990ebbf8b..5e04196ef3 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/jackson/json/JacksonJsonResource.java
+++ b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/JacksonJsonResource.java
@@ -14,15 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.jackson.json;
-
-import java.util.Calendar;
-import java.util.GregorianCalendar;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.TimeZone;
+package org.apache.camel.quarkus.component.dataformats.json.jackson;
+
+import java.util.*;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@@ -40,21 +34,12 @@ import org.apache.camel.Exchange;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.component.jackson.JacksonConstants;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.quarkus.component.dataformats.json.model.DummyObject;
-import org.apache.camel.quarkus.component.dataformats.json.model.Order;
-import org.apache.camel.quarkus.component.dataformats.json.model.Person;
-import org.apache.camel.quarkus.component.dataformats.json.model.Pojo;
-import org.apache.camel.quarkus.component.dataformats.json.model.TestJAXBPojo;
-import org.apache.camel.quarkus.component.dataformats.json.model.TestOtherPojo;
-import org.apache.camel.quarkus.component.dataformats.json.model.TestPojo;
-import org.apache.camel.quarkus.component.dataformats.json.model.TestPojoView;
+import org.apache.camel.quarkus.component.dataformats.json.jackson.model.*;
import org.jboss.logging.Logger;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.*;
-@Path("/dataformats-json")
+@Path("/dataformats-json-jackson")
@ApplicationScoped
public class JacksonJsonResource {
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/jackson/json/JacksonJsonRoute.java b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/JacksonJsonRoute.java
similarity index 92%
rename from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/jackson/json/JacksonJsonRoute.java
rename to integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/JacksonJsonRoute.java
index 867354c55e..d84fe89d0c 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/jackson/json/JacksonJsonRoute.java
+++ b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/JacksonJsonRoute.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.jackson.json;
+package org.apache.camel.quarkus.component.dataformats.json.jackson;
import java.util.TimeZone;
@@ -27,14 +27,7 @@ import org.apache.camel.component.jackson.JacksonConstants;
import org.apache.camel.component.jackson.JacksonDataFormat;
import org.apache.camel.component.jackson.ListJacksonDataFormat;
import org.apache.camel.model.dataformat.JsonLibrary;
-import org.apache.camel.quarkus.component.dataformats.json.model.DummyObject;
-import org.apache.camel.quarkus.component.dataformats.json.model.MyModule;
-import org.apache.camel.quarkus.component.dataformats.json.model.Person;
-import org.apache.camel.quarkus.component.dataformats.json.model.Pojo;
-import org.apache.camel.quarkus.component.dataformats.json.model.TestJAXBPojo;
-import org.apache.camel.quarkus.component.dataformats.json.model.TestPojo;
-import org.apache.camel.quarkus.component.dataformats.json.model.TestPojoView;
-import org.apache.camel.quarkus.component.dataformats.json.model.Views;
+import org.apache.camel.quarkus.component.dataformats.json.jackson.model.*;
public class JacksonJsonRoute extends RouteBuilder {
@@ -91,7 +84,8 @@ public class JacksonJsonRoute extends RouteBuilder {
JacksonDataFormat jacksonJsonModuleFormat = new JacksonDataFormat();
jacksonJsonModuleFormat.setInclude("NON_NULL");
- jacksonJsonModuleFormat.setModuleClassNames("org.apache.camel.quarkus.component.dataformats.json.model.MyModule");
+ jacksonJsonModuleFormat
+ .setModuleClassNames("org.apache.camel.quarkus.component.dataformats.json.jackson.model.MyModule");
from("direct:jackson-module-marshal").marshal(jacksonJsonModuleFormat).to("mock:jackson-module-marshal");
JacksonDataFormat jacksonNotUseDefaultMapper = new JacksonDataFormat();
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/jackson/json/NamingStrategyCustomizer.java b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/NamingStrategyCustomizer.java
similarity index 95%
rename from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/jackson/json/NamingStrategyCustomizer.java
rename to integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/NamingStrategyCustomizer.java
index a8b3ec2a74..d9824a80e5 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/jackson/json/NamingStrategyCustomizer.java
+++ b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/NamingStrategyCustomizer.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.jackson.json;
+package org.apache.camel.quarkus.component.dataformats.json.jackson;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/AnotherObject.java b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/AnotherObject.java
similarity index 93%
copy from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/AnotherObject.java
copy to integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/AnotherObject.java
index 07464ca982..9071952135 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/AnotherObject.java
+++ b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/AnotherObject.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json.model;
+package org.apache.camel.quarkus.component.dataformats.json.jackson.model;
import io.quarkus.runtime.annotations.RegisterForReflection;
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/DummyObject.java b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/DummyObject.java
similarity index 92%
copy from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/DummyObject.java
copy to integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/DummyObject.java
index 94531f06a6..0f96e2374a 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/DummyObject.java
+++ b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/DummyObject.java
@@ -14,14 +14,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json.model;
+package org.apache.camel.quarkus.component.dataformats.json.jackson.model;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.quarkus.runtime.annotations.RegisterForReflection;
import jakarta.json.bind.annotation.JsonbProperty;
-import jakarta.json.bind.annotation.JsonbTransient;
@RegisterForReflection
public class DummyObject {
@@ -30,8 +29,6 @@ public class DummyObject {
private String dummyString;
@JsonIgnore
- @ExcludeField
- @JsonbTransient
private int ignored;
private Date date = new Date(1645026373);
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/MyModule.java b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/MyModule.java
similarity index 95%
rename from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/MyModule.java
rename to integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/MyModule.java
index 0af321ca15..60c4874f42 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/MyModule.java
+++ b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/MyModule.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json.model;
+package org.apache.camel.quarkus.component.dataformats.json.jackson.model;
import com.fasterxml.jackson.core.Version;
import com.fasterxml.jackson.databind.Module;
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/Order.java b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/Order.java
similarity index 96%
rename from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/Order.java
rename to integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/Order.java
index b302a94043..cbb8e1c159 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/Order.java
+++ b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/Order.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json.model;
+package org.apache.camel.quarkus.component.dataformats.json.jackson.model;
import io.quarkus.runtime.annotations.RegisterForReflection;
import jakarta.xml.bind.annotation.XmlAccessType;
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/Person.java b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/Person.java
similarity index 96%
rename from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/Person.java
rename to integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/Person.java
index 1d2068e2f7..953b7999e9 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/Person.java
+++ b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/Person.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json.model;
+package org.apache.camel.quarkus.component.dataformats.json.jackson.model;
import java.util.Objects;
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/Pojo.java b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/Pojo.java
similarity index 93%
rename from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/Pojo.java
rename to integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/Pojo.java
index 6700c4594b..d099f4de91 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/Pojo.java
+++ b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/Pojo.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json.model;
+package org.apache.camel.quarkus.component.dataformats.json.jackson.model;
import io.quarkus.runtime.annotations.RegisterForReflection;
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/PojoA.java b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/PojoA.java
similarity index 94%
copy from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/PojoA.java
copy to integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/PojoA.java
index 366c9f59a9..ccb7e69779 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/PojoA.java
+++ b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/PojoA.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json.model;
+package org.apache.camel.quarkus.component.dataformats.json.jackson.model;
import io.quarkus.runtime.annotations.RegisterForReflection;
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/TestJAXBPojo.java b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/TestJAXBPojo.java
similarity index 95%
rename from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/TestJAXBPojo.java
rename to integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/TestJAXBPojo.java
index 2ca2c9fb51..7597ec259a 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/TestJAXBPojo.java
+++ b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/TestJAXBPojo.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json.model;
+package org.apache.camel.quarkus.component.dataformats.json.jackson.model;
import io.quarkus.runtime.annotations.RegisterForReflection;
import jakarta.xml.bind.annotation.XmlElement;
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/TestOtherPojo.java b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/TestOtherPojo.java
similarity index 94%
rename from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/TestOtherPojo.java
rename to integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/TestOtherPojo.java
index 24e1fd01aa..4f9e9d999a 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/TestOtherPojo.java
+++ b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/TestOtherPojo.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json.model;
+package org.apache.camel.quarkus.component.dataformats.json.jackson.model;
import io.quarkus.runtime.annotations.RegisterForReflection;
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/TestPojo.java b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/TestPojo.java
similarity index 94%
rename from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/TestPojo.java
rename to integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/TestPojo.java
index 5d2b8b76a4..c95b283d62 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/TestPojo.java
+++ b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/TestPojo.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json.model;
+package org.apache.camel.quarkus.component.dataformats.json.jackson.model;
import io.quarkus.runtime.annotations.RegisterForReflection;
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/TestPojoView.java b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/TestPojoView.java
similarity index 96%
rename from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/TestPojoView.java
rename to integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/TestPojoView.java
index aefdd53ce0..03213e0be8 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/TestPojoView.java
+++ b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/TestPojoView.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json.model;
+package org.apache.camel.quarkus.component.dataformats.json.jackson.model;
import com.fasterxml.jackson.annotation.JsonView;
import io.quarkus.runtime.annotations.RegisterForReflection;
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/Views.java b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/Views.java
similarity index 93%
rename from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/Views.java
rename to integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/Views.java
index d308eb337e..81bc8e3553 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/Views.java
+++ b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/model/Views.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json.model;
+package org.apache.camel.quarkus.component.dataformats.json.jackson.model;
import io.quarkus.runtime.annotations.RegisterForReflection;
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/jackson/xml/JacksonXmlResource.java b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/xml/JacksonXmlResource.java
similarity index 96%
rename from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/jackson/xml/JacksonXmlResource.java
rename to integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/xml/JacksonXmlResource.java
index acf7814406..274de9ac59 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/jackson/xml/JacksonXmlResource.java
+++ b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/xml/JacksonXmlResource.java
@@ -14,25 +14,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.jackson.xml;
-
-import java.util.Calendar;
-import java.util.GregorianCalendar;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.TimeZone;
+package org.apache.camel.quarkus.component.dataformats.json.jackson.xml;
+
+import java.util.*;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;
-import jakarta.ws.rs.Consumes;
-import jakarta.ws.rs.GET;
-import jakarta.ws.rs.POST;
-import jakarta.ws.rs.Path;
-import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.*;
import jakarta.ws.rs.core.MediaType;
import org.apache.camel.CamelContext;
import org.apache.camel.ConsumerTemplate;
@@ -40,17 +31,15 @@ import org.apache.camel.Exchange;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.component.jacksonxml.JacksonXMLConstants;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.quarkus.component.dataformats.json.model.TestJAXBPojo;
-import org.apache.camel.quarkus.component.dataformats.json.model.TestOtherPojo;
-import org.apache.camel.quarkus.component.dataformats.json.model.TestPojo;
-import org.apache.camel.quarkus.component.dataformats.json.model.TestPojoView;
+import org.apache.camel.quarkus.component.dataformats.json.jackson.model.TestJAXBPojo;
+import org.apache.camel.quarkus.component.dataformats.json.jackson.model.TestOtherPojo;
+import org.apache.camel.quarkus.component.dataformats.json.jackson.model.TestPojo;
+import org.apache.camel.quarkus.component.dataformats.json.jackson.model.TestPojoView;
import org.jboss.logging.Logger;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.*;
-@Path("/dataformats-json")
+@Path("/dataformats-json-jackson")
@ApplicationScoped
public class JacksonXmlResource {
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/jackson/xml/JacksonXmlRoute.java b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/xml/JacksonXmlRoute.java
similarity index 91%
rename from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/jackson/xml/JacksonXmlRoute.java
rename to integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/xml/JacksonXmlRoute.java
index 98f82c33a1..560bd510ff 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/jackson/xml/JacksonXmlRoute.java
+++ b/integration-test-groups/dataformats-json/json-jackson/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jackson/xml/JacksonXmlRoute.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.jackson.xml;
+package org.apache.camel.quarkus.component.dataformats.json.jackson.xml;
import java.util.TimeZone;
@@ -23,12 +23,7 @@ import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jacksonxml.JacksonXMLConstants;
import org.apache.camel.component.jacksonxml.JacksonXMLDataFormat;
import org.apache.camel.component.jacksonxml.ListJacksonXMLDataFormat;
-import org.apache.camel.quarkus.component.dataformats.json.model.DummyObject;
-import org.apache.camel.quarkus.component.dataformats.json.model.MyModule;
-import org.apache.camel.quarkus.component.dataformats.json.model.TestJAXBPojo;
-import org.apache.camel.quarkus.component.dataformats.json.model.TestPojo;
-import org.apache.camel.quarkus.component.dataformats.json.model.TestPojoView;
-import org.apache.camel.quarkus.component.dataformats.json.model.Views;
+import org.apache.camel.quarkus.component.dataformats.json.jackson.model.*;
public class JacksonXmlRoute extends RouteBuilder {
@@ -74,7 +69,8 @@ public class JacksonXmlRoute extends RouteBuilder {
JacksonXMLDataFormat jacksonXmlMarshalModuleformat = new JacksonXMLDataFormat();
jacksonXmlMarshalModuleformat.setInclude("NON_NULL");
- jacksonXmlMarshalModuleformat.setModuleClassNames("org.apache.camel.quarkus.component.dataformats.json.model.MyModule");
+ jacksonXmlMarshalModuleformat
+ .setModuleClassNames("org.apache.camel.quarkus.component.dataformats.json.jackson.model.MyModule");
from("direct:jacksonxml-marshal-module").marshal(jacksonXmlMarshalModuleformat).to("mock:jacksonxml-marshal-module");
from("direct:jacksonxml-marshal-concurrent-start").marshal().jacksonXml().to("log:marshalled")
diff --git a/integration-tests/dataformats-json/src/main/resources/application.properties b/integration-test-groups/dataformats-json/json-jackson/src/main/resources/application.properties
similarity index 87%
rename from integration-tests/dataformats-json/src/main/resources/application.properties
rename to integration-test-groups/dataformats-json/json-jackson/src/main/resources/application.properties
index b250477e7a..f3e7832907 100644
--- a/integration-tests/dataformats-json/src/main/resources/application.properties
+++ b/integration-test-groups/dataformats-json/json-jackson/src/main/resources/application.properties
@@ -18,9 +18,9 @@
#
# Camel
#
-camel.context.name = camel-quarkus-integration-tests-dataformats-json
+camel.context.name = camel-quarkus-integration-tests-dataformats-json-jackson
#
# Main
#
-camel.main.routes-include-pattern = classpath:routes/jsonb-routes.xml,classpath:routes/jackson-routes.xml,classpath:routes/gson-routes.xml
+camel.main.routes-include-pattern = classpath:routes/jackson-routes.xml
diff --git a/integration-tests/dataformats-json/src/main/resources/routes/jackson-routes.xml b/integration-test-groups/dataformats-json/json-jackson/src/main/resources/routes/jackson-routes.xml
similarity index 81%
rename from integration-tests/dataformats-json/src/main/resources/routes/jackson-routes.xml
rename to integration-test-groups/dataformats-json/json-jackson/src/main/resources/routes/jackson-routes.xml
index b1d48464a2..0b87174396 100644
--- a/integration-tests/dataformats-json/src/main/resources/routes/jackson-routes.xml
+++ b/integration-test-groups/dataformats-json/json-jackson/src/main/resources/routes/jackson-routes.xml
@@ -26,7 +26,7 @@
<route>
<from uri="direct:Jackson-type-as-attribute"/>
<unmarshal>
- <json library="Jackson" unmarshalType="org.apache.camel.quarkus.component.dataformats.json.model.AnotherObject"/>
+ <json library="Jackson" unmarshalType="org.apache.camel.quarkus.component.dataformats.json.jackson.model.AnotherObject"/>
</unmarshal>
</route>
@@ -42,14 +42,14 @@
<route>
<from uri="direct:jacksonxml-unmarshal-spring-list-backPojo"/>
- <unmarshal><jacksonXml useList="true" unmarshalType="org.apache.camel.quarkus.component.dataformats.json.model.TestPojo"/></unmarshal>
+ <unmarshal><jacksonXml useList="true" unmarshalType="org.apache.camel.quarkus.component.dataformats.json.jackson.model.TestPojo"/></unmarshal>
<to uri="mock:jacksonxml-unmarshal-spring-list-reversePojo"/>
</route>
<route>
<from uri="direct:jacksonxml-marshal-spring-enablefeature"/>
<marshal>
- <jacksonXml unmarshalType="org.apache.camel.quarkus.component.dataformats.json.model.TestPojo"
+ <jacksonXml unmarshalType="org.apache.camel.quarkus.component.dataformats.json.jackson.model.TestPojo"
enableFeatures="WRAP_ROOT_VALUE"/>
</marshal>
</route>
@@ -72,35 +72,35 @@
<route>
<from uri="direct:jacksonxml-xml-inPojo"/>
- <marshal><jacksonXml unmarshalType="org.apache.camel.quarkus.component.dataformats.json.model.TestPojo"/></marshal>
+ <marshal><jacksonXml unmarshalType="org.apache.camel.quarkus.component.dataformats.json.jackson.model.TestPojo"/></marshal>
</route>
<route>
<from uri="direct:jacksonxml-xml-backPojo"/>
- <unmarshal><jacksonXml unmarshalType="org.apache.camel.quarkus.component.dataformats.json.model.TestPojo"/></unmarshal>
+ <unmarshal><jacksonXml unmarshalType="org.apache.camel.quarkus.component.dataformats.json.jackson.model.TestPojo"/></unmarshal>
<to uri="mock:jacksonxml-xml-reversePojo"/>
</route>
<route>
<from uri="direct:jacksonxml-xml-inAgeView"/>
- <marshal><jacksonXml unmarshalType="org.apache.camel.quarkus.component.dataformats.json.model.TestPojoView" jsonView="org.apache.camel.quarkus.component.dataformats.json.model.Views$Age"/></marshal>
+ <marshal><jacksonXml unmarshalType="org.apache.camel.quarkus.component.dataformats.json.jackson.model.TestPojoView" jsonView="org.apache.camel.quarkus.component.dataformats.json.jackson.model.Views$Age"/></marshal>
</route>
<route>
<from uri="direct:jacksonxml-xml-backAgeView"/>
- <unmarshal><jacksonXml unmarshalType="org.apache.camel.quarkus.component.dataformats.json.model.TestPojoView" jsonView="org.apache.camel.quarkus.component.dataformats.json.model.Views$Age"/></unmarshal>
+ <unmarshal><jacksonXml unmarshalType="org.apache.camel.quarkus.component.dataformats.json.jackson.model.TestPojoView" jsonView="org.apache.camel.quarkus.component.dataformats.json.jackson.model.Views$Age"/></unmarshal>
<to uri="mock:jacksonxml-xml-reverseAgeView"/>
</route>
<route>
<from uri="direct:jackson-xml-unmarshal-list-backPojo"/>
- <unmarshal><json library="Jackson" useList="true" unmarshalType="org.apache.camel.quarkus.component.dataformats.json.model.TestPojo"/></unmarshal>
+ <unmarshal><json library="Jackson" useList="true" unmarshalType="org.apache.camel.quarkus.component.dataformats.json.jackson.model.TestPojo"/></unmarshal>
<to uri="mock:jackson-xml-unmarshal-list-reversePojo"/>
</route>
<route>
<from uri="direct:jackson-enablefeature-in"/>
- <marshal><json library="Jackson" unmarshalType="org.apache.camel.quarkus.component.dataformats.json.model.TestPojo"
+ <marshal><json library="Jackson" unmarshalType="org.apache.camel.quarkus.component.dataformats.json.jackson.model.TestPojo"
enableFeatures="WRAP_ROOT_VALUE"/></marshal>
</route>
</routes>
diff --git a/integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/jackson/json/JacksonJsonIT.java b/integration-test-groups/dataformats-json/json-jackson/src/test/java/org/apache/camel/quarkus/component/dataformats/json/jackson/JacksonJsonIT.java
similarity index 93%
rename from integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/jackson/json/JacksonJsonIT.java
rename to integration-test-groups/dataformats-json/json-jackson/src/test/java/org/apache/camel/quarkus/component/dataformats/json/jackson/JacksonJsonIT.java
index 020efe3bab..18d68d6b4e 100644
--- a/integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/jackson/json/JacksonJsonIT.java
+++ b/integration-test-groups/dataformats-json/json-jackson/src/test/java/org/apache/camel/quarkus/component/dataformats/json/jackson/JacksonJsonIT.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.jackson.json;
+package org.apache.camel.quarkus.component.dataformats.json.jackson;
import io.quarkus.test.junit.QuarkusIntegrationTest;
diff --git a/integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/jackson/json/JacksonJsonTest.java b/integration-test-groups/dataformats-json/json-jackson/src/test/java/org/apache/camel/quarkus/component/dataformats/json/jackson/JacksonJsonTest.java
similarity index 63%
rename from integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/jackson/json/JacksonJsonTest.java
rename to integration-test-groups/dataformats-json/json-jackson/src/test/java/org/apache/camel/quarkus/component/dataformats/json/jackson/JacksonJsonTest.java
index 34e59414f3..eeaa66c8a8 100644
--- a/integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/jackson/json/JacksonJsonTest.java
+++ b/integration-test-groups/dataformats-json/json-jackson/src/test/java/org/apache/camel/quarkus/component/dataformats/json/jackson/JacksonJsonTest.java
@@ -14,51 +14,40 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.jackson.json;
+package org.apache.camel.quarkus.component.dataformats.json.jackson;
import io.quarkus.test.junit.QuarkusTest;
import io.restassured.RestAssured;
-import org.apache.camel.quarkus.component.dataformats.json.JsonBaseTest;
import org.junit.jupiter.api.Test;
import static org.hamcrest.Matchers.equalTo;
@QuarkusTest
-public class JacksonJsonTest extends JsonBaseTest {
+public class JacksonJsonTest {
@Test
void jacksonUnmarshalTypeHeader() {
- RestAssured.get("/dataformats-json/jackson/unmarshal-typeheader")
+ RestAssured.get("/dataformats-json-jackson/jackson/unmarshal-typeheader")
.then()
.statusCode(204);
}
- @Test
- public void jacksonUnmarshallTypeAttribute() {
- testUnmarshal("Jackson-type-as-attribute");
- }
-
- @Test
- public void jacksonUnmarshallingDifferentPojos() {
- testUnmarshallingDifferentPojos("Jackson");
- }
-
@Test
void jacksonUnmarshalList() {
- RestAssured.get("/dataformats-json/jackson/unmarshal-list")
+ RestAssured.get("/dataformats-json-jackson/jackson/unmarshal-list")
.then()
.statusCode(204);
}
@Test
void jacksonUnmarshalListSplit() {
- RestAssured.get("/dataformats-json/jackson/unmarshal-listsplit")
+ RestAssured.get("/dataformats-json-jackson/jackson/unmarshal-listsplit")
.then()
.statusCode(204);
}
@Test
void jacksonMarshalIncludeDefault() {
- RestAssured.get("/dataformats-json/jackson/marshal-includedefault")
+ RestAssured.get("/dataformats-json-jackson/jackson/marshal-includedefault")
.then()
.statusCode(200)
.body(equalTo("{\"name\":\"Camel\",\"country\":null}"));
@@ -66,154 +55,154 @@ public class JacksonJsonTest extends JsonBaseTest {
@Test
void jacksonUnmarshalArray() {
- RestAssured.get("/dataformats-json/jackson/unmarshal-array")
+ RestAssured.get("/dataformats-json-jackson/jackson/unmarshal-array")
.then()
.statusCode(204);
}
@Test
void jacksonMarshalContentTypeHeader() {
- RestAssured.get("/dataformats-json/jackson/marshal-contenttype-header")
+ RestAssured.get("/dataformats-json-jackson/jackson/marshal-contenttype-header")
.then()
.statusCode(204);
}
@Test
void jacksonMarshalGeneral() {
- RestAssured.get("/dataformats-json/jackson/marshal-general")
+ RestAssured.get("/dataformats-json-jackson/jackson/marshal-general")
.then()
.statusCode(204);
}
@Test
void jacksonObjectMapperNoReg() {
- RestAssured.get("/dataformats-json/jackson/object-mapper-noreg")
+ RestAssured.get("/dataformats-json-jackson/jackson/object-mapper-noreg")
.then()
.statusCode(204);
}
@Test
void jacksonAllowJmsType() {
- RestAssured.get("/dataformats-json/jackson/allowjmstype")
+ RestAssured.get("/dataformats-json-jackson/jackson/allowjmstype")
.then()
.statusCode(204);
}
@Test
void jacksonMarshalModule() {
- RestAssured.get("/dataformats-json/jackson/marshal-module")
+ RestAssured.get("/dataformats-json-jackson/jackson/marshal-module")
.then()
.statusCode(204);
}
@Test
void jacksonNotUseDefaultMapper() {
- RestAssured.get("/dataformats-json/jackson/not-use-default-mapper")
+ RestAssured.get("/dataformats-json-jackson/jackson/not-use-default-mapper")
.then()
.statusCode(204);
}
@Test
void jacksonUnmarshalListXmlConfigure() {
- RestAssured.get("/dataformats-json/jackson/unmarshal-list-xml-configure")
+ RestAssured.get("/dataformats-json-jackson/jackson/unmarshal-list-xml-configure")
.then()
.statusCode(204);
}
@Test
void jacksonObjectMapper() {
- RestAssured.get("/dataformats-json/jackson/object-mapper")
+ RestAssured.get("/dataformats-json-jackson/jackson/object-mapper")
.then()
.statusCode(204);
}
@Test
void jacksonPojoArray() {
- RestAssured.get("/dataformats-json/jackson/pojo-array")
+ RestAssured.get("/dataformats-json-jackson/jackson/pojo-array")
.then()
.statusCode(204);
}
@Test
void jacksonEnableFeature() {
- RestAssured.get("/dataformats-json/jackson/enablefeature")
+ RestAssured.get("/dataformats-json-jackson/jackson/enablefeature")
.then()
.statusCode(204);
}
@Test
void jacksonConcurrent() {
- RestAssured.get("/dataformats-json/jackson/concurrent")
+ RestAssured.get("/dataformats-json-jackson/jackson/concurrent")
.then()
.statusCode(204);
}
@Test
void jacksonUnmarshalListJackson() {
- RestAssured.get("/dataformats-json/jackson/unmarshal-listjackson")
+ RestAssured.get("/dataformats-json-jackson/jackson/unmarshal-listjackson")
.then()
.statusCode(204);
}
@Test
void jacksonConversionPojo() {
- RestAssured.get("/dataformats-json/jackson/conversion-pojo")
+ RestAssured.get("/dataformats-json-jackson/jackson/conversion-pojo")
.then()
.statusCode(204);
}
@Test
void jacksonConversion() {
- RestAssured.get("/dataformats-json/jackson/conversion")
+ RestAssured.get("/dataformats-json-jackson/jackson/conversion")
.then()
.statusCode(204);
}
@Test
void jacksonJaxbAnnotation() {
- RestAssured.get("/dataformats-json/jackson/jaxb-annotation")
+ RestAssured.get("/dataformats-json-jackson/jackson/jaxb-annotation")
.then()
.statusCode(204);
}
@Test
void jacksonView() {
- RestAssured.get("/dataformats-json/jackson/view")
+ RestAssured.get("/dataformats-json-jackson/jackson/view")
.then()
.statusCode(204);
}
@Test
void jacksonModuleRef() {
- RestAssured.get("/dataformats-json/jackson/moduleref")
+ RestAssured.get("/dataformats-json-jackson/jackson/moduleref")
.then()
.statusCode(204);
}
@Test
void jacksonIncludeNoNull() {
- RestAssured.get("/dataformats-json/jackson/include-no-null")
+ RestAssured.get("/dataformats-json-jackson/jackson/include-no-null")
.then()
.statusCode(204);
}
@Test
void jacksonTypeHeaderNotAllowed() {
- RestAssured.get("/dataformats-json/jackson/typeheader-not-allowed")
+ RestAssured.get("/dataformats-json-jackson/jackson/typeheader-not-allowed")
.then()
.statusCode(204);
}
@Test
void jacksonDateTimezone() {
- RestAssured.get("/dataformats-json/jackson/datetimezone")
+ RestAssured.get("/dataformats-json-jackson/jackson/datetimezone")
.then()
.statusCode(204);
}
@Test
void jacksonUnmarshalJsonNode() {
- RestAssured.get("/dataformats-json/jackson/json-node")
+ RestAssured.get("/dataformats-json-jackson/jackson/json-node")
.then()
.statusCode(200)
.body(equalTo("Camel"));
diff --git a/integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/jackson/xml/JacksonXmlIT.java b/integration-test-groups/dataformats-json/json-jackson/src/test/java/org/apache/camel/quarkus/component/dataformats/json/jackson/xml/JacksonXmlIT.java
similarity index 92%
rename from integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/jackson/xml/JacksonXmlIT.java
rename to integration-test-groups/dataformats-json/json-jackson/src/test/java/org/apache/camel/quarkus/component/dataformats/json/jackson/xml/JacksonXmlIT.java
index d7e44c4fc6..d2275ec5f4 100644
--- a/integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/jackson/xml/JacksonXmlIT.java
+++ b/integration-test-groups/dataformats-json/json-jackson/src/test/java/org/apache/camel/quarkus/component/dataformats/json/jackson/xml/JacksonXmlIT.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.jackson.xml;
+package org.apache.camel.quarkus.component.dataformats.json.jackson.xml;
import io.quarkus.test.junit.QuarkusIntegrationTest;
diff --git a/integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/jackson/xml/JacksonXmlTest.java b/integration-test-groups/dataformats-json/json-jackson/src/test/java/org/apache/camel/quarkus/component/dataformats/json/jackson/xml/JacksonXmlTest.java
similarity index 65%
rename from integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/jackson/xml/JacksonXmlTest.java
rename to integration-test-groups/dataformats-json/json-jackson/src/test/java/org/apache/camel/quarkus/component/dataformats/json/jackson/xml/JacksonXmlTest.java
index 9bc67fd943..e26b230278 100644
--- a/integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/jackson/xml/JacksonXmlTest.java
+++ b/integration-test-groups/dataformats-json/json-jackson/src/test/java/org/apache/camel/quarkus/component/dataformats/json/jackson/xml/JacksonXmlTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.jackson.xml;
+package org.apache.camel.quarkus.component.dataformats.json.jackson.xml;
import java.util.ArrayList;
import java.util.List;
@@ -22,11 +22,9 @@ import java.util.concurrent.TimeUnit;
import io.quarkus.test.junit.QuarkusTest;
import io.restassured.RestAssured;
-import io.restassured.http.ContentType;
import jakarta.json.bind.JsonbBuilder;
-import org.apache.camel.quarkus.component.dataformats.json.model.DummyObject;
-import org.apache.camel.quarkus.component.dataformats.json.model.PojoA;
-import org.apache.camel.quarkus.component.dataformats.json.model.TestPojo;
+import org.apache.camel.quarkus.component.dataformats.json.jackson.model.DummyObject;
+import org.apache.camel.quarkus.component.dataformats.json.jackson.model.TestPojo;
import org.junit.jupiter.api.Test;
import static org.awaitility.Awaitility.await;
@@ -35,27 +33,6 @@ import static org.hamcrest.Matchers.equalTo;
@QuarkusTest
public class JacksonXmlTest {
- @Test
- void jacksonXmlMarshalAndUnmarshal() {
- final String xml = "<PojoA><name>Joe</name></PojoA>";
- final String json = JsonbBuilder.create().toJson(new PojoA("Joe"));
- RestAssured.given()
- .contentType(ContentType.JSON)
- .body(json)
- .post("/dataformats-json/jacksonxml/marshal")
- .then()
- .statusCode(200)
- .body("PojoA.name", equalTo("Joe"));
-
- RestAssured.given()
- .contentType("text/xml")
- .body(xml)
- .post("/dataformats-json/jacksonxml/unmarshal")
- .then()
- .statusCode(200)
- .body(equalTo(json));
- }
-
@Test
void jacksonXmlUnmarshalTypeHeader() {
final String testPojoXml = "<pojo name=\"Camel\"/>";
@@ -65,7 +42,7 @@ public class JacksonXmlTest {
RestAssured.given()
.contentType("text/xml")
.body(testPojoXml)
- .post("/dataformats-json/jacksonxml/unmarshal-type-header")
+ .post("/dataformats-json-jackson/jacksonxml/unmarshal-type-header")
.then()
.statusCode(200)
.body(equalTo(testPojoJson));
@@ -73,7 +50,7 @@ public class JacksonXmlTest {
@Test
void jacksonXmlUnmarshalList() {
- RestAssured.get("/dataformats-json/jacksonxml/unmarshal-list")
+ RestAssured.get("/dataformats-json-jackson/jacksonxml/unmarshal-list")
.then()
.statusCode(204);
}
@@ -92,7 +69,7 @@ public class JacksonXmlTest {
RestAssured.given()
.contentType("text/xml")
.body(json)
- .post("/dataformats-json/jacksonxml/unmarshal-listsplit")
+ .post("/dataformats-json-jackson/jacksonxml/unmarshal-listsplit")
.then()
.statusCode(200)
.body(equalTo(listJson));
@@ -100,7 +77,7 @@ public class JacksonXmlTest {
List<?> records = RestAssured.given()
.contentType("text/xml")
.body(json)
- .post("/dataformats-json/jacksonxml/unmarshal-listsplit")
+ .post("/dataformats-json-jackson/jacksonxml/unmarshal-listsplit")
.then()
.statusCode(200)
.extract().as(List.class);
@@ -111,7 +88,7 @@ public class JacksonXmlTest {
@Test
void jacksonXmlMarshalIncludeDefault() {
- RestAssured.get("/dataformats-json/jacksonxml/marshal-includedefault")
+ RestAssured.get("/dataformats-json-jackson/jacksonxml/marshal-includedefault")
.then()
.statusCode(200)
.body(equalTo("<TestOtherPojo><name>Camel</name><country/></TestOtherPojo>"));
@@ -119,7 +96,7 @@ public class JacksonXmlTest {
@Test
void jacksonXmlMarshalContentTypeHeader() {
- RestAssured.get("/dataformats-json/jacksonxml/marshal-contenttype-header")
+ RestAssured.get("/dataformats-json-jackson/jacksonxml/marshal-contenttype-header")
.then()
.statusCode(204);
@@ -127,7 +104,7 @@ public class JacksonXmlTest {
@Test
void jacksonXmlMarshalGeneral() {
- RestAssured.get("/dataformats-json/jacksonxml/marshal-general")
+ RestAssured.get("/dataformats-json-jackson/jacksonxml/marshal-general")
.then()
.statusCode(204);
@@ -135,7 +112,7 @@ public class JacksonXmlTest {
@Test
void jacksonXmlMarshalAllowJmsType() {
- RestAssured.get("/dataformats-json/jacksonxml/marshal-allowjmstype")
+ RestAssured.get("/dataformats-json-jackson/jacksonxml/marshal-allowjmstype")
.then()
.statusCode(204);
@@ -143,7 +120,7 @@ public class JacksonXmlTest {
@Test
void jacksonXmlMarshalModule() {
- RestAssured.get("/dataformats-json/jacksonxml/marshal-module")
+ RestAssured.get("/dataformats-json-jackson/jacksonxml/marshal-module")
.then()
.statusCode(204);
@@ -151,7 +128,7 @@ public class JacksonXmlTest {
@Test
void jacksonXmlUnmarshalSpringList() {
- RestAssured.get("/dataformats-json/jacksonxml/unmarshal-springlist")
+ RestAssured.get("/dataformats-json-jackson/jacksonxml/unmarshal-springlist")
.then()
.statusCode(204);
@@ -159,7 +136,7 @@ public class JacksonXmlTest {
@Test
void jacksonXmlMarshalSpringEnableFeature() {
- RestAssured.get("/dataformats-json/jacksonxml/marshal-spring-enablefeature")
+ RestAssured.get("/dataformats-json-jackson/jacksonxml/marshal-spring-enablefeature")
.then()
.statusCode(204);
@@ -167,7 +144,7 @@ public class JacksonXmlTest {
@Test
void jacksonXmlMarshalConcurrent() {
- RestAssured.get("/dataformats-json/jacksonxml/marshal-concurrent")
+ RestAssured.get("/dataformats-json-jackson/jacksonxml/marshal-concurrent")
.then()
.statusCode(204);
@@ -175,7 +152,7 @@ public class JacksonXmlTest {
@Test
void jacksonXmlMarshalConversion() {
- RestAssured.get("/dataformats-json/jacksonxml/marshal-conversion")
+ RestAssured.get("/dataformats-json-jackson/jacksonxml/marshal-conversion")
.then()
.statusCode(204);
@@ -183,7 +160,7 @@ public class JacksonXmlTest {
@Test
void jacksonXmlUnmarshalListJackson() {
- RestAssured.get("/dataformats-json/jacksonxml/unmarshal-listjackson")
+ RestAssured.get("/dataformats-json-jackson/jacksonxml/unmarshal-listjackson")
.then()
.statusCode(204);
@@ -191,7 +168,7 @@ public class JacksonXmlTest {
@Test
void jacksonXmlSpringJackson() {
- RestAssured.get("/dataformats-json/jacksonxml/springjackson")
+ RestAssured.get("/dataformats-json-jackson/jacksonxml/springjackson")
.then()
.statusCode(204);
@@ -199,7 +176,7 @@ public class JacksonXmlTest {
@Test
void jacksonXmlJaxbAnnotation() {
- RestAssured.get("/dataformats-json/jacksonxml/jaxb-annotation")
+ RestAssured.get("/dataformats-json-jackson/jacksonxml/jaxb-annotation")
.then()
.statusCode(204);
@@ -207,7 +184,7 @@ public class JacksonXmlTest {
@Test
void jacksonXmlJsonView() {
- RestAssured.get("/dataformats-json/jacksonxml/jsonview")
+ RestAssured.get("/dataformats-json-jackson/jacksonxml/jsonview")
.then()
.statusCode(204);
@@ -215,7 +192,7 @@ public class JacksonXmlTest {
@Test
void jacksonXmlModuleRef() {
- RestAssured.get("/dataformats-json/jacksonxml/moduleref")
+ RestAssured.get("/dataformats-json-jackson/jacksonxml/moduleref")
.then()
.statusCode(204);
@@ -223,7 +200,7 @@ public class JacksonXmlTest {
@Test
void jacksonXmlIncludeNoNull() {
- RestAssured.get("/dataformats-json/jacksonxml/include-no-null")
+ RestAssured.get("/dataformats-json-jackson/jacksonxml/include-no-null")
.then()
.statusCode(204);
@@ -231,7 +208,7 @@ public class JacksonXmlTest {
@Test
void jacksonXmlTypeHeaderNotAllowed() {
- RestAssured.get("/dataformats-json/jacksonxml/typeheader-not-allowed")
+ RestAssured.get("/dataformats-json-jackson/jacksonxml/typeheader-not-allowed")
.then()
.statusCode(204);
@@ -239,7 +216,7 @@ public class JacksonXmlTest {
@Test
void jacksonXmlDateTimezone() {
- RestAssured.get("/dataformats-json/jacksonxml/datetimezone")
+ RestAssured.get("/dataformats-json-jackson/jacksonxml/datetimezone")
.then()
.statusCode(204);
diff --git a/integration-tests/dataformats-json/pom.xml b/integration-test-groups/dataformats-json/json-jsonb/pom.xml
similarity index 77%
copy from integration-tests/dataformats-json/pom.xml
copy to integration-test-groups/dataformats-json/json-jsonb/pom.xml
index 049ef3c77b..9730cd63d5 100644
--- a/integration-tests/dataformats-json/pom.xml
+++ b/integration-test-groups/dataformats-json/json-jsonb/pom.xml
@@ -17,18 +17,21 @@
limitations under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
+
<parent>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-build-parent-it</artifactId>
<version>3.0.0-SNAPSHOT</version>
- <relativePath>../../poms/build-parent-it/pom.xml</relativePath>
+ <relativePath>../../../poms/build-parent-it/pom.xml</relativePath>
</parent>
- <artifactId>camel-quarkus-integration-test-dataformats-json</artifactId>
- <name>Camel Quarkus :: Integration Tests :: DataFormats JSON</name>
- <description>Integration tests for Camel Quarkus extension providing JSON related data formats</description>
+ <artifactId>camel-quarkus-integration-tests-dataformats-json-jsonb</artifactId>
+ <name>Camel Quarkus :: Integration Tests :: Json Dataformat Jsonb</name>
+ <description>Integration tests for Jsonb Json Dataformat</description>
<dependencies>
<dependency>
@@ -39,10 +42,6 @@
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-xml-jaxb</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-jackson</artifactId>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-jsonb</artifactId>
@@ -59,14 +58,6 @@
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-vm</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-gson</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-jacksonxml</artifactId>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-mock</artifactId>
@@ -111,7 +102,6 @@
</exclusion>
</exclusions>
</dependency>
-
</dependencies>
<build>
@@ -174,45 +164,6 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-gson-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-jackson-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-jacksonxml-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-jsonb-deployment</artifactId>
@@ -294,6 +245,5 @@
</dependencies>
</profile>
</profiles>
-
-
-</project>
+
+</project>
\ No newline at end of file
diff --git a/integration-test-groups/dataformats-json/json-jsonb/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/JsonJsonbDataformatsResource.java b/integration-test-groups/dataformats-json/json-jsonb/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/JsonJsonbDataformatsResource.java
new file mode 100644
index 0000000000..cbfeb81853
--- /dev/null
+++ b/integration-test-groups/dataformats-json/json-jsonb/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/JsonJsonbDataformatsResource.java
@@ -0,0 +1,104 @@
+/*
+ * 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.quarkus.component.dataformats.json.jsonb;
+
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.json.bind.JsonbBuilder;
+import jakarta.ws.rs.*;
+import jakarta.ws.rs.core.MediaType;
+import org.apache.camel.CamelContext;
+import org.apache.camel.ConsumerTemplate;
+import org.apache.camel.ProducerTemplate;
+import org.jboss.logging.Logger;
+
+@Path("/dataformats-json-jsonb")
+@ApplicationScoped
+public class JsonJsonbDataformatsResource {
+
+ private static final Logger LOG = Logger.getLogger(JsonJsonbDataformatsResource.class);
+ @Inject
+ ProducerTemplate producerTemplate;
+ @Inject
+ ConsumerTemplate consumerTemplate;
+ @Inject
+ CamelContext context;
+
+ @Path("/in")
+ @POST
+ @Consumes(MediaType.TEXT_PLAIN)
+ @Produces(MediaType.TEXT_PLAIN)
+ public String processOrder(String statement) {
+ LOG.infof("Invoking processOrder Jsonb", statement);
+ return producerTemplate.requestBody("direct:Jsonb-in", statement, String.class);
+ }
+
+ @Path("/out")
+ @POST
+ @Produces(MediaType.APPLICATION_JSON)
+ public String testOrder() {
+ LOG.infof("Invoking testOrder Jsonb");
+ return consumerTemplate.receive("vm:Jsonb-out").getMessage().getBody().toString();
+ }
+
+ @Path("/in-a")
+ @POST
+ @Consumes(MediaType.TEXT_PLAIN)
+ @Produces(MediaType.TEXT_PLAIN)
+ public String processPojoA(String statement) {
+ LOG.infof("Invoking processPojoA Jsonb", statement);
+ return producerTemplate.requestBody("direct:Jsonb-in-a", statement, String.class);
+ }
+
+ @Path("/in-b")
+ @POST
+ @Consumes(MediaType.TEXT_PLAIN)
+ @Produces(MediaType.TEXT_PLAIN)
+ public String processPojoB(String statement) {
+ LOG.infof("Invoking processPojoB Jsonb", statement);
+ return producerTemplate.requestBody("direct:Jsonb-in-b", statement, String.class);
+ }
+
+ @Path("/out-a")
+ @POST
+ @Produces(MediaType.TEXT_PLAIN)
+ public String testPojoA() {
+ LOG.infof("Invoking testPojoA Jsonb");
+ return consumerTemplate.receive("vm:Jsonb-out-a").getMessage().getBody().toString();
+ }
+
+ @Path("/out-b")
+ @POST
+ @Produces(MediaType.TEXT_PLAIN)
+ public String testPojoB() {
+ LOG.infof("Invoking testPojoB Jsonb");
+ return consumerTemplate.receive("vm:Jsonb-out-b").getMessage().getBody().toString();
+ }
+
+ @Path("/unmarshal/{direct-id}")
+ @POST
+ @Consumes(MediaType.TEXT_PLAIN)
+ @Produces(MediaType.APPLICATION_JSON)
+ public String testXmlUnmarshalDefinition(@PathParam("direct-id") String directId, String statement) {
+ LOG.infof("Invoking testXmlUnmarshalDefinition(%s, %s)", directId, statement);
+ Object object = producerTemplate.requestBody("direct:" + directId, statement);
+ String answer = JsonbBuilder.create().toJson(object);
+
+ return answer;
+ }
+
+}
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/JsonDataformatsRoute.java b/integration-test-groups/dataformats-json/json-jsonb/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/JsonJsonbDataformatsRoute.java
similarity index 51%
rename from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/JsonDataformatsRoute.java
rename to integration-test-groups/dataformats-json/json-jsonb/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/JsonJsonbDataformatsRoute.java
index 083bc2810b..2fcb2b9f0b 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/JsonDataformatsRoute.java
+++ b/integration-test-groups/dataformats-json/json-jsonb/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/JsonJsonbDataformatsRoute.java
@@ -14,80 +14,28 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json;
+package org.apache.camel.quarkus.component.dataformats.json.jsonb;
-import java.lang.reflect.Type;
-import java.util.Arrays;
import java.util.List;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.gson.ExclusionStrategy;
-import com.google.gson.FieldAttributes;
-import com.google.gson.FieldNamingPolicy;
-import com.google.gson.reflect.TypeToken;
import jakarta.enterprise.context.ApplicationScoped;
-import jakarta.inject.Inject;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.gson.GsonDataFormat;
-import org.apache.camel.component.jackson.JacksonDataFormat;
import org.apache.camel.component.jsonb.JsonbDataFormat;
import org.apache.camel.model.dataformat.JsonLibrary;
-import org.apache.camel.quarkus.component.dataformats.json.model.DummyObject;
-import org.apache.camel.quarkus.component.dataformats.json.model.ExcludeField;
-import org.apache.camel.quarkus.component.dataformats.json.model.PojoA;
-import org.apache.camel.quarkus.component.dataformats.json.model.PojoB;
+import org.apache.camel.quarkus.component.dataformats.json.jsonb.model.AnotherObject;
+import org.apache.camel.quarkus.component.dataformats.json.jsonb.model.DummyObject;
+import org.apache.camel.quarkus.component.dataformats.json.jsonb.model.PojoA;
+import org.apache.camel.quarkus.component.dataformats.json.jsonb.model.PojoB;
import org.apache.camel.spi.DataFormat;
@ApplicationScoped
-public class JsonDataformatsRoute extends RouteBuilder {
-
- @Inject
- ObjectMapper jacksonObjectMapper;
+public class JsonJsonbDataformatsRoute extends RouteBuilder {
@Override
public void configure() {
- JacksonDataFormat jacksonDummyObjectDataFormat = new JacksonDataFormat(DummyObject.class);
- jacksonDummyObjectDataFormat.useList();
- jacksonDummyObjectDataFormat.setObjectMapper(jacksonObjectMapper);
- configureJsonRoutes(JsonLibrary.Jackson, jacksonDummyObjectDataFormat, new JacksonDataFormat(PojoA.class),
- new JacksonDataFormat(PojoB.class));
-
- GsonDataFormat gsonDummyObjectDataFormat = new GsonDataFormat();
- Type genericType = new TypeToken<List<DummyObject>>() {
- }.getType();
- gsonDummyObjectDataFormat.setUnmarshalGenericType(genericType);
- gsonDummyObjectDataFormat.setDateFormatPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
- gsonDummyObjectDataFormat.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);
- gsonDummyObjectDataFormat.setExclusionStrategies(Arrays.<ExclusionStrategy> asList(new ExclusionStrategy() {
- @Override
- public boolean shouldSkipField(FieldAttributes f) {
- return f.getAnnotation(ExcludeField.class) != null;
- }
-
- @Override
- public boolean shouldSkipClass(Class<?> clazz) {
- return false;
- }
- }));
-
- GsonDataFormat unmarshalByTypeNameGsonDataFormat = new GsonDataFormat();
- unmarshalByTypeNameGsonDataFormat
- .setUnmarshalTypeName("org.apache.camel.quarkus.component.dataformats.json.model.PojoA");
- configureJsonRoutes(JsonLibrary.Gson, gsonDummyObjectDataFormat, unmarshalByTypeNameGsonDataFormat,
- new GsonDataFormat(PojoB.class));
-
JsonbDataFormat jsonBDummyObjectDataFormat = new JsonbDataFormat(new ParamType(List.class, DummyObject.class));
configureJsonRoutes(JsonLibrary.Jsonb, jsonBDummyObjectDataFormat, new JsonbDataFormat(PojoA.class),
new JsonbDataFormat(PojoB.class));
-
- from("direct:jacksonxml-marshal")
- .marshal()
- .jacksonXml(true);
-
- from("direct:jacksonxml-unmarshal")
- .unmarshal()
- .jacksonXml(PojoA.class);
-
}
public void configureJsonRoutes(JsonLibrary library, DataFormat dummyObjectDataFormat, DataFormat pojoADataFormat,
@@ -126,5 +74,13 @@ public class JsonDataformatsRoute extends RouteBuilder {
.marshal(pojoBDataFormat)
.convertBodyTo(String.class)
.toF("vm:%s-out-b", library);
+
+ from("direct:Jsonb-type-as-attribute")
+ .unmarshal().json(library, AnotherObject.class);
+
+ from("direct:Jsonb-type-as-header")
+ .setHeader("CamelGsonUnmarshalType")
+ .constant("org.apache.camel.quarkus.component.dataformats.json.jsonb.model.AnotherObject")
+ .unmarshal().json(library);
}
}
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/ParamType.java b/integration-test-groups/dataformats-json/json-jsonb/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/ParamType.java
similarity index 98%
rename from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/ParamType.java
rename to integration-test-groups/dataformats-json/json-jsonb/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/ParamType.java
index 275ec024d8..d5918b9545 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/ParamType.java
+++ b/integration-test-groups/dataformats-json/json-jsonb/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/ParamType.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json;
+package org.apache.camel.quarkus.component.dataformats.json.jsonb;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/AnotherObject.java b/integration-test-groups/dataformats-json/json-jsonb/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/model/AnotherObject.java
similarity index 94%
rename from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/AnotherObject.java
rename to integration-test-groups/dataformats-json/json-jsonb/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/model/AnotherObject.java
index 07464ca982..981b1c67d7 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/AnotherObject.java
+++ b/integration-test-groups/dataformats-json/json-jsonb/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/model/AnotherObject.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json.model;
+package org.apache.camel.quarkus.component.dataformats.json.jsonb.model;
import io.quarkus.runtime.annotations.RegisterForReflection;
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/DummyObject.java b/integration-test-groups/dataformats-json/json-jsonb/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/model/DummyObject.java
similarity index 92%
rename from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/DummyObject.java
rename to integration-test-groups/dataformats-json/json-jsonb/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/model/DummyObject.java
index 94531f06a6..47ca07f806 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/DummyObject.java
+++ b/integration-test-groups/dataformats-json/json-jsonb/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/model/DummyObject.java
@@ -14,11 +14,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json.model;
+package org.apache.camel.quarkus.component.dataformats.json.jsonb.model;
import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonIgnore;
import io.quarkus.runtime.annotations.RegisterForReflection;
import jakarta.json.bind.annotation.JsonbProperty;
import jakarta.json.bind.annotation.JsonbTransient;
@@ -29,8 +28,6 @@ public class DummyObject {
@JsonbProperty("dummy_string")
private String dummyString;
- @JsonIgnore
- @ExcludeField
@JsonbTransient
private int ignored;
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/PojoA.java b/integration-test-groups/dataformats-json/json-jsonb/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/model/PojoA.java
similarity index 94%
rename from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/PojoA.java
rename to integration-test-groups/dataformats-json/json-jsonb/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/model/PojoA.java
index 366c9f59a9..023c9c37aa 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/PojoA.java
+++ b/integration-test-groups/dataformats-json/json-jsonb/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/model/PojoA.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json.model;
+package org.apache.camel.quarkus.component.dataformats.json.jsonb.model;
import io.quarkus.runtime.annotations.RegisterForReflection;
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/PojoB.java b/integration-test-groups/dataformats-json/json-jsonb/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/model/PojoB.java
similarity index 94%
rename from integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/PojoB.java
rename to integration-test-groups/dataformats-json/json-jsonb/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/model/PojoB.java
index b591044c21..5db6aad64b 100644
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/model/PojoB.java
+++ b/integration-test-groups/dataformats-json/json-jsonb/src/main/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/model/PojoB.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json.model;
+package org.apache.camel.quarkus.component.dataformats.json.jsonb.model;
import io.quarkus.runtime.annotations.RegisterForReflection;
diff --git a/integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/jsonb/JsonbJsonIT.java b/integration-test-groups/dataformats-json/json-jsonb/src/test/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/JsonbJsonIT.java
similarity index 93%
rename from integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/jsonb/JsonbJsonIT.java
rename to integration-test-groups/dataformats-json/json-jsonb/src/test/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/JsonbJsonIT.java
index 448165e714..31ff6babcb 100644
--- a/integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/jsonb/JsonbJsonIT.java
+++ b/integration-test-groups/dataformats-json/json-jsonb/src/test/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/JsonbJsonIT.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.jsonb;
+package org.apache.camel.quarkus.component.dataformats.json.jsonb;
import io.quarkus.test.junit.QuarkusIntegrationTest;
diff --git a/integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/json/JsonBaseTest.java b/integration-test-groups/dataformats-json/json-jsonb/src/test/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/JsonbJsonTest.java
similarity index 66%
rename from integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/json/JsonBaseTest.java
rename to integration-test-groups/dataformats-json/json-jsonb/src/test/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/JsonbJsonTest.java
index 703c1d7400..a892b3f981 100644
--- a/integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/json/JsonBaseTest.java
+++ b/integration-test-groups/dataformats-json/json-jsonb/src/test/java/org/apache/camel/quarkus/component/dataformats/json/jsonb/JsonbJsonTest.java
@@ -14,59 +14,68 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.quarkus.component.dataformats.json;
+package org.apache.camel.quarkus.component.dataformats.json.jsonb;
+import io.quarkus.test.junit.QuarkusTest;
import io.restassured.RestAssured;
import io.restassured.http.ContentType;
import jakarta.json.bind.JsonbBuilder;
-import org.apache.camel.quarkus.component.dataformats.json.model.AnotherObject;
+import org.apache.camel.quarkus.component.dataformats.json.jsonb.model.AnotherObject;
+import org.junit.jupiter.api.Test;
import static org.hamcrest.Matchers.*;
-public class JsonBaseTest {
- public void testMarshallAndUnmarshall(String jsonComponent) {
+@QuarkusTest
+public class JsonbJsonTest {
+
+ @Test
+ public void testMarshallAndUnmarshall() {
RestAssured.given().contentType(ContentType.TEXT)
- .queryParam("json-component", jsonComponent)
.body("[{\"dummy_string\": \"value1\"}, {\"dummy_string\": \"value2\"}]")
- .post("/dataformats-json/in");
+ .post("/dataformats-json-jsonb/in");
RestAssured.given()
- .queryParam("json-component", jsonComponent)
- .post("/dataformats-json/out")
+ .post("/dataformats-json-jsonb/out")
.then()
.body("dummy_string", equalTo("value1"))
.body("date", containsString("1970"));
RestAssured.given()
- .queryParam("json-component", jsonComponent)
- .post("/dataformats-json/out")
+ .post("/dataformats-json-jsonb/out")
.then()
.body("dummy_string", equalTo("value2"))
.body("date", containsString("1970"));
}
- public void testUnmarshallingDifferentPojos(String jsonComponent) {
+ @Test
+ public void testUnmarshallingDifferentPojos() {
String bodyA = "{\"name\":\"name A\"}";
String bodyB = "{\"value\":1.0}";
RestAssured.given().contentType(ContentType.TEXT)
- .queryParam("json-component", jsonComponent)
.body(bodyA)
- .post("/dataformats-json/in-a");
+ .post("/dataformats-json-jsonb/in-a");
RestAssured.given().contentType(ContentType.TEXT)
- .queryParam("json-component", jsonComponent)
.body(bodyB)
- .post("/dataformats-json/in-b");
+ .post("/dataformats-json-jsonb/in-b");
RestAssured.given()
- .queryParam("json-component", jsonComponent)
- .post("/dataformats-json/out-a")
+ .post("/dataformats-json-jsonb/out-a")
.then()
.body(equalTo(bodyA));
RestAssured.given()
- .queryParam("json-component", jsonComponent)
- .post("/dataformats-json/out-b")
+ .post("/dataformats-json-jsonb/out-b")
.then()
.body(equalTo(bodyB));
}
+ @Test
+ public void testUnmarshallTypeAsAttribute() {
+ testUnmarshal("Jsonb-type-as-attribute");
+ }
+
+ @Test
+ public void testUnmarshallTypeAsHeader() {
+ testUnmarshal("Jsonb-type-as-header");
+ }
+
public void testUnmarshal(String directId) {
AnotherObject object = new AnotherObject();
object.setDummyString("95f669ce-d287-4519-b212-4450bc791867");
@@ -74,8 +83,9 @@ public class JsonBaseTest {
RestAssured.given()
.contentType(ContentType.TEXT)
.body(JsonbBuilder.create().toJson(object))
- .post("/dataformats-json/unmarshal/{direct-id}", directId)
+ .post("/dataformats-json-jsonb/unmarshal/{direct-id}", directId)
.then()
.body("dummyString", is(object.getDummyString()));
}
+
}
diff --git a/integration-test-groups/pom.xml b/integration-test-groups/dataformats-json/pom.xml
similarity index 54%
copy from integration-test-groups/pom.xml
copy to integration-test-groups/dataformats-json/pom.xml
index 427b1d410b..c4acfc3aa1 100644
--- a/integration-test-groups/pom.xml
+++ b/integration-test-groups/dataformats-json/pom.xml
@@ -17,34 +17,27 @@
limitations under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
+
<parent>
<groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus</artifactId>
+ <artifactId>camel-quarkus-integration-test-groups</artifactId>
<version>3.0.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
</parent>
- <artifactId>camel-quarkus-integration-test-groups</artifactId>
+ <artifactId>camel-quarkus-integration-tests-dataformats-json</artifactId>
<packaging>pom</packaging>
- <name>Camel Quarkus :: Integration Test Groups</name>
-
- <properties>
- <quarkus.banner.enabled>false</quarkus.banner.enabled>
- </properties>
+ <name>Camel Quarkus :: Json Dataformats Tests</name>
<modules>
- <!-- test groups a..z; do not remove this comment, it is important when sorting via mvn process-resources -Pformat -->
- <module>aws2</module>
- <module>aws2-quarkus-client</module>
- <module>azure</module>
- <module>compression</module>
- <!--<module>cxf-soap</module>-->
- <module>foundation</module>
- <module>mongodb</module>
+ <!-- extensions a..z; do not remove this comment, it is important when sorting via mvn process-resources -Pformat -->
+ <module>json-gson</module>
+ <module>json-jackson</module>
+ <module>json-jsonb</module>
</modules>
-
-</project>
+
+</project>
\ No newline at end of file
diff --git a/integration-test-groups/pom.xml b/integration-test-groups/pom.xml
index 427b1d410b..4320974af8 100644
--- a/integration-test-groups/pom.xml
+++ b/integration-test-groups/pom.xml
@@ -43,6 +43,7 @@
<module>azure</module>
<module>compression</module>
<!--<module>cxf-soap</module>-->
+ <module>dataformats-json</module>
<module>foundation</module>
<module>mongodb</module>
</modules>
diff --git a/integration-tests/dataformats-json/pom.xml b/integration-tests/dataformats-json-grouped/pom.xml
similarity index 77%
rename from integration-tests/dataformats-json/pom.xml
rename to integration-tests/dataformats-json-grouped/pom.xml
index 049ef3c77b..a0e335e374 100644
--- a/integration-tests/dataformats-json/pom.xml
+++ b/integration-tests/dataformats-json-grouped/pom.xml
@@ -1,24 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
+
<parent>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-build-parent-it</artifactId>
@@ -26,10 +11,11 @@
<relativePath>../../poms/build-parent-it/pom.xml</relativePath>
</parent>
- <artifactId>camel-quarkus-integration-test-dataformats-json</artifactId>
- <name>Camel Quarkus :: Integration Tests :: DataFormats JSON</name>
- <description>Integration tests for Camel Quarkus extension providing JSON related data formats</description>
+ <artifactId>camel-quarkus-integration-test-dataformats-json-grouped</artifactId>
+ <name>Camel Quarkus :: Integration Tests :: Dataformats Json Grouped</name>
+ <description>Dataformats Json tests from ../integration-test-groups/dataformats-json merged together</description>
+ <!-- Regenerate the dependencies via `mvn process-resources -Pformat -N` from the source tree root directory -->
<dependencies>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
@@ -43,6 +29,10 @@
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-jackson</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel.quarkus</groupId>
+ <artifactId>camel-quarkus-gson</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-jsonb</artifactId>
@@ -59,10 +49,6 @@
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-vm</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-gson</artifactId>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-jacksonxml</artifactId>
@@ -115,14 +101,60 @@
</dependencies>
<build>
- <resources>
- <resource>
- <directory>src/main/resources</directory>
- <filtering>true</filtering>
- </resource>
- </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>add-sources</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>add-source</goal>
+ </goals>
+ <configuration>
+ <sources>
+ <source>${basedir}/target/src/main/java</source>
+ </sources>
+ </configuration>
+ </execution>
+ <execution>
+ <id>add-test-sources</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>add-test-source</goal>
+ </goals>
+ <configuration>
+ <sources>
+ <source>${basedir}/target/src/test/java</source>
+ </sources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.gmaven</groupId>
+ <artifactId>groovy-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>group-sources</id>
+ <goals>
+ <goal>execute</goal>
+ </goals>
+ <phase>generate-sources</phase>
+ <configuration>
+ <source>file:${maven.multiModuleProjectDirectory}/tooling/scripts/group-tests.groovy</source>
+ <properties>
+ <group-tests.source.dir>${maven.multiModuleProjectDirectory}/integration-test-groups/dataformats-json</group-tests.source.dir>
+ <group-tests.dest.module.dir>${project.basedir}</group-tests.dest.module.dir>
+ <group-tests.concat.rel.paths>src/main/resources/application.properties</group-tests.concat.rel.paths>
+ </properties>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
</build>
-
<profiles>
<profile>
<id>native</id>
@@ -160,7 +192,6 @@
</activation>
<dependencies>
<!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
-
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-direct-deployment</artifactId>
@@ -176,7 +207,7 @@
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-gson-deployment</artifactId>
+ <artifactId>camel-quarkus-jackson-deployment</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>test</scope>
@@ -189,7 +220,7 @@
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-jackson-deployment</artifactId>
+ <artifactId>camel-quarkus-gson-deployment</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>test</scope>
@@ -202,7 +233,7 @@
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-jacksonxml-deployment</artifactId>
+ <artifactId>camel-quarkus-jsonb-deployment</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>test</scope>
@@ -215,7 +246,7 @@
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-jsonb-deployment</artifactId>
+ <artifactId>camel-quarkus-jacksonxml-deployment</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>test</scope>
@@ -294,6 +325,5 @@
</dependencies>
</profile>
</profiles>
-
-
-</project>
+
+</project>
\ No newline at end of file
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/JsonDataformatsResource.java b/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/JsonDataformatsResource.java
deleted file mode 100644
index 92b78bb4ca..0000000000
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/JsonDataformatsResource.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * 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.quarkus.component.dataformats.json;
-
-import jakarta.enterprise.context.ApplicationScoped;
-import jakarta.inject.Inject;
-import jakarta.json.bind.JsonbBuilder;
-import jakarta.ws.rs.Consumes;
-import jakarta.ws.rs.POST;
-import jakarta.ws.rs.Path;
-import jakarta.ws.rs.PathParam;
-import jakarta.ws.rs.Produces;
-import jakarta.ws.rs.QueryParam;
-import jakarta.ws.rs.core.MediaType;
-import org.apache.camel.CamelContext;
-import org.apache.camel.ConsumerTemplate;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.quarkus.component.dataformats.json.model.PojoA;
-import org.jboss.logging.Logger;
-
-@Path("/dataformats-json")
-@ApplicationScoped
-public class JsonDataformatsResource {
-
- private static final Logger LOG = Logger.getLogger(JsonDataformatsResource.class);
- @Inject
- ProducerTemplate producerTemplate;
- @Inject
- ConsumerTemplate consumerTemplate;
- @Inject
- CamelContext context;
-
- @Path("/in")
- @POST
- @Consumes(MediaType.TEXT_PLAIN)
- @Produces(MediaType.TEXT_PLAIN)
- public String processOrder(@QueryParam("json-component") String jsonComponent, String statement) {
- LOG.infof("Invoking processOrder(%s)", jsonComponent, statement);
- return producerTemplate.requestBody("direct:" + jsonComponent + "-in", statement, String.class);
- }
-
- @Path("/out")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- public String testOrder(@QueryParam("json-component") String jsonComponent) {
- LOG.infof("Invoking testOrder(%s)", jsonComponent);
- return consumerTemplate.receive("vm:" + jsonComponent + "-out").getMessage().getBody().toString();
- }
-
- @Path("/in-a")
- @POST
- @Consumes(MediaType.TEXT_PLAIN)
- @Produces(MediaType.TEXT_PLAIN)
- public String processPojoA(@QueryParam("json-component") String jsonComponent, String statement) {
- LOG.infof("Invoking processPojoA(%s, %s)", jsonComponent, statement);
- return producerTemplate.requestBody("direct:" + jsonComponent + "-in-a", statement, String.class);
- }
-
- @Path("/in-b")
- @POST
- @Consumes(MediaType.TEXT_PLAIN)
- @Produces(MediaType.TEXT_PLAIN)
- public String processPojoB(@QueryParam("json-component") String jsonComponent, String statement) {
- LOG.infof("Invoking processPojoB(%s, %s)", jsonComponent, statement);
- return producerTemplate.requestBody("direct:" + jsonComponent + "-in-b", statement, String.class);
- }
-
- @Path("/out-a")
- @POST
- @Produces(MediaType.TEXT_PLAIN)
- public String testPojoA(@QueryParam("json-component") String jsonComponent) {
- LOG.infof("Invoking testPojoA(%s)", jsonComponent);
- return consumerTemplate.receive("vm:" + jsonComponent + "-out-a").getMessage().getBody().toString();
- }
-
- @Path("/out-b")
- @POST
- @Produces(MediaType.TEXT_PLAIN)
- public String testPojoB(@QueryParam("json-component") String jsonComponent) {
- LOG.infof("Invoking testPojoB(%s)", jsonComponent);
- return consumerTemplate.receive("vm:" + jsonComponent + "-out-b").getMessage().getBody().toString();
- }
-
- @Path("/unmarshal/{direct-id}")
- @POST
- @Consumes(MediaType.TEXT_PLAIN)
- @Produces(MediaType.APPLICATION_JSON)
- public String testXmlUnmarshalDefinition(@PathParam("direct-id") String directId, String statement) {
- LOG.infof("Invoking testXmlUnmarshalDefinition(%s, %s)", directId, statement);
- Object object = producerTemplate.requestBody("direct:" + directId, statement);
- String answer = JsonbBuilder.create().toJson(object);
-
- return answer;
- }
-
- @Path("jacksonxml/marshal")
- @POST
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.TEXT_XML)
- public String jacksonXmlMarshal(PojoA pojo) {
-
- return producerTemplate.requestBody("direct:jacksonxml-marshal", pojo, String.class);
- }
-
- @Path("jacksonxml/unmarshal")
- @POST
- @Consumes(MediaType.TEXT_XML)
- @Produces(MediaType.APPLICATION_JSON)
- public PojoA jacksonXmlMarshal(String body) {
-
- return producerTemplate.requestBody("direct:jacksonxml-unmarshal", body, PojoA.class);
- }
-
-}
diff --git a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/RegisterSnakeCaseCustomizer.java b/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/RegisterSnakeCaseCustomizer.java
deleted file mode 100644
index cc456df6df..0000000000
--- a/integration-tests/dataformats-json/src/main/java/org/apache/camel/quarkus/component/dataformats/json/RegisterSnakeCaseCustomizer.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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.quarkus.component.dataformats.json;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.PropertyNamingStrategies;
-import io.quarkus.jackson.ObjectMapperCustomizer;
-import jakarta.inject.Singleton;
-
-@Singleton
-public class RegisterSnakeCaseCustomizer implements ObjectMapperCustomizer {
-
- @Override
- public int priority() {
- return MINIMUM_PRIORITY;
- }
-
- public void customize(ObjectMapper mapper) {
- mapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE);
- }
-}
diff --git a/integration-tests/dataformats-json/src/main/resources/routes/gson-routes.xml b/integration-tests/dataformats-json/src/main/resources/routes/gson-routes.xml
deleted file mode 100644
index e9cd7ab2d4..0000000000
--- a/integration-tests/dataformats-json/src/main/resources/routes/gson-routes.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="http://camel.apache.org/schema/spring"
- xsi:schemaLocation="
- http://camel.apache.org/schema/spring
- http://camel.apache.org/schema/spring/camel-spring.xsd">
-
- <route>
- <from uri="direct:Gson-type-as-attribute"/>
- <unmarshal>
- <json library="Gson" unmarshalType="org.apache.camel.quarkus.component.dataformats.json.model.AnotherObject"/>
- </unmarshal>
- </route>
-
- <route>
- <from uri="direct:Gson-type-as-header"/>
- <setHeader name="CamelGsonUnmarshalType">
- <constant>org.apache.camel.quarkus.component.dataformats.json.model.AnotherObject</constant>
- </setHeader>
- <unmarshal>
- <json library="Gson" />
- </unmarshal>
- </route>
-
-</routes>
\ No newline at end of file
diff --git a/integration-tests/dataformats-json/src/main/resources/routes/jsonb-routes.xml b/integration-tests/dataformats-json/src/main/resources/routes/jsonb-routes.xml
deleted file mode 100644
index c48b9b69b9..0000000000
--- a/integration-tests/dataformats-json/src/main/resources/routes/jsonb-routes.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="http://camel.apache.org/schema/spring"
- xsi:schemaLocation="
- http://camel.apache.org/schema/spring
- http://camel.apache.org/schema/spring/camel-spring.xsd">
-
- <route>
- <from uri="direct:Jsonb-type-as-attribute"/>
- <unmarshal>
- <json library="Jsonb" unmarshalType="org.apache.camel.quarkus.component.dataformats.json.model.AnotherObject"/>
- </unmarshal>
- </route>
-
- <route>
- <from uri="direct:Jsonb-type-as-header"/>
- <setHeader name="CamelJsonbUnmarshalType">
- <constant>org.apache.camel.quarkus.component.dataformats.json.model.AnotherObject</constant>
- </setHeader>
- <unmarshal>
- <json library="Jsonb" />
- </unmarshal>
- </route>
-
-</routes>
\ No newline at end of file
diff --git a/integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/gson/GsonJsonTest.java b/integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/gson/GsonJsonTest.java
deleted file mode 100644
index 8b2d640c43..0000000000
--- a/integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/gson/GsonJsonTest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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.quarkus.component.dataformats.gson;
-
-import io.quarkus.test.junit.QuarkusTest;
-import org.apache.camel.quarkus.component.dataformats.json.JsonBaseTest;
-import org.junit.jupiter.api.Test;
-
-@QuarkusTest
-public class GsonJsonTest extends JsonBaseTest {
-
- @Test
- public void testMarshallAndUnmarshall() {
- testMarshallAndUnmarshall("Gson");
- }
-
- @Test
- public void testUnmarshallingDifferentPojos() {
- testUnmarshallingDifferentPojos("Gson");
- }
-
- @Test
- public void testUnmarshallTypeAsAttribute() {
- testUnmarshal("Gson-type-as-attribute");
- }
-
- @Test
- public void testUnmarshallTypeAsHeader() {
- testUnmarshal("Gson-type-as-header");
- }
-
-}
diff --git a/integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/jsonb/JsonbJsonTest.java b/integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/jsonb/JsonbJsonTest.java
deleted file mode 100644
index 5f2740cac1..0000000000
--- a/integration-tests/dataformats-json/src/test/java/org/apache/camel/quarkus/component/dataformats/jsonb/JsonbJsonTest.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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.quarkus.component.dataformats.jsonb;
-
-import io.quarkus.test.junit.QuarkusTest;
-import org.apache.camel.quarkus.component.dataformats.json.JsonBaseTest;
-import org.junit.jupiter.api.Test;
-
-@QuarkusTest
-public class JsonbJsonTest extends JsonBaseTest {
- @Test
- public void testMarshallAndUnmarshall() {
- testMarshallAndUnmarshall("Jsonb");
- }
-
- @Test
- public void testUnmarshallingDifferentPojos() {
- testUnmarshallingDifferentPojos("Jsonb");
- }
-
- @Test
- public void testUnmarshallTypeAsAttribute() {
- testUnmarshal("Jsonb-type-as-attribute");
- }
-
- @Test
- public void testUnmarshallTypeAsHeader() {
- testUnmarshal("Jsonb-type-as-header");
- }
-}
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index c34d2c1585..dc03a2b0f7 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -81,7 +81,7 @@
<module>csv</module>
<!--<module>cxf-soap-grouped</module>-->
<module>dataformat</module>
- <module>dataformats-json</module>
+ <module>dataformats-json-grouped</module>
<!--<module>datasonnet</module>-->
<module>debezium</module>
<module>digitalocean</module>
diff --git a/tooling/scripts/test-categories.yaml b/tooling/scripts/test-categories.yaml
index 335fbb6aac..3ae263bd34 100644
--- a/tooling/scripts/test-categories.yaml
+++ b/tooling/scripts/test-categories.yaml
@@ -163,6 +163,7 @@ group-12:
- aws2-grouped
- csimple
- quartz-clustered
+ - dataformats-json-grouped
- knative
- knative-channel-consumer
- knative-endpoint-consumer