This is an automated email from the ASF dual-hosted git repository. jamesnetherton 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 64adb6a615 Register atlasmap.properties as a native image resource 64adb6a615 is described below commit 64adb6a6153bf9767d71c44d87e203e46e66be92 Author: James Netherton <jamesnether...@gmail.com> AuthorDate: Tue Mar 14 07:43:00 2023 +0000 Register atlasmap.properties as a native image resource Fixes #4633 --- .../atlasmap/deployment/AtlasmapProcessor.java | 5 +++-- .../quarkus/component/atlasmap/it/AtlasmapResource.java | 13 +++++++++++++ .../quarkus/component/atlasmap/it/AtlasmapTest.java | 17 +++++++++++++++++ 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/extensions/atlasmap/deployment/src/main/java/org/apache/camel/quarkus/component/atlasmap/deployment/AtlasmapProcessor.java b/extensions/atlasmap/deployment/src/main/java/org/apache/camel/quarkus/component/atlasmap/deployment/AtlasmapProcessor.java index be9b00df10..2c950e3be0 100644 --- a/extensions/atlasmap/deployment/src/main/java/org/apache/camel/quarkus/component/atlasmap/deployment/AtlasmapProcessor.java +++ b/extensions/atlasmap/deployment/src/main/java/org/apache/camel/quarkus/component/atlasmap/deployment/AtlasmapProcessor.java @@ -73,8 +73,9 @@ class AtlasmapProcessor { } @BuildStep - NativeImageResourceBuildItem resource() { - return new NativeImageResourceBuildItem("META-INF/services/atlas/module/atlas.module"); + void nativeImageResources(BuildProducer<NativeImageResourceBuildItem> nativeImageResource) { + nativeImageResource.produce(new NativeImageResourceBuildItem("META-INF/services/atlas/module/atlas.module")); + nativeImageResource.produce(new NativeImageResourceBuildItem("atlasmap.properties")); } @BuildStep diff --git a/integration-tests/atlasmap/src/main/java/org/apache/camel/quarkus/component/atlasmap/it/AtlasmapResource.java b/integration-tests/atlasmap/src/main/java/org/apache/camel/quarkus/component/atlasmap/it/AtlasmapResource.java index 68494afd7b..432d72d425 100644 --- a/integration-tests/atlasmap/src/main/java/org/apache/camel/quarkus/component/atlasmap/it/AtlasmapResource.java +++ b/integration-tests/atlasmap/src/main/java/org/apache/camel/quarkus/component/atlasmap/it/AtlasmapResource.java @@ -16,6 +16,9 @@ */ package org.apache.camel.quarkus.component.atlasmap.it; +import java.util.Map; + +import io.atlasmap.core.DefaultAtlasContextFactory; import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; import jakarta.ws.rs.Consumes; @@ -26,6 +29,8 @@ import jakarta.ws.rs.core.MediaType; import org.apache.camel.ProducerTemplate; import org.apache.camel.quarkus.component.atlasmap.it.model.Person; +import static io.atlasmap.api.AtlasContextFactory.PROPERTY_ATLASMAP_CORE_VERSION; + @Path("/atlasmap") @ApplicationScoped @Produces(MediaType.APPLICATION_JSON) @@ -131,4 +136,12 @@ public class AtlasmapResource { return producerTemplate.requestBody("atlasmap:mapping/json/atlasmapping-xml-to-csv.json", xml, String.class); } + @GET + @Path("version") + @Produces(MediaType.TEXT_PLAIN) + public String version() { + DefaultAtlasContextFactory factory = DefaultAtlasContextFactory.getInstance(); + Map<String, String> properties = factory.getProperties(); + return properties.get(PROPERTY_ATLASMAP_CORE_VERSION); + } } diff --git a/integration-tests/atlasmap/src/test/java/org/apache/camel/quarkus/component/atlasmap/it/AtlasmapTest.java b/integration-tests/atlasmap/src/test/java/org/apache/camel/quarkus/component/atlasmap/it/AtlasmapTest.java index fba6f7944f..04355d3eaf 100644 --- a/integration-tests/atlasmap/src/test/java/org/apache/camel/quarkus/component/atlasmap/it/AtlasmapTest.java +++ b/integration-tests/atlasmap/src/test/java/org/apache/camel/quarkus/component/atlasmap/it/AtlasmapTest.java @@ -16,6 +16,10 @@ */ package org.apache.camel.quarkus.component.atlasmap.it; +import java.io.IOException; +import java.io.InputStream; +import java.util.Properties; + import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import io.quarkus.test.common.http.TestHTTPEndpoint; @@ -25,6 +29,7 @@ import org.apache.camel.quarkus.component.atlasmap.it.model.Account; import org.apache.camel.quarkus.component.atlasmap.it.model.Person; import org.junit.jupiter.api.Test; +import static io.atlasmap.api.AtlasContextFactory.PROPERTY_ATLASMAP_CORE_VERSION; import static io.restassured.RestAssured.given; import static org.hamcrest.Matchers.equalTo; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -285,4 +290,16 @@ class AtlasmapTest { .body(equalTo(expectedResult)); } + @Test + void testGetAtlasMapVersion() throws IOException { + try (InputStream stream = getClass().getResourceAsStream("/atlasmap.properties")) { + Properties properties = new Properties(); + properties.load(stream); + String version = properties.getProperty(PROPERTY_ATLASMAP_CORE_VERSION); + + given().get("/version") + .then() + .body(equalTo(version)); + } + } }