You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gg...@apache.org on 2023/03/14 13:24:14 UTC
[camel] 02/04: [CAMEL-11767] Fix dummy-component used in @Disabled tests
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...@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>