This is an automated email from the ASF dual-hosted git repository. ggrzybek pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit 8ed744ebad80c1250f63612f78eb9c6fc1d5f091 Author: Grzegorz Grzybek <gr.grzy...@gmail.com> AuthorDate: Tue Mar 7 13:39:24 2023 +0100 [CAMEL-11767] Fix dummy-component used in @Disabled tests --- bom/camel-bom/pom.xml | 5 ++ catalog/dummy-component/pom.xml | 45 ++++++++++++-- .../component/dummy/DummyComponentConfigurer.java | 55 +++++++++++++++++ .../component/dummy/DummyEndpointConfigurer.java | 55 +++++++++++++++++ .../component/dummy/DummyEndpointUriFactory.java | 71 ++++++++++++++++++++++ .../services/org/apache/camel/component.properties | 7 +++ .../services/org/apache/camel/component/dummy | 2 + .../org/apache/camel/configurer/dummy-component | 2 + .../org/apache/camel/configurer/dummy-endpoint | 2 + .../org/apache/camel/urifactory/dummy-endpoint | 2 + .../org/apache/camel/component/dummy/dummy.json | 34 +++++++++++ .../src/main/docs/dummy-component.adoc | 29 +++++++++ .../camel/component/dummy/DummyEndpoint.java | 4 +- parent/pom.xml | 5 ++ 14 files changed, 312 insertions(+), 6 deletions(-) diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml index 64d72e213f5..448af304d5a 100644 --- a/bom/camel-bom/pom.xml +++ b/bom/camel-bom/pom.xml @@ -2102,6 +2102,11 @@ <artifactId>camel-zookeeper-master</artifactId> <version>${project.version}</version> </dependency> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>dummy-component</artifactId> + <version>${project.version}</version> + </dependency> <dependency> <groupId>org.apache.camel</groupId> <artifactId>spi-annotations</artifactId> diff --git a/catalog/dummy-component/pom.xml b/catalog/dummy-component/pom.xml index fcfd4e37e34..c80134e194e 100644 --- a/catalog/dummy-component/pom.xml +++ b/catalog/dummy-component/pom.xml @@ -33,6 +33,10 @@ <description>Camel Dummy Component</description> <packaging>jar</packaging> + <properties> + <camel-prepare-component>true</camel-prepare-component> + </properties> + <dependencies> <dependency> @@ -66,20 +70,51 @@ <version>${project.version}</version> <executions> <execution> - <id>prepare</id> + <id>generate</id> <goals> - <goal>prepare-components</goal> + <goal>generate</goal> </goals> - <phase>generate-resources</phase> + <phase>process-classes</phase> </execution> <execution> - <id>validate</id> + <id>generate-postcompile</id> <goals> - <goal>validate-components</goal> + <goal>generate-postcompile</goal> </goals> <phase>prepare-package</phase> </execution> </executions> + <dependencies> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-core-model</artifactId> + <version>${project.version}</version> + <scope>compile</scope> + </dependency> + </dependencies> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>build-helper-maven-plugin</artifactId> + <executions> + <execution> + <phase>initialize</phase> + <goals> + <goal>add-source</goal> + <goal>add-resource</goal> + </goals> + <configuration> + <sources> + <source>src/generated/java</source> + </sources> + <resources> + <resource> + <directory>src/generated/resources</directory> + </resource> + </resources> + </configuration> + </execution> + </executions> </plugin> </plugins> </build> diff --git a/catalog/dummy-component/src/generated/java/org/apache/camel/component/dummy/DummyComponentConfigurer.java b/catalog/dummy-component/src/generated/java/org/apache/camel/component/dummy/DummyComponentConfigurer.java new file mode 100644 index 00000000000..de8e5cbf248 --- /dev/null +++ b/catalog/dummy-component/src/generated/java/org/apache/camel/component/dummy/DummyComponentConfigurer.java @@ -0,0 +1,55 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.dummy; + +import java.util.Map; + +import org.apache.camel.CamelContext; +import org.apache.camel.spi.ExtendedPropertyConfigurerGetter; +import org.apache.camel.spi.PropertyConfigurerGetter; +import org.apache.camel.spi.ConfigurerStrategy; +import org.apache.camel.spi.GeneratedPropertyConfigurer; +import org.apache.camel.util.CaseInsensitiveMap; +import org.apache.camel.support.component.PropertyConfigurerSupport; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +@SuppressWarnings("unchecked") +public class DummyComponentConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter { + + @Override + public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) { + DummyComponent target = (DummyComponent) obj; + switch (ignoreCase ? name.toLowerCase() : name) { + case "autowiredenabled": + case "autowiredEnabled": target.setAutowiredEnabled(property(camelContext, boolean.class, value)); return true; + case "lazystartproducer": + case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true; + default: return false; + } + } + + @Override + public Class<?> getOptionType(String name, boolean ignoreCase) { + switch (ignoreCase ? name.toLowerCase() : name) { + case "autowiredenabled": + case "autowiredEnabled": return boolean.class; + case "lazystartproducer": + case "lazyStartProducer": return boolean.class; + default: return null; + } + } + + @Override + public Object getOptionValue(Object obj, String name, boolean ignoreCase) { + DummyComponent target = (DummyComponent) obj; + switch (ignoreCase ? name.toLowerCase() : name) { + case "autowiredenabled": + case "autowiredEnabled": return target.isAutowiredEnabled(); + case "lazystartproducer": + case "lazyStartProducer": return target.isLazyStartProducer(); + default: return null; + } + } +} + diff --git a/catalog/dummy-component/src/generated/java/org/apache/camel/component/dummy/DummyEndpointConfigurer.java b/catalog/dummy-component/src/generated/java/org/apache/camel/component/dummy/DummyEndpointConfigurer.java new file mode 100644 index 00000000000..a067999a698 --- /dev/null +++ b/catalog/dummy-component/src/generated/java/org/apache/camel/component/dummy/DummyEndpointConfigurer.java @@ -0,0 +1,55 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.dummy; + +import java.util.Map; + +import org.apache.camel.CamelContext; +import org.apache.camel.spi.ExtendedPropertyConfigurerGetter; +import org.apache.camel.spi.PropertyConfigurerGetter; +import org.apache.camel.spi.ConfigurerStrategy; +import org.apache.camel.spi.GeneratedPropertyConfigurer; +import org.apache.camel.util.CaseInsensitiveMap; +import org.apache.camel.support.component.PropertyConfigurerSupport; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +@SuppressWarnings("unchecked") +public class DummyEndpointConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter { + + @Override + public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) { + DummyEndpoint target = (DummyEndpoint) obj; + switch (ignoreCase ? name.toLowerCase() : name) { + case "amount": target.setAmount(property(camelContext, int.class, value)); return true; + case "celebrity": target.setCelebrity(property(camelContext, boolean.class, value)); return true; + case "lazystartproducer": + case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true; + default: return false; + } + } + + @Override + public Class<?> getOptionType(String name, boolean ignoreCase) { + switch (ignoreCase ? name.toLowerCase() : name) { + case "amount": return int.class; + case "celebrity": return boolean.class; + case "lazystartproducer": + case "lazyStartProducer": return boolean.class; + default: return null; + } + } + + @Override + public Object getOptionValue(Object obj, String name, boolean ignoreCase) { + DummyEndpoint target = (DummyEndpoint) obj; + switch (ignoreCase ? name.toLowerCase() : name) { + case "amount": return target.getAmount(); + case "celebrity": return target.isCelebrity(); + case "lazystartproducer": + case "lazyStartProducer": return target.isLazyStartProducer(); + default: return null; + } + } +} + diff --git a/catalog/dummy-component/src/generated/java/org/apache/camel/component/dummy/DummyEndpointUriFactory.java b/catalog/dummy-component/src/generated/java/org/apache/camel/component/dummy/DummyEndpointUriFactory.java new file mode 100644 index 00000000000..221f5b34569 --- /dev/null +++ b/catalog/dummy-component/src/generated/java/org/apache/camel/component/dummy/DummyEndpointUriFactory.java @@ -0,0 +1,71 @@ +/* Generated by camel build tools - do NOT edit this file! */ +package org.apache.camel.component.dummy; + +import java.net.URISyntaxException; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +import org.apache.camel.spi.EndpointUriFactory; + +/** + * Generated by camel build tools - do NOT edit this file! + */ +public class DummyEndpointUriFactory extends org.apache.camel.support.component.EndpointUriFactorySupport implements EndpointUriFactory { + + private static final String BASE = ":drink"; + + private static final Set<String> PROPERTY_NAMES; + private static final Set<String> SECRET_PROPERTY_NAMES; + private static final Set<String> MULTI_VALUE_PREFIXES; + static { + Set<String> props = new HashSet<>(4); + props.add("amount"); + props.add("celebrity"); + props.add("drink"); + props.add("lazyStartProducer"); + PROPERTY_NAMES = Collections.unmodifiableSet(props); + SECRET_PROPERTY_NAMES = Collections.emptySet(); + MULTI_VALUE_PREFIXES = Collections.emptySet(); + } + + @Override + public boolean isEnabled(String scheme) { + return "dummy".equals(scheme); + } + + @Override + public String buildUri(String scheme, Map<String, Object> properties, boolean encode) throws URISyntaxException { + String syntax = scheme + BASE; + String uri = syntax; + + Map<String, Object> copy = new HashMap<>(properties); + + uri = buildPathParameter(syntax, uri, "drink", null, true, copy); + uri = buildQueryParameters(uri, copy, encode); + return uri; + } + + @Override + public Set<String> propertyNames() { + return PROPERTY_NAMES; + } + + @Override + public Set<String> secretPropertyNames() { + return SECRET_PROPERTY_NAMES; + } + + @Override + public Set<String> multiValuePrefixes() { + return MULTI_VALUE_PREFIXES; + } + + @Override + public boolean isLenientProperties() { + return false; + } +} + diff --git a/catalog/dummy-component/src/generated/resources/META-INF/services/org/apache/camel/component.properties b/catalog/dummy-component/src/generated/resources/META-INF/services/org/apache/camel/component.properties new file mode 100644 index 00000000000..e315dbeb69f --- /dev/null +++ b/catalog/dummy-component/src/generated/resources/META-INF/services/org/apache/camel/component.properties @@ -0,0 +1,7 @@ +# Generated by camel build tools - do NOT edit this file! +components=dummy +groupId=org.apache.camel +artifactId=dummy-component +version=4.0.0-SNAPSHOT +projectName=Camel :: Catalog :: Dummy Component +projectDescription=Camel Dummy Component diff --git a/catalog/dummy-component/src/generated/resources/META-INF/services/org/apache/camel/component/dummy b/catalog/dummy-component/src/generated/resources/META-INF/services/org/apache/camel/component/dummy new file mode 100644 index 00000000000..51937e75f91 --- /dev/null +++ b/catalog/dummy-component/src/generated/resources/META-INF/services/org/apache/camel/component/dummy @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.dummy.DummyComponent diff --git a/catalog/dummy-component/src/generated/resources/META-INF/services/org/apache/camel/configurer/dummy-component b/catalog/dummy-component/src/generated/resources/META-INF/services/org/apache/camel/configurer/dummy-component new file mode 100644 index 00000000000..0ed3c4a9a1e --- /dev/null +++ b/catalog/dummy-component/src/generated/resources/META-INF/services/org/apache/camel/configurer/dummy-component @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.dummy.DummyComponentConfigurer diff --git a/catalog/dummy-component/src/generated/resources/META-INF/services/org/apache/camel/configurer/dummy-endpoint b/catalog/dummy-component/src/generated/resources/META-INF/services/org/apache/camel/configurer/dummy-endpoint new file mode 100644 index 00000000000..9989d45ef0d --- /dev/null +++ b/catalog/dummy-component/src/generated/resources/META-INF/services/org/apache/camel/configurer/dummy-endpoint @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.dummy.DummyEndpointConfigurer diff --git a/catalog/dummy-component/src/generated/resources/META-INF/services/org/apache/camel/urifactory/dummy-endpoint b/catalog/dummy-component/src/generated/resources/META-INF/services/org/apache/camel/urifactory/dummy-endpoint new file mode 100644 index 00000000000..a4e9e676409 --- /dev/null +++ b/catalog/dummy-component/src/generated/resources/META-INF/services/org/apache/camel/urifactory/dummy-endpoint @@ -0,0 +1,2 @@ +# Generated by camel build tools - do NOT edit this file! +class=org.apache.camel.component.dummy.DummyEndpointUriFactory diff --git a/catalog/dummy-component/src/generated/resources/org/apache/camel/component/dummy/dummy.json b/catalog/dummy-component/src/generated/resources/org/apache/camel/component/dummy/dummy.json new file mode 100644 index 00000000000..d0959ae2db2 --- /dev/null +++ b/catalog/dummy-component/src/generated/resources/org/apache/camel/component/dummy/dummy.json @@ -0,0 +1,34 @@ +{ + "component": { + "kind": "component", + "name": "dummy", + "title": "Dummy", + "description": "Camel Dummy Component", + "deprecated": false, + "firstVersion": "2.19.0", + "label": "testing", + "javaType": "org.apache.camel.component.dummy.DummyComponent", + "supportLevel": "Stable", + "groupId": "org.apache.camel", + "artifactId": "dummy-component", + "version": "4.0.0-SNAPSHOT", + "scheme": "dummy", + "extendsScheme": "", + "syntax": "dummy:drink", + "async": false, + "api": false, + "consumerOnly": false, + "producerOnly": true, + "lenientProperties": false + }, + "componentProperties": { + "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...] + "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...] + }, + "properties": { + "drink": { "kind": "path", "displayName": "Drink", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "org.apache.camel.component.dummy.Drinks", "enum": [ "Beer", "GinTonic", "Wine" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "What drink to order" }, + "amount": { "kind": "parameter", "displayName": "Amount", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "description": "Number of drinks in the order" }, + "celebrity": { "kind": "parameter", "displayName": "Celebrity", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Is this a famous person ordering" }, + "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may other [...] + } +} diff --git a/catalog/dummy-component/src/main/docs/dummy-component.adoc b/catalog/dummy-component/src/main/docs/dummy-component.adoc new file mode 100644 index 00000000000..582e2ac687a --- /dev/null +++ b/catalog/dummy-component/src/main/docs/dummy-component.adoc @@ -0,0 +1,29 @@ += Dummy Component +:doctitle: Dummy +:shortname: dummy +:artifactid: dummy-component +:description: Camel Dummy Component +:since: 2.19 +:supportlevel: Stable +:component-header: Only producer is supported + +*Since Camel {since}* + +*{component-header}* + +*Dummy-Component* is an http://camel.apache.org/[Apache Camel] component that is used for +various internal tests. + +// component-configure options: START +// component-configure options: END + +// component options: START +include::partial$component-configure-options.adoc[] +include::partial$component-endpoint-options.adoc[] +// component options: END + +// endpoint options: START +// endpoint options: END + +// component headers: START +// component headers: END diff --git a/catalog/dummy-component/src/main/java/org/apache/camel/component/dummy/DummyEndpoint.java b/catalog/dummy-component/src/main/java/org/apache/camel/component/dummy/DummyEndpoint.java index 80789a50e6b..51050e21e03 100644 --- a/catalog/dummy-component/src/main/java/org/apache/camel/component/dummy/DummyEndpoint.java +++ b/catalog/dummy-component/src/main/java/org/apache/camel/component/dummy/DummyEndpoint.java @@ -27,7 +27,9 @@ import org.apache.camel.spi.UriParam; import org.apache.camel.spi.UriPath; import org.apache.camel.support.DefaultEndpoint; -@UriEndpoint(scheme = "dummy", syntax = "dummy:drink", title = "Dummy", category = { Category.TESTING }, producerOnly = true) +@UriEndpoint(firstVersion = "2.19.0", scheme = "dummy", syntax = "dummy:drink", title = "Dummy", + category = { Category.TESTING }, + producerOnly = true) public class DummyEndpoint extends DefaultEndpoint { @UriPath diff --git a/parent/pom.xml b/parent/pom.xml index 622874e3a2b..5161c91ea93 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -2438,6 +2438,11 @@ <artifactId>camel-zookeeper-master</artifactId> <version>${project.version}</version> </dependency> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>dummy-component</artifactId> + <version>${project.version}</version> + </dependency> <dependency> <groupId>org.apache.camel.maven</groupId> <artifactId>camel-debezium-maven-plugin</artifactId>