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
The following commit(s) were added to refs/heads/master by this push: new 600c6b2 CAMEL-16471 - Enable URL endpoint based Client Initialization (#5319) 600c6b2 is described below commit 600c6b2cb3b1f79abea955d45efa77dc6957d504 Author: hokutor <81697586+hoku...@users.noreply.github.com> AuthorDate: Sat Apr 10 01:59:17 2021 -0400 CAMEL-16471 - Enable URL endpoint based Client Initialization (#5319) CAMEL-16471 - Enable URL endpoint based Client Initialization --- .../camel/catalog/docs/hwcloud-smn-component.adoc | 5 +- .../smn/SimpleNotificationEndpointConfigurer.java | 3 + .../smn/SimpleNotificationEndpointUriFactory.java | 3 +- .../component/huaweicloud/smn/hwcloud-smn.json | 3 +- .../src/main/docs/hwcloud-smn-component.adoc | 5 +- .../smn/SimpleNotificationEndpoint.java | 16 +++- .../smn/SimpleNotificationProducer.java | 22 +++-- ...tedMessageWithCustomEndpointFunctionalTest.java | 104 +++++++++++++++++++++ ...lishTemplatedMessageWithCustomEndpointTest.java | 88 +++++++++++++++++ ...extMessageWithCustomEndpointFunctionalTest.java | 92 ++++++++++++++++++ .../PublishTextMessageWithCustomEndpointTest.java | 80 ++++++++++++++++ .../test/resources/testconfiguration.properties | 3 +- .../builder/endpoint/EndpointBuilderFactory.java | 54 +++++------ .../camel/builder/endpoint/EndpointBuilders.java | 54 +++++------ .../SimpleNotificationEndpointBuilderFactory.java | 18 +++- .../modules/ROOT/pages/hwcloud-smn-component.adoc | 7 +- .../ROOT/pages/camel-3x-upgrade-guide-3_10.adoc | 8 ++ 17 files changed, 491 insertions(+), 74 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/hwcloud-smn-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/hwcloud-smn-component.adoc index 7697842..bd2a47b 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/hwcloud-smn-component.adoc +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/hwcloud-smn-component.adoc @@ -71,13 +71,14 @@ with the following path and query parameters: |=== -=== Query Parameters (13 parameters): +=== Query Parameters (14 parameters): [width="100%",cols="2,5,^1,2",options="header"] |=== | Name | Description | Default | Type | *authKey* (producer) | *Required* Authentication key for the cloud user | | String +| *endpoint* (producer) | Fully qualified smn service url. Carries higher precedence than region parameter based client initialization | | String | *ignoreSslVerification* (producer) | Ignore SSL verification | false | boolean | *lazyStartProducer* (producer) | 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 starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...] | *messageTtl* (producer) | TTL for published message | 3600 | int @@ -87,7 +88,7 @@ with the following path and query parameters: | *proxyPassword* (producer) | Proxy authentication password | | String | *proxyPort* (producer) | Proxy server port | | int | *proxyUser* (producer) | Proxy authentication user | | String -| *region* (producer) | *Required* SMN service region | | String +| *region* (producer) | *Required* SMN service region. This is lower precedence than endpoint based configuration | | String | *secretKey* (producer) | *Required* Secret key for the cloud user | | String | *serviceKeys* (producer) | Configuration object for cloud service authentication | | ServiceKeys |=== diff --git a/components/camel-huaweicloud-smn/src/generated/java/org/apache/camel/component/huaweicloud/smn/SimpleNotificationEndpointConfigurer.java b/components/camel-huaweicloud-smn/src/generated/java/org/apache/camel/component/huaweicloud/smn/SimpleNotificationEndpointConfigurer.java index 82c8a7f..97692de 100644 --- a/components/camel-huaweicloud-smn/src/generated/java/org/apache/camel/component/huaweicloud/smn/SimpleNotificationEndpointConfigurer.java +++ b/components/camel-huaweicloud-smn/src/generated/java/org/apache/camel/component/huaweicloud/smn/SimpleNotificationEndpointConfigurer.java @@ -23,6 +23,7 @@ public class SimpleNotificationEndpointConfigurer extends PropertyConfigurerSupp switch (ignoreCase ? name.toLowerCase() : name) { case "authkey": case "authKey": target.setAuthKey(property(camelContext, java.lang.String.class, value)); return true; + case "endpoint": target.setEndpoint(property(camelContext, java.lang.String.class, value)); return true; case "ignoresslverification": case "ignoreSslVerification": target.setIgnoreSslVerification(property(camelContext, boolean.class, value)); return true; case "lazystartproducer": @@ -54,6 +55,7 @@ public class SimpleNotificationEndpointConfigurer extends PropertyConfigurerSupp switch (ignoreCase ? name.toLowerCase() : name) { case "authkey": case "authKey": return java.lang.String.class; + case "endpoint": return java.lang.String.class; case "ignoresslverification": case "ignoreSslVerification": return boolean.class; case "lazystartproducer": @@ -86,6 +88,7 @@ public class SimpleNotificationEndpointConfigurer extends PropertyConfigurerSupp switch (ignoreCase ? name.toLowerCase() : name) { case "authkey": case "authKey": return target.getAuthKey(); + case "endpoint": return target.getEndpoint(); case "ignoresslverification": case "ignoreSslVerification": return target.isIgnoreSslVerification(); case "lazystartproducer": diff --git a/components/camel-huaweicloud-smn/src/generated/java/org/apache/camel/component/huaweicloud/smn/SimpleNotificationEndpointUriFactory.java b/components/camel-huaweicloud-smn/src/generated/java/org/apache/camel/component/huaweicloud/smn/SimpleNotificationEndpointUriFactory.java index 3e6ed20..fc0408f 100644 --- a/components/camel-huaweicloud-smn/src/generated/java/org/apache/camel/component/huaweicloud/smn/SimpleNotificationEndpointUriFactory.java +++ b/components/camel-huaweicloud-smn/src/generated/java/org/apache/camel/component/huaweicloud/smn/SimpleNotificationEndpointUriFactory.java @@ -20,7 +20,7 @@ public class SimpleNotificationEndpointUriFactory extends org.apache.camel.suppo private static final Set<String> PROPERTY_NAMES; private static final Set<String> SECRET_PROPERTY_NAMES; static { - Set<String> props = new HashSet<>(14); + Set<String> props = new HashSet<>(15); props.add("authKey"); props.add("serviceKeys"); props.add("secretKey"); @@ -28,6 +28,7 @@ public class SimpleNotificationEndpointUriFactory extends org.apache.camel.suppo props.add("ignoreSslVerification"); props.add("proxyHost"); props.add("proxyPort"); + props.add("endpoint"); props.add("lazyStartProducer"); props.add("proxyUser"); props.add("messageTtl"); diff --git a/components/camel-huaweicloud-smn/src/generated/resources/org/apache/camel/component/huaweicloud/smn/hwcloud-smn.json b/components/camel-huaweicloud-smn/src/generated/resources/org/apache/camel/component/huaweicloud/smn/hwcloud-smn.json index c4ba509..085aff6 100644 --- a/components/camel-huaweicloud-smn/src/generated/resources/org/apache/camel/component/huaweicloud/smn/hwcloud-smn.json +++ b/components/camel-huaweicloud-smn/src/generated/resources/org/apache/camel/component/huaweicloud/smn/hwcloud-smn.json @@ -28,6 +28,7 @@ "properties": { "smnService": { "kind": "path", "displayName": "Service name", "group": "producer", "label": "producer", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Name of SMN service to invoke" }, "authKey": { "kind": "parameter", "displayName": "API authentication key (AK)", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "description": "Authentication key for the cloud user" }, + "endpoint": { "kind": "parameter", "displayName": "Service endpoint", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Fully qualified smn service url. Carries higher precedence than region parameter based client initialization" }, "ignoreSslVerification": { "kind": "parameter", "displayName": "SSL Verification Ignored", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": false, "description": "Ignore SSL verification" }, "lazyStartProducer": { "kind": "parameter", "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 sta [...] "messageTtl": { "kind": "parameter", "displayName": "Message TTL", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 3600, "description": "TTL for published message" }, @@ -37,7 +38,7 @@ "proxyPassword": { "kind": "parameter", "displayName": "Proxy password", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "description": "Proxy authentication password" }, "proxyPort": { "kind": "parameter", "displayName": "Proxy server port", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Proxy server port" }, "proxyUser": { "kind": "parameter", "displayName": "Proxy user", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "description": "Proxy authentication user" }, - "region": { "kind": "parameter", "displayName": "Service region", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "SMN service region" }, + "region": { "kind": "parameter", "displayName": "Service region", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "SMN service region. This is lower precedence than endpoint based configuration" }, "secretKey": { "kind": "parameter", "displayName": "API secret key (SK)", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "description": "Secret key for the cloud user" }, "serviceKeys": { "kind": "parameter", "displayName": "Service Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.huaweicloud.smn.models.ServiceKeys", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "description": "Configuration object for cloud service authentication" } } diff --git a/components/camel-huaweicloud-smn/src/main/docs/hwcloud-smn-component.adoc b/components/camel-huaweicloud-smn/src/main/docs/hwcloud-smn-component.adoc index 7697842..bd2a47b 100644 --- a/components/camel-huaweicloud-smn/src/main/docs/hwcloud-smn-component.adoc +++ b/components/camel-huaweicloud-smn/src/main/docs/hwcloud-smn-component.adoc @@ -71,13 +71,14 @@ with the following path and query parameters: |=== -=== Query Parameters (13 parameters): +=== Query Parameters (14 parameters): [width="100%",cols="2,5,^1,2",options="header"] |=== | Name | Description | Default | Type | *authKey* (producer) | *Required* Authentication key for the cloud user | | String +| *endpoint* (producer) | Fully qualified smn service url. Carries higher precedence than region parameter based client initialization | | String | *ignoreSslVerification* (producer) | Ignore SSL verification | false | boolean | *lazyStartProducer* (producer) | 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 starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...] | *messageTtl* (producer) | TTL for published message | 3600 | int @@ -87,7 +88,7 @@ with the following path and query parameters: | *proxyPassword* (producer) | Proxy authentication password | | String | *proxyPort* (producer) | Proxy server port | | int | *proxyUser* (producer) | Proxy authentication user | | String -| *region* (producer) | *Required* SMN service region | | String +| *region* (producer) | *Required* SMN service region. This is lower precedence than endpoint based configuration | | String | *secretKey* (producer) | *Required* Secret key for the cloud user | | String | *serviceKeys* (producer) | Configuration object for cloud service authentication | | ServiceKeys |=== diff --git a/components/camel-huaweicloud-smn/src/main/java/org/apache/camel/component/huaweicloud/smn/SimpleNotificationEndpoint.java b/components/camel-huaweicloud-smn/src/main/java/org/apache/camel/component/huaweicloud/smn/SimpleNotificationEndpoint.java index 91a14c3..029006c 100644 --- a/components/camel-huaweicloud-smn/src/main/java/org/apache/camel/component/huaweicloud/smn/SimpleNotificationEndpoint.java +++ b/components/camel-huaweicloud-smn/src/main/java/org/apache/camel/component/huaweicloud/smn/SimpleNotificationEndpoint.java @@ -79,10 +79,16 @@ public class SimpleNotificationEndpoint extends DefaultEndpoint { @Metadata(required = false) private String proxyPassword; - @UriParam(description = "SMN service region", displayName = "Service region", secret = false) + @UriParam(description = "SMN service region. This is lower precedence than endpoint based configuration", + displayName = "Service region", secret = false) @Metadata(required = true) private String region; + @UriParam(description = "Fully qualified smn service url. Carries higher precedence than region parameter based client initialization", + displayName = "Service endpoint", secret = false) + @Metadata(required = false) + private String endpoint; + @UriParam(description = "TTL for published message", displayName = "Message TTL", secret = false, defaultValue = "3600") @Metadata(required = false) private int messageTtl = 3600; @@ -208,6 +214,14 @@ public class SimpleNotificationEndpoint extends DefaultEndpoint { this.region = region; } + public String getEndpoint() { + return endpoint; + } + + public void setEndpoint(String endpoint) { + this.endpoint = endpoint; + } + public int getMessageTtl() { return messageTtl; } diff --git a/components/camel-huaweicloud-smn/src/main/java/org/apache/camel/component/huaweicloud/smn/SimpleNotificationProducer.java b/components/camel-huaweicloud-smn/src/main/java/org/apache/camel/component/huaweicloud/smn/SimpleNotificationProducer.java index 9251ea1..ffb2f82 100644 --- a/components/camel-huaweicloud-smn/src/main/java/org/apache/camel/component/huaweicloud/smn/SimpleNotificationProducer.java +++ b/components/camel-huaweicloud-smn/src/main/java/org/apache/camel/component/huaweicloud/smn/SimpleNotificationProducer.java @@ -32,6 +32,7 @@ import org.apache.camel.component.huaweicloud.smn.constants.SmnServices; import org.apache.camel.component.huaweicloud.smn.models.ClientConfigurations; import org.apache.camel.support.DefaultProducer; import org.apache.camel.util.ObjectHelper; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -204,15 +205,20 @@ public class SimpleNotificationProducer extends DefaultProducer { clientConfigurations.setProjectId(simpleNotificationEndpoint.getProjectId()); } - //checking for region - String endpointUrl = SimpleNotificationUtils.resolveSmnServiceEndpoint(simpleNotificationEndpoint.getRegion()); - if (endpointUrl == null) { - if (LOG.isErrorEnabled()) { - LOG.error("Valid region not found"); - } - throw new IllegalArgumentException("enter a valid region"); + //checking for endpoint + if (StringUtils.isNotEmpty(simpleNotificationEndpoint.getEndpoint())) { + clientConfigurations.setServiceEndpoint(simpleNotificationEndpoint.getEndpoint()); } else { - clientConfigurations.setServiceEndpoint(endpointUrl); + //checking for region + String endpointUrl = SimpleNotificationUtils.resolveSmnServiceEndpoint(simpleNotificationEndpoint.getRegion()); + if (endpointUrl == null) { + if (LOG.isErrorEnabled()) { + LOG.error("Valid region not found"); + } + throw new IllegalArgumentException("enter a valid region"); + } else { + clientConfigurations.setServiceEndpoint(endpointUrl); + } } //checking for ignore ssl verification diff --git a/components/camel-huaweicloud-smn/src/test/java/org/apache/camel/component/huaweicloud/smn/PublishTemplatedMessageWithCustomEndpointFunctionalTest.java b/components/camel-huaweicloud-smn/src/test/java/org/apache/camel/component/huaweicloud/smn/PublishTemplatedMessageWithCustomEndpointFunctionalTest.java new file mode 100644 index 0000000..81fae7e --- /dev/null +++ b/components/camel-huaweicloud-smn/src/test/java/org/apache/camel/component/huaweicloud/smn/PublishTemplatedMessageWithCustomEndpointFunctionalTest.java @@ -0,0 +1,104 @@ +/* + * 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.component.huaweicloud.smn; + +import java.util.HashMap; +import java.util.Map; + +import org.apache.camel.BindToRegistry; +import org.apache.camel.Exchange; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.huaweicloud.smn.constants.SmnProperties; +import org.apache.camel.component.huaweicloud.smn.models.ServiceKeys; +import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.test.junit5.CamelTestSupport; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class PublishTemplatedMessageWithCustomEndpointFunctionalTest extends CamelTestSupport { + private static final Logger LOGGER = LoggerFactory.getLogger(PublishTemplatedMessageTest.class.getName()); + + private static final String AUTH_KEY = "replace_this_with_auth_key"; + private static final String SECRET_KEY = "replace_this_with_secret_key"; + private static final String TEMPLATE_NAME = "replace_this_with_template_name"; + private static final String NOTIFICATION_SUBJECT = "sample notification subjectline"; + private static final String TOPIC_NAME = "replace_this_with_topic_name"; + private static final String PROJECT_ID = "replace_this_with_project_id"; + private static final String REGION = "replace_this_with_region"; + private static final String ENDPOINT = "replace_this_with_endpoint"; + + @BindToRegistry("serviceKeys") + ServiceKeys serviceKeys + = new ServiceKeys(AUTH_KEY, SECRET_KEY); + + protected RouteBuilder createRouteBuilder() throws Exception { + // populating tag values. user has to adjust the map entries according to the structure of their respective templates + Map<String, String> tags = new HashMap<>(); + + // create a map of your placeholder variables + /*Example : + tags.put("name", "reji"); + tags.put("phone", "1234567890"); + */ + return new RouteBuilder() { + public void configure() { + from("direct:publish_templated_message") + .setProperty(SmnProperties.NOTIFICATION_SUBJECT, constant(NOTIFICATION_SUBJECT)) + .setProperty(SmnProperties.NOTIFICATION_TOPIC_NAME, constant(TOPIC_NAME)) + .setProperty(SmnProperties.NOTIFICATION_TTL, constant(60)) + .setProperty(SmnProperties.TEMPLATE_TAGS, constant(tags)) + .setProperty(SmnProperties.TEMPLATE_NAME, constant(TEMPLATE_NAME)) + .to("hwcloud-smn:publishMessageService?serviceKeys=#serviceKeys&operation=publishAsTemplatedMessage" + + "&projectId=" + PROJECT_ID + + "®ion=" + REGION + + "&endpoint=" + ENDPOINT + + "&ignoreSslVerification=true") + .log("templated notification sent") + .to("mock:publish_templated_message_result"); + } + }; + } + + /** + * following test cases should be manually enabled to perform test against the actual huaweicloud simple + * notification server with real user credentials. To perform this test, manually comment out the @Disabled + * annotation and enter relevant service parameters in the placeholders above (static variables of this test class) + * + * @throws Exception + */ + @Test + @Disabled("Manually enable this once you configure service parameters in placeholders above") + public void testTemplatedNotificationSend() throws Exception { + MockEndpoint mock = getMockEndpoint("mock:publish_templated_message_result"); + mock.expectedMinimumMessageCount(1); + template.sendBody("direct:publish_templated_message", null); + Exchange responseExchange = mock.getExchanges().get(0); + + mock.assertIsSatisfied(); + + assertNotNull(responseExchange.getProperty(SmnProperties.SERVICE_MESSAGE_ID)); + assertNotNull(responseExchange.getProperty(SmnProperties.SERVICE_REQUEST_ID)); + assertTrue(responseExchange.getProperty(SmnProperties.SERVICE_MESSAGE_ID).toString().length() > 0); + assertTrue(responseExchange.getProperty(SmnProperties.SERVICE_REQUEST_ID).toString().length() > 0); + } + +} diff --git a/components/camel-huaweicloud-smn/src/test/java/org/apache/camel/component/huaweicloud/smn/PublishTemplatedMessageWithCustomEndpointTest.java b/components/camel-huaweicloud-smn/src/test/java/org/apache/camel/component/huaweicloud/smn/PublishTemplatedMessageWithCustomEndpointTest.java new file mode 100644 index 0000000..2225493 --- /dev/null +++ b/components/camel-huaweicloud-smn/src/test/java/org/apache/camel/component/huaweicloud/smn/PublishTemplatedMessageWithCustomEndpointTest.java @@ -0,0 +1,88 @@ +/* + * 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.component.huaweicloud.smn; + +import java.util.HashMap; +import java.util.Map; + +import org.apache.camel.BindToRegistry; +import org.apache.camel.Exchange; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.huaweicloud.smn.constants.SmnProperties; +import org.apache.camel.component.huaweicloud.smn.models.ServiceKeys; +import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.test.junit5.CamelTestSupport; +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class PublishTemplatedMessageWithCustomEndpointTest extends CamelTestSupport { + private static final Logger LOGGER = LoggerFactory.getLogger(PublishTemplatedMessageWithCustomEndpointTest.class.getName()); + + TestConfiguration testConfiguration = new TestConfiguration(); + + @BindToRegistry("serviceKeys") + ServiceKeys serviceKeys + = new ServiceKeys(testConfiguration.getProperty("authKey"), testConfiguration.getProperty("secretKey")); + + @BindToRegistry("smnClient") + SmnClientMock smnClientMock = new SmnClientMock(null); // creating mock smn client to stub method behavior for unit testing + + protected RouteBuilder createRouteBuilder() throws Exception { + // populating tag values. user has to adjust the map entries according to the structure of their respective templates + Map<String, String> tags = new HashMap<>(); + tags.put("name", "reji"); + tags.put("phone", "1234567890"); + + return new RouteBuilder() { + public void configure() { + from("direct:publish_templated_message") + .setProperty(SmnProperties.NOTIFICATION_SUBJECT, constant("This is my subjectline")) + .setProperty(SmnProperties.NOTIFICATION_TOPIC_NAME, constant(testConfiguration.getProperty("topic"))) + .setProperty(SmnProperties.NOTIFICATION_TTL, constant(60)) + .setProperty(SmnProperties.TEMPLATE_TAGS, constant(tags)) + .setProperty(SmnProperties.TEMPLATE_NAME, constant("hello-template")) + .to("hwcloud-smn:publishMessageService?serviceKeys=#serviceKeys&operation=publishAsTemplatedMessage" + + "&projectId=" + testConfiguration.getProperty("projectId") + "®ion=" + + testConfiguration.getProperty("region") + "&ignoreSslVerification=true" + + "&endpoint=" + testConfiguration.getProperty("endpoint") + + "&smnClient=#smnClient") + .log("templated notification sent") + .to("mock:publish_templated_message_result"); + } + }; + } + + @Test + public void testTemplatedNotificationSend() throws Exception { + MockEndpoint mock = getMockEndpoint("mock:publish_templated_message_result"); + mock.expectedMinimumMessageCount(1); + template.sendBody("direct:publish_templated_message", null); + Exchange responseExchange = mock.getExchanges().get(0); + + mock.assertIsSatisfied(); + + assertNotNull(responseExchange.getProperty(SmnProperties.SERVICE_MESSAGE_ID)); + assertNotNull(responseExchange.getProperty(SmnProperties.SERVICE_REQUEST_ID)); + assertTrue(responseExchange.getProperty(SmnProperties.SERVICE_MESSAGE_ID).toString().length() > 0); + assertTrue(responseExchange.getProperty(SmnProperties.SERVICE_REQUEST_ID).toString().length() > 0); + } + +} diff --git a/components/camel-huaweicloud-smn/src/test/java/org/apache/camel/component/huaweicloud/smn/PublishTextMessageWithCustomEndpointFunctionalTest.java b/components/camel-huaweicloud-smn/src/test/java/org/apache/camel/component/huaweicloud/smn/PublishTextMessageWithCustomEndpointFunctionalTest.java new file mode 100644 index 0000000..5e03b23 --- /dev/null +++ b/components/camel-huaweicloud-smn/src/test/java/org/apache/camel/component/huaweicloud/smn/PublishTextMessageWithCustomEndpointFunctionalTest.java @@ -0,0 +1,92 @@ +/* + * 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.component.huaweicloud.smn; + +import org.apache.camel.BindToRegistry; +import org.apache.camel.Exchange; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.huaweicloud.smn.constants.SmnProperties; +import org.apache.camel.component.huaweicloud.smn.models.ServiceKeys; +import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.test.junit5.CamelTestSupport; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class PublishTextMessageWithCustomEndpointFunctionalTest extends CamelTestSupport { + private static final Logger LOGGER = LoggerFactory.getLogger(PublishTemplatedMessageTest.class.getName()); + + private static final String AUTH_KEY = "replace_this_with_auth_key"; + private static final String SECRET_KEY = "replace_this_with_secret_key"; + private static final String NOTIFICATION_SUBJECT = "sample notification subjectline"; + private static final String TOPIC_NAME = "replace_this_with_topic_name"; + private static final String PROJECT_ID = "replace_this_with_project_id"; + private static final String REGION = "replace_this_with_region"; + private static final String ENDPOINT = "replace_this_with_endpoint"; + + @BindToRegistry("serviceKeys") + ServiceKeys serviceKeys + = new ServiceKeys(AUTH_KEY, SECRET_KEY); + + protected RouteBuilder createRouteBuilder() throws Exception { + return new RouteBuilder() { + public void configure() { + from("direct:publish_text_message") + .setProperty(SmnProperties.NOTIFICATION_SUBJECT, constant(NOTIFICATION_SUBJECT)) + .setProperty(SmnProperties.NOTIFICATION_TOPIC_NAME, constant(TOPIC_NAME)) + .setProperty(SmnProperties.NOTIFICATION_TTL, constant(60)) + .to("hwcloud-smn:publishMessageService?operation=publishAsTextMessage&authKey=" + AUTH_KEY + + "&secretKey=" + SECRET_KEY + + "&projectId=" + PROJECT_ID + + "®ion=" + REGION + + "&endpoint=" + ENDPOINT + + "&ignoreSslVerification=true") + .log("publish message successful") + .to("log:LOG?showAll=true") + .to("mock:publish_text_message_result"); + } + }; + } + + /** + * following test cases should be manually enabled to perform test against the actual huaweicloud simple + * notification server with real user credentials. To perform this test, manually comment out the @Disabled + * annotation and enter relevant service parameters in the placeholders above (static variables of this test class) + * + * @throws Exception + */ + @Test + @Disabled("Manually enable this once you configure service parameters in placeholders above") + public void testTemplatedNotificationSend() throws Exception { + MockEndpoint mock = getMockEndpoint("mock:publish_text_message_result"); + mock.expectedMinimumMessageCount(1); + template.sendBody("direct:publish_text_message", "sample notification body"); + Exchange responseExchange = mock.getExchanges().get(0); + + mock.assertIsSatisfied(); + + assertNotNull(responseExchange.getProperty(SmnProperties.SERVICE_MESSAGE_ID)); + assertNotNull(responseExchange.getProperty(SmnProperties.SERVICE_REQUEST_ID)); + assertTrue(responseExchange.getProperty(SmnProperties.SERVICE_MESSAGE_ID).toString().length() > 0); + assertTrue(responseExchange.getProperty(SmnProperties.SERVICE_REQUEST_ID).toString().length() > 0); + } + +} diff --git a/components/camel-huaweicloud-smn/src/test/java/org/apache/camel/component/huaweicloud/smn/PublishTextMessageWithCustomEndpointTest.java b/components/camel-huaweicloud-smn/src/test/java/org/apache/camel/component/huaweicloud/smn/PublishTextMessageWithCustomEndpointTest.java new file mode 100644 index 0000000..3ea2d67 --- /dev/null +++ b/components/camel-huaweicloud-smn/src/test/java/org/apache/camel/component/huaweicloud/smn/PublishTextMessageWithCustomEndpointTest.java @@ -0,0 +1,80 @@ +/* + * 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.component.huaweicloud.smn; + +import org.apache.camel.BindToRegistry; +import org.apache.camel.Exchange; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.huaweicloud.smn.constants.SmnProperties; +import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.test.junit5.CamelTestSupport; +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class PublishTextMessageWithCustomEndpointTest extends CamelTestSupport { + private static final Logger LOGGER = LoggerFactory.getLogger(PublishTextMessageWithCustomEndpointTest.class.getName()); + + TestConfiguration testConfiguration = new TestConfiguration(); + + @BindToRegistry("smnClient") + SmnClientMock smnClientMock = new SmnClientMock(null); // creating mock smn client to stub method behavior for unit testing + + protected RouteBuilder createRouteBuilder() throws Exception { + return new RouteBuilder() { + public void configure() { + from("direct:publish_text_message") + .setProperty(SmnProperties.NOTIFICATION_SUBJECT, constant("Dummy Subject Line")) + .setProperty(SmnProperties.NOTIFICATION_TOPIC_NAME, constant(testConfiguration.getProperty("topic"))) + .setProperty(SmnProperties.NOTIFICATION_TTL, constant(60)) + .to("hwcloud-smn:publishMessageService?operation=publishAsTextMessage&authKey=" + + testConfiguration.getProperty("authKey") + "&secretKey=" + + testConfiguration.getProperty("secretKey") + "&projectId=" + + testConfiguration.getProperty("projectId") + "®ion=" + testConfiguration.getProperty("region") + + "&endpoint=" + testConfiguration.getProperty("endpoint") + + "&ignoreSslVerification=true" + + "&smnClient=#smnClient") + .log("publish message successful") + .to("mock:publish_text_message_result"); + } + }; + } + + @Test + public void testTextNotificationSend() throws Exception { + + MockEndpoint mock = getMockEndpoint("mock:publish_text_message_result"); + mock.expectedMinimumMessageCount(1); + template.sendBody("direct:publish_text_message", "message content"); + Exchange responseExchange = mock.getExchanges().get(0); + + mock.assertIsSatisfied(); + + assertNotNull(responseExchange.getProperty(SmnProperties.SERVICE_MESSAGE_ID)); + assertNotNull(responseExchange.getProperty(SmnProperties.SERVICE_REQUEST_ID)); + assertTrue(responseExchange.getProperty(SmnProperties.SERVICE_MESSAGE_ID).toString().length() > 0); + assertTrue(responseExchange.getProperty(SmnProperties.SERVICE_REQUEST_ID).toString().length() > 0); + + assertEquals("bf94b63a5dfb475994d3ac34664e24f2", responseExchange.getProperty(SmnProperties.SERVICE_MESSAGE_ID)); + assertEquals("6a63a18b8bab40ffb71ebd9cb80d0085", responseExchange.getProperty(SmnProperties.SERVICE_REQUEST_ID)); + } + +} diff --git a/components/camel-huaweicloud-smn/src/test/resources/testconfiguration.properties b/components/camel-huaweicloud-smn/src/test/resources/testconfiguration.properties index 9b31cf1..fece1fe 100644 --- a/components/camel-huaweicloud-smn/src/test/resources/testconfiguration.properties +++ b/components/camel-huaweicloud-smn/src/test/resources/testconfiguration.properties @@ -20,4 +20,5 @@ authKey=dummy_auth_key secretKey=dummy_secret_key projectId=9071a38e7f6a4ba7b7bcbeb7d4ea6efc region = unit-test -topic = reji-test \ No newline at end of file +topic = reji-test +endpoint= unit-test-endpoint \ No newline at end of file diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java index 142dacf..0a61948 100644 --- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java +++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java @@ -28,14 +28,12 @@ import javax.annotation.Generated; @Generated("org.apache.camel.maven.packaging.EndpointDslMojo") public interface EndpointBuilderFactory extends - org.apache.camel.builder.endpoint.dsl.AMQPEndpointBuilderFactory.AMQPBuilders, - org.apache.camel.builder.endpoint.dsl.AS2EndpointBuilderFactory.AS2Builders, - org.apache.camel.builder.endpoint.dsl.AWS2EC2EndpointBuilderFactory.AWS2EC2Builders, - org.apache.camel.builder.endpoint.dsl.AWS2S3EndpointBuilderFactory.AWS2S3Builders, org.apache.camel.builder.endpoint.dsl.ActiveMQEndpointBuilderFactory.ActiveMQBuilders, org.apache.camel.builder.endpoint.dsl.AhcEndpointBuilderFactory.AhcBuilders, + org.apache.camel.builder.endpoint.dsl.AMQPEndpointBuilderFactory.AMQPBuilders, org.apache.camel.builder.endpoint.dsl.ApnsEndpointBuilderFactory.ApnsBuilders, org.apache.camel.builder.endpoint.dsl.ArangoDbEndpointBuilderFactory.ArangoDbBuilders, + org.apache.camel.builder.endpoint.dsl.AS2EndpointBuilderFactory.AS2Builders, org.apache.camel.builder.endpoint.dsl.AsteriskEndpointBuilderFactory.AsteriskBuilders, org.apache.camel.builder.endpoint.dsl.Athena2EndpointBuilderFactory.Athena2Builders, org.apache.camel.builder.endpoint.dsl.AtlasMapEndpointBuilderFactory.AtlasMapBuilders, @@ -49,16 +47,16 @@ public interface EndpointBuilderFactory org.apache.camel.builder.endpoint.dsl.AtomixSetEndpointBuilderFactory.AtomixSetBuilders, org.apache.camel.builder.endpoint.dsl.AtomixValueEndpointBuilderFactory.AtomixValueBuilders, org.apache.camel.builder.endpoint.dsl.AvroEndpointBuilderFactory.AvroBuilders, + org.apache.camel.builder.endpoint.dsl.AWS2EC2EndpointBuilderFactory.AWS2EC2Builders, + org.apache.camel.builder.endpoint.dsl.AWS2S3EndpointBuilderFactory.AWS2S3Builders, org.apache.camel.builder.endpoint.dsl.BeanEndpointBuilderFactory.BeanBuilders, - org.apache.camel.builder.endpoint.dsl.BeanValidatorEndpointBuilderFactory.BeanValidatorBuilders, org.apache.camel.builder.endpoint.dsl.BeanstalkEndpointBuilderFactory.BeanstalkBuilders, + org.apache.camel.builder.endpoint.dsl.BeanValidatorEndpointBuilderFactory.BeanValidatorBuilders, org.apache.camel.builder.endpoint.dsl.BlobEndpointBuilderFactory.BlobBuilders, org.apache.camel.builder.endpoint.dsl.BonitaEndpointBuilderFactory.BonitaBuilders, org.apache.camel.builder.endpoint.dsl.BoxEndpointBuilderFactory.BoxBuilders, org.apache.camel.builder.endpoint.dsl.BraintreeEndpointBuilderFactory.BraintreeBuilders, org.apache.camel.builder.endpoint.dsl.BrowseEndpointBuilderFactory.BrowseBuilders, - org.apache.camel.builder.endpoint.dsl.CMEndpointBuilderFactory.CMBuilders, - org.apache.camel.builder.endpoint.dsl.CMISEndpointBuilderFactory.CMISBuilders, org.apache.camel.builder.endpoint.dsl.CaffeineCacheEndpointBuilderFactory.CaffeineCacheBuilders, org.apache.camel.builder.endpoint.dsl.CaffeineLoadCacheEndpointBuilderFactory.CaffeineLoadCacheBuilders, org.apache.camel.builder.endpoint.dsl.CassandraEndpointBuilderFactory.CassandraBuilders, @@ -67,19 +65,20 @@ public interface EndpointBuilderFactory org.apache.camel.builder.endpoint.dsl.CinderEndpointBuilderFactory.CinderBuilders, org.apache.camel.builder.endpoint.dsl.ClassEndpointBuilderFactory.ClassBuilders, org.apache.camel.builder.endpoint.dsl.ClientEndpointBuilderFactory.ClientBuilders, + org.apache.camel.builder.endpoint.dsl.CMEndpointBuilderFactory.CMBuilders, + org.apache.camel.builder.endpoint.dsl.CMISEndpointBuilderFactory.CMISBuilders, org.apache.camel.builder.endpoint.dsl.CoAPEndpointBuilderFactory.CoAPBuilders, org.apache.camel.builder.endpoint.dsl.CometdEndpointBuilderFactory.CometdBuilders, org.apache.camel.builder.endpoint.dsl.ConsulEndpointBuilderFactory.ConsulBuilders, org.apache.camel.builder.endpoint.dsl.ControlBusEndpointBuilderFactory.ControlBusBuilders, org.apache.camel.builder.endpoint.dsl.CordaEndpointBuilderFactory.CordaBuilders, - org.apache.camel.builder.endpoint.dsl.CouchDbEndpointBuilderFactory.CouchDbBuilders, org.apache.camel.builder.endpoint.dsl.CouchbaseEndpointBuilderFactory.CouchbaseBuilders, + org.apache.camel.builder.endpoint.dsl.CouchDbEndpointBuilderFactory.CouchDbBuilders, org.apache.camel.builder.endpoint.dsl.CronEndpointBuilderFactory.CronBuilders, org.apache.camel.builder.endpoint.dsl.CryptoCmsEndpointBuilderFactory.CryptoCmsBuilders, org.apache.camel.builder.endpoint.dsl.Cw2EndpointBuilderFactory.Cw2Builders, org.apache.camel.builder.endpoint.dsl.CxfEndpointBuilderFactory.CxfBuilders, org.apache.camel.builder.endpoint.dsl.CxfRsEndpointBuilderFactory.CxfRsBuilders, - org.apache.camel.builder.endpoint.dsl.DJLEndpointBuilderFactory.DJLBuilders, org.apache.camel.builder.endpoint.dsl.DataFormatEndpointBuilderFactory.DataFormatBuilders, org.apache.camel.builder.endpoint.dsl.DataLakeEndpointBuilderFactory.DataLakeBuilders, org.apache.camel.builder.endpoint.dsl.DataSetEndpointBuilderFactory.DataSetBuilders, @@ -96,22 +95,23 @@ public interface EndpointBuilderFactory org.apache.camel.builder.endpoint.dsl.DirectVmEndpointBuilderFactory.DirectVmBuilders, org.apache.camel.builder.endpoint.dsl.DisruptorEndpointBuilderFactory.DisruptorBuilders, org.apache.camel.builder.endpoint.dsl.DisruptorVmEndpointBuilderFactory.DisruptorVmBuilders, + org.apache.camel.builder.endpoint.dsl.DJLEndpointBuilderFactory.DJLBuilders, org.apache.camel.builder.endpoint.dsl.DnsEndpointBuilderFactory.DnsBuilders, org.apache.camel.builder.endpoint.dsl.DockerEndpointBuilderFactory.DockerBuilders, org.apache.camel.builder.endpoint.dsl.DozerEndpointBuilderFactory.DozerBuilders, org.apache.camel.builder.endpoint.dsl.DrillEndpointBuilderFactory.DrillBuilders, org.apache.camel.builder.endpoint.dsl.DropboxEndpointBuilderFactory.DropboxBuilders, org.apache.camel.builder.endpoint.dsl.ECS2EndpointBuilderFactory.ECS2Builders, - org.apache.camel.builder.endpoint.dsl.EKS2EndpointBuilderFactory.EKS2Builders, org.apache.camel.builder.endpoint.dsl.EhcacheEndpointBuilderFactory.EhcacheBuilders, + org.apache.camel.builder.endpoint.dsl.EKS2EndpointBuilderFactory.EKS2Builders, org.apache.camel.builder.endpoint.dsl.ElasticsearchEndpointBuilderFactory.ElasticsearchBuilders, org.apache.camel.builder.endpoint.dsl.ElsqlEndpointBuilderFactory.ElsqlBuilders, org.apache.camel.builder.endpoint.dsl.EtcdKeysEndpointBuilderFactory.EtcdKeysBuilders, org.apache.camel.builder.endpoint.dsl.EtcdStatsEndpointBuilderFactory.EtcdStatsBuilders, org.apache.camel.builder.endpoint.dsl.EtcdWatchEndpointBuilderFactory.EtcdWatchBuilders, + org.apache.camel.builder.endpoint.dsl.EventbridgeEndpointBuilderFactory.EventbridgeBuilders, org.apache.camel.builder.endpoint.dsl.EventEndpointBuilderFactory.EventBuilders, org.apache.camel.builder.endpoint.dsl.EventHubsEndpointBuilderFactory.EventHubsBuilders, - org.apache.camel.builder.endpoint.dsl.EventbridgeEndpointBuilderFactory.EventbridgeBuilders, org.apache.camel.builder.endpoint.dsl.ExecEndpointBuilderFactory.ExecBuilders, org.apache.camel.builder.endpoint.dsl.FacebookEndpointBuilderFactory.FacebookBuilders, org.apache.camel.builder.endpoint.dsl.FhirEndpointBuilderFactory.FhirBuilders, @@ -146,7 +146,6 @@ public interface EndpointBuilderFactory org.apache.camel.builder.endpoint.dsl.GridFsEndpointBuilderFactory.GridFsBuilders, org.apache.camel.builder.endpoint.dsl.GrpcEndpointBuilderFactory.GrpcBuilders, org.apache.camel.builder.endpoint.dsl.GuavaEventBusEndpointBuilderFactory.GuavaEventBusBuilders, - org.apache.camel.builder.endpoint.dsl.HBaseEndpointBuilderFactory.HBaseBuilders, org.apache.camel.builder.endpoint.dsl.HazelcastAtomicnumberEndpointBuilderFactory.HazelcastAtomicnumberBuilders, org.apache.camel.builder.endpoint.dsl.HazelcastInstanceEndpointBuilderFactory.HazelcastInstanceBuilders, org.apache.camel.builder.endpoint.dsl.HazelcastListEndpointBuilderFactory.HazelcastListBuilders, @@ -158,11 +157,10 @@ public interface EndpointBuilderFactory org.apache.camel.builder.endpoint.dsl.HazelcastSedaEndpointBuilderFactory.HazelcastSedaBuilders, org.apache.camel.builder.endpoint.dsl.HazelcastSetEndpointBuilderFactory.HazelcastSetBuilders, org.apache.camel.builder.endpoint.dsl.HazelcastTopicEndpointBuilderFactory.HazelcastTopicBuilders, + org.apache.camel.builder.endpoint.dsl.HBaseEndpointBuilderFactory.HBaseBuilders, org.apache.camel.builder.endpoint.dsl.HdfsEndpointBuilderFactory.HdfsBuilders, org.apache.camel.builder.endpoint.dsl.HttpEndpointBuilderFactory.HttpBuilders, org.apache.camel.builder.endpoint.dsl.IAM2EndpointBuilderFactory.IAM2Builders, - org.apache.camel.builder.endpoint.dsl.IOTAEndpointBuilderFactory.IOTABuilders, - org.apache.camel.builder.endpoint.dsl.IPFSEndpointBuilderFactory.IPFSBuilders, org.apache.camel.builder.endpoint.dsl.IgniteCacheEndpointBuilderFactory.IgniteCacheBuilders, org.apache.camel.builder.endpoint.dsl.IgniteComputeEndpointBuilderFactory.IgniteComputeBuilders, org.apache.camel.builder.endpoint.dsl.IgniteEventsEndpointBuilderFactory.IgniteEventsBuilders, @@ -173,34 +171,36 @@ public interface EndpointBuilderFactory org.apache.camel.builder.endpoint.dsl.InfinispanEmbeddedEndpointBuilderFactory.InfinispanEmbeddedBuilders, org.apache.camel.builder.endpoint.dsl.InfinispanRemoteEndpointBuilderFactory.InfinispanRemoteBuilders, org.apache.camel.builder.endpoint.dsl.InfluxDbEndpointBuilderFactory.InfluxDbBuilders, + org.apache.camel.builder.endpoint.dsl.IOTAEndpointBuilderFactory.IOTABuilders, + org.apache.camel.builder.endpoint.dsl.IPFSEndpointBuilderFactory.IPFSBuilders, org.apache.camel.builder.endpoint.dsl.IrcEndpointBuilderFactory.IrcBuilders, org.apache.camel.builder.endpoint.dsl.IronMQEndpointBuilderFactory.IronMQBuilders, org.apache.camel.builder.endpoint.dsl.JBPMEndpointBuilderFactory.JBPMBuilders, org.apache.camel.builder.endpoint.dsl.JCacheEndpointBuilderFactory.JCacheBuilders, - org.apache.camel.builder.endpoint.dsl.JGroupsEndpointBuilderFactory.JGroupsBuilders, - org.apache.camel.builder.endpoint.dsl.JGroupsRaftEndpointBuilderFactory.JGroupsRaftBuilders, - org.apache.camel.builder.endpoint.dsl.JMXEndpointBuilderFactory.JMXBuilders, - org.apache.camel.builder.endpoint.dsl.JSR356WebSocketEndpointBuilderFactory.JSR356WebSocketBuilders, org.apache.camel.builder.endpoint.dsl.JcloudsEndpointBuilderFactory.JcloudsBuilders, org.apache.camel.builder.endpoint.dsl.JcrEndpointBuilderFactory.JcrBuilders, org.apache.camel.builder.endpoint.dsl.JdbcEndpointBuilderFactory.JdbcBuilders, org.apache.camel.builder.endpoint.dsl.JettyHttpEndpointBuilderFactory.JettyHttpBuilders, + org.apache.camel.builder.endpoint.dsl.JGroupsEndpointBuilderFactory.JGroupsBuilders, + org.apache.camel.builder.endpoint.dsl.JGroupsRaftEndpointBuilderFactory.JGroupsRaftBuilders, org.apache.camel.builder.endpoint.dsl.JingEndpointBuilderFactory.JingBuilders, org.apache.camel.builder.endpoint.dsl.JiraEndpointBuilderFactory.JiraBuilders, org.apache.camel.builder.endpoint.dsl.JmsEndpointBuilderFactory.JmsBuilders, + org.apache.camel.builder.endpoint.dsl.JMXEndpointBuilderFactory.JMXBuilders, org.apache.camel.builder.endpoint.dsl.JoltEndpointBuilderFactory.JoltBuilders, org.apache.camel.builder.endpoint.dsl.JooqEndpointBuilderFactory.JooqBuilders, org.apache.camel.builder.endpoint.dsl.JpaEndpointBuilderFactory.JpaBuilders, org.apache.camel.builder.endpoint.dsl.JsltEndpointBuilderFactory.JsltBuilders, - org.apache.camel.builder.endpoint.dsl.JsonValidatorEndpointBuilderFactory.JsonValidatorBuilders, org.apache.camel.builder.endpoint.dsl.JsonataEndpointBuilderFactory.JsonataBuilders, + org.apache.camel.builder.endpoint.dsl.JsonValidatorEndpointBuilderFactory.JsonValidatorBuilders, + org.apache.camel.builder.endpoint.dsl.JSR356WebSocketEndpointBuilderFactory.JSR356WebSocketBuilders, org.apache.camel.builder.endpoint.dsl.Jt400EndpointBuilderFactory.Jt400Builders, - org.apache.camel.builder.endpoint.dsl.KMS2EndpointBuilderFactory.KMS2Builders, org.apache.camel.builder.endpoint.dsl.KafkaEndpointBuilderFactory.KafkaBuilders, org.apache.camel.builder.endpoint.dsl.KameletEndpointBuilderFactory.KameletBuilders, org.apache.camel.builder.endpoint.dsl.KeystoneEndpointBuilderFactory.KeystoneBuilders, org.apache.camel.builder.endpoint.dsl.Kinesis2EndpointBuilderFactory.Kinesis2Builders, org.apache.camel.builder.endpoint.dsl.KinesisFirehose2EndpointBuilderFactory.KinesisFirehose2Builders, + org.apache.camel.builder.endpoint.dsl.KMS2EndpointBuilderFactory.KMS2Builders, org.apache.camel.builder.endpoint.dsl.KubernetesConfigMapsEndpointBuilderFactory.KubernetesConfigMapsBuilders, org.apache.camel.builder.endpoint.dsl.KubernetesCustomResourcesEndpointBuilderFactory.KubernetesCustomResourcesBuilders, org.apache.camel.builder.endpoint.dsl.KubernetesDeploymentsEndpointBuilderFactory.KubernetesDeploymentsBuilders, @@ -224,13 +224,11 @@ public interface EndpointBuilderFactory org.apache.camel.builder.endpoint.dsl.LogEndpointBuilderFactory.LogBuilders, org.apache.camel.builder.endpoint.dsl.LuceneEndpointBuilderFactory.LuceneBuilders, org.apache.camel.builder.endpoint.dsl.LumberjackEndpointBuilderFactory.LumberjackBuilders, - org.apache.camel.builder.endpoint.dsl.MQ2EndpointBuilderFactory.MQ2Builders, - org.apache.camel.builder.endpoint.dsl.MSK2EndpointBuilderFactory.MSK2Builders, org.apache.camel.builder.endpoint.dsl.MailEndpointBuilderFactory.MailBuilders, org.apache.camel.builder.endpoint.dsl.MasterEndpointBuilderFactory.MasterBuilders, org.apache.camel.builder.endpoint.dsl.MetricsEndpointBuilderFactory.MetricsBuilders, - org.apache.camel.builder.endpoint.dsl.MicroProfileMetricsEndpointBuilderFactory.MicroProfileMetricsBuilders, org.apache.camel.builder.endpoint.dsl.MicrometerEndpointBuilderFactory.MicrometerBuilders, + org.apache.camel.builder.endpoint.dsl.MicroProfileMetricsEndpointBuilderFactory.MicroProfileMetricsBuilders, org.apache.camel.builder.endpoint.dsl.MiloClientEndpointBuilderFactory.MiloClientBuilders, org.apache.camel.builder.endpoint.dsl.MiloServerEndpointBuilderFactory.MiloServerBuilders, org.apache.camel.builder.endpoint.dsl.MinaEndpointBuilderFactory.MinaBuilders, @@ -238,6 +236,8 @@ public interface EndpointBuilderFactory org.apache.camel.builder.endpoint.dsl.MllpEndpointBuilderFactory.MllpBuilders, org.apache.camel.builder.endpoint.dsl.MockEndpointBuilderFactory.MockBuilders, org.apache.camel.builder.endpoint.dsl.MongoDbEndpointBuilderFactory.MongoDbBuilders, + org.apache.camel.builder.endpoint.dsl.MQ2EndpointBuilderFactory.MQ2Builders, + org.apache.camel.builder.endpoint.dsl.MSK2EndpointBuilderFactory.MSK2Builders, org.apache.camel.builder.endpoint.dsl.MsvEndpointBuilderFactory.MsvBuilders, org.apache.camel.builder.endpoint.dsl.MustacheEndpointBuilderFactory.MustacheBuilders, org.apache.camel.builder.endpoint.dsl.MvelEndpointBuilderFactory.MvelBuilders, @@ -245,9 +245,9 @@ public interface EndpointBuilderFactory org.apache.camel.builder.endpoint.dsl.MyBatisEndpointBuilderFactory.MyBatisBuilders, org.apache.camel.builder.endpoint.dsl.NagiosEndpointBuilderFactory.NagiosBuilders, org.apache.camel.builder.endpoint.dsl.NatsEndpointBuilderFactory.NatsBuilders, - org.apache.camel.builder.endpoint.dsl.NetWeaverEndpointBuilderFactory.NetWeaverBuilders, org.apache.camel.builder.endpoint.dsl.NettyEndpointBuilderFactory.NettyBuilders, org.apache.camel.builder.endpoint.dsl.NettyHttpEndpointBuilderFactory.NettyHttpBuilders, + org.apache.camel.builder.endpoint.dsl.NetWeaverEndpointBuilderFactory.NetWeaverBuilders, org.apache.camel.builder.endpoint.dsl.NeutronEndpointBuilderFactory.NeutronBuilders, org.apache.camel.builder.endpoint.dsl.NitriteEndpointBuilderFactory.NitriteBuilders, org.apache.camel.builder.endpoint.dsl.NovaEndpointBuilderFactory.NovaBuilders, @@ -275,13 +275,12 @@ public interface EndpointBuilderFactory org.apache.camel.builder.endpoint.dsl.RedisEndpointBuilderFactory.RedisBuilders, org.apache.camel.builder.endpoint.dsl.RefEndpointBuilderFactory.RefBuilders, org.apache.camel.builder.endpoint.dsl.RestApiEndpointBuilderFactory.RestApiBuilders, + org.apache.camel.builder.endpoint.dsl.ResteasyEndpointBuilderFactory.ResteasyBuilders, org.apache.camel.builder.endpoint.dsl.RestEndpointBuilderFactory.RestBuilders, org.apache.camel.builder.endpoint.dsl.RestOpenApiEndpointBuilderFactory.RestOpenApiBuilders, org.apache.camel.builder.endpoint.dsl.RestSwaggerEndpointBuilderFactory.RestSwaggerBuilders, - org.apache.camel.builder.endpoint.dsl.ResteasyEndpointBuilderFactory.ResteasyBuilders, org.apache.camel.builder.endpoint.dsl.RobotFrameworkEndpointBuilderFactory.RobotFrameworkBuilders, org.apache.camel.builder.endpoint.dsl.RssEndpointBuilderFactory.RssBuilders, - org.apache.camel.builder.endpoint.dsl.STS2EndpointBuilderFactory.STS2Builders, org.apache.camel.builder.endpoint.dsl.SagaEndpointBuilderFactory.SagaBuilders, org.apache.camel.builder.endpoint.dsl.SalesforceEndpointBuilderFactory.SalesforceBuilders, org.apache.camel.builder.endpoint.dsl.SchedulerEndpointBuilderFactory.SchedulerBuilders, @@ -322,6 +321,7 @@ public interface EndpointBuilderFactory org.apache.camel.builder.endpoint.dsl.StompEndpointBuilderFactory.StompBuilders, org.apache.camel.builder.endpoint.dsl.StreamEndpointBuilderFactory.StreamBuilders, org.apache.camel.builder.endpoint.dsl.StringTemplateEndpointBuilderFactory.StringTemplateBuilders, + org.apache.camel.builder.endpoint.dsl.STS2EndpointBuilderFactory.STS2Builders, org.apache.camel.builder.endpoint.dsl.StubEndpointBuilderFactory.StubBuilders, org.apache.camel.builder.endpoint.dsl.SwiftEndpointBuilderFactory.SwiftBuilders, org.apache.camel.builder.endpoint.dsl.TelegramEndpointBuilderFactory.TelegramBuilders, @@ -351,10 +351,10 @@ public interface EndpointBuilderFactory org.apache.camel.builder.endpoint.dsl.WsEndpointBuilderFactory.WsBuilders, org.apache.camel.builder.endpoint.dsl.XChangeEndpointBuilderFactory.XChangeBuilders, org.apache.camel.builder.endpoint.dsl.XJEndpointBuilderFactory.XJBuilders, - org.apache.camel.builder.endpoint.dsl.XQueryEndpointBuilderFactory.XQueryBuilders, org.apache.camel.builder.endpoint.dsl.XmlSignerEndpointBuilderFactory.XmlSignerBuilders, org.apache.camel.builder.endpoint.dsl.XmlVerifierEndpointBuilderFactory.XmlVerifierBuilders, org.apache.camel.builder.endpoint.dsl.XmppEndpointBuilderFactory.XmppBuilders, + org.apache.camel.builder.endpoint.dsl.XQueryEndpointBuilderFactory.XQueryBuilders, org.apache.camel.builder.endpoint.dsl.XsltEndpointBuilderFactory.XsltBuilders, org.apache.camel.builder.endpoint.dsl.XsltSaxonEndpointBuilderFactory.XsltSaxonBuilders, org.apache.camel.builder.endpoint.dsl.YammerEndpointBuilderFactory.YammerBuilders, diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java index d93bc1e..38293b9 100644 --- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java +++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java @@ -25,14 +25,12 @@ import javax.annotation.Generated; @Generated("org.apache.camel.maven.packaging.EndpointDslMojo") public interface EndpointBuilders extends - org.apache.camel.builder.endpoint.dsl.AMQPEndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.AS2EndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.AWS2EC2EndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.AWS2S3EndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.ActiveMQEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.AhcEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.AMQPEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.ApnsEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.ArangoDbEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.AS2EndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.AsteriskEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.Athena2EndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.AtlasMapEndpointBuilderFactory, @@ -46,16 +44,16 @@ public interface EndpointBuilders org.apache.camel.builder.endpoint.dsl.AtomixSetEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.AtomixValueEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.AvroEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.AWS2EC2EndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.AWS2S3EndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.BeanEndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.BeanValidatorEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.BeanstalkEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.BeanValidatorEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.BlobEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.BonitaEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.BoxEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.BraintreeEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.BrowseEndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.CMEndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.CMISEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.CaffeineCacheEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.CaffeineLoadCacheEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.CassandraEndpointBuilderFactory, @@ -64,19 +62,20 @@ public interface EndpointBuilders org.apache.camel.builder.endpoint.dsl.CinderEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.ClassEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.ClientEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.CMEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.CMISEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.CoAPEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.CometdEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.ConsulEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.ControlBusEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.CordaEndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.CouchDbEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.CouchbaseEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.CouchDbEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.CronEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.CryptoCmsEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.Cw2EndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.CxfEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.CxfRsEndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.DJLEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.DataFormatEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.DataLakeEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.DataSetEndpointBuilderFactory, @@ -93,22 +92,23 @@ public interface EndpointBuilders org.apache.camel.builder.endpoint.dsl.DirectVmEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.DisruptorEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.DisruptorVmEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.DJLEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.DnsEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.DockerEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.DozerEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.DrillEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.DropboxEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.ECS2EndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.EKS2EndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.EhcacheEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.EKS2EndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.ElasticsearchEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.ElsqlEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.EtcdKeysEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.EtcdStatsEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.EtcdWatchEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.EventbridgeEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.EventEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.EventHubsEndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.EventbridgeEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.ExecEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.FacebookEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.FhirEndpointBuilderFactory, @@ -143,7 +143,6 @@ public interface EndpointBuilders org.apache.camel.builder.endpoint.dsl.GridFsEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.GrpcEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.GuavaEventBusEndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.HBaseEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.HazelcastAtomicnumberEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.HazelcastInstanceEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.HazelcastListEndpointBuilderFactory, @@ -155,11 +154,10 @@ public interface EndpointBuilders org.apache.camel.builder.endpoint.dsl.HazelcastSedaEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.HazelcastSetEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.HazelcastTopicEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.HBaseEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.HdfsEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.HttpEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.IAM2EndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.IOTAEndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.IPFSEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.IgniteCacheEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.IgniteComputeEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.IgniteEventsEndpointBuilderFactory, @@ -170,34 +168,36 @@ public interface EndpointBuilders org.apache.camel.builder.endpoint.dsl.InfinispanEmbeddedEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.InfinispanRemoteEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.InfluxDbEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.IOTAEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.IPFSEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.IrcEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.IronMQEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.JBPMEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.JCacheEndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.JGroupsEndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.JGroupsRaftEndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.JMXEndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.JSR356WebSocketEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.JcloudsEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.JcrEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.JdbcEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.JettyHttpEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.JGroupsEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.JGroupsRaftEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.JingEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.JiraEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.JmsEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.JMXEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.JoltEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.JooqEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.JpaEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.JsltEndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.JsonValidatorEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.JsonataEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.JsonValidatorEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.JSR356WebSocketEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.Jt400EndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.KMS2EndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.KafkaEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.KameletEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.KeystoneEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.Kinesis2EndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.KinesisFirehose2EndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.KMS2EndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.KubernetesConfigMapsEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.KubernetesCustomResourcesEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.KubernetesDeploymentsEndpointBuilderFactory, @@ -221,13 +221,11 @@ public interface EndpointBuilders org.apache.camel.builder.endpoint.dsl.LogEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.LuceneEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.LumberjackEndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.MQ2EndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.MSK2EndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.MailEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.MasterEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.MetricsEndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.MicroProfileMetricsEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.MicrometerEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.MicroProfileMetricsEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.MiloClientEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.MiloServerEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.MinaEndpointBuilderFactory, @@ -235,6 +233,8 @@ public interface EndpointBuilders org.apache.camel.builder.endpoint.dsl.MllpEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.MockEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.MongoDbEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.MQ2EndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.MSK2EndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.MsvEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.MustacheEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.MvelEndpointBuilderFactory, @@ -242,9 +242,9 @@ public interface EndpointBuilders org.apache.camel.builder.endpoint.dsl.MyBatisEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.NagiosEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.NatsEndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.NetWeaverEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.NettyEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.NettyHttpEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.NetWeaverEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.NeutronEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.NitriteEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.NovaEndpointBuilderFactory, @@ -272,13 +272,12 @@ public interface EndpointBuilders org.apache.camel.builder.endpoint.dsl.RedisEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.RefEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.RestApiEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.ResteasyEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.RestEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.RestOpenApiEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.RestSwaggerEndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.ResteasyEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.RobotFrameworkEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.RssEndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.STS2EndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.SagaEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.SalesforceEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.SchedulerEndpointBuilderFactory, @@ -319,6 +318,7 @@ public interface EndpointBuilders org.apache.camel.builder.endpoint.dsl.StompEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.StreamEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.StringTemplateEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.STS2EndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.StubEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.SwiftEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.TelegramEndpointBuilderFactory, @@ -348,10 +348,10 @@ public interface EndpointBuilders org.apache.camel.builder.endpoint.dsl.WsEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.XChangeEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.XJEndpointBuilderFactory, - org.apache.camel.builder.endpoint.dsl.XQueryEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.XmlSignerEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.XmlVerifierEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.XmppEndpointBuilderFactory, + org.apache.camel.builder.endpoint.dsl.XQueryEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.XsltEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.XsltSaxonEndpointBuilderFactory, org.apache.camel.builder.endpoint.dsl.YammerEndpointBuilderFactory, diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SimpleNotificationEndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SimpleNotificationEndpointBuilderFactory.java index e77fbc5..f3ecafd 100644 --- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SimpleNotificationEndpointBuilderFactory.java +++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SimpleNotificationEndpointBuilderFactory.java @@ -52,6 +52,21 @@ public interface SimpleNotificationEndpointBuilderFactory { return this; } /** + * Fully qualified smn service url. Carries higher precedence than + * region parameter based client initialization. + * + * The option is a: <code>java.lang.String</code> type. + * + * Group: producer + * + * @param endpoint the value to set + * @return the dsl builder + */ + default SimpleNotificationEndpointBuilder endpoint(String endpoint) { + doSetProperty("endpoint", endpoint); + return this; + } + /** * Ignore SSL verification. * * The option is a: <code>boolean</code> type. @@ -265,7 +280,8 @@ public interface SimpleNotificationEndpointBuilderFactory { return this; } /** - * SMN service region. + * SMN service region. This is lower precedence than endpoint based + * configuration. * * The option is a: <code>java.lang.String</code> type. * diff --git a/docs/components/modules/ROOT/pages/hwcloud-smn-component.adoc b/docs/components/modules/ROOT/pages/hwcloud-smn-component.adoc index 6311d3a..3fa58a98 100644 --- a/docs/components/modules/ROOT/pages/hwcloud-smn-component.adoc +++ b/docs/components/modules/ROOT/pages/hwcloud-smn-component.adoc @@ -1,7 +1,7 @@ [[hwcloud-smn-component]] = SimpleNotification Component //THIS FILE IS COPIED: EDIT THE SOURCE FILE: -:page-source: components/camel-huaweicloud-smn/src/main/docs/hwcloud-smn-component.adoc +:page-source: componentscamel-huaweicloud-smnsrcmaindocshwcloud-smn-component.adoc :docTitle: SimpleNotification :artifactId: camel-huaweicloud-smn :description: Huawei Cloud component to integrate with SimpleNotification services @@ -73,13 +73,14 @@ with the following path and query parameters: |=== -=== Query Parameters (13 parameters): +=== Query Parameters (14 parameters): [width="100%",cols="2,5,^1,2",options="header"] |=== | Name | Description | Default | Type | *authKey* (producer) | *Required* Authentication key for the cloud user | | String +| *endpoint* (producer) | Fully qualified smn service url. Carries higher precedence than region parameter based client initialization | | String | *ignoreSslVerification* (producer) | Ignore SSL verification | false | boolean | *lazyStartProducer* (producer) | 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 starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...] | *messageTtl* (producer) | TTL for published message | 3600 | int @@ -89,7 +90,7 @@ with the following path and query parameters: | *proxyPassword* (producer) | Proxy authentication password | | String | *proxyPort* (producer) | Proxy server port | | int | *proxyUser* (producer) | Proxy authentication user | | String -| *region* (producer) | *Required* SMN service region | | String +| *region* (producer) | *Required* SMN service region. This is lower precedence than endpoint based configuration | | String | *secretKey* (producer) | *Required* Secret key for the cloud user | | String | *serviceKeys* (producer) | Configuration object for cloud service authentication | | ServiceKeys |=== diff --git a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_10.adoc b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_10.adoc index db9a465..8ef9de69 100644 --- a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_10.adoc +++ b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_10.adoc @@ -30,3 +30,11 @@ in the previous version. New version tries to convert the payload into `InpuStre only if conversion to `InputStream` is not possible. Order of the basic payload types (like `String`, `Map`, `File`) has not been changed. + +=== camel-huaweicloud-smn + +Initialization options for SMN client has slightly changed. + +Earlier, the library configured the smn server url based on the region parameter provided in endpoint configurations. Now, it provides more flexibility by allowing camel users by providing fully qualified http url for more customizability. + +When endpoint URL is provided, it carries the higher precedence than region based configuration. Any region configuration entered along with endpoint url will be ignored. \ No newline at end of file