This is an automated email from the ASF dual-hosted git repository. lburgazzoli pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit d0962de71e96f71456b23b8e12246107d964a225 Author: lburgazzoli <lburgazz...@gmail.com> AuthorDate: Thu Oct 24 19:35:50 2019 +0200 fhir: build time config options --- .../component/fhir/deployment/FhirProcessor.java | 30 +++++++-------- .../camel/quarkus/component/fhir/FhirConfig.java | 43 ++++++++++++++++++++++ .../camel/quarkus/component/fhir/FhirFlags.java | 6 +-- integration-tests/fhir/pom.xml | 4 +- .../fhir/src/main/resources/application.properties | 12 +++--- 5 files changed, 68 insertions(+), 27 deletions(-) diff --git a/extensions/fhir/deployment/src/main/java/org/apache/camel/quarkus/component/fhir/deployment/FhirProcessor.java b/extensions/fhir/deployment/src/main/java/org/apache/camel/quarkus/component/fhir/deployment/FhirProcessor.java index b2c52bf..583e15e 100644 --- a/extensions/fhir/deployment/src/main/java/org/apache/camel/quarkus/component/fhir/deployment/FhirProcessor.java +++ b/extensions/fhir/deployment/src/main/java/org/apache/camel/quarkus/component/fhir/deployment/FhirProcessor.java @@ -21,6 +21,7 @@ import java.util.Collection; import java.util.HashSet; import java.util.Properties; import java.util.Set; + import ca.uhn.fhir.model.dstu2.FhirDstu2; import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; @@ -48,7 +49,6 @@ import org.hl7.fhir.dstu3.hapi.ctx.FhirDstu3; import org.hl7.fhir.dstu3.model.Enumerations; class FhirProcessor { - private static final String FEATURE = "camel-fhir"; @BuildStep @@ -65,20 +65,20 @@ class FhirProcessor { @BuildStep() ReflectiveClassBuildItem fhirEndpointConfiguration() { return new ReflectiveClassBuildItem(true, true, - FhirCreateEndpointConfiguration.class.getCanonicalName(), - FhirCapabilitiesEndpointConfiguration.class.getCanonicalName(), - FhirDeleteEndpointConfiguration.class.getCanonicalName(), - FhirHistoryEndpointConfiguration.class.getCanonicalName(), - FhirLoadPageEndpointConfiguration.class.getCanonicalName(), - FhirMetaEndpointConfiguration.class.getCanonicalName(), - FhirOperationEndpointConfiguration.class.getCanonicalName(), - FhirPatchEndpointConfiguration.class.getCanonicalName(), - FhirReadEndpointConfiguration.class.getCanonicalName(), - FhirSearchEndpointConfiguration.class.getCanonicalName(), - FhirTransactionEndpointConfiguration.class.getCanonicalName(), - FhirUpdateEndpointConfiguration.class.getCanonicalName(), - FhirValidateEndpointConfiguration.class.getCanonicalName(), - FhirConfiguration.class.getCanonicalName()); + FhirCreateEndpointConfiguration.class, + FhirCapabilitiesEndpointConfiguration.class, + FhirDeleteEndpointConfiguration.class, + FhirHistoryEndpointConfiguration.class, + FhirLoadPageEndpointConfiguration.class, + FhirMetaEndpointConfiguration.class, + FhirOperationEndpointConfiguration.class, + FhirPatchEndpointConfiguration.class, + FhirReadEndpointConfiguration.class, + FhirSearchEndpointConfiguration.class, + FhirTransactionEndpointConfiguration.class, + FhirUpdateEndpointConfiguration.class, + FhirValidateEndpointConfiguration.class, + FhirConfiguration.class); } @BuildStep() 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 new file mode 100644 index 0000000..a2b05f0 --- /dev/null +++ b/extensions/fhir/runtime/src/main/java/org/apache/camel/quarkus/component/fhir/FhirConfig.java @@ -0,0 +1,43 @@ +/* + * 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.fhir; + +import io.quarkus.runtime.annotations.ConfigItem; +import io.quarkus.runtime.annotations.ConfigPhase; +import io.quarkus.runtime.annotations.ConfigRoot; + +@ConfigRoot(name = "camel.fhir", phase = ConfigPhase.BUILD_TIME) +public final class FhirConfig { + + /** + * Enable FHIR DSTU2 Specs. + */ + @ConfigItem(defaultValue = "true") + public boolean enableDstu2; + + /** + * Enable FHIR DSTU3 Specs. + */ + @ConfigItem(defaultValue = "false") + public boolean enableDstu3; + + /** + * Enable FHIR R4 Specs. + */ + @ConfigItem(defaultValue = "true") + public boolean enableR4; +} 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 0a3af8e..07053fa 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 @@ -26,21 +26,21 @@ public final class FhirFlags { public static final class Dstu2Enabled implements BooleanSupplier { @Override public boolean getAsBoolean() { - return ConfigProvider.getConfig().getOptionalValue("camel.fhir.enable-dstu2", Boolean.class).orElse(Boolean.TRUE); + return ConfigProvider.getConfig().getOptionalValue("quarkus.camel.fhir.enable-dstu2", Boolean.class).orElse(Boolean.TRUE); } } public static final class Dstu3Enabled implements BooleanSupplier { @Override public boolean getAsBoolean() { - return ConfigProvider.getConfig().getOptionalValue("camel.fhir.enable-dstu3", Boolean.class).orElse(Boolean.TRUE); + return ConfigProvider.getConfig().getOptionalValue("quarkus.camel.fhir.enable-dstu3", Boolean.class).orElse(Boolean.TRUE); } } public static final class R4Enabled implements BooleanSupplier { @Override public boolean getAsBoolean() { - return ConfigProvider.getConfig().getOptionalValue("camel.fhir.enable-r4", Boolean.class).orElse(Boolean.TRUE); + return ConfigProvider.getConfig().getOptionalValue("quarkus.camel.fhir.enable-r4", Boolean.class).orElse(Boolean.TRUE); } } } \ No newline at end of file diff --git a/integration-tests/fhir/pom.xml b/integration-tests/fhir/pom.xml index 51ee3d8..41938c1 100644 --- a/integration-tests/fhir/pom.xml +++ b/integration-tests/fhir/pom.xml @@ -79,8 +79,8 @@ <artifactId>maven-surefire-plugin</artifactId> <configuration> <systemProperties combine.children="append"> - <camel.fhir.enable-dstu2>true</camel.fhir.enable-dstu2> - <camel.fhir.enable-r4>true</camel.fhir.enable-r4> + <quarkus.camel.fhir.enable-dstu2>true</quarkus.camel.fhir.enable-dstu2> + <quarkus.camel.fhir.enable-r4>true</quarkus.camel.fhir.enable-r4> </systemProperties> </configuration> </plugin> diff --git a/integration-tests/fhir/src/main/resources/application.properties b/integration-tests/fhir/src/main/resources/application.properties index 06640a2..863922c 100644 --- a/integration-tests/fhir/src/main/resources/application.properties +++ b/integration-tests/fhir/src/main/resources/application.properties @@ -18,19 +18,17 @@ # Quarkus # quarkus.ssl.native=true -# -# Quarkus :: Camel -# -quarkus.camel.disable-jaxb=false + # # Quarkus :: Camel :: FHIR # # The HAPI-FHIR library, on which camel-fhir depends on, heavily uses reflection which affects performance in Quarkus # (memory footprint, build time, CPU resources etc...). For the sake of time, only DSTU3 (which is the default FHIR version) # tests are enabled for DSTU3 only by default. -camel.fhir.enable-dstu2=false -camel.fhir.enable-dstu3=true -camel.fhir.enable-r4=false +quarkus.camel.fhir.enable-dstu2=false +quarkus.camel.fhir.enable-dstu3=true +quarkus.camel.fhir.enable-r4=false + # # Camel #