You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ja...@apache.org on 2023/03/20 16:32:22 UTC
[camel-quarkus] 04/07: Register atlasmap.properties as a native image resource
This is an automated email from the ASF dual-hosted git repository.
jamesnetherton pushed a commit to branch 2.13.x
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit a80fe32857b0368411238d385ee085e6dc82413b
Author: James Netherton <ja...@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 5dd694968d..cb326c327f 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
@@ -70,8 +70,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 18109ccf9e..f6ddf40a9d 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,8 @@
*/
package org.apache.camel.quarkus.component.atlasmap.it;
+import java.util.Map;
+
import javax.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
import javax.ws.rs.Consumes;
@@ -24,9 +26,12 @@ import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
+import io.atlasmap.core.DefaultAtlasContextFactory;
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)
@@ -132,4 +137,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 1a1e11508b..a0a930be33 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 io.quarkus.test.common.http.TestHTTPEndpoint;
import io.quarkus.test.junit.QuarkusTest;
import io.restassured.http.ContentType;
@@ -23,6 +27,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;
@@ -275,4 +280,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));
+ }
+ }
}