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));
+        }
+    }
 }

Reply via email to