This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 5c1f5820f456a7e4b32587a2d1aa6eb05c4e6a62 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Sat Aug 24 16:35:30 2019 +0200 CAMEL-13870: Generating fast component options configurer --- .../src/main/docs/properties-component.adoc | 3 +-- .../camel/component/properties/PropertiesComponent.java | 6 +++--- .../camel/core/xml/AbstractCamelContextFactoryBean.java | 2 +- .../springboot/PropertiesComponentConfiguration.java | 15 --------------- .../camel/tools/apt/EndpointAnnotationProcessor.java | 10 ++++++++++ .../src/main/java/org/apache/camel/spi/Metadata.java | 5 +++++ 6 files changed, 20 insertions(+), 21 deletions(-) diff --git a/components/camel-properties/src/main/docs/properties-component.adoc b/components/camel-properties/src/main/docs/properties-component.adoc index 2b9fcdd..d542d8d 100644 --- a/components/camel-properties/src/main/docs/properties-component.adoc +++ b/components/camel-properties/src/main/docs/properties-component.adoc @@ -15,14 +15,13 @@ Where *key* is the key for the property to lookup == Options // component options: START -The Properties component supports 12 options, which are listed below. +The Properties component supports 11 options, which are listed below. [width="100%",cols="2,5,^1,2",options="header"] |=== | Name | Description | Default | Type -| *locations* (common) | A list of locations to load properties. This option will override any default locations and only use the locations from this option. | | List | *location* (common) | A list of locations to load properties. You can use comma to separate multiple locations. This option will override any default locations and only use the locations from this option. | | String | *encoding* (common) | Encoding to use when loading properties file from the file system or classpath. If no encoding has been set, then the properties files is loaded using ISO-8859-1 encoding (latin-1) as documented by java.util.Properties#load(java.io.InputStream) | | String | *propertiesParser* (common) | To use a custom PropertiesParser | | PropertiesParser diff --git a/components/camel-properties/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java b/components/camel-properties/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java index 1613bab..8b83d12 100644 --- a/components/camel-properties/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java +++ b/components/camel-properties/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java @@ -106,8 +106,8 @@ public class PropertiesComponent extends DefaultComponent implements org.apache. private PropertiesParser propertiesParser = new DefaultPropertiesParser(this); private final PropertiesLookup propertiesLookup = new DefaultPropertiesLookup(this); private final List<PropertiesSource> sources = new ArrayList<>(); - private List<PropertiesLocation> locations = Collections.emptyList(); - + @Metadata(skip = true) + private List<PropertiesLocation> locations = new ArrayList<>(); @Metadata private String location; @Metadata @@ -283,7 +283,7 @@ public class PropertiesComponent extends DefaultComponent implements org.apache. * A list of locations to load properties. * This option will override any default locations and only use the locations from this option. */ - private void setLocations(List<PropertiesLocation> locations) { + public void setLocations(List<PropertiesLocation> locations) { // reset locations locations = parseLocations(locations); this.locations = Collections.unmodifiableList(locations); diff --git a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java index abdbbd2..8fbc61d 100644 --- a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java +++ b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java @@ -627,7 +627,7 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex } PropertiesComponent pc = new PropertiesComponent(); - locations.forEach(pc::addLocation); + pc.setLocations(locations); pc.setEncoding(def.getEncoding()); if (def.isIgnoreMissingLocation() != null) { diff --git a/platforms/spring-boot/components-starter/camel-properties-starter/src/main/java/org/apache/camel/component/properties/springboot/PropertiesComponentConfiguration.java b/platforms/spring-boot/components-starter/camel-properties-starter/src/main/java/org/apache/camel/component/properties/springboot/PropertiesComponentConfiguration.java index 5a0d072..ad7ad86 100644 --- a/platforms/spring-boot/components-starter/camel-properties-starter/src/main/java/org/apache/camel/component/properties/springboot/PropertiesComponentConfiguration.java +++ b/platforms/spring-boot/components-starter/camel-properties-starter/src/main/java/org/apache/camel/component/properties/springboot/PropertiesComponentConfiguration.java @@ -16,9 +16,7 @@ */ package org.apache.camel.component.properties.springboot; -import java.util.List; import javax.annotation.Generated; -import org.apache.camel.component.properties.PropertiesLocation; import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon; import org.springframework.boot.context.properties.ConfigurationProperties; @@ -40,11 +38,6 @@ public class PropertiesComponentConfiguration */ private Boolean enabled; /** - * A list of locations to load properties. This option will override any - * default locations and only use the locations from this option. - */ - private List<PropertiesLocation> locations; - /** * A list of locations to load properties. You can use comma to separate * multiple locations. This option will override any default locations and * only use the locations from this option. @@ -108,14 +101,6 @@ public class PropertiesComponentConfiguration */ private Boolean basicPropertyBinding = false; - public List<PropertiesLocation> getLocations() { - return locations; - } - - public void setLocations(List<PropertiesLocation> locations) { - this.locations = locations; - } - public String getLocation() { return location; } diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java index bd396e1..4d7621b 100644 --- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java +++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java @@ -552,6 +552,10 @@ public class EndpointAnnotationProcessor extends AbstractCamelAnnotationProcesso String methodName = method.getSimpleName().toString(); boolean deprecated = method.getAnnotation(Deprecated.class) != null; Metadata metadata = method.getAnnotation(Metadata.class); + if (metadata != null && metadata.skip()) { + continue; + } + String deprecationNote = null; if (metadata != null) { deprecationNote = metadata.deprecationNote(); @@ -580,6 +584,9 @@ public class EndpointAnnotationProcessor extends AbstractCamelAnnotationProcesso if (field != null && metadata == null) { metadata = field.getAnnotation(Metadata.class); } + if (metadata != null && metadata.skip()) { + continue; + } boolean required = metadata != null && metadata.required(); String label = metadata != null ? metadata.label() : null; @@ -676,6 +683,9 @@ public class EndpointAnnotationProcessor extends AbstractCamelAnnotationProcesso for (VariableElement fieldElement : fieldElements) { Metadata metadata = fieldElement.getAnnotation(Metadata.class); + if (metadata != null && metadata.skip()) { + continue; + } boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null; String deprecationNote = null; if (metadata != null) { diff --git a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java index 60de377..873952d 100644 --- a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java +++ b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java @@ -100,4 +100,9 @@ public @interface Metadata { */ String deprecationNote() default ""; + /** + * Whether to skip this option + */ + boolean skip() default false; + }