This is an automated email from the ASF dual-hosted git repository. github-bot pushed a commit to branch camel-main in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit c651fcde194dea9d2c1caa92485ad8b87ebd9a5a Author: James Netherton <jamesnether...@gmail.com> AuthorDate: Wed Feb 9 11:13:37 2022 +0000 Upgrade Camel to 3.16.0 --- docs/antora.yml | 6 +- .../examples/components/elasticsearch-rest.yml | 2 +- docs/modules/ROOT/examples/dataformats/ical.yml | 2 +- .../ROOT/examples/dataformats/jacksonXml.yml | 2 +- docs/modules/ROOT/pages/migration-guide/2.8.0.adoc | 2 +- .../reference/extensions/elasticsearch-rest.adoc | 6 +- .../ROOT/pages/reference/extensions/fhir.adoc | 2 +- .../ROOT/pages/reference/extensions/ical.adoc | 4 +- .../pages/reference/extensions/jacksonxml.adoc | 4 +- .../ROOT/pages/reference/extensions/yaml-dsl.adoc | 6 -- .../pages/user-guide/defining-camel-routes.adoc | 6 +- .../main/resources/META-INF/quarkus-extension.yaml | 1 + .../camel/quarkus/component/fhir/FhirConfig.java | 2 +- .../camel/quarkus/component/fhir/FhirFlags.java | 2 +- .../main/resources/META-INF/quarkus-extension.yaml | 2 +- .../main/resources/META-INF/quarkus-extension.yaml | 2 +- .../deployment/MicroProfileHealthProcessor.java | 5 -- .../MicroProfileHealthCamelChecksDisabledTest.java | 6 +- extensions/openapi-java/deployment/pom.xml | 5 ++ .../openapi/java/deployment/RESTOpenAPITest.java | 4 +- .../openapi/java/deployment/RestRoutes.java | 7 +- .../src/test/resources/application.properties | 2 +- .../resources/routes/{my-route.xml => rests.xml} | 4 +- .../resources/routes/{my-route.xml => routes.xml} | 16 ++-- .../src/main/resources/application.properties | 2 +- .../component/stream/it/StreamResource.java | 2 +- .../quarkus/component/stream/it/StreamTest.java | 2 +- integration-tests/google-storage/pom.xml | 5 ++ .../storage/it/GoogleStorageTestResource.java | 13 +-- .../quarkus/component/kafka/CamelKafkaRoutes.java | 2 +- .../src/main/resources/rests/my-rests.xml | 8 +- .../src/main/resources/routes/my-routes.xml | 7 ++ .../src/main/resources/rests/my-rests.xml | 8 +- .../src/main/resources/routes/my-routes.xml | 7 ++ .../camel/quarkus/main/CoreMainXmlJaxbTest.java | 2 +- .../src/main/resources/routes/my-rests.yaml | 6 +- .../it/health/CustomHealthCheckRepository.java | 17 ---- .../microprofile/it/health/FailingHealthCheck.java | 2 +- .../it/health/FailureThresholdHealthCheck.java | 51 ------------ .../it/health/MicroProfileHealthResource.java | 17 +--- .../src/main/resources/application.properties | 7 +- .../it/health/MicroProfileHealthTest.java | 67 ---------------- .../component/openapijava/it/OpenApiRoutes.java | 44 ++++------ .../openapijava/it/common/OpenApiTest.java | 4 +- integration-tests/platform-http/pom.xml | 17 ++++ .../platform/http/it/PlatformHttpRouteBuilder.java | 18 ++--- .../component/http/server/it/PlatformHttpTest.java | 4 +- integration-tests/rest/pom.xml | 17 ++++ .../quarkus/component/rest/it/RestRoutes.java | 93 +++++++++++----------- integration-tests/servlet/pom.xml | 21 ++++- .../quarkus/component/servlet/CamelRoute.java | 19 +++-- pom.xml | 8 +- 52 files changed, 233 insertions(+), 337 deletions(-) diff --git a/docs/antora.yml b/docs/antora.yml index e4edba8..ea53a51 100644 --- a/docs/antora.yml +++ b/docs/antora.yml @@ -29,11 +29,11 @@ asciidoc: min-maven-version: 3.8.1 # replace ${min-maven-version} target-maven-version: 3.8.4 # replace ${target-maven-version} - camel-version: 3.15.0 # replace ${camel.version} - camel-docs-version: 3.15.x # replace ${camel.docs.components.version} + camel-version: 3.16.0-SNAPSHOT # replace ${camel.version} + camel-docs-version: 3.16.x # replace ${camel.docs.components.version} quarkus-version: 2.7.5.Final # replace ${quarkus.version} graalvm-version: 21.3.1 # replace ${graalvm.version} graalvm-docs-version: 21.3 # attributes used in xrefs to other Antora components - cq-camel-components: 3.15.x@components # replace ${camel.docs.components.xref} + cq-camel-components: 3.16.x@components # replace ${camel.docs.components.xref} quarkus-examples-version: latest diff --git a/docs/modules/ROOT/examples/components/elasticsearch-rest.yml b/docs/modules/ROOT/examples/components/elasticsearch-rest.yml index 9532a39..e00e4ff 100644 --- a/docs/modules/ROOT/examples/components/elasticsearch-rest.yml +++ b/docs/modules/ROOT/examples/components/elasticsearch-rest.yml @@ -4,7 +4,7 @@ cqArtifactId: camel-quarkus-elasticsearch-rest cqArtifactIdBase: elasticsearch-rest cqNativeSupported: true cqStatus: Stable -cqDeprecated: false +cqDeprecated: true cqJvmSince: 1.0.0 cqNativeSince: 1.0.0 cqCamelPartName: elasticsearch-rest diff --git a/docs/modules/ROOT/examples/dataformats/ical.yml b/docs/modules/ROOT/examples/dataformats/ical.yml index 7948fe2..0c483ec 100644 --- a/docs/modules/ROOT/examples/dataformats/ical.yml +++ b/docs/modules/ROOT/examples/dataformats/ical.yml @@ -9,5 +9,5 @@ cqJvmSince: 1.0.0 cqNativeSince: 1.0.0 cqCamelPartName: ical cqCamelPartTitle: iCal -cqCamelPartDescription: Marshal and unmarshal iCal (.ics) documents to/from model objects provided by the iCal4j library. +cqCamelPartDescription: Marshal and unmarshal iCal (.ics) documents to/from model objects. cqExtensionPageTitle: iCal diff --git a/docs/modules/ROOT/examples/dataformats/jacksonXml.yml b/docs/modules/ROOT/examples/dataformats/jacksonXml.yml index b1fe57a..e29c70e 100644 --- a/docs/modules/ROOT/examples/dataformats/jacksonXml.yml +++ b/docs/modules/ROOT/examples/dataformats/jacksonXml.yml @@ -9,5 +9,5 @@ cqJvmSince: 1.0.0 cqNativeSince: 1.0.0 cqCamelPartName: jacksonXml cqCamelPartTitle: Jackson XML -cqCamelPartDescription: Unmarshal a XML payloads to POJOs and back using XMLMapper extension of Jackson. +cqCamelPartDescription: Unmarshal an XML payloads to POJOs and back using XMLMapper extension of Jackson. cqExtensionPageTitle: JacksonXML diff --git a/docs/modules/ROOT/pages/migration-guide/2.8.0.adoc b/docs/modules/ROOT/pages/migration-guide/2.8.0.adoc index 20a7f0c..bce307d 100644 --- a/docs/modules/ROOT/pages/migration-guide/2.8.0.adoc +++ b/docs/modules/ROOT/pages/migration-guide/2.8.0.adoc @@ -6,7 +6,7 @@ The following guide outlines how to adapt your code to changes that were made in In previous releases, the FHIR extension default was to enable support for all FHIR versions. -This has now changed. Only the FHIR versions that the Camel FHIR component and DataFormat use by default are enabled (R4 & DSTU3). +This has now changed. Only the FHIR version that the Camel FHIR component and DataFormat use by default are enabled (R4). To enable or disable support for the various FHIR versions, you can add some configuration properties to `application.properties`. For example. diff --git a/docs/modules/ROOT/pages/reference/extensions/elasticsearch-rest.adoc b/docs/modules/ROOT/pages/reference/extensions/elasticsearch-rest.adoc index 6a26f46..412c4dc 100644 --- a/docs/modules/ROOT/pages/reference/extensions/elasticsearch-rest.adoc +++ b/docs/modules/ROOT/pages/reference/extensions/elasticsearch-rest.adoc @@ -6,14 +6,14 @@ :cq-artifact-id: camel-quarkus-elasticsearch-rest :cq-native-supported: true :cq-status: Stable -:cq-status-deprecation: Stable +:cq-status-deprecation: Stable Deprecated :cq-description: Send requests to ElasticSearch via REST API -:cq-deprecated: false +:cq-deprecated: true :cq-jvm-since: 1.0.0 :cq-native-since: 1.0.0 [.badges] -[.badge-key]##JVM since##[.badge-supported]##1.0.0## [.badge-key]##Native since##[.badge-supported]##1.0.0## +[.badge-key]##JVM since##[.badge-supported]##1.0.0## [.badge-key]##Native since##[.badge-supported]##1.0.0## [.badge-key]##⚠️##[.badge-unsupported]##Deprecated## Send requests to ElasticSearch via REST API diff --git a/docs/modules/ROOT/pages/reference/extensions/fhir.adoc b/docs/modules/ROOT/pages/reference/extensions/fhir.adoc index fbd613d..3dbe816 100644 --- a/docs/modules/ROOT/pages/reference/extensions/fhir.adoc +++ b/docs/modules/ROOT/pages/reference/extensions/fhir.adoc @@ -80,7 +80,7 @@ Enable FHIR DSTU2_1 Specs in native mode. Enable FHIR DSTU3 Specs in native mode. | `boolean` -| `true` +| `false` |icon:lock[title=Fixed at build time] [[quarkus.camel.fhir.enable-r4]]`link:#quarkus.camel.fhir.enable-r4[quarkus.camel.fhir.enable-r4]` diff --git a/docs/modules/ROOT/pages/reference/extensions/ical.adoc b/docs/modules/ROOT/pages/reference/extensions/ical.adoc index cf8b0b3..2b686a5 100644 --- a/docs/modules/ROOT/pages/reference/extensions/ical.adoc +++ b/docs/modules/ROOT/pages/reference/extensions/ical.adoc @@ -7,7 +7,7 @@ :cq-native-supported: true :cq-status: Stable :cq-status-deprecation: Stable -:cq-description: Marshal and unmarshal iCal (.ics) documents to/from model objects provided by the iCal4j library. +:cq-description: Marshal and unmarshal iCal (.ics) documents to/from model objects. :cq-deprecated: false :cq-jvm-since: 1.0.0 :cq-native-since: 1.0.0 @@ -15,7 +15,7 @@ [.badges] [.badge-key]##JVM since##[.badge-supported]##1.0.0## [.badge-key]##Native since##[.badge-supported]##1.0.0## -Marshal and unmarshal iCal (.ics) documents to/from model objects provided by the iCal4j library. +Marshal and unmarshal iCal (.ics) documents to/from model objects. == What's inside diff --git a/docs/modules/ROOT/pages/reference/extensions/jacksonxml.adoc b/docs/modules/ROOT/pages/reference/extensions/jacksonxml.adoc index 89f5df0..407a22d 100644 --- a/docs/modules/ROOT/pages/reference/extensions/jacksonxml.adoc +++ b/docs/modules/ROOT/pages/reference/extensions/jacksonxml.adoc @@ -7,7 +7,7 @@ :cq-native-supported: true :cq-status: Stable :cq-status-deprecation: Stable -:cq-description: Unmarshal a XML payloads to POJOs and back using XMLMapper extension of Jackson. +:cq-description: Unmarshal an XML payloads to POJOs and back using XMLMapper extension of Jackson. :cq-deprecated: false :cq-jvm-since: 1.0.0 :cq-native-since: 1.0.0 @@ -15,7 +15,7 @@ [.badges] [.badge-key]##JVM since##[.badge-supported]##1.0.0## [.badge-key]##Native since##[.badge-supported]##1.0.0## -Unmarshal a XML payloads to POJOs and back using XMLMapper extension of Jackson. +Unmarshal an XML payloads to POJOs and back using XMLMapper extension of Jackson. == What's inside diff --git a/docs/modules/ROOT/pages/reference/extensions/yaml-dsl.adoc b/docs/modules/ROOT/pages/reference/extensions/yaml-dsl.adoc index bdde5d3..26484a9 100644 --- a/docs/modules/ROOT/pages/reference/extensions/yaml-dsl.adoc +++ b/docs/modules/ROOT/pages/reference/extensions/yaml-dsl.adoc @@ -16,12 +16,6 @@ An YAML stack for parsing YAML route definitions -== What's inside - -* xref:{cq-camel-components}:others:yaml-dsl.adoc[YAML DSL] - -Please refer to the above link for usage and configuration details. - == Maven coordinates https://code.quarkus.io/?extension-search=camel-quarkus-yaml-dsl[Create a new project with this extension on code.quarkus.io, window="_blank"] diff --git a/docs/modules/ROOT/pages/user-guide/defining-camel-routes.adoc b/docs/modules/ROOT/pages/user-guide/defining-camel-routes.adoc index 9ae1eaa..fc5b912 100644 --- a/docs/modules/ROOT/pages/user-guide/defining-camel-routes.adoc +++ b/docs/modules/ROOT/pages/user-guide/defining-camel-routes.adoc @@ -96,10 +96,8 @@ The route XML should be in the simplified version like: ---- <rests xmlns="http://camel.apache.org/schema/spring"> <rest id="greeting" path="/greeting"> - <get uri="/hello"> - <setBody> - <constant>Hello World!</constant> - </setBody> + <get path="/hello"> + <to uri="direct:greet"/> </get> </rest> </rests> diff --git a/extensions/elasticsearch-rest/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/elasticsearch-rest/runtime/src/main/resources/META-INF/quarkus-extension.yaml index a27a504..f0b2b27 100644 --- a/extensions/elasticsearch-rest/runtime/src/main/resources/META-INF/quarkus-extension.yaml +++ b/extensions/elasticsearch-rest/runtime/src/main/resources/META-INF/quarkus-extension.yaml @@ -29,3 +29,4 @@ metadata: - "integration" status: - "stable" + - "deprecated" \ No newline at end of file diff --git a/extensions/fhir/runtime/src/main/java/org/apache/camel/quarkus/component/fhir/FhirConfig.java b/extensions/fhir/runtime/src/main/java/org/apache/camel/quarkus/component/fhir/FhirConfig.java index b6aedc0..da85282 100644 --- a/extensions/fhir/runtime/src/main/java/org/apache/camel/quarkus/component/fhir/FhirConfig.java +++ b/extensions/fhir/runtime/src/main/java/org/apache/camel/quarkus/component/fhir/FhirConfig.java @@ -44,7 +44,7 @@ public final class FhirConfig { /** * Enable FHIR DSTU3 Specs in native mode. */ - @ConfigItem(name = "enable-dstu3", defaultValue = "true") + @ConfigItem(name = "enable-dstu3", defaultValue = "false") public boolean enableDstu3; /** diff --git a/extensions/fhir/runtime/src/main/java/org/apache/camel/quarkus/component/fhir/FhirFlags.java b/extensions/fhir/runtime/src/main/java/org/apache/camel/quarkus/component/fhir/FhirFlags.java index 8f75a99..6437e8e 100644 --- a/extensions/fhir/runtime/src/main/java/org/apache/camel/quarkus/component/fhir/FhirFlags.java +++ b/extensions/fhir/runtime/src/main/java/org/apache/camel/quarkus/component/fhir/FhirFlags.java @@ -52,7 +52,7 @@ public final class FhirFlags { @Override public boolean getAsBoolean() { return ConfigProvider.getConfig().getOptionalValue("quarkus.camel.fhir.enable-dstu3", Boolean.class) - .orElse(Boolean.TRUE); + .orElse(Boolean.FALSE); } } diff --git a/extensions/ical/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/ical/runtime/src/main/resources/META-INF/quarkus-extension.yaml index ba17ff6..62e12b7 100644 --- a/extensions/ical/runtime/src/main/resources/META-INF/quarkus-extension.yaml +++ b/extensions/ical/runtime/src/main/resources/META-INF/quarkus-extension.yaml @@ -22,7 +22,7 @@ # --- name: "Camel iCal" -description: "Marshal and unmarshal iCal (.ics) documents to/from model objects provided by the iCal4j library" +description: "Marshal and unmarshal iCal (.ics) documents to/from model objects" metadata: guide: "https://camel.apache.org/camel-quarkus/latest/reference/extensions/ical.html" categories: diff --git a/extensions/jacksonxml/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/jacksonxml/runtime/src/main/resources/META-INF/quarkus-extension.yaml index 597f13c..d2a4094 100644 --- a/extensions/jacksonxml/runtime/src/main/resources/META-INF/quarkus-extension.yaml +++ b/extensions/jacksonxml/runtime/src/main/resources/META-INF/quarkus-extension.yaml @@ -22,7 +22,7 @@ # --- name: "Camel JacksonXML" -description: "Unmarshal a XML payloads to POJOs and back using XMLMapper extension of Jackson" +description: "Unmarshal an XML payloads to POJOs and back using XMLMapper extension of Jackson" metadata: guide: "https://camel.apache.org/camel-quarkus/latest/reference/extensions/jacksonxml.html" categories: diff --git a/extensions/microprofile-health/deployment/src/main/java/org/apache/camel/quarkus/component/microprofile/health/deployment/MicroProfileHealthProcessor.java b/extensions/microprofile-health/deployment/src/main/java/org/apache/camel/quarkus/component/microprofile/health/deployment/MicroProfileHealthProcessor.java index 6ea3406..e5a3b9e 100644 --- a/extensions/microprofile-health/deployment/src/main/java/org/apache/camel/quarkus/component/microprofile/health/deployment/MicroProfileHealthProcessor.java +++ b/extensions/microprofile-health/deployment/src/main/java/org/apache/camel/quarkus/component/microprofile/health/deployment/MicroProfileHealthProcessor.java @@ -32,7 +32,6 @@ import org.apache.camel.health.HealthCheck; import org.apache.camel.health.HealthCheckRegistry; import org.apache.camel.health.HealthCheckRepository; import org.apache.camel.impl.health.ConsumersHealthCheckRepository; -import org.apache.camel.impl.health.ContextHealthCheck; import org.apache.camel.impl.health.HealthCheckRegistryRepository; import org.apache.camel.impl.health.RoutesHealthCheckRepository; import org.apache.camel.quarkus.component.microprofile.health.runtime.CamelMicroProfileHealthConfig; @@ -118,10 +117,6 @@ class MicroProfileHealthProcessor { return false; } - if (className.equals(ContextHealthCheck.class.getName())) { - return config.getOptionalValue("camel.health.contextEnabled", boolean.class).orElse(true); - } - if (className.equals(RoutesHealthCheckRepository.class.getName())) { return config.getOptionalValue("camel.health.routesEnabled", boolean.class).orElse(true); } diff --git a/extensions/microprofile-health/deployment/src/test/java/org/apache/camel/quarkus/component/microprofile/health/deployment/MicroProfileHealthCamelChecksDisabledTest.java b/extensions/microprofile-health/deployment/src/test/java/org/apache/camel/quarkus/component/microprofile/health/deployment/MicroProfileHealthCamelChecksDisabledTest.java index 16e194a5..3e8b6df 100644 --- a/extensions/microprofile-health/deployment/src/test/java/org/apache/camel/quarkus/component/microprofile/health/deployment/MicroProfileHealthCamelChecksDisabledTest.java +++ b/extensions/microprofile-health/deployment/src/test/java/org/apache/camel/quarkus/component/microprofile/health/deployment/MicroProfileHealthCamelChecksDisabledTest.java @@ -37,6 +37,7 @@ import org.jboss.shrinkwrap.api.spec.JavaArchive; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; +import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -54,7 +55,6 @@ public class MicroProfileHealthCamelChecksDisabledTest { Writer writer = new StringWriter(); Properties props = new Properties(); - props.put("camel.health.contextEnabled", "false"); props.put("camel.health.routesEnabled", "false"); props.put("camel.health.consumersEnabled", "false"); props.put("camel.health.registryEnabled", "false"); @@ -69,9 +69,9 @@ public class MicroProfileHealthCamelChecksDisabledTest { } @Test - public void contextHealthCheckNull() { + public void contextHealthCheckNotNull() { ContextHealthCheck contextHealthCheck = context.getRegistry().lookupByNameAndType("context", ContextHealthCheck.class); - assertNull(contextHealthCheck); + assertNotNull(contextHealthCheck); } @Test diff --git a/extensions/openapi-java/deployment/pom.xml b/extensions/openapi-java/deployment/pom.xml index 3ab740b..053ed8f 100644 --- a/extensions/openapi-java/deployment/pom.xml +++ b/extensions/openapi-java/deployment/pom.xml @@ -49,6 +49,11 @@ </dependency> <dependency> <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-direct</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-rest</artifactId> <scope>test</scope> </dependency> diff --git a/extensions/openapi-java/deployment/src/test/java/org/apache/camel/quarkus/component/openapi/java/deployment/RESTOpenAPITest.java b/extensions/openapi-java/deployment/src/test/java/org/apache/camel/quarkus/component/openapi/java/deployment/RESTOpenAPITest.java index 7e75be4..0ee6b74 100644 --- a/extensions/openapi-java/deployment/src/test/java/org/apache/camel/quarkus/component/openapi/java/deployment/RESTOpenAPITest.java +++ b/extensions/openapi-java/deployment/src/test/java/org/apache/camel/quarkus/component/openapi/java/deployment/RESTOpenAPITest.java @@ -17,7 +17,6 @@ package org.apache.camel.quarkus.component.openapi.java.deployment; -import java.io.File; import java.util.Arrays; import io.quarkus.bootstrap.model.AppArtifact; @@ -41,7 +40,8 @@ public class RESTOpenAPITest { .withConfigurationResource("application.properties") .setArchiveProducer(() -> ShrinkWrap.create(JavaArchive.class) .addClasses(RestRoutes.class, QuarkusResource.class) - .addAsResource(new File("src/test/resources/routes/my-route.xml"), "routes/my-route.xml")); + .addAsResource("routes/rests.xml", "routes/rests.xml") + .addAsResource("routes/routes.xml", "routes/routes.xml")); @BeforeAll static void setUp() { diff --git a/extensions/openapi-java/deployment/src/test/java/org/apache/camel/quarkus/component/openapi/java/deployment/RestRoutes.java b/extensions/openapi-java/deployment/src/test/java/org/apache/camel/quarkus/component/openapi/java/deployment/RestRoutes.java index a2b1e91..358df70 100644 --- a/extensions/openapi-java/deployment/src/test/java/org/apache/camel/quarkus/component/openapi/java/deployment/RestRoutes.java +++ b/extensions/openapi-java/deployment/src/test/java/org/apache/camel/quarkus/component/openapi/java/deployment/RestRoutes.java @@ -29,8 +29,9 @@ public class RestRoutes extends RouteBuilder { .description("get test") .id("get") .produces("text/plain") - .route() - .setBody(constant("GET: /rest")) - .endRest(); + .to("direct:output"); + + from("direct:output") + .setBody().constant("GET: /rest"); } } diff --git a/extensions/openapi-java/deployment/src/test/resources/application.properties b/extensions/openapi-java/deployment/src/test/resources/application.properties index 685ea3f..a5d206d 100644 --- a/extensions/openapi-java/deployment/src/test/resources/application.properties +++ b/extensions/openapi-java/deployment/src/test/resources/application.properties @@ -23,4 +23,4 @@ quarkus.camel.openapi.expose.enabled=true # Camel - REST # camel.rest.context-path=/camel -camel.main.routes-include-pattern=routes/my-route.xml +camel.main.routes-include-pattern=routes/routes.xml,routes/rests.xml diff --git a/extensions/openapi-java/deployment/src/test/resources/routes/my-route.xml b/extensions/openapi-java/deployment/src/test/resources/routes/rests.xml similarity index 86% copy from extensions/openapi-java/deployment/src/test/resources/routes/my-route.xml copy to extensions/openapi-java/deployment/src/test/resources/routes/rests.xml index f809a04..8c2e3c1 100644 --- a/extensions/openapi-java/deployment/src/test/resources/routes/my-route.xml +++ b/extensions/openapi-java/deployment/src/test/resources/routes/rests.xml @@ -16,10 +16,10 @@ limitations under the License. --> -<rests xmlns="http://camel.apache.org/schema/spring"> +<rests> <rest id="camel_xml_rest" path="/xml"> <get> - <route><transform><constant>Camel XML Rest</constant></transform></route> + <to uri="direct:outputXML" /> </get> </rest> </rests> diff --git a/extensions/openapi-java/deployment/src/test/resources/routes/my-route.xml b/extensions/openapi-java/deployment/src/test/resources/routes/routes.xml similarity index 77% rename from extensions/openapi-java/deployment/src/test/resources/routes/my-route.xml rename to extensions/openapi-java/deployment/src/test/resources/routes/routes.xml index f809a04..53cf194 100644 --- a/extensions/openapi-java/deployment/src/test/resources/routes/my-route.xml +++ b/extensions/openapi-java/deployment/src/test/resources/routes/routes.xml @@ -16,10 +16,12 @@ limitations under the License. --> -<rests xmlns="http://camel.apache.org/schema/spring"> - <rest id="camel_xml_rest" path="/xml"> - <get> - <route><transform><constant>Camel XML Rest</constant></transform></route> - </get> - </rest> -</rests> + +<routes xmlns="http://camel.apache.org/schema/spring"> + <route> + <from uri="direct:outputXML"/> + <setBody> + <constant>Camel XML Rest</constant> + </setBody> + </route> +</routes> diff --git a/integration-test-groups/foundation/core-fault-tolerance/src/main/resources/application.properties b/integration-test-groups/foundation/core-fault-tolerance/src/main/resources/application.properties index 82f317f..48c4c9b 100644 --- a/integration-test-groups/foundation/core-fault-tolerance/src/main/resources/application.properties +++ b/integration-test-groups/foundation/core-fault-tolerance/src/main/resources/application.properties @@ -17,7 +17,7 @@ # # Camel -camel.faulttolerance.circuitBreakerRef = customCircuitBreaker +camel.faulttolerance.circuitBreaker = customCircuitBreaker camel.faulttolerance.delay = 15 camel.faulttolerance.successThreshold = 4 camel.faulttolerance.requestVolumeThreshold = 60 diff --git a/integration-test-groups/foundation/stream/src/main/java/org/apache/camel/quarkus/component/stream/it/StreamResource.java b/integration-test-groups/foundation/stream/src/main/java/org/apache/camel/quarkus/component/stream/it/StreamResource.java index 24f6ea0..462bccc 100644 --- a/integration-test-groups/foundation/stream/src/main/java/org/apache/camel/quarkus/component/stream/it/StreamResource.java +++ b/integration-test-groups/foundation/stream/src/main/java/org/apache/camel/quarkus/component/stream/it/StreamResource.java @@ -42,7 +42,7 @@ public class StreamResource { public String greetingStream(String message) throws Exception { try (ByteArrayOutputStream stream = new ByteArrayOutputStream()) { producerTemplate.sendBodyAndHeader("stream:header", message.getBytes(), "stream", stream); - return "Hello " + stream.toString(); + return "Hello " + stream; } } } diff --git a/integration-test-groups/foundation/stream/src/test/java/org/apache/camel/quarkus/component/stream/it/StreamTest.java b/integration-test-groups/foundation/stream/src/test/java/org/apache/camel/quarkus/component/stream/it/StreamTest.java index 374c3c7..b8b1ab9 100644 --- a/integration-test-groups/foundation/stream/src/test/java/org/apache/camel/quarkus/component/stream/it/StreamTest.java +++ b/integration-test-groups/foundation/stream/src/test/java/org/apache/camel/quarkus/component/stream/it/StreamTest.java @@ -33,6 +33,6 @@ class StreamTest { .body("Camel Quarkus Stream") .post("/stream/post") .then().statusCode(200) - .body(is("Hello Camel Quarkus Stream")); + .body(is("Hello Camel Quarkus Stream" + System.lineSeparator())); } } diff --git a/integration-tests/google-storage/pom.xml b/integration-tests/google-storage/pom.xml index 383f1d0..7048f87 100644 --- a/integration-tests/google-storage/pom.xml +++ b/integration-tests/google-storage/pom.xml @@ -68,6 +68,11 @@ <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-integration-test-support-mock-backend</artifactId> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-integration-test-support</artifactId> + <scope>test</scope> + </dependency> </dependencies> <profiles> diff --git a/integration-tests/google-storage/src/test/java/org/apache/camel/quarkus/component/google/storage/it/GoogleStorageTestResource.java b/integration-tests/google-storage/src/test/java/org/apache/camel/quarkus/component/google/storage/it/GoogleStorageTestResource.java index 92c6cf5..234da5c 100644 --- a/integration-tests/google-storage/src/test/java/org/apache/camel/quarkus/component/google/storage/it/GoogleStorageTestResource.java +++ b/integration-tests/google-storage/src/test/java/org/apache/camel/quarkus/component/google/storage/it/GoogleStorageTestResource.java @@ -20,11 +20,13 @@ import java.util.HashMap; import java.util.Map; import io.quarkus.test.common.QuarkusTestResourceLifecycleManager; +import org.apache.camel.quarkus.test.AvailablePortFinder; +import org.testcontainers.containers.FixedHostPortGenericContainer; import org.testcontainers.containers.GenericContainer; public class GoogleStorageTestResource implements QuarkusTestResourceLifecycleManager { - public static final int PORT = 4443; + public static final int PORT = AvailablePortFinder.getNextAvailable(); public static final String CONTAINER_NAME = "fsouza/fake-gcs-server"; private GenericContainer<?> container; @@ -35,14 +37,13 @@ public class GoogleStorageTestResource implements QuarkusTestResourceLifecycleMa Map<String, String> properties = new HashMap<>(); if (GoogleStorageHelper.usingMockBackend()) { - - container = new GenericContainer<>(CONTAINER_NAME) - .withExposedPorts(PORT) + container = new FixedHostPortGenericContainer<>(CONTAINER_NAME) + .withFixedExposedPort(PORT, PORT) .withCreateContainerCmdModifier( - it -> it.withEntrypoint("/bin/fake-gcs-server", "-scheme", "http")); + it -> it.withEntrypoint("/bin/fake-gcs-server", "-scheme", "http", "-port", String.valueOf(PORT))); container.start(); - properties.put(GoogleStorageResource.PARAM_PORT, container.getMappedPort(PORT).toString()); + properties.put(GoogleStorageResource.PARAM_PORT, String.valueOf(PORT)); } return properties; diff --git a/integration-tests/kafka/src/main/java/org/apache/camel/quarkus/component/kafka/CamelKafkaRoutes.java b/integration-tests/kafka/src/main/java/org/apache/camel/quarkus/component/kafka/CamelKafkaRoutes.java index e460fbc..381d825 100644 --- a/integration-tests/kafka/src/main/java/org/apache/camel/quarkus/component/kafka/CamelKafkaRoutes.java +++ b/integration-tests/kafka/src/main/java/org/apache/camel/quarkus/component/kafka/CamelKafkaRoutes.java @@ -61,7 +61,7 @@ public class CamelKafkaRoutes extends RouteBuilder { from("direct:idempotent") .idempotentConsumer(header("id")) - .messageIdRepositoryRef("kafkaIdempotentRepository") + .idempotentRepository("kafkaIdempotentRepository") .to("mock:idempotent-results") .end(); diff --git a/integration-tests/main-xml-io/src/main/resources/rests/my-rests.xml b/integration-tests/main-xml-io/src/main/resources/rests/my-rests.xml index fcbd834..24f641f 100644 --- a/integration-tests/main-xml-io/src/main/resources/rests/my-rests.xml +++ b/integration-tests/main-xml-io/src/main/resources/rests/my-rests.xml @@ -19,12 +19,8 @@ --> <rests xmlns="http://camel.apache.org/schema/spring"> <rest id="greet" path="/greeting"> - <get uri="/hello"> - <route id="rest-route"> - <setBody> - <constant>Hello World!</constant> - </setBody> - </route> + <get path="/hello"> + <to uri="direct:greet"/> </get> </rest> </rests> diff --git a/integration-tests/main-xml-io/src/main/resources/routes/my-routes.xml b/integration-tests/main-xml-io/src/main/resources/routes/my-routes.xml index 48feb17..c367467 100644 --- a/integration-tests/main-xml-io/src/main/resources/routes/my-routes.xml +++ b/integration-tests/main-xml-io/src/main/resources/routes/my-routes.xml @@ -24,6 +24,13 @@ http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"> + <route id="rest-route"> + <from uri="direct:greet"/> + <setBody> + <constant>Hello World!</constant> + </setBody> + </route> + <route id="my-xml-route"> <from uri="timer:from-xml?period=3000"/> <setBody> diff --git a/integration-tests/main-xml-jaxb/src/main/resources/rests/my-rests.xml b/integration-tests/main-xml-jaxb/src/main/resources/rests/my-rests.xml index fcbd834..24f641f 100644 --- a/integration-tests/main-xml-jaxb/src/main/resources/rests/my-rests.xml +++ b/integration-tests/main-xml-jaxb/src/main/resources/rests/my-rests.xml @@ -19,12 +19,8 @@ --> <rests xmlns="http://camel.apache.org/schema/spring"> <rest id="greet" path="/greeting"> - <get uri="/hello"> - <route id="rest-route"> - <setBody> - <constant>Hello World!</constant> - </setBody> - </route> + <get path="/hello"> + <to uri="direct:greet"/> </get> </rest> </rests> diff --git a/integration-tests/main-xml-jaxb/src/main/resources/routes/my-routes.xml b/integration-tests/main-xml-jaxb/src/main/resources/routes/my-routes.xml index e491c29..c3763c0 100644 --- a/integration-tests/main-xml-jaxb/src/main/resources/routes/my-routes.xml +++ b/integration-tests/main-xml-jaxb/src/main/resources/routes/my-routes.xml @@ -23,6 +23,13 @@ http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"> + <route id="rest-route"> + <from uri="direct:greet"/> + <setBody> + <constant>Hello World!</constant> + </setBody> + </route> + <route id="my-xml-route"> <from uri="timer:from-xml?period=3000"/> <setBody> diff --git a/integration-tests/main-xml-jaxb/src/test/java/org/apache/camel/quarkus/main/CoreMainXmlJaxbTest.java b/integration-tests/main-xml-jaxb/src/test/java/org/apache/camel/quarkus/main/CoreMainXmlJaxbTest.java index 6fbbfdc..89170e5 100644 --- a/integration-tests/main-xml-jaxb/src/test/java/org/apache/camel/quarkus/main/CoreMainXmlJaxbTest.java +++ b/integration-tests/main-xml-jaxb/src/test/java/org/apache/camel/quarkus/main/CoreMainXmlJaxbTest.java @@ -80,7 +80,7 @@ public class CoreMainXmlJaxbTest { private boolean logContainsDumpedRoutes(String log) { return log.contains("<route customId=\"true\" id=\"my-xml-route\">") && - log.contains("<route customId=\"true\" id=\"rest-route\" rest=\"true\">") && + log.contains("<route customId=\"true\" id=\"rest-route\">") && log.contains("<rest customId=\"true\" id=\"greet\" path=\"/greeting\">") && log.contains("<routeTemplate customId=\"true\" id=\"myTemplate\">"); } diff --git a/integration-tests/main-yaml/src/main/resources/routes/my-rests.yaml b/integration-tests/main-yaml/src/main/resources/routes/my-rests.yaml index fd1f1b6..b248831 100644 --- a/integration-tests/main-yaml/src/main/resources/routes/my-rests.yaml +++ b/integration-tests/main-yaml/src/main/resources/routes/my-rests.yaml @@ -16,10 +16,10 @@ # - rest: - path: "/greeting" - verb: - - method: "get" + get: + - path: "/greeting" to: "direct:rest" + - route: id: "rest-route" from: diff --git a/integration-tests/microprofile/src/main/java/org/apache/camel/quarkus/component/microprofile/it/health/CustomHealthCheckRepository.java b/integration-tests/microprofile/src/main/java/org/apache/camel/quarkus/component/microprofile/it/health/CustomHealthCheckRepository.java index c54665d..2d31330 100644 --- a/integration-tests/microprofile/src/main/java/org/apache/camel/quarkus/component/microprofile/it/health/CustomHealthCheckRepository.java +++ b/integration-tests/microprofile/src/main/java/org/apache/camel/quarkus/component/microprofile/it/health/CustomHealthCheckRepository.java @@ -16,12 +16,10 @@ */ package org.apache.camel.quarkus.component.microprofile.it.health; -import java.util.Collections; import java.util.Map; import java.util.stream.Stream; import org.apache.camel.health.HealthCheck; -import org.apache.camel.health.HealthCheckConfiguration; import org.apache.camel.health.HealthCheckRepository; import org.apache.camel.health.HealthCheckResultBuilder; import org.apache.camel.impl.health.AbstractHealthCheck; @@ -44,21 +42,6 @@ public class CustomHealthCheckRepository implements HealthCheckRepository { } @Override - public void setConfigurations(Map<String, HealthCheckConfiguration> configurations) { - // Noop - } - - @Override - public Map<String, HealthCheckConfiguration> getConfigurations() { - return Collections.emptyMap(); - } - - @Override - public void addConfiguration(String id, HealthCheckConfiguration configuration) { - // Noop - } - - @Override public Stream<HealthCheck> stream() { return Stream.of(check); } diff --git a/integration-tests/microprofile/src/main/java/org/apache/camel/quarkus/component/microprofile/it/health/FailingHealthCheck.java b/integration-tests/microprofile/src/main/java/org/apache/camel/quarkus/component/microprofile/it/health/FailingHealthCheck.java index 2d56d54..b278052 100644 --- a/integration-tests/microprofile/src/main/java/org/apache/camel/quarkus/component/microprofile/it/health/FailingHealthCheck.java +++ b/integration-tests/microprofile/src/main/java/org/apache/camel/quarkus/component/microprofile/it/health/FailingHealthCheck.java @@ -25,7 +25,7 @@ public class FailingHealthCheck extends AbstractHealthCheck { public FailingHealthCheck() { super("failing-check"); - getConfiguration().setEnabled(false); + setEnabled(false); } @Override diff --git a/integration-tests/microprofile/src/main/java/org/apache/camel/quarkus/component/microprofile/it/health/FailureThresholdHealthCheck.java b/integration-tests/microprofile/src/main/java/org/apache/camel/quarkus/component/microprofile/it/health/FailureThresholdHealthCheck.java deleted file mode 100644 index 6fbcb6e..0000000 --- a/integration-tests/microprofile/src/main/java/org/apache/camel/quarkus/component/microprofile/it/health/FailureThresholdHealthCheck.java +++ /dev/null @@ -1,51 +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.microprofile.it.health; - -import java.util.Map; - -import org.apache.camel.health.HealthCheckResultBuilder; -import org.apache.camel.impl.health.AbstractHealthCheck; - -public final class FailureThresholdHealthCheck extends AbstractHealthCheck { - - private boolean returnStatusUp = false; - - public FailureThresholdHealthCheck() { - super("failure-threshold", "failure-threshold"); - getConfiguration().setEnabled(false); - getConfiguration().setFailureThreshold(2); - getConfiguration().setInterval(500); - } - - @Override - protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) { - if (isReturnStatusUp()) { - builder.up(); - } else { - builder.down(); - } - } - - public void setReturnStatusUp(boolean returnStatusUp) { - this.returnStatusUp = returnStatusUp; - } - - public boolean isReturnStatusUp() { - return returnStatusUp; - } -} diff --git a/integration-tests/microprofile/src/main/java/org/apache/camel/quarkus/component/microprofile/it/health/MicroProfileHealthResource.java b/integration-tests/microprofile/src/main/java/org/apache/camel/quarkus/component/microprofile/it/health/MicroProfileHealthResource.java index f5392e6..1e2e297 100644 --- a/integration-tests/microprofile/src/main/java/org/apache/camel/quarkus/component/microprofile/it/health/MicroProfileHealthResource.java +++ b/integration-tests/microprofile/src/main/java/org/apache/camel/quarkus/component/microprofile/it/health/MicroProfileHealthResource.java @@ -24,7 +24,6 @@ import javax.ws.rs.PathParam; import javax.ws.rs.QueryParam; import org.apache.camel.CamelContext; -import org.apache.camel.health.HealthCheck; import org.apache.camel.health.HealthCheckRegistry; @Path("/microprofile-health") @@ -52,7 +51,7 @@ public class MicroProfileHealthResource { @QueryParam("healthCheckEnabled") boolean isHealthCheckEnabled) { HealthCheckRegistry registry = camelContext.getExtension(HealthCheckRegistry.class); registry.getCheck(healthCheckId).ifPresent(healthCheck -> { - healthCheck.getConfiguration().setEnabled(isHealthCheckEnabled); + healthCheck.setEnabled(isHealthCheckEnabled); if (isHealthCheckEnabled) { registry.register(healthCheck); } else { @@ -60,18 +59,4 @@ public class MicroProfileHealthResource { } }); } - - @Path("/{healthCheckId}/return/status") - @POST - public void modifyHealthCheckStatus( - @PathParam("healthCheckId") String healthCheckId, - @QueryParam("returnStatusUp") boolean isReturnStatusUp) { - HealthCheck healthCheck = camelContext - .getExtension(HealthCheckRegistry.class) - .getCheck(healthCheckId) - .get(); - - FailureThresholdHealthCheck failureThresholdHealthCheck = (FailureThresholdHealthCheck) healthCheck; - failureThresholdHealthCheck.setReturnStatusUp(isReturnStatusUp); - } } diff --git a/integration-tests/microprofile/src/main/resources/application.properties b/integration-tests/microprofile/src/main/resources/application.properties index 4537e97..9b94638 100644 --- a/integration-tests/microprofile/src/main/resources/application.properties +++ b/integration-tests/microprofile/src/main/resources/application.properties @@ -26,9 +26,4 @@ quarkus.camel.metrics.enable-message-history = true camel.context.name = quarkus-camel-example # Prevent unwanted routes appearing in the health check output -camel.health.config[disabledHealthRoute].parent=routes -camel.health.config[disabledHealthRoute].enabled=false - -camel.health.config[checkIntervalThreshold].parent = routes -camel.health.config[checkIntervalThreshold].interval = 100 -camel.health.config[checkIntervalThreshold].failure-threshold = 2 +camel.health.exclude-pattern = disabledHealthRoute diff --git a/integration-tests/microprofile/src/test/java/org/apache/camel/quarkus/component/microprofile/it/health/MicroProfileHealthTest.java b/integration-tests/microprofile/src/test/java/org/apache/camel/quarkus/component/microprofile/it/health/MicroProfileHealthTest.java index db79af1..4c24962 100644 --- a/integration-tests/microprofile/src/test/java/org/apache/camel/quarkus/component/microprofile/it/health/MicroProfileHealthTest.java +++ b/integration-tests/microprofile/src/test/java/org/apache/camel/quarkus/component/microprofile/it/health/MicroProfileHealthTest.java @@ -16,15 +16,10 @@ */ package org.apache.camel.quarkus.component.microprofile.it.health; -import java.util.List; -import java.util.concurrent.TimeUnit; - import io.quarkus.test.junit.QuarkusTest; import io.restassured.RestAssured; import io.restassured.http.ContentType; -import io.restassured.path.json.JsonPath; import org.apache.camel.ServiceStatus; -import org.awaitility.Awaitility; import org.junit.jupiter.api.Test; import static org.hamcrest.Matchers.contains; @@ -165,66 +160,4 @@ class MicroProfileHealthTest { .statusCode(204); } } - - @Test - public void testFailureThreshold() { - try { - RestAssured.given() - .queryParam("healthCheckEnabled", "true") - .post("/microprofile-health/failure-threshold") - .then() - .statusCode(204); - - // Configured failure threshold and interval should allow the initial health state be UP - RestAssured.when().get("/q/health").then() - .contentType(ContentType.JSON) - .header("Content-Type", containsString("charset=UTF-8")) - .body("status", is("UP"), - "checks.findAll { it.name == 'failure-threshold' }.status.unique()", contains("UP")); - - // Poll the health endpoint until the threshold / interval is exceeded and the health state transitions to DOWN - Awaitility.await().atMost(10, TimeUnit.SECONDS).pollDelay(50, TimeUnit.MILLISECONDS).until(() -> { - JsonPath result = RestAssured.when().get("/q/health").then() - .contentType(ContentType.JSON) - .header("Content-Type", containsString("charset=UTF-8")) - .extract() - .jsonPath(); - - String status = result.getString("status"); - List<String> routeStatus = result.getList("checks.findAll { it.name == 'failure-threshold' }.status.unique()"); - return status.equals("DOWN") && routeStatus.contains("DOWN"); - }); - - RestAssured.given() - .queryParam("returnStatusUp", true) - .post("/microprofile-health/failure-threshold/return/status") - .then() - .statusCode(204); - - // Try again with a poll delay > the failure interval and wait for the health state to transition to UP - Awaitility.await().atMost(10, TimeUnit.SECONDS).pollDelay(50, TimeUnit.MILLISECONDS).until(() -> { - JsonPath result = RestAssured.when().get("/q/health").then() - .contentType(ContentType.JSON) - .header("Content-Type", containsString("charset=UTF-8")) - .extract() - .jsonPath(); - - String status = result.getString("status"); - List<String> routeStatus = result.getList("checks.findAll { it.name == 'failure-threshold' }.status.unique()"); - return status.equals("UP") && routeStatus.contains("UP"); - }); - } finally { - RestAssured.given() - .queryParam("returnStatusUp", false) - .post("/microprofile-health/failure-threshold/return/status") - .then() - .statusCode(204); - - RestAssured.given() - .queryParam("healthCheckEnabled", "false") - .post("/microprofile-health/failure-threshold") - .then() - .statusCode(204); - } - } } diff --git a/integration-tests/openapi-java/src/main/java/org/apache/camel/quarkus/component/openapijava/it/OpenApiRoutes.java b/integration-tests/openapi-java/src/main/java/org/apache/camel/quarkus/component/openapijava/it/OpenApiRoutes.java index 884bf4c..6176af9 100644 --- a/integration-tests/openapi-java/src/main/java/org/apache/camel/quarkus/component/openapijava/it/OpenApiRoutes.java +++ b/integration-tests/openapi-java/src/main/java/org/apache/camel/quarkus/component/openapijava/it/OpenApiRoutes.java @@ -64,10 +64,7 @@ public class OpenApiRoutes extends RouteBuilder { .description("Gets a list of fruits") .id("list") .produces(MediaType.APPLICATION_JSON) - .route() - .setBody().constant(getFruits()) - .marshal().json() - .endRest() + .to("direct:fruits") .get("/operation/spec") .param() @@ -102,20 +99,14 @@ public class OpenApiRoutes extends RouteBuilder { .code("error") .message("Response Error") .endResponseMessage() - .route() - .setBody().constant("GET: /operation/spec") - .endRest() + .to("direct:echoMethodPath") .get("/security/scopes") .security("OAuth2", "scope1,scope2,scope3") - .route() - .setBody().constant("GET: /security/scopes") - .endRest() + .to("direct:echoMethodPath") .get("/security/api/key") - .route() - .setBody().constant("GET: /security/api/key/header") - .endRest() + .to("direct:echoMethodPath") .securityDefinitions() .apiKey("X-API-Key", "The API key") .withHeader("X-API-KEY") @@ -123,17 +114,13 @@ public class OpenApiRoutes extends RouteBuilder { .end() .get("/security/basic/auth") - .route() - .setBody().constant("/security/basic/auth") - .endRest() + .to("direct:echoMethodPath") .securityDefinitions() .basicAuth("basicAuth", "Basic Authentication") .end() .get("/security/oauth2") - .route() - .setBody().constant("/security/oauth2") - .endRest() + .to("direct:echoMethodPath") .securityDefinitions() .oauth2("oauth2", "OAuth2 Authentication") .flow("implicit") @@ -147,29 +134,30 @@ public class OpenApiRoutes extends RouteBuilder { if (openApiVersion.equals("3.0.0")) { rest() .get("/security/bearer/token") - .route() - .setBody().constant("/security/bearer/token") - .endRest() + .to("direct:echoMethodPath") .securityDefinitions() .bearerToken("bearerAuth", "Bearer Token Authentication") .end() .get("/security/mutual/tls") - .route() - .setBody().constant("/security/mutual/tls") - .endRest() + .to("direct:echoMethodPath") .securityDefinitions() .mutualTLS("mutualTLS") .end() .get("/security/openid") - .route() - .setBody().constant("/security/openid") - .endRest() + .to("direct:echoMethodPath") .securityDefinitions() .openIdConnect("openId", "https://secure.apache.org/fake/openid-configuration") .end(); } + + from("direct:fruits") + .setBody().constant(getFruits()) + .marshal().json(); + + from("direct:echoMethodPath") + .setBody().simple("${header.CamelHttpMethod}: ${header.CamelHttpPath}"); } private Set<Fruit> getFruits() { diff --git a/integration-tests/openapi-java/src/test/java/org/apache/camel/quarkus/component/openapijava/it/common/OpenApiTest.java b/integration-tests/openapi-java/src/test/java/org/apache/camel/quarkus/component/openapijava/it/common/OpenApiTest.java index 4f97265..352851e 100644 --- a/integration-tests/openapi-java/src/test/java/org/apache/camel/quarkus/component/openapijava/it/common/OpenApiTest.java +++ b/integration-tests/openapi-java/src/test/java/org/apache/camel/quarkus/component/openapijava/it/common/OpenApiTest.java @@ -200,9 +200,7 @@ public abstract class OpenApiTest { .then() .contentType(ContentType.JSON) .statusCode(200) - .body( - containsString("x-camelContextId"), - containsString("x-routeId")); + .body(containsString("x-camelContextId")); } @Test diff --git a/integration-tests/platform-http/pom.xml b/integration-tests/platform-http/pom.xml index 172b01a..ea7a162 100644 --- a/integration-tests/platform-http/pom.xml +++ b/integration-tests/platform-http/pom.xml @@ -33,6 +33,10 @@ <dependencies> <dependency> <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-direct</artifactId> + </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-platform-http</artifactId> </dependency> <dependency> @@ -110,6 +114,19 @@ <!-- 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> + <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> <version>${project.version}</version> <type>pom</type> diff --git a/integration-tests/platform-http/src/main/java/org/apache/camel/quarkus/component/platform/http/it/PlatformHttpRouteBuilder.java b/integration-tests/platform-http/src/main/java/org/apache/camel/quarkus/component/platform/http/it/PlatformHttpRouteBuilder.java index 0b315d1..2003c6e 100644 --- a/integration-tests/platform-http/src/main/java/org/apache/camel/quarkus/component/platform/http/it/PlatformHttpRouteBuilder.java +++ b/integration-tests/platform-http/src/main/java/org/apache/camel/quarkus/component/platform/http/it/PlatformHttpRouteBuilder.java @@ -48,14 +48,16 @@ public class PlatformHttpRouteBuilder extends RouteBuilder { rest() .get("/platform-http/rest-get") - .route() - .setBody(constant("GET: /rest-get")) - .endRest() + .to("direct:echoMethodPath") .post("/platform-http/rest-post") .consumes("text/plain").produces("text/plain") - .route() - .setBody(constant("POST: /rest-post")) - .endRest(); + .to("direct:echoMethodPath"); + + from("direct:echoMethodPath") + .setBody().simple("${header.CamelHttpMethod}: ${header.CamelHttpPath}"); + + from("direct:greet") + .setBody().simple("Hello ${header.name}"); from("platform-http:/registry/inspect") .process(e -> { @@ -149,9 +151,7 @@ public class PlatformHttpRouteBuilder extends RouteBuilder { rest() .get("/platform-http/hello-by-name/{name}") .produces("text/plain") - .route() - .setBody(e -> "Hello " + e.getIn().getHeader("name", String.class)) - .endRest(); + .to("direct:greet"); // Webhook tests from("platform-http:/platform-http/webhookpath") diff --git a/integration-tests/platform-http/src/test/java/org/apache/camel/quarkus/component/http/server/it/PlatformHttpTest.java b/integration-tests/platform-http/src/test/java/org/apache/camel/quarkus/component/http/server/it/PlatformHttpTest.java index 6a782c7..84d442b 100644 --- a/integration-tests/platform-http/src/test/java/org/apache/camel/quarkus/component/http/server/it/PlatformHttpTest.java +++ b/integration-tests/platform-http/src/test/java/org/apache/camel/quarkus/component/http/server/it/PlatformHttpTest.java @@ -69,11 +69,11 @@ class PlatformHttpTest { @Test public void rest() throws Throwable { RestAssured.get("/my-context/platform-http/rest-get") - .then().body(equalTo("GET: /rest-get")); + .then().body(equalTo("GET: /my-context/platform-http/rest-get")); RestAssured.given() .contentType("text/plain") .post("/my-context/platform-http/rest-post") - .then().body(equalTo("POST: /rest-post")); + .then().body(equalTo("POST: /my-context/platform-http/rest-post")); } @Test diff --git a/integration-tests/rest/pom.xml b/integration-tests/rest/pom.xml index dc80da2..dec26a0 100644 --- a/integration-tests/rest/pom.xml +++ b/integration-tests/rest/pom.xml @@ -37,6 +37,10 @@ </dependency> <dependency> <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-direct</artifactId> + </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-http</artifactId> </dependency> <dependency> @@ -126,6 +130,19 @@ </dependency> <dependency> <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-direct-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-http-deployment</artifactId> <version>${project.version}</version> <type>pom</type> diff --git a/integration-tests/rest/src/main/java/org/apache/camel/quarkus/component/rest/it/RestRoutes.java b/integration-tests/rest/src/main/java/org/apache/camel/quarkus/component/rest/it/RestRoutes.java index 5342994..de4f92f 100644 --- a/integration-tests/rest/src/main/java/org/apache/camel/quarkus/component/rest/it/RestRoutes.java +++ b/integration-tests/rest/src/main/java/org/apache/camel/quarkus/component/rest/it/RestRoutes.java @@ -43,41 +43,29 @@ public class RestRoutes extends RouteBuilder { rest("/rest") .delete() .produces("text/plain") - .route() - .setBody(constant("DELETE: /rest")) - .endRest() + .to("direct:echoMethodPath") .get() .produces("text/plain") - .route() - .setBody(constant("GET: /rest")) - .endRest() + .to("direct:echoMethodPath") .head() - .route() - .setHeader(Exchange.CONTENT_TYPE).constant("text/plain") - .endRest() + .to("direct:contentTypeText") .patch() .consumes("text/plain") .produces("text/plain") - .route() - .setBody(simple("${body}: /rest")) - .endRest() + .to("direct:echoBodyPath") .post() .consumes("text/plain") .produces("text/plain") - .route() - .setBody(simple("${body}: /rest")) - .endRest() + .to("direct:echoBodyPath") .put() .consumes("text/plain") .produces("text/plain") - .route() - .setBody(simple("${body}: /rest")) - .endRest() + .to("direct:echoBodyPath") .post("/validation") .clientRequestValidation(true) @@ -85,55 +73,67 @@ public class RestRoutes extends RouteBuilder { .param().name("messageMiddle").type(RestParamType.body).required(true).endParam() .param().name("messageEnd").type(RestParamType.header).required(true).endParam() .param().name("unused").type(RestParamType.formData).required(false).endParam() - .route() - .setBody(simple("${header.messageStart} ${body} ${header.messageEnd}")) - .endRest() + .to("direct:greetWithBody") .get("/template/{messageStart}/{messageEnd}") - .route() - .setBody(simple("${header.messageStart} ${header.messageEnd}")) - .endRest() + .to("direct:greet") .post("/pojo/binding/json") .bindingMode(RestBindingMode.json) .type(Person.class) .produces(MediaType.TEXT_PLAIN) - .route() - .setBody(simple("Name: ${body.firstName} ${body.lastName}, Age: ${body.age}")) - .setHeader(Exchange.CONTENT_TYPE, constant("text/plain")) - .endRest() + .to("direct:personString") .get("/binding/json/producer") - .route() - .setBody(constant(PERSON_JSON)) - .endRest() + .to("direct:personJson") .post("/pojo/binding/xml") .bindingMode(RestBindingMode.xml) .type(Person.class) .produces(MediaType.TEXT_PLAIN) - .route() - .setBody(simple("Name: ${body.firstName} ${body.lastName}, Age: ${body.age}")) - .setHeader(Exchange.CONTENT_TYPE, constant("text/plain")) - .endRest() + .to("direct:personString") .get("/binding/xml/producer") - .route() - .setBody(constant(PERSON_XML)) - .endRest() + .to("direct:personXml") .post("/log") - .route() - .log("Hello ${body}") - .endRest() + .to("direct:hello") .verb("head", "/custom/verb") - .route() - .setHeader(Exchange.CONTENT_TYPE, constant("text/plain")) - .endRest() + .to("direct:contentTypeText") .post("/multipart/upload") - .route() + .to("direct:processAttachments"); + + from("direct:echoMethodPath") + .setBody().simple("${header.CamelHttpMethod}: ${header.CamelHttpPath}"); + + from("direct:echoBodyPath") + .setBody().simple("${body}: ${header.CamelHttpPath}"); + + from("direct:greetWithBody") + .setBody(simple("${header.messageStart} ${body} ${header.messageEnd}")); + + from("direct:greet") + .setBody(simple("${header.messageStart} ${header.messageEnd}")); + + from("direct:hello") + .log("Hello ${body}"); + + from("direct:personString") + .setHeader(Exchange.CONTENT_TYPE, constant("text/plain")) + .setBody().simple("Name: ${body.firstName} ${body.lastName}, Age: ${body.age}"); + + from("direct:personJson") + .setBody().constant(PERSON_JSON); + + from("direct:personXml") + .setBody().constant(PERSON_XML); + + from("direct:contentTypeText") + .setHeader(Exchange.CONTENT_TYPE).constant("text/plain"); + + from("direct:processAttachments") .process(exchange -> { AttachmentMessage attachmentMessage = exchange.getMessage(AttachmentMessage.class); Map<String, DataHandler> attachments = attachmentMessage.getAttachments(); @@ -143,7 +143,6 @@ public class RestRoutes extends RouteBuilder { } else { exchange.getMessage().setBody("0"); } - }) - .endRest(); + }); } } diff --git a/integration-tests/servlet/pom.xml b/integration-tests/servlet/pom.xml index 45737b4..36d8e71 100644 --- a/integration-tests/servlet/pom.xml +++ b/integration-tests/servlet/pom.xml @@ -33,7 +33,11 @@ <dependencies> <dependency> <groupId>org.apache.camel.quarkus</groupId> - <artifactId>camel-quarkus-servlet</artifactId> + <artifactId>camel-quarkus-core-cloud</artifactId> + </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-direct</artifactId> </dependency> <dependency> <groupId>org.apache.camel.quarkus</groupId> @@ -41,7 +45,7 @@ </dependency> <dependency> <groupId>org.apache.camel.quarkus</groupId> - <artifactId>camel-quarkus-core-cloud</artifactId> + <artifactId>camel-quarkus-servlet</artifactId> </dependency> <!-- test dependencies --> @@ -110,6 +114,19 @@ </dependency> <dependency> <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-direct-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-rest-deployment</artifactId> <version>${project.version}</version> <type>pom</type> diff --git a/integration-tests/servlet/src/main/java/org/apache/camel/quarkus/component/servlet/CamelRoute.java b/integration-tests/servlet/src/main/java/org/apache/camel/quarkus/component/servlet/CamelRoute.java index 0730289..933e426 100644 --- a/integration-tests/servlet/src/main/java/org/apache/camel/quarkus/component/servlet/CamelRoute.java +++ b/integration-tests/servlet/src/main/java/org/apache/camel/quarkus/component/servlet/CamelRoute.java @@ -18,6 +18,8 @@ package org.apache.camel.quarkus.component.servlet; import javax.enterprise.context.ApplicationScoped; +import org.apache.camel.Exchange; +import org.apache.camel.Processor; import org.apache.camel.builder.RouteBuilder; @ApplicationScoped @@ -33,13 +35,10 @@ public class CamelRoute extends RouteBuilder { rest() .get("/rest-get") - .route() - .setBody(constant("GET: /rest-get")) - .endRest() + .to("direct:echoMethodPath") + .post("/rest-post") - .route() - .setBody(constant("POST: /rest-post")) - .endRest(); + .to("direct:echoMethodPath"); from("servlet://hello?matchOnUriPrefix=true") .setBody(constant("GET: /hello")); @@ -50,6 +49,14 @@ public class CamelRoute extends RouteBuilder { from("servlet://favorite?servletName=my-favorite-servlet") .setBody(constant("GET: /favorite")); + from("direct:echoMethodPath") + .process(new Processor() { + @Override + public void process(Exchange exchange) throws Exception { + exchange.toString(); + } + }) + .setBody().simple("${header.CamelHttpMethod}: ${header.CamelServletContextPath}"); } } diff --git a/pom.xml b/pom.xml index 4bf3b9f..82afbdb 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.camel</groupId> <artifactId>camel-dependencies</artifactId> - <version>3.15.0</version> + <version>3.16.0-SNAPSHOT</version> </parent> <groupId>org.apache.camel.quarkus</groupId> @@ -39,8 +39,8 @@ <properties> <!-- Primary dependencies - maintained manually --> - <camel.major.minor>3.15</camel.major.minor> <!-- run after each change: cd docs && mvnd validate --> - <camel.version>${camel.major.minor}.0</camel.version> + <camel.major.minor>3.16</camel.major.minor> <!-- run after each change: cd docs && mvnd validate --> + <camel.version>${camel.major.minor}.0-SNAPSHOT</camel.version> <camel.docs.components.version>${camel.major.minor}.x</camel.docs.components.version><!-- the version in Camel's docs/components/antora.yml --> <camel.docs.components.xref>${camel.docs.components.version}@components</camel.docs.components.xref><!-- the version in Camel's docs/components/antora.yml --> <camel.docs.branch>camel-${camel.major.minor}.x</camel.docs.branch><!-- The stable camel branch on which our Antora docs depends --> @@ -133,7 +133,7 @@ <xalan.version>${xalan-version}</xalan.version> <xchange.version>${xchange-version}</xchange.version> <xerces.version>${xerces-version}</xerces.version> - <xmlgraphics-commons.version>2.6</xmlgraphics-commons.version><!-- @sync org.apache.xmlgraphics:fop-parent:${fop-version} prop:xmlgraphics.commons.version --> + <xmlgraphics-commons.version>2.7</xmlgraphics-commons.version><!-- @sync org.apache.xmlgraphics:fop-parent:${fop-version} prop:xmlgraphics.commons.version --> <xstream.version>${xstream-version}</xstream.version> <web3j.version>${web3j-version}</web3j.version> <web3j.quorum.version>${web3j-quorum-version}</web3j.quorum.version>