This is an automated email from the ASF dual-hosted git repository. aldettinger pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/main by this push: new 37a3fc6121 camel-quarkus-language: Added language, resource and options tests (fixes #4640) 37a3fc6121 is described below commit 37a3fc61212415d93b5146d2629b59d458242918 Author: Darren Coleman <dcole...@redhat.com> AuthorDate: Mon Mar 6 13:23:21 2023 +0000 camel-quarkus-language: Added language, resource and options tests (fixes #4640) --- .../ROOT/pages/reference/extensions/language.adoc | 28 +++ .../language/runtime/src/main/doc/usage.adoc | 22 +++ .../foundation/language/pom.xml | 144 +++++++++++++++ .../it/{LanguageRoutes.java => CaseConverter.java} | 16 +- .../component/language/it/LanguageResource.java | 36 +++- .../component/language/it/LanguageRoutes.java | 50 +++++- ...anguageRoutes.java => LowerCaseExpression.java} | 18 +- .../src/main/resources/application.properties | 2 +- .../{hello.simple.txt => hello.simple-res.txt} | 0 .../component/language/it/LanguageTest.java | 198 ++++++++++++++++++++- .../language/it/LanguageTestResource.java} | 17 +- .../src/test/resources/hello.simple-file.txt | 1 + integration-tests/foundation-grouped/pom.xml | 90 ++++++++++ poms/bom/pom.xml | 119 +++++++------ poms/bom/src/main/generated/flattened-full-pom.xml | 116 ++++++------ .../src/main/generated/flattened-reduced-pom.xml | 106 +++++------ .../generated/flattened-reduced-verbose-pom.xml | 106 +++++------ 17 files changed, 811 insertions(+), 258 deletions(-) diff --git a/docs/modules/ROOT/pages/reference/extensions/language.adoc b/docs/modules/ROOT/pages/reference/extensions/language.adoc index a319f66596..e23bb0bb12 100644 --- a/docs/modules/ROOT/pages/reference/extensions/language.adoc +++ b/docs/modules/ROOT/pages/reference/extensions/language.adoc @@ -44,6 +44,34 @@ ifeval::[{doc-show-user-guide-link} == true] Check the xref:user-guide/index.adoc[User guide] for more information about writing Camel Quarkus applications. endif::[] +[id="extensions-language-usage"] +== Usage +[id="extensions-language-usage-required-dependencies"] +=== Required Dependencies + +The Language extension only handles the passing of an Exchange to a script for execution. The extension implementing the language must be added as a dependency. The following list of languages are implemented in xref:reference/extensions/core.adoc[Core]: + +* Constant +* ExchangeProperty +* File +* Header +* Ref +* Simple +* Tokenize + +To use any other language, you must add the corresponding dependency. Consult the xref:reference/languages.adoc[Languages Guide] for details. + +[id="extensions-language-usage-native-mode"] +=== Native Mode + +When loading scripts from the classpath in native mode, the path to the script file must be specified in the `quarkus.native.resources.includes` property of the `application.properties` file. For example: + +[source] +---- +quarkus.native.resources.includes=script.txt +---- + + [id="extensions-language-allowcontextmapall-option-in-native-mode"] == allowContextMapAll option in native mode diff --git a/extensions/language/runtime/src/main/doc/usage.adoc b/extensions/language/runtime/src/main/doc/usage.adoc new file mode 100644 index 0000000000..dbabd81e1f --- /dev/null +++ b/extensions/language/runtime/src/main/doc/usage.adoc @@ -0,0 +1,22 @@ +=== Required Dependencies + +The Language extension only handles the passing of an Exchange to a script for execution. The extension implementing the language must be added as a dependency. The following list of languages are implemented in xref:reference/extensions/core.adoc[Core]: + +* Constant +* ExchangeProperty +* File +* Header +* Ref +* Simple +* Tokenize + +To use any other language, you must add the corresponding dependency. Consult the xref:reference/languages.adoc[Languages Guide] for details. + +=== Native Mode + +When loading scripts from the classpath in native mode, the path to the script file must be specified in the `quarkus.native.resources.includes` property of the `application.properties` file. For example: + +[source] +---- +quarkus.native.resources.includes=script.txt +---- \ No newline at end of file diff --git a/integration-test-groups/foundation/language/pom.xml b/integration-test-groups/foundation/language/pom.xml index 12f7f3917b..eac7efc0f1 100644 --- a/integration-test-groups/foundation/language/pom.xml +++ b/integration-test-groups/foundation/language/pom.xml @@ -31,6 +31,10 @@ <description>Integration tests for Camel Quarkus Language extension</description> <dependencies> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-core</artifactId> + </dependency> <dependency> <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-language</artifactId> @@ -43,6 +47,37 @@ <groupId>io.quarkus</groupId> <artifactId>quarkus-resteasy</artifactId> </dependency> + + <!-- Non-core languages --> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-bean</artifactId> + </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-file</artifactId> + </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-hl7</artifactId> + </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-jsonpath</artifactId> + </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-saxon</artifactId> + </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-xpath</artifactId> + </dependency> + + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-http</artifactId> + </dependency> <!-- test dependencies --> <dependency> @@ -55,6 +90,11 @@ <artifactId>rest-assured</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-integration-wiremock-support</artifactId> + <scope>test</scope> + </dependency> </dependencies> <profiles> @@ -94,6 +134,32 @@ </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-bean-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-core-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-direct-deployment</artifactId> @@ -107,6 +173,58 @@ </exclusion> </exclusions> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-file-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-hl7-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> + <scope>test</scope> + <exclusions> + <exclusion> + <groupId>*</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-jsonpath-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-language-deployment</artifactId> @@ -120,6 +238,32 @@ </exclusion> </exclusions> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-saxon-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-xpath-deployment</artifactId> + <version>${project.version}</version> + <type>pom</type> + <scope>test</scope> + <exclusions> + <exclusion> + <groupId>*</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> </dependencies> </profile> </profiles> diff --git a/integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/LanguageRoutes.java b/integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/CaseConverter.java similarity index 68% copy from integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/LanguageRoutes.java copy to integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/CaseConverter.java index 7c9419a638..f66bba03f4 100644 --- a/integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/LanguageRoutes.java +++ b/integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/CaseConverter.java @@ -16,15 +16,13 @@ */ package org.apache.camel.quarkus.component.language.it; -import org.apache.camel.builder.RouteBuilder; +import io.quarkus.runtime.annotations.RegisterForReflection; +import jakarta.enterprise.context.ApplicationScoped; -public class LanguageRoutes extends RouteBuilder { - - @Override - public void configure() throws Exception { - from("direct:languageSimpleScript") - .to("language://simple:Hello ${body} from simple language script"); - from("direct:languageSimpleResource") - .to("language://simple:resource:hello.simple.txt"); +@ApplicationScoped +@RegisterForReflection +public class CaseConverter { + public String toUpper(String value) { + return value.toUpperCase(); } } diff --git a/integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/LanguageResource.java b/integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/LanguageResource.java index 9033a1e4f8..a5105f3bcb 100644 --- a/integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/LanguageResource.java +++ b/integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/LanguageResource.java @@ -23,7 +23,9 @@ 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.ConsumerTemplate; import org.apache.camel.ProducerTemplate; @Path("/language") @@ -31,13 +33,43 @@ import org.apache.camel.ProducerTemplate; public class LanguageResource { @Inject - ProducerTemplate template; + ProducerTemplate producerTemplate; + + @Inject + ConsumerTemplate consumerTemplate; @Path("/route/{route}") @POST @Consumes(MediaType.TEXT_PLAIN) @Produces(MediaType.TEXT_PLAIN) public String route(String body, @PathParam("route") String route) { - return template.requestBody("direct:" + route, body, String.class); + return producerTemplate.requestBody("direct:" + route, body, String.class); + } + + @Path("/route/languageFileScript") + @POST + @Consumes(MediaType.TEXT_PLAIN) + @Produces(MediaType.TEXT_PLAIN) + public String routeFileScript(String body) { + return consumerTemplate.receiveBody("direct:languageFileOutput", 5000, String.class); + } + + @Path("/route/languageSimpleHttp") + @POST + @Consumes(MediaType.TEXT_PLAIN) + @Produces(MediaType.TEXT_PLAIN) + public String routeSimpleHttp(String body, @QueryParam("baseUrl") String baseUrl) { + return producerTemplate.requestBody("language:simple:resource:" + baseUrl + "/simple", body, String.class); + } + + @Path("/route/languageSimpleContentCache") + @POST + @Consumes(MediaType.TEXT_PLAIN) + @Produces(MediaType.TEXT_PLAIN) + public String routeSimpleContentCache(String body, @QueryParam("baseUrl") String baseUrl, + @QueryParam("contentCache") String contentCache) { + String option = "?contentCache=" + contentCache; + String url = "language:simple:resource:" + baseUrl + "/simpleContentCache" + option; + return producerTemplate.requestBody(url, body, String.class); } } diff --git a/integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/LanguageRoutes.java b/integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/LanguageRoutes.java index 7c9419a638..ae697244a6 100644 --- a/integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/LanguageRoutes.java +++ b/integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/LanguageRoutes.java @@ -16,15 +16,63 @@ */ package org.apache.camel.quarkus.component.language.it; +import io.quarkus.runtime.annotations.RegisterForReflection; +import jakarta.inject.Inject; +import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.util.Scanner; +@RegisterForReflection(targets = { Scanner.class }) public class LanguageRoutes extends RouteBuilder { + @Inject + CamelContext context; + @Override public void configure() throws Exception { + + /* Language routes using scripts passed to endpoints */ + + from("direct:languageBeanScript") + .to("language://bean:org.apache.camel.quarkus.component.language.it.CaseConverter::toUpper"); + from("direct:languageConstantScript") + .to("language://constant:Hello from constant language script"); + from("direct:languageExchangePropertyScript") + .setProperty("testProperty", simple("Hello ${body} from exchangeProperty language script")) + .to("language://exchangeProperty:testProperty"); + from("file:target?fileName=test-file.txt&noop=true") + .to("language://file:File name is ${file:onlyname}") + .to("direct:languageFileOutput"); + from("direct:languageHeaderScript") + .setHeader("testHeader", simple("Hello ${body} from header language script")) + .to("language://header:testHeader"); + from("direct:languageHl7terserScript") + .to("language://hl7terser:PID-5") + .setBody(simple("Patient's surname is ${body}")); + from("direct:languageJsonPathScript") + .to("language://jsonpath:$.message"); + from("direct:languageRefScript") + .to("language://ref:lowerCase"); from("direct:languageSimpleScript") .to("language://simple:Hello ${body} from simple language script"); + from("direct:languageTokenizeScript") + .to("language://tokenize:,") + .setBody(simple("${body.next()}")); + from("direct:languageXpathScript") + .to("language://xpath:/message/text()"); + from("direct:languageXqueryScript") + .to("language://xquery:upper-case(/message/text())?resultType=String"); + + /* Load simple scripts from resources */ + from("direct:languageSimpleResource") - .to("language://simple:resource:hello.simple.txt"); + .to("language://simple:resource:hello.simple-res.txt"); + from("direct:languageSimpleFile") + .to("language://simple:file:target/hello.simple-file.txt"); + + /* Test transform option */ + + from("direct:languageSimpleTransform") + .to("language://simple:Hello ${body}!?transform=false"); } } diff --git a/integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/LanguageRoutes.java b/integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/LowerCaseExpression.java similarity index 65% copy from integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/LanguageRoutes.java copy to integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/LowerCaseExpression.java index 7c9419a638..6fe80f3c8d 100644 --- a/integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/LanguageRoutes.java +++ b/integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/LowerCaseExpression.java @@ -16,15 +16,19 @@ */ package org.apache.camel.quarkus.component.language.it; -import org.apache.camel.builder.RouteBuilder; +import io.quarkus.runtime.annotations.RegisterForReflection; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Named; +import org.apache.camel.Exchange; +import org.apache.camel.support.ExpressionAdapter; -public class LanguageRoutes extends RouteBuilder { +@ApplicationScoped +@Named("lowerCase") +@RegisterForReflection +public class LowerCaseExpression extends ExpressionAdapter { @Override - public void configure() throws Exception { - from("direct:languageSimpleScript") - .to("language://simple:Hello ${body} from simple language script"); - from("direct:languageSimpleResource") - .to("language://simple:resource:hello.simple.txt"); + public Object evaluate(Exchange exchange) { + return exchange.getIn().getBody().toString().toLowerCase(); } } diff --git a/integration-test-groups/foundation/language/src/main/resources/application.properties b/integration-test-groups/foundation/language/src/main/resources/application.properties index f7277942f6..7ce58c7e5f 100644 --- a/integration-test-groups/foundation/language/src/main/resources/application.properties +++ b/integration-test-groups/foundation/language/src/main/resources/application.properties @@ -14,4 +14,4 @@ ## See the License for the specific language governing permissions and ## limitations under the License. ## --------------------------------------------------------------------------- -quarkus.native.resources.includes = hello.simple.txt +quarkus.native.resources.includes = hello.simple-res.txt diff --git a/integration-test-groups/foundation/language/src/main/resources/hello.simple.txt b/integration-test-groups/foundation/language/src/main/resources/hello.simple-res.txt similarity index 100% rename from integration-test-groups/foundation/language/src/main/resources/hello.simple.txt rename to integration-test-groups/foundation/language/src/main/resources/hello.simple-res.txt diff --git a/integration-test-groups/foundation/language/src/test/java/org/apache/camel/quarkus/component/language/it/LanguageTest.java b/integration-test-groups/foundation/language/src/test/java/org/apache/camel/quarkus/component/language/it/LanguageTest.java index 245b70b188..7614abd1fc 100644 --- a/integration-test-groups/foundation/language/src/test/java/org/apache/camel/quarkus/component/language/it/LanguageTest.java +++ b/integration-test-groups/foundation/language/src/test/java/org/apache/camel/quarkus/component/language/it/LanguageTest.java @@ -16,35 +16,215 @@ */ package org.apache.camel.quarkus.component.language.it; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; +import java.util.Collection; +import java.util.Map; +import java.util.stream.Collectors; + +import com.github.tomakehurst.wiremock.WireMockServer; +import io.quarkus.test.common.QuarkusTestResource; import io.quarkus.test.junit.QuarkusTest; import io.restassured.RestAssured; +import io.restassured.builder.RequestSpecBuilder; import io.restassured.http.ContentType; +import org.apache.camel.quarkus.test.wiremock.MockServer; import org.hamcrest.Matchers; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; +import static com.github.tomakehurst.wiremock.client.WireMock.getRequestedFor; +import static com.github.tomakehurst.wiremock.client.WireMock.request; +import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo; +import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; +import static org.junit.jupiter.api.Assertions.assertNotNull; @QuarkusTest +@QuarkusTestResource(LanguageTestResource.class) class LanguageTest { - @Test - public void languageSimpleScript() { + @MockServer + WireMockServer server; + + /** + * Map endpoint names to objects containing exchange bodies and expected output + */ + private static Map<String, TestResult> languageResultsMap = Map.ofEntries( + /* Test Languages */ + Map.entry("languageBeanScript", new TestResult("Hello Bean", "HELLO BEAN")), + Map.entry("languageConstantScript", new TestResult("Constant", "Hello from constant language script")), + Map.entry("languageExchangePropertyScript", + new TestResult("ExProperty", "Hello ExProperty from exchangeProperty language script")), + Map.entry("languageFileScript", new TestResult("", "File name is test-file.txt")), + Map.entry("languageHeaderScript", new TestResult("Header", "Hello Header from header language script")), + Map.entry("languageHl7terserScript", new TestResult(createHl7Message(), "Patient's surname is Smith")), + Map.entry("languageJsonPathScript", + new TestResult("{\"message\": \"Hello from jsonpath\", \"user\": \"camel-quarkus\"}", + "Hello from jsonpath")), + Map.entry("languageRefScript", new TestResult("Hello from Ref", "hello from ref")), + Map.entry("languageSimpleScript", new TestResult("Simple", "Hello Simple from simple language script")), + Map.entry("languageTokenizeScript", new TestResult("Hello,Tokenize", "Hello")), + Map.entry("languageXpathScript", new TestResult("<message>Hello from Xpath</message>", "Hello from Xpath")), + Map.entry("languageXqueryScript", new TestResult("<message>Hello from XQuery</message>", "HELLO FROM XQUERY")), + + /* Test Resource Loading */ + Map.entry("languageSimpleResource", new TestResult("SimpleRes", "Hello SimpleRes from simple language resource")), + Map.entry("languageSimpleFile", new TestResult("SimpleFile", "Hello SimpleFile from simple language file")), + + /* Test transform=false option */ + Map.entry("languageSimpleTransform", new TestResult("SimpleTransform", "SimpleTransform")) + + ); + + private static Collection<Object[]> getLanguageResultsMap() { + return languageResultsMap.entrySet() + .stream() + .map((entry) -> new Object[] { entry.getKey(), entry.getValue() }) + .collect(Collectors.toList()); + } + + private static final String OUTPUT_DIRECTORY = "target"; + private static final String TEST_FILE = "test-file.txt"; + private static final String SIMPLE_FILE = "hello.simple-file.txt"; + + @BeforeAll + public static void setupTestFiles() throws Exception { + Files.createDirectories(Paths.get(OUTPUT_DIRECTORY)); + // Write the file used in the 'file' language test + Files.writeString(Paths.get(OUTPUT_DIRECTORY, TEST_FILE), "Dummy text", StandardCharsets.UTF_8); + + // Copy the simple script from resources to the OUTPUT_DIRECTORY to test reading a script from a file: resource + Files.copy( + LanguageTest.class.getClassLoader().getResourceAsStream(SIMPLE_FILE), + Paths.get(OUTPUT_DIRECTORY, SIMPLE_FILE), + StandardCopyOption.REPLACE_EXISTING); + } + + @AfterAll + public static void deleteTestFiles() throws Exception { + Files.delete(Paths.get(OUTPUT_DIRECTORY, TEST_FILE)); + Files.delete(Paths.get(OUTPUT_DIRECTORY, SIMPLE_FILE)); + } + + /** + * This test is called for each entry in {@link languageResultsMap}. + * The body text is passed to the routeName endpoint, which is checked for successful completion + * and that the returned body matches the expected result from {@link TestResult} + * + * @param routeName - The name of the endpoint exposed in {@link LanguageResource} + * @param result - The {@link TestResource} containing input body and expected result + */ + @ParameterizedTest + @MethodSource("getLanguageResultsMap") + public void testLanguage(String routeName, TestResult result) { RestAssured.given() .contentType(ContentType.TEXT) - .body("Dolly") - .post("/language/route/languageSimpleScript") + .body(result.body) + .post("/language/route/" + routeName) .then() .statusCode(200) - .body(Matchers.is("Hello Dolly from simple language script")); + .body(Matchers.is(result.expected)); } + /** + * Tests whether scripts can be loaded over HTTP. + * + * @throws Exception + */ @Test - public void languageSimpleResource() { + public void testHttpResource() throws Exception { + // Stub the WireMock server to return a simple script on the "/simple" endpoint + assertNotNull(server); + server.stubFor(request("GET", urlPathEqualTo("/simple")) + .willReturn(aResponse().withBody("Hello ${body} from simple language http"))); + + // The heart of the test is very similar to the testLanguage method above, but pass in the + // URL of the WireMock server as a query parameter. RestAssured.given() + .queryParam("baseUrl", server.baseUrl()) .contentType(ContentType.TEXT) - .body("Molly") - .post("/language/route/languageSimpleResource") + .body("SimpleHttp") + .post("/language/route/languageSimpleHttp") .then() .statusCode(200) - .body(Matchers.is("Hello Molly from simple language resource")); + .body(Matchers.is("Hello SimpleHttp from simple language http")); + server.verify(1, getRequestedFor(urlEqualTo("/simple"))); + } + + /** + * Tests the contentCache option. The WireMock server is used to count how many times + * the script endpoint was accessed during route execution. + */ + @Test + public void testContentCache() { + // Create a WireMock stub to return a simple script + assertNotNull(server); + server.stubFor(request("GET", urlPathEqualTo("/simpleContentCache")) + .willReturn(aResponse().withBody("Hello ${body} from simple language http"))); + + // Set up common request options + RequestSpecBuilder builder = new RequestSpecBuilder(); + builder.addQueryParam("baseUrl", server.baseUrl()); + builder.setContentType(ContentType.TEXT); + builder.setBody("SimpleHttp"); + + // Call the route to load the script with caching enabled + RestAssured.given().spec(builder.build()) + .queryParam("contentCache", true) + .when().post("/language/route/languageSimpleContentCache") + .then() + .statusCode(200) + .body(Matchers.is("Hello SimpleHttp from simple language http")); + + // As this is the first time the route has been called, expect the script to have been loaded + server.verify(1, getRequestedFor(urlEqualTo("/simpleContentCache"))); + + // Call the endpoint again with caching enabled + RestAssured.given().spec(builder.build()) + .queryParam("contentCache", true) + .when().post("/language/route/languageSimpleContentCache") + .then() + .statusCode(200); + + // Expect the script to have been cached, so the request count should not have changed + server.verify(1, getRequestedFor(urlEqualTo("/simpleContentCache"))); + + // Call the route a third time without caching + RestAssured.given().spec(builder.build()) + .queryParam("contentCache", false) + .when().post("/language/route/languageSimpleContentCache") + .then() + .statusCode(200); + + // Expect the script to have been loaded a second time + server.verify(2, getRequestedFor(urlEqualTo("/simpleContentCache"))); + + } + + /** + * Creates a health record for a fictional patient. + * + * @return + */ + private static String createHl7Message() { + return "MSH|^~\\&|||||20230221140012.386+0000||ADT^A01^ADT_A01|601|P|2.4\r" + + "PID|||1||Smith^John"; + } + + private static class TestResult { + String body; + String expected; + + public TestResult(String body, String expected) { + this.body = body; + this.expected = expected; + } } } diff --git a/integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/LanguageRoutes.java b/integration-test-groups/foundation/language/src/test/java/org/apache/camel/quarkus/component/language/it/LanguageTestResource.java similarity index 69% copy from integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/LanguageRoutes.java copy to integration-test-groups/foundation/language/src/test/java/org/apache/camel/quarkus/component/language/it/LanguageTestResource.java index 7c9419a638..9e1c42f632 100644 --- a/integration-test-groups/foundation/language/src/main/java/org/apache/camel/quarkus/component/language/it/LanguageRoutes.java +++ b/integration-test-groups/foundation/language/src/test/java/org/apache/camel/quarkus/component/language/it/LanguageTestResource.java @@ -16,15 +16,18 @@ */ package org.apache.camel.quarkus.component.language.it; -import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.quarkus.test.wiremock.WireMockTestResourceLifecycleManager; -public class LanguageRoutes extends RouteBuilder { +public class LanguageTestResource extends WireMockTestResourceLifecycleManager { @Override - public void configure() throws Exception { - from("direct:languageSimpleScript") - .to("language://simple:Hello ${body} from simple language script"); - from("direct:languageSimpleResource") - .to("language://simple:resource:hello.simple.txt"); + protected String getRecordTargetBaseUrl() { + // Recording is not supported in this resource + return ""; + } + + @Override + protected boolean isMockingEnabled() { + return true; } } diff --git a/integration-test-groups/foundation/language/src/test/resources/hello.simple-file.txt b/integration-test-groups/foundation/language/src/test/resources/hello.simple-file.txt new file mode 100644 index 0000000000..050965459d --- /dev/null +++ b/integration-test-groups/foundation/language/src/test/resources/hello.simple-file.txt @@ -0,0 +1 @@ +Hello ${body} from simple language file \ No newline at end of file diff --git a/integration-tests/foundation-grouped/pom.xml b/integration-tests/foundation-grouped/pom.xml index 49a18ed3d4..35598fee8d 100644 --- a/integration-tests/foundation-grouped/pom.xml +++ b/integration-tests/foundation-grouped/pom.xml @@ -80,6 +80,14 @@ <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-file</artifactId> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-hl7</artifactId> + </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-http</artifactId> + </dependency> <dependency> <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-integration-tests-support-custom-log-component</artifactId> @@ -88,6 +96,10 @@ <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-integration-tests-support-custom-type-converter</artifactId> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-jsonpath</artifactId> + </dependency> <dependency> <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-language</artifactId> @@ -108,6 +120,10 @@ <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-ref</artifactId> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-saxon</artifactId> + </dependency> <dependency> <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-scheduler</artifactId> @@ -128,6 +144,10 @@ <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-xml-io-dsl</artifactId> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-xpath</artifactId> + </dependency> <dependency> <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-yaml-dsl</artifactId> @@ -151,6 +171,11 @@ <artifactId>rest-assured</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-integration-wiremock-support</artifactId> + <scope>test</scope> + </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> @@ -317,6 +342,45 @@ </exclusion> </exclusions> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-hl7-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> + <scope>test</scope> + <exclusions> + <exclusion> + <groupId>*</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-jsonpath-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-language-deployment</artifactId> @@ -382,6 +446,19 @@ </exclusion> </exclusions> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-saxon-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-scheduler-deployment</artifactId> @@ -447,6 +524,19 @@ </exclusion> </exclusions> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-xpath-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-yaml-dsl-deployment</artifactId> diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml index 46f5dbd7d5..6555408320 100644 --- a/poms/bom/pom.xml +++ b/poms/bom/pom.xml @@ -100,34 +100,8 @@ <scope>import</scope> </dependency> <!-- Dependencies a..z; do not remove this comment, it is important when sorting via mvn process-resources -Pformat --> + <!--$ org.apache.camel $--> - <dependency> - <groupId>com.google.cloud</groupId> - <artifactId>google-cloud-pubsub</artifactId> - <version>${google-cloud-pubsub.version}</version> - <exclusions> - <exclusion> - <groupId>com.google.android</groupId> - <artifactId>annotations</artifactId> - </exclusion> - <exclusion> - <groupId>com.google.code.findbugs</groupId> - <artifactId>jsr305</artifactId> - </exclusion> - <exclusion> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - </exclusion> - <exclusion> - <groupId>org.checkerframework</groupId> - <artifactId>checker-qual</artifactId> - </exclusion> - <exclusion> - <groupId>org.codehaus.mojo</groupId> - <artifactId>animal-sniffer-annotations</artifactId> - </exclusion> - </exclusions> - </dependency> <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-amqp</artifactId> @@ -2575,6 +2549,7 @@ </exclusion> </exclusions> </dependency> + <!--$ org.apache.camel.quarkus $--> <dependency> <groupId>org.apache.camel.quarkus</groupId> @@ -5781,6 +5756,7 @@ <artifactId>camel-quarkus-zookeeper-master-deployment</artifactId> <version>${camel-quarkus.version}</version> </dependency> + <!--$ Other third party dependencies $--> <dependency> <groupId>ca.uhn.hapi</groupId> @@ -5953,11 +5929,43 @@ <artifactId>jnr-ffi</artifactId> <version>${jnr-ffi.version}</version> </dependency> + <dependency> + <groupId>com.github.mwiede</groupId> + <artifactId>jsch</artifactId> + <version>${jsch.version}</version> + </dependency> <dependency> <groupId>com.google.auth</groupId> <artifactId>google-auth-library-credentials</artifactId> <version>${google-auth-library-credentials.version}</version> </dependency> + <dependency> + <groupId>com.google.cloud</groupId> + <artifactId>google-cloud-pubsub</artifactId> + <version>${google-cloud-pubsub.version}</version> + <exclusions> + <exclusion> + <groupId>com.google.android</groupId> + <artifactId>annotations</artifactId> + </exclusion> + <exclusion> + <groupId>com.google.code.findbugs</groupId> + <artifactId>jsr305</artifactId> + </exclusion> + <exclusion> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + </exclusion> + <exclusion> + <groupId>org.checkerframework</groupId> + <artifactId>checker-qual</artifactId> + </exclusion> + <exclusion> + <groupId>org.codehaus.mojo</groupId> + <artifactId>animal-sniffer-annotations</artifactId> + </exclusion> + </exclusions> + </dependency> <dependency> <groupId>com.google.oauth-client</groupId> <artifactId>google-oauth-client</artifactId> @@ -6050,6 +6058,22 @@ <artifactId>commons-lang</artifactId> <version>${commons-lang.version}</version> </dependency> + <dependency> + <groupId>io.minio</groupId> + <artifactId>minio</artifactId> + <version>${minio.version}</version> + <exclusions> + <exclusion> + <groupId>org.checkerframework</groupId> + <artifactId>checker-qual</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>io.netty.incubator</groupId> + <artifactId>netty-incubator-transport-classes-io_uring</artifactId> + <version>${io-netty-iouring.version}</version> + </dependency> <dependency> <groupId>io.opencensus</groupId> <artifactId>opencensus-api</artifactId> @@ -6178,22 +6202,6 @@ <artifactId>quarkus-tika-deployment</artifactId> <version>${quarkiverse-tika.version}</version> </dependency> - <dependency> - <groupId>io.minio</groupId> - <artifactId>minio</artifactId> - <version>${minio.version}</version> - <exclusions> - <exclusion> - <groupId>org.checkerframework</groupId> - <artifactId>checker-qual</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>io.netty.incubator</groupId> - <artifactId>netty-incubator-transport-classes-io_uring</artifactId> - <version>${io-netty-iouring.version}</version> - </dependency> <!--<dependency> <groupId>io.smallrye.reactive</groupId> <artifactId>smallrye-reactive-messaging-camel</artifactId> @@ -6244,11 +6252,6 @@ <artifactId>avro-ipc-netty</artifactId> <version>${avro.version}</version> </dependency> - <dependency> - <groupId>org.brotli</groupId> - <artifactId>dec</artifactId> - <version>${brotli.version}</version> - </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> @@ -6284,6 +6287,11 @@ <artifactId>curator-x-discovery</artifactId> <version>${curator.version}</version> </dependency> + <dependency> + <groupId>org.apache.htrace</groupId> + <artifactId>htrace-core4</artifactId> + <version>${htrace.version}</version> + </dependency> <dependency> <groupId>org.apache.httpcomponents.client5</groupId> <artifactId>httpclient5</artifactId> @@ -6294,11 +6302,6 @@ <artifactId>httpcore5</artifactId> <version>${httpclient5.version}</version> </dependency> - <dependency> - <groupId>org.apache.htrace</groupId> - <artifactId>htrace-core4</artifactId> - <version>${htrace.version}</version> - </dependency> <dependency> <groupId>org.apache.jackrabbit</groupId> <artifactId>oak-jackrabbit-api</artifactId> @@ -6375,6 +6378,11 @@ <artifactId>bcutil-jdk18on</artifactId> <version>${bouncycastle.version}</version> </dependency> + <dependency> + <groupId>org.brotli</groupId> + <artifactId>dec</artifactId> + <version>${brotli.version}</version> + </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> @@ -6410,11 +6418,6 @@ <artifactId>org.eclipse.jgit</artifactId> <version>${jgit.version}</version> </dependency> - <dependency> - <groupId>com.github.mwiede</groupId> - <artifactId>jsch</artifactId> - <version>${jsch.version}</version> - </dependency> <dependency> <groupId>org.graalvm.js</groupId> <artifactId>js</artifactId> diff --git a/poms/bom/src/main/generated/flattened-full-pom.xml b/poms/bom/src/main/generated/flattened-full-pom.xml index a177f1d193..49bc8ed3e3 100644 --- a/poms/bom/src/main/generated/flattened-full-pom.xml +++ b/poms/bom/src/main/generated/flattened-full-pom.xml @@ -50,33 +50,6 @@ </distributionManagement> <dependencyManagement> <dependencies> - <dependency> - <groupId>com.google.cloud</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>google-cloud-pubsub</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <version>1.121.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <exclusions> - <exclusion> - <groupId>com.google.android</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>annotations</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - </exclusion> - <exclusion> - <groupId>com.google.code.findbugs</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>jsr305</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - </exclusion> - <exclusion> - <groupId>commons-logging</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>commons-logging</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - </exclusion> - <exclusion> - <groupId>org.checkerframework</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>checker-qual</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - </exclusion> - <exclusion> - <groupId>org.codehaus.mojo</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>animal-sniffer-annotations</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - </exclusion> - </exclusions> - </dependency> <dependency> <groupId>org.apache.camel</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>camel-amqp</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> @@ -5824,11 +5797,43 @@ <artifactId>jnr-ffi</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <version>2.1.2</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> </dependency> + <dependency> + <groupId>com.github.mwiede</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>jsch</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <version>0.2.6</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </dependency> <dependency> <groupId>com.google.auth</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>google-auth-library-credentials</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <version>1.7.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> </dependency> + <dependency> + <groupId>com.google.cloud</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>google-cloud-pubsub</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <version>1.121.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <exclusions> + <exclusion> + <groupId>com.google.android</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>annotations</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </exclusion> + <exclusion> + <groupId>com.google.code.findbugs</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>jsr305</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </exclusion> + <exclusion> + <groupId>commons-logging</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>commons-logging</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </exclusion> + <exclusion> + <groupId>org.checkerframework</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>checker-qual</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </exclusion> + <exclusion> + <groupId>org.codehaus.mojo</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>animal-sniffer-annotations</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </exclusion> + </exclusions> + </dependency> <dependency> <groupId>com.google.oauth-client</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>google-oauth-client</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> @@ -5921,6 +5926,22 @@ <artifactId>commons-lang</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <version>2.6</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> </dependency> + <dependency> + <groupId>io.minio</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>minio</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <version>8.2.2</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <exclusions> + <exclusion> + <groupId>org.checkerframework</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>checker-qual</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>io.netty.incubator</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>netty-incubator-transport-classes-io_uring</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <version>0.0.16.Final</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </dependency> <dependency> <groupId>io.opencensus</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>opencensus-api</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> @@ -6048,22 +6069,6 @@ <artifactId>quarkus-tika-deployment</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <version>1.0.3</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> </dependency> - <dependency> - <groupId>io.minio</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>minio</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <version>8.2.2</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <exclusions> - <exclusion> - <groupId>org.checkerframework</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>checker-qual</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>io.netty.incubator</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>netty-incubator-transport-classes-io_uring</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <version>0.0.16.Final</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - </dependency> <dependency> <groupId>jakarta.jms</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>jakarta.jms-api</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> @@ -6109,11 +6114,6 @@ <artifactId>avro-ipc-netty</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <version>1.11.1</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> </dependency> - <dependency> - <groupId>org.brotli</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>dec</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <version>0.1.2</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - </dependency> <dependency> <groupId>org.apache.commons</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>commons-collections4</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> @@ -6149,6 +6149,11 @@ <artifactId>curator-x-discovery</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <version>4.3.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> </dependency> + <dependency> + <groupId>org.apache.htrace</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>htrace-core4</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <version>4.2.0-incubating</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </dependency> <dependency> <groupId>org.apache.httpcomponents.client5</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>httpclient5</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> @@ -6159,11 +6164,6 @@ <artifactId>httpcore5</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <version>5.2.1</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> </dependency> - <dependency> - <groupId>org.apache.htrace</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>htrace-core4</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <version>4.2.0-incubating</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - </dependency> <dependency> <groupId>org.apache.jackrabbit</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>oak-jackrabbit-api</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> @@ -6240,6 +6240,11 @@ <artifactId>bcutil-jdk18on</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <version>1.72</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> </dependency> + <dependency> + <groupId>org.brotli</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>dec</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <version>0.1.2</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </dependency> <dependency> <groupId>org.codehaus.jackson</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>jackson-core-asl</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> @@ -6275,11 +6280,6 @@ <artifactId>org.eclipse.jgit</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <version>6.4.0.202211300538-r</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> </dependency> - <dependency> - <groupId>com.github.mwiede</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>jsch</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <version>0.2.6</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - </dependency> <dependency> <groupId>org.graalvm.js</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>js</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> diff --git a/poms/bom/src/main/generated/flattened-reduced-pom.xml b/poms/bom/src/main/generated/flattened-reduced-pom.xml index 2a48df148c..91396389a8 100644 --- a/poms/bom/src/main/generated/flattened-reduced-pom.xml +++ b/poms/bom/src/main/generated/flattened-reduced-pom.xml @@ -50,33 +50,6 @@ </distributionManagement> <dependencyManagement> <dependencies> - <dependency> - <groupId>com.google.cloud</groupId> - <artifactId>google-cloud-pubsub</artifactId> - <version>1.121.0</version> - <exclusions> - <exclusion> - <groupId>com.google.android</groupId> - <artifactId>annotations</artifactId> - </exclusion> - <exclusion> - <groupId>com.google.code.findbugs</groupId> - <artifactId>jsr305</artifactId> - </exclusion> - <exclusion> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - </exclusion> - <exclusion> - <groupId>org.checkerframework</groupId> - <artifactId>checker-qual</artifactId> - </exclusion> - <exclusion> - <groupId>org.codehaus.mojo</groupId> - <artifactId>animal-sniffer-annotations</artifactId> - </exclusion> - </exclusions> - </dependency> <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-amqp</artifactId> @@ -5824,11 +5797,43 @@ <artifactId>jnr-ffi</artifactId> <version>2.1.2</version> </dependency> + <dependency> + <groupId>com.github.mwiede</groupId> + <artifactId>jsch</artifactId> + <version>0.2.6</version> + </dependency> <dependency> <groupId>com.google.auth</groupId> <artifactId>google-auth-library-credentials</artifactId> <version>1.7.0</version> </dependency> + <dependency> + <groupId>com.google.cloud</groupId> + <artifactId>google-cloud-pubsub</artifactId> + <version>1.121.0</version> + <exclusions> + <exclusion> + <groupId>com.google.android</groupId> + <artifactId>annotations</artifactId> + </exclusion> + <exclusion> + <groupId>com.google.code.findbugs</groupId> + <artifactId>jsr305</artifactId> + </exclusion> + <exclusion> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + </exclusion> + <exclusion> + <groupId>org.checkerframework</groupId> + <artifactId>checker-qual</artifactId> + </exclusion> + <exclusion> + <groupId>org.codehaus.mojo</groupId> + <artifactId>animal-sniffer-annotations</artifactId> + </exclusion> + </exclusions> + </dependency> <dependency> <groupId>com.google.oauth-client</groupId> <artifactId>google-oauth-client</artifactId> @@ -5916,6 +5921,22 @@ <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency> + <dependency> + <groupId>io.minio</groupId> + <artifactId>minio</artifactId> + <version>8.2.2</version> + <exclusions> + <exclusion> + <groupId>org.checkerframework</groupId> + <artifactId>checker-qual</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>io.netty.incubator</groupId> + <artifactId>netty-incubator-transport-classes-io_uring</artifactId> + <version>0.0.16.Final</version> + </dependency> <dependency> <groupId>io.opencensus</groupId> <artifactId>opencensus-api</artifactId> @@ -6033,22 +6054,6 @@ <artifactId>quarkus-mybatis-deployment</artifactId> <version>2.0.0.CR1</version> </dependency> - <dependency> - <groupId>io.minio</groupId> - <artifactId>minio</artifactId> - <version>8.2.2</version> - <exclusions> - <exclusion> - <groupId>org.checkerframework</groupId> - <artifactId>checker-qual</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>io.netty.incubator</groupId> - <artifactId>netty-incubator-transport-classes-io_uring</artifactId> - <version>0.0.16.Final</version> - </dependency> <dependency> <groupId>jakarta.jms</groupId> <artifactId>jakarta.jms-api</artifactId> @@ -6084,11 +6089,6 @@ <artifactId>antlr-runtime</artifactId> <version>3.5.2</version> </dependency> - <dependency> - <groupId>org.brotli</groupId> - <artifactId>dec</artifactId> - <version>0.1.2</version> - </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> @@ -6205,6 +6205,11 @@ <artifactId>bcutil-jdk18on</artifactId> <version>1.72</version> </dependency> + <dependency> + <groupId>org.brotli</groupId> + <artifactId>dec</artifactId> + <version>0.1.2</version> + </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> @@ -6240,11 +6245,6 @@ <artifactId>org.eclipse.jgit</artifactId> <version>6.4.0.202211300538-r</version> </dependency> - <dependency> - <groupId>com.github.mwiede</groupId> - <artifactId>jsch</artifactId> - <version>0.2.6</version> - </dependency> <dependency> <groupId>org.graalvm.js</groupId> <artifactId>js</artifactId> diff --git a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml index f3cec111fc..5540221236 100644 --- a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml +++ b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml @@ -50,33 +50,6 @@ </distributionManagement> <dependencyManagement> <dependencies> - <dependency> - <groupId>com.google.cloud</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>google-cloud-pubsub</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <version>1.121.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <exclusions> - <exclusion> - <groupId>com.google.android</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>annotations</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - </exclusion> - <exclusion> - <groupId>com.google.code.findbugs</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>jsr305</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - </exclusion> - <exclusion> - <groupId>commons-logging</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>commons-logging</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - </exclusion> - <exclusion> - <groupId>org.checkerframework</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>checker-qual</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - </exclusion> - <exclusion> - <groupId>org.codehaus.mojo</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>animal-sniffer-annotations</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - </exclusion> - </exclusions> - </dependency> <dependency> <groupId>org.apache.camel</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>camel-amqp</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> @@ -5824,11 +5797,43 @@ <artifactId>jnr-ffi</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <version>2.1.2</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> </dependency> + <dependency> + <groupId>com.github.mwiede</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>jsch</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <version>0.2.6</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </dependency> <dependency> <groupId>com.google.auth</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>google-auth-library-credentials</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <version>1.7.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> </dependency> + <dependency> + <groupId>com.google.cloud</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>google-cloud-pubsub</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <version>1.121.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <exclusions> + <exclusion> + <groupId>com.google.android</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>annotations</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </exclusion> + <exclusion> + <groupId>com.google.code.findbugs</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>jsr305</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </exclusion> + <exclusion> + <groupId>commons-logging</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>commons-logging</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </exclusion> + <exclusion> + <groupId>org.checkerframework</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>checker-qual</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </exclusion> + <exclusion> + <groupId>org.codehaus.mojo</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>animal-sniffer-annotations</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </exclusion> + </exclusions> + </dependency> <dependency> <groupId>com.google.oauth-client</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>google-oauth-client</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> @@ -5916,6 +5921,22 @@ <artifactId>commons-lang</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <version>2.6</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> </dependency> + <dependency> + <groupId>io.minio</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>minio</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <version>8.2.2</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <exclusions> + <exclusion> + <groupId>org.checkerframework</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>checker-qual</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>io.netty.incubator</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>netty-incubator-transport-classes-io_uring</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <version>0.0.16.Final</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </dependency> <dependency> <groupId>io.opencensus</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>opencensus-api</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> @@ -6033,22 +6054,6 @@ <artifactId>quarkus-mybatis-deployment</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <version>2.0.0.CR1</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> </dependency> - <dependency> - <groupId>io.minio</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>minio</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <version>8.2.2</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <exclusions> - <exclusion> - <groupId>org.checkerframework</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>checker-qual</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>io.netty.incubator</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>netty-incubator-transport-classes-io_uring</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <version>0.0.16.Final</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - </dependency> <dependency> <groupId>jakarta.jms</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>jakarta.jms-api</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> @@ -6084,11 +6089,6 @@ <artifactId>antlr-runtime</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <version>3.5.2</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> </dependency> - <dependency> - <groupId>org.brotli</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>dec</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <version>0.1.2</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - </dependency> <dependency> <groupId>org.apache.commons</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>commons-collections4</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> @@ -6205,6 +6205,11 @@ <artifactId>bcutil-jdk18on</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <version>1.72</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> </dependency> + <dependency> + <groupId>org.brotli</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>dec</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <version>0.1.2</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </dependency> <dependency> <groupId>org.codehaus.jackson</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>jackson-core-asl</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> @@ -6240,11 +6245,6 @@ <artifactId>org.eclipse.jgit</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <version>6.4.0.202211300538-r</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> </dependency> - <dependency> - <groupId>com.github.mwiede</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <artifactId>jsch</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - <version>0.2.6</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> - </dependency> <dependency> <groupId>org.graalvm.js</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>js</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->