You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2020/01/15 18:57:26 UTC

[camel] branch master updated (14643b8 -> a5940c4)

This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git.


    from 14643b8  Fix the missing static keyword (again)
     new e16e7af  CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate
     new 695bb78  CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, renamed to Translate2 avoiding clashes in endpoint-dsl
     new 8d4ce16  CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, regen
     new b1c224e  CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, Added camel-aws2 and camel-aws2-translate Karaf features
     new 50bd79a  CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, Added karaf Itests for camel-aws2-translate and camel-aws2
     new 93a755a  CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, Fixed CS
     new 9060d38  CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, Fixed some information
     new c7d093f  CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, Regen
     new a5940c4  CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, Regen again

The 9 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 apache-camel/pom.xml                               |   5 +
 apache-camel/src/main/descriptors/common-bin.xml   |   1 +
 bom/camel-bom/pom.xml                              |   5 +
 components/camel-aws2-translate/pom.xml            |  86 +++++
 .../src/main/docs/aws2-translate-component.adoc    | 167 +++++++++
 .../aws2/translate/Translate2Component.java        | 120 +++++++
 .../Translate2ComponentVerifierExtension.java      |  86 +++++
 .../aws2/translate/Translate2Configuration.java    | 192 +++++++++++
 .../aws2/translate/Translate2Constants.java        |  27 ++
 .../aws2/translate/Translate2Endpoint.java         | 119 +++++++
 .../aws2/translate/Translate2LanguageEnum.java     |  36 ++
 .../aws2/translate/Translate2Operations.java       |  22 ++
 .../aws2/translate/Translate2Producer.java         | 129 +++++++
 .../aws2/translate/AmazonAWSTranslateMock.java     |  42 +++
 .../translate/Translate2ProducerSpringTest.java    |  57 +++
 .../aws2/translate/Translate2ProducerTest.java     |  85 +++++
 .../Translate2ProducerIntegrationTest.java         |  87 +++++
 .../src/test/resources/log4j2.properties           |  28 ++
 .../Translate2ComponentSpringTest-context.xml      |  35 ++
 .../src/main/docs/salesforce-component.adoc        |  12 +-
 .../builder/endpoint/EndpointBuilderFactory.java   |  17 +
 .../camel/builder/endpoint/EndpointBuilders.java   |  17 +
 .../dsl/Translate2EndpointBuilderFactory.java      | 383 +++++++++++++++++++++
 docs/components/modules/ROOT/nav.adoc              |   1 +
 .../ROOT/pages/aws2-translate-component.adoc       | 166 +++++++++
 docs/components/modules/ROOT/pages/index.adoc      |   8 +-
 .../modules/ROOT/pages/salesforce-component.adoc   |  12 +-
 parent/pom.xml                                     |   6 +
 .../karaf/features/src/main/resources/features.xml |  14 +
 .../apache/camel/itest/karaf/CamelAws2Test.java    |  33 ++
 .../camel/itest/karaf/CamelAws2TranslateTest.java  |  33 ++
 31 files changed, 2016 insertions(+), 15 deletions(-)
 create mode 100644 components/camel-aws2-translate/pom.xml
 create mode 100644 components/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc
 create mode 100644 components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Component.java
 create mode 100644 components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2ComponentVerifierExtension.java
 create mode 100644 components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Configuration.java
 create mode 100644 components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Constants.java
 create mode 100644 components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Endpoint.java
 create mode 100644 components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2LanguageEnum.java
 create mode 100644 components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Operations.java
 create mode 100644 components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Producer.java
 create mode 100644 components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/AmazonAWSTranslateMock.java
 create mode 100644 components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/Translate2ProducerSpringTest.java
 create mode 100644 components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/Translate2ProducerTest.java
 create mode 100644 components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/integration/Translate2ProducerIntegrationTest.java
 create mode 100644 components/camel-aws2-translate/src/test/resources/log4j2.properties
 create mode 100644 components/camel-aws2-translate/src/test/resources/org/apache/camel/component/aws2/translate/Translate2ComponentSpringTest-context.xml
 create mode 100644 core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/Translate2EndpointBuilderFactory.java
 create mode 100644 docs/components/modules/ROOT/pages/aws2-translate-component.adoc
 create mode 100644 tests/camel-itest-karaf/src/test/java/org/apache/camel/itest/karaf/CamelAws2Test.java
 create mode 100644 tests/camel-itest-karaf/src/test/java/org/apache/camel/itest/karaf/CamelAws2TranslateTest.java


[camel] 05/09: CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, Added karaf Itests for camel-aws2-translate and camel-aws2

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 50bd79a3a43eae7f024e74818434101c8bc1e4fa
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Jan 15 18:48:24 2020 +0100

    CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, Added karaf Itests for camel-aws2-translate and camel-aws2
---
 .../apache/camel/itest/karaf/CamelAws2Test.java    | 33 ++++++++++++++++++++++
 .../camel/itest/karaf/CamelAws2TranslateTest.java  | 33 ++++++++++++++++++++++
 2 files changed, 66 insertions(+)

diff --git a/tests/camel-itest-karaf/src/test/java/org/apache/camel/itest/karaf/CamelAws2Test.java b/tests/camel-itest-karaf/src/test/java/org/apache/camel/itest/karaf/CamelAws2Test.java
new file mode 100644
index 0000000..bd1e471
--- /dev/null
+++ b/tests/camel-itest-karaf/src/test/java/org/apache/camel/itest/karaf/CamelAws2Test.java
@@ -0,0 +1,33 @@
+/*
+ * 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.itest.karaf;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.junit.PaxExam;
+
+@RunWith(PaxExam.class)
+public class CamelAws2Test extends BaseKarafTest {
+
+    public static final String COMPONENT = extractName(CamelAws2Test.class);
+
+    @Test
+    public void test() throws Exception {
+        testComponent(COMPONENT, "aws2-translate");
+    }
+
+}
diff --git a/tests/camel-itest-karaf/src/test/java/org/apache/camel/itest/karaf/CamelAws2TranslateTest.java b/tests/camel-itest-karaf/src/test/java/org/apache/camel/itest/karaf/CamelAws2TranslateTest.java
new file mode 100644
index 0000000..b9aa0cb
--- /dev/null
+++ b/tests/camel-itest-karaf/src/test/java/org/apache/camel/itest/karaf/CamelAws2TranslateTest.java
@@ -0,0 +1,33 @@
+/*
+ * 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.itest.karaf;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.junit.PaxExam;
+
+@RunWith(PaxExam.class)
+public class CamelAws2TranslateTest extends BaseKarafTest {
+
+    public static final String COMPONENT = extractName(CamelAws2TranslateTest.class);
+
+    @Test
+    public void test() throws Exception {
+    	testComponent(COMPONENT);
+    }
+
+}


[camel] 06/09: CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, Fixed CS

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 93a755a89f938dd61edc8965f807f42941ecb3c5
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Jan 15 18:53:01 2020 +0100

    CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, Fixed CS
---
 .../aws2/translate/Translate2Component.java        |  3 ---
 .../Translate2ComponentVerifierExtension.java      |  3 +--
 .../aws2/translate/Translate2Configuration.java    |  5 ++---
 .../aws2/translate/Translate2Endpoint.java         | 17 +++++++----------
 .../aws2/translate/Translate2Producer.java         |  1 -
 .../aws2/translate/AmazonAWSTranslateMock.java     | 22 +++++++++++-----------
 .../translate/Translate2ProducerSpringTest.java    |  3 ---
 .../aws2/translate/Translate2ProducerTest.java     |  2 --
 8 files changed, 21 insertions(+), 35 deletions(-)

diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Component.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Component.java
index 82cbee0..a1642c3 100644
--- a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Component.java
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Component.java
@@ -19,14 +19,11 @@ package org.apache.camel.component.aws2.translate;
 import java.util.Map;
 import java.util.Set;
 
-
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
-import org.apache.camel.util.ObjectHelper;
-
 import software.amazon.awssdk.services.translate.TranslateClient;
 
 /**
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2ComponentVerifierExtension.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2ComponentVerifierExtension.java
index f015962..282574d 100644
--- a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2ComponentVerifierExtension.java
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2ComponentVerifierExtension.java
@@ -22,7 +22,6 @@ import org.apache.camel.component.extension.verifier.DefaultComponentVerifierExt
 import org.apache.camel.component.extension.verifier.ResultBuilder;
 import org.apache.camel.component.extension.verifier.ResultErrorBuilder;
 import org.apache.camel.component.extension.verifier.ResultErrorHelper;
-
 import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider;
 import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider;
 import software.amazon.awssdk.core.exception.SdkClientException;
@@ -73,7 +72,7 @@ public class Translate2ComponentVerifierExtension extends DefaultComponentVerifi
             TranslateClient client = clientBuilder.credentialsProvider(credentialsProvider).region(Region.of(configuration.getRegion())).build();
             TranslateTextRequest req = TranslateTextRequest.builder().sourceLanguageCode("it").targetLanguageCode("en").text("ciao").build();
             client.translateText(req);
-		} catch (SdkClientException e) {
+        } catch (SdkClientException e) {
             ResultErrorBuilder errorBuilder = ResultErrorBuilder.withCodeAndDescription(VerificationError.StandardCode.AUTHENTICATION, e.getMessage())
                 .detail("aws_translate_exception_message", e.getMessage()).detail(VerificationError.ExceptionAttribute.EXCEPTION_CLASS, e.getClass().getName())
                 .detail(VerificationError.ExceptionAttribute.EXCEPTION_INSTANCE, e);
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Configuration.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Configuration.java
index 449a947..3ac1def 100644
--- a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Configuration.java
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Configuration.java
@@ -16,14 +16,13 @@
  */
 package org.apache.camel.component.aws2.translate;
 
-import software.amazon.awssdk.core.Protocol;
-import software.amazon.awssdk.services.translate.TranslateClient;
-
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
+import software.amazon.awssdk.core.Protocol;
+import software.amazon.awssdk.services.translate.TranslateClient;
 
 @UriParams
 public class Translate2Configuration implements Cloneable {
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Endpoint.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Endpoint.java
index c5c1394..be0fd7b 100644
--- a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Endpoint.java
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Endpoint.java
@@ -26,7 +26,6 @@ import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.support.ScheduledPollEndpoint;
 import org.apache.camel.util.ObjectHelper;
-
 import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
 import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
 import software.amazon.awssdk.http.apache.ApacheHttpClient;
@@ -89,20 +88,18 @@ public class Translate2Endpoint extends ScheduledPollEndpoint {
     TranslateClient createTranslateClient() {
         TranslateClient client = null;
         TranslateClientBuilder clientBuilder = TranslateClient.builder();
-    	ProxyConfiguration.Builder proxyConfig = null;
-    	ApacheHttpClient.Builder httpClientBuilder = null;
+        ProxyConfiguration.Builder proxyConfig = null;
+        ApacheHttpClient.Builder httpClientBuilder = null;
         boolean isClientConfigFound = false;
         if (ObjectHelper.isNotEmpty(configuration.getProxyHost()) && ObjectHelper.isNotEmpty(configuration.getProxyPort())) {
-        	proxyConfig = ProxyConfiguration.builder();
-        	URI proxyEndpoint = URI.create(configuration.getProxyProtocol() + configuration.getProxyHost() + configuration.getProxyPort());
-        	proxyConfig.endpoint(proxyEndpoint);
-        	httpClientBuilder = 
-        	        ApacheHttpClient.builder()
-        	                        .proxyConfiguration(proxyConfig.build());
+            proxyConfig = ProxyConfiguration.builder();
+            URI proxyEndpoint = URI.create(configuration.getProxyProtocol() + configuration.getProxyHost() + configuration.getProxyPort());
+            proxyConfig.endpoint(proxyEndpoint);
+            httpClientBuilder = ApacheHttpClient.builder().proxyConfiguration(proxyConfig.build());
             isClientConfigFound = true;
         }
         if (configuration.getAccessKey() != null && configuration.getSecretKey() != null) {
-        	AwsBasicCredentials cred = AwsBasicCredentials.create(configuration.getAccessKey(), configuration.getSecretKey());
+            AwsBasicCredentials cred = AwsBasicCredentials.create(configuration.getAccessKey(), configuration.getSecretKey());
             if (isClientConfigFound) {
                 clientBuilder = clientBuilder.httpClientBuilder(httpClientBuilder).credentialsProvider(StaticCredentialsProvider.create(cred));
             } else {
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Producer.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Producer.java
index 0cea0a5..8d083af 100644
--- a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Producer.java
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Producer.java
@@ -24,7 +24,6 @@ import org.apache.camel.Message;
 import org.apache.camel.support.DefaultProducer;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.URISupport;
-
 import software.amazon.awssdk.awscore.exception.AwsServiceException;
 import software.amazon.awssdk.services.translate.TranslateClient;
 import software.amazon.awssdk.services.translate.model.TranslateTextRequest;
diff --git a/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/AmazonAWSTranslateMock.java b/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/AmazonAWSTranslateMock.java
index 77d332b..ea4a809 100644
--- a/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/AmazonAWSTranslateMock.java
+++ b/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/AmazonAWSTranslateMock.java
@@ -24,19 +24,19 @@ public class AmazonAWSTranslateMock implements TranslateClient {
 
     @Override
     public TranslateTextResponse translateText(TranslateTextRequest request) {
-    	TranslateTextResponse result = TranslateTextResponse.builder().translatedText("Hello").build();
+        TranslateTextResponse result = TranslateTextResponse.builder().translatedText("Hello").build();
         return result;
     }
 
-	@Override
-	public String serviceName() {
-		// TODO Auto-generated method stub
-		return null;
-	}
+    @Override
+    public String serviceName() {
+        // TODO Auto-generated method stub
+        return null;
+    }
 
-	@Override
-	public void close() {
-		// TODO Auto-generated method stub
-		
-	}
+    @Override
+    public void close() {
+        // TODO Auto-generated method stub
+
+    }
 }
diff --git a/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/Translate2ProducerSpringTest.java b/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/Translate2ProducerSpringTest.java
index 996e610..90e6c95 100644
--- a/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/Translate2ProducerSpringTest.java
+++ b/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/Translate2ProducerSpringTest.java
@@ -19,9 +19,6 @@ package org.apache.camel.component.aws2.translate;
 import org.apache.camel.EndpointInject;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
-import org.apache.camel.component.aws2.translate.Translate2Constants;
-import org.apache.camel.component.aws2.translate.Translate2LanguageEnum;
-import org.apache.camel.component.aws2.translate.Translate2Operations;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.spring.CamelSpringTestSupport;
 import org.junit.Test;
diff --git a/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/Translate2ProducerTest.java b/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/Translate2ProducerTest.java
index 785d138..2205b61 100644
--- a/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/Translate2ProducerTest.java
+++ b/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/Translate2ProducerTest.java
@@ -21,8 +21,6 @@ import org.apache.camel.EndpointInject;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.aws2.translate.Translate2Constants;
-import org.apache.camel.component.aws2.translate.Translate2LanguageEnum;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Test;


[camel] 09/09: CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, Regen again

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit a5940c4a81972f39ffec0606258a79b086fa62ae
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Jan 15 19:55:11 2020 +0100

    CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, Regen again
---
 .../src/main/docs/aws2-translate-component.adoc         |  4 +++-
 .../camel/builder/endpoint/EndpointBuilderFactory.java  | 17 +++++++++++++++++
 .../apache/camel/builder/endpoint/EndpointBuilders.java | 17 +++++++++++++++++
 .../endpoint/dsl/Translate2EndpointBuilderFactory.java  |  2 +-
 4 files changed, 38 insertions(+), 2 deletions(-)

diff --git a/components/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc b/components/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc
index 7dbb47d..5de4d3c 100644
--- a/components/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc
+++ b/components/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc
@@ -1,6 +1,8 @@
+[[aws2-translate-component]]
 = AWS 2 Translate Component
 
 *Since Camel 3.1*
+
 *Since Camel 3.1*
 
 
@@ -162,4 +164,4 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `$\{camel-version\}` must be replaced by the actual version of Camel.
+where `$\{camel-version\}` must be replaced by the actual version of Camel.
\ No newline at end of file
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
index 96570ec..ac732ea 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
@@ -6006,6 +6006,23 @@ public interface EndpointBuilderFactory {
     }
 
     /**
+     * AWS 2 Translate (camel-aws2-translate)
+     * The aws2-translate component is used for managing Amazon Translate
+     *
+     * Category: cloud,management
+     * Since: 3.1
+     * Maven coordinates: org.apache.camel:camel-aws2-translate
+     *
+     * Syntax: <code>aws2-translate:label</code>
+     *
+     * Path parameter: label (required)
+     * Logical name
+     */
+    default org.apache.camel.builder.endpoint.dsl.Translate2EndpointBuilderFactory.Translate2EndpointBuilder aws2Translate(String path) {
+        return org.apache.camel.builder.endpoint.dsl.Translate2EndpointBuilderFactory.aws2Translate(path);
+    }
+
+    /**
      * AWS Translate (camel-aws-translate)
      * The aws-translate component is used for managing Amazon Translate
      *
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointBuilders.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
index f3eaa25..70bf285 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
@@ -5990,6 +5990,23 @@ public interface EndpointBuilders {
     }
 
     /**
+     * AWS 2 Translate (camel-aws2-translate)
+     * The aws2-translate component is used for managing Amazon Translate
+     *
+     * Category: cloud,management
+     * Since: 3.1
+     * Maven coordinates: org.apache.camel:camel-aws2-translate
+     *
+     * Syntax: <code>aws2-translate:label</code>
+     *
+     * Path parameter: label (required)
+     * Logical name
+     */
+    static org.apache.camel.builder.endpoint.dsl.Translate2EndpointBuilderFactory.Translate2EndpointBuilder aws2Translate(String path) {
+        return org.apache.camel.builder.endpoint.dsl.Translate2EndpointBuilderFactory.aws2Translate(path);
+    }
+
+    /**
      * AWS Translate (camel-aws-translate)
      * The aws-translate component is used for managing Amazon Translate
      *
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/Translate2EndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/Translate2EndpointBuilderFactory.java
index bea8acf..292eb4a 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/Translate2EndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/Translate2EndpointBuilderFactory.java
@@ -372,7 +372,7 @@ public interface Translate2EndpointBuilderFactory {
      * Path parameter: label (required)
      * Logical name
      */
-    default Translate2EndpointBuilder aws2Translate(String path) {
+    static Translate2EndpointBuilder aws2Translate(String path) {
         class Translate2EndpointBuilderImpl extends AbstractEndpointBuilder implements Translate2EndpointBuilder, AdvancedTranslate2EndpointBuilder {
             public Translate2EndpointBuilderImpl(String path) {
                 super("aws2-translate", path);


[camel] 07/09: CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, Fixed some information

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 9060d389950fd0a4d530c100d96c6004fd8a4fef
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Jan 15 18:55:15 2020 +0100

    CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, Fixed some information
---
 .../src/main/docs/aws2-translate-component.adoc                  | 9 +++++----
 .../camel/component/aws2/translate/Translate2Component.java      | 2 +-
 .../camel/component/aws2/translate/Translate2Constants.java      | 2 +-
 .../camel/component/aws2/translate/Translate2Endpoint.java       | 2 +-
 .../camel/component/aws2/translate/Translate2Producer.java       | 2 +-
 .../builder/endpoint/dsl/Translate2EndpointBuilderFactory.java   | 6 +++---
 6 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/components/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc b/components/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc
index cada20c..7dbb47d 100644
--- a/components/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc
+++ b/components/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc
@@ -1,7 +1,8 @@
-[[aws2-translate-component]]
-= AWS Translate Component
+= AWS 2 Translate Component
 
 *Since Camel 3.1*
+*Since Camel 3.1*
+
 
 *Since Camel 3.1*
 
@@ -33,7 +34,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The AWS Translate component supports 6 options, which are listed below.
+The AWS 2 Translate component supports 6 options, which are listed below.
 
 
 
@@ -53,7 +54,7 @@ The AWS Translate component supports 6 options, which are listed below.
 
 
 // endpoint options: START
-The AWS Translate endpoint is configured using URI syntax:
+The AWS 2 Translate endpoint is configured using URI syntax:
 
 ----
 aws2-translate:label
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Component.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Component.java
index a1642c3..6b79f09 100644
--- a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Component.java
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Component.java
@@ -27,7 +27,7 @@ import org.apache.camel.support.DefaultComponent;
 import software.amazon.awssdk.services.translate.TranslateClient;
 
 /**
- * For working with Amazon Translate.
+ * For working with Amazon Translate SDK v2.
  */
 @Component("aws2-translate")
 public class Translate2Component extends DefaultComponent {
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Constants.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Constants.java
index 44ec30b..ed01d8c 100644
--- a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Constants.java
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Constants.java
@@ -17,7 +17,7 @@
 package org.apache.camel.component.aws2.translate;
 
 /**
- * Constants used in Camel AWS Translate module
+ * Constants used in Camel AWS2 Translate module
  */
 public interface Translate2Constants {
     String SOURCE_LANGUAGE = "CamelAwsTranslateSourceLanguage";
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Endpoint.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Endpoint.java
index be0fd7b..ed2cd37 100644
--- a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Endpoint.java
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Endpoint.java
@@ -37,7 +37,7 @@ import software.amazon.awssdk.services.translate.TranslateClientBuilder;
 /**
  * The aws2-translate component is used for managing Amazon Translate
  */
-@UriEndpoint(firstVersion = "3.1.0", scheme = "aws2-translate", title = "AWS Translate", syntax = "aws2-translate:label", producerOnly = true, label = "cloud,management")
+@UriEndpoint(firstVersion = "3.1.0", scheme = "aws2-translate", title = "AWS 2 Translate", syntax = "aws2-translate:label", producerOnly = true, label = "cloud,management")
 public class Translate2Endpoint extends ScheduledPollEndpoint {
 
     private TranslateClient translateClient;
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Producer.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Producer.java
index 8d083af..2f3e58c 100644
--- a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Producer.java
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Producer.java
@@ -31,7 +31,7 @@ import software.amazon.awssdk.services.translate.model.TranslateTextRequest.Buil
 import software.amazon.awssdk.services.translate.model.TranslateTextResponse;
 
 /**
- * A Producer which sends messages to the Amazon Translate Service
+ * A Producer which sends messages to the Amazon Translate Service SDK v2
  * <a href="http://aws.amazon.com/translate/">AWS Translate</a>
  */
 public class Translate2Producer extends DefaultProducer {
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/Translate2EndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/Translate2EndpointBuilderFactory.java
index dcd2513..bea8acf 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/Translate2EndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/Translate2EndpointBuilderFactory.java
@@ -31,7 +31,7 @@ public interface Translate2EndpointBuilderFactory {
 
 
     /**
-     * Builder for endpoint for the AWS Translate component.
+     * Builder for endpoint for the AWS 2 Translate component.
      */
     public interface Translate2EndpointBuilder
             extends
@@ -279,7 +279,7 @@ public interface Translate2EndpointBuilderFactory {
     }
 
     /**
-     * Advanced builder for endpoint for the AWS Translate component.
+     * Advanced builder for endpoint for the AWS 2 Translate component.
      */
     public interface AdvancedTranslate2EndpointBuilder
             extends
@@ -360,7 +360,7 @@ public interface Translate2EndpointBuilderFactory {
         https;
     }
     /**
-     * AWS Translate (camel-aws2-translate)
+     * AWS 2 Translate (camel-aws2-translate)
      * The aws2-translate component is used for managing Amazon Translate
      * 
      * Category: cloud,management


[camel] 04/09: CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, Added camel-aws2 and camel-aws2-translate Karaf features

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit b1c224ea1a064a996fff9f45a8b75f1f674302a3
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Jan 15 18:47:46 2020 +0100

    CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, Added camel-aws2 and camel-aws2-translate Karaf features
---
 platforms/karaf/features/src/main/resources/features.xml | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/platforms/karaf/features/src/main/resources/features.xml b/platforms/karaf/features/src/main/resources/features.xml
index 7134c2a..6f01322 100644
--- a/platforms/karaf/features/src/main/resources/features.xml
+++ b/platforms/karaf/features/src/main/resources/features.xml
@@ -275,6 +275,9 @@
      <feature version='${project.version}'>camel-aws-swf</feature>
      <feature version='${project.version}'>camel-aws-translate</feature>
   </feature>
+  <feature name='camel-aws2' version='${project.version}' start-level='50'>
+     <feature version='${project.version}'>camel-aws2-translate</feature>
+  </feature>
   <feature name='camel-aws-s3' version='${project.version}' start-level='50'>
     <feature version='${project.version}'>camel-core</feature>
     <bundle dependency='true'>mvn:org.apache.httpcomponents/httpcore-osgi/${httpcore4-version}</bundle>
@@ -545,6 +548,17 @@
     <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aws-java-sdk/${aws-java-sdk-bundle-version}</bundle>
     <bundle>mvn:org.apache.camel/camel-aws-translate/${project.version}</bundle>
   </feature>
+  <feature name='camel-aws2-translate' version='${project.version}' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>wrap:mvn:software.amazon.awssdk/translate/${aws-java-sdk2-version}</bundle>
+    <bundle dependency='true'>wrap:mvn:software.amazon.awssdk/auth/${aws-java-sdk2-version}</bundle>
+    <bundle dependency='true'>wrap:mvn:software.amazon.awssdk/aws-core/${aws-java-sdk2-version}</bundle>
+    <bundle dependency='true'>wrap:mvn:software.amazon.awssdk/sdk-core/${aws-java-sdk2-version}</bundle>
+    <bundle dependency='true'>wrap:mvn:software.amazon.awssdk/apache-client/${aws-java-sdk2-version}</bundle>
+    <bundle dependency='true'>wrap:mvn:software.amazon.awssdk/http-client-spi/${aws-java-sdk2-version}</bundle>
+    <bundle dependency='true'>wrap:mvn:software.amazon.awssdk/regions/${aws-java-sdk2-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-aws2-translate/${project.version}</bundle>
+  </feature>
   <feature name='camel-aws-xray' version='${project.version}' start-level='50'>
     <feature version='${project.version}'>camel-core</feature>
     <bundle dependency='true'>wrap:mvn:com.amazonaws/aws-xray-recorder-sdk-core/${aws-xray-version}</bundle>


[camel] 02/09: CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, renamed to Translate2 avoiding clashes in endpoint-dsl

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 695bb7868929098a97589c554b690a502669c113
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Jan 15 15:45:07 2020 +0100

    CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, renamed to Translate2 avoiding clashes in endpoint-dsl
---
 .../src/main/docs/aws2-translate-component.adoc    |  6 +-
 ...lateComponent.java => Translate2Component.java} | 20 +++---
 ...a => Translate2ComponentVerifierExtension.java} |  8 +--
 ...iguration.java => Translate2Configuration.java} | 12 ++--
 ...lateConstants.java => Translate2Constants.java} |  2 +-
 ...nslateEndpoint.java => Translate2Endpoint.java} | 10 +--
 ...nguageEnum.java => Translate2LanguageEnum.java} |  4 +-
 ...teOperations.java => Translate2Operations.java} |  2 +-
 ...nslateProducer.java => Translate2Producer.java} | 24 +++----
 ...Test.java => Translate2ProducerSpringTest.java} | 16 ++---
 ...oducerTest.java => Translate2ProducerTest.java} | 10 +--
 ...java => Translate2ProducerIntegrationTest.java} | 18 ++---
 ...l => Translate2ComponentSpringTest-context.xml} |  0
 ....java => Translate2EndpointBuilderFactory.java} | 80 ++++++++++++----------
 .../dsl/TranslateEndpointBuilderFactory.java       | 34 ++++-----
 docs/components/modules/ROOT/nav.adoc              |  1 +
 .../ROOT/pages}/aws2-translate-component.adoc      |  1 +
 docs/components/modules/ROOT/pages/index.adoc      |  4 +-
 parent/pom.xml                                     |  5 ++
 19 files changed, 135 insertions(+), 122 deletions(-)

diff --git a/components/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc b/components/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc
index dff0724..cada20c 100644
--- a/components/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc
+++ b/components/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc
@@ -40,7 +40,7 @@ The AWS Translate component supports 6 options, which are listed below.
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *configuration* (advanced) | The AWS Translate default configuration |  | TranslateConfiguration
+| *configuration* (advanced) | The AWS Translate default configuration |  | Translate2Configuration
 | *accessKey* (producer) | Amazon AWS Access Key |  | String
 | *secretKey* (producer) | Amazon AWS Secret Key |  | String
 | *region* (producer) | The region in which Translate client needs to work |  | String
@@ -80,7 +80,7 @@ with the following path and query parameters:
 | *accessKey* (producer) | Amazon AWS Access Key |  | String
 | *autodetectSourceLanguage* (producer) | Being able to autodetect the source language | 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 [...]
-| *operation* (producer) | *Required* The operation to perform |  | TranslateOperations
+| *operation* (producer) | *Required* The operation to perform |  | Translate2Operations
 | *proxyHost* (producer) | To define a proxy host when instantiating the Translate client |  | String
 | *proxyPort* (producer) | To define a proxy port when instantiating the Translate client |  | Integer
 | *proxyProtocol* (producer) | To define a proxy protocol when instantiating the Translate client | HTTPS | Protocol
@@ -161,4 +161,4 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `$\{camel-version\}` must be replaced by the actual version of Camel.
\ No newline at end of file
+where `$\{camel-version\}` must be replaced by the actual version of Camel.
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateComponent.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Component.java
similarity index 82%
rename from components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateComponent.java
rename to components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Component.java
index f888807..82cbee0 100644
--- a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateComponent.java
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Component.java
@@ -33,7 +33,7 @@ import software.amazon.awssdk.services.translate.TranslateClient;
  * For working with Amazon Translate.
  */
 @Component("aws2-translate")
-public class TranslateComponent extends DefaultComponent {
+public class Translate2Component extends DefaultComponent {
 
     @Metadata
     private String accessKey;
@@ -42,23 +42,23 @@ public class TranslateComponent extends DefaultComponent {
     @Metadata
     private String region;
     @Metadata(label = "advanced")
-    private TranslateConfiguration configuration;
+    private Translate2Configuration configuration;
 
-    public TranslateComponent() {
+    public Translate2Component() {
         this(null);
     }
 
-    public TranslateComponent(CamelContext context) {
+    public Translate2Component(CamelContext context) {
         super(context);
 
-        registerExtension(new TranslateComponentVerifierExtension());
+        registerExtension(new Translate2ComponentVerifierExtension());
     }
 
     @Override
     protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
-        TranslateConfiguration configuration = this.configuration != null ? this.configuration.copy() : new TranslateConfiguration();
+        Translate2Configuration configuration = this.configuration != null ? this.configuration.copy() : new Translate2Configuration();
 
-        TranslateEndpoint endpoint = new TranslateEndpoint(uri, this, configuration);
+        Translate2Endpoint endpoint = new Translate2Endpoint(uri, this, configuration);
         endpoint.getConfiguration().setAccessKey(accessKey);
         endpoint.getConfiguration().setSecretKey(secretKey);
         endpoint.getConfiguration().setRegion(region);
@@ -70,14 +70,14 @@ public class TranslateComponent extends DefaultComponent {
         return endpoint;
     }
 
-    public TranslateConfiguration getConfiguration() {
+    public Translate2Configuration getConfiguration() {
         return configuration;
     }
 
     /**
      * The AWS Translate default configuration
      */
-    public void setConfiguration(TranslateConfiguration configuration) {
+    public void setConfiguration(Translate2Configuration configuration) {
         this.configuration = configuration;
     }
 
@@ -114,7 +114,7 @@ public class TranslateComponent extends DefaultComponent {
         this.region = region;
     }
 
-    private void checkAndSetRegistryClient(TranslateConfiguration configuration) {
+    private void checkAndSetRegistryClient(Translate2Configuration configuration) {
         Set<TranslateClient> clients = getCamelContext().getRegistry().findByType(TranslateClient.class);
         if (clients.size() == 1) {
             configuration.setTranslateClient(clients.stream().findFirst().get());
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateComponentVerifierExtension.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2ComponentVerifierExtension.java
similarity index 92%
rename from components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateComponentVerifierExtension.java
rename to components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2ComponentVerifierExtension.java
index 3e39093..f015962 100644
--- a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateComponentVerifierExtension.java
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2ComponentVerifierExtension.java
@@ -31,13 +31,13 @@ import software.amazon.awssdk.services.translate.TranslateClient;
 import software.amazon.awssdk.services.translate.TranslateClientBuilder;
 import software.amazon.awssdk.services.translate.model.TranslateTextRequest;
 
-public class TranslateComponentVerifierExtension extends DefaultComponentVerifierExtension {
+public class Translate2ComponentVerifierExtension extends DefaultComponentVerifierExtension {
 
-    public TranslateComponentVerifierExtension() {
+    public Translate2ComponentVerifierExtension() {
         this("aws2-translate");
     }
 
-    public TranslateComponentVerifierExtension(String scheme) {
+    public Translate2ComponentVerifierExtension(String scheme) {
         super(scheme);
     }
 
@@ -67,7 +67,7 @@ public class TranslateComponentVerifierExtension extends DefaultComponentVerifie
         ResultBuilder builder = ResultBuilder.withStatusAndScope(Result.Status.OK, Scope.CONNECTIVITY);
 
         try {
-            TranslateConfiguration configuration = setProperties(new TranslateConfiguration(), parameters);
+            Translate2Configuration configuration = setProperties(new Translate2Configuration(), parameters);
             AwsCredentialsProvider credentialsProvider = DefaultCredentialsProvider.create();
             TranslateClientBuilder clientBuilder = TranslateClient.builder();
             TranslateClient client = clientBuilder.credentialsProvider(credentialsProvider).region(Region.of(configuration.getRegion())).build();
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateConfiguration.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Configuration.java
similarity index 93%
rename from components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateConfiguration.java
rename to components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Configuration.java
index 51fce9f..449a947 100644
--- a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateConfiguration.java
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Configuration.java
@@ -26,7 +26,7 @@ import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
 
 @UriParams
-public class TranslateConfiguration implements Cloneable {
+public class Translate2Configuration implements Cloneable {
 
     @UriPath(description = "Logical name")
     @Metadata(required = true)
@@ -39,7 +39,7 @@ public class TranslateConfiguration implements Cloneable {
     private String secretKey;
     @UriParam(label = "producer")
     @Metadata(required = true, defaultValue = "translateText")
-    private TranslateOperations operation = TranslateOperations.translateText;
+    private Translate2Operations operation = Translate2Operations.translateText;
     @UriParam(enums = "HTTP,HTTPS", defaultValue = "HTTPS")
     private Protocol proxyProtocol = Protocol.HTTPS;
     @UriParam(label = "producer")
@@ -88,14 +88,14 @@ public class TranslateConfiguration implements Cloneable {
         this.secretKey = secretKey;
     }
 
-    public TranslateOperations getOperation() {
+    public Translate2Operations getOperation() {
         return operation;
     }
 
     /**
      * The operation to perform
      */
-    public void setOperation(TranslateOperations operation) {
+    public void setOperation(Translate2Operations operation) {
         this.operation = operation;
     }
 
@@ -183,9 +183,9 @@ public class TranslateConfiguration implements Cloneable {
     //
     // *************************************************
 
-    public TranslateConfiguration copy() {
+    public Translate2Configuration copy() {
         try {
-            return (TranslateConfiguration)super.clone();
+            return (Translate2Configuration)super.clone();
         } catch (CloneNotSupportedException e) {
             throw new RuntimeCamelException(e);
         }
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateConstants.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Constants.java
similarity index 96%
rename from components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateConstants.java
rename to components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Constants.java
index 598c036..44ec30b 100644
--- a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateConstants.java
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Constants.java
@@ -19,7 +19,7 @@ package org.apache.camel.component.aws2.translate;
 /**
  * Constants used in Camel AWS Translate module
  */
-public interface TranslateConstants {
+public interface Translate2Constants {
     String SOURCE_LANGUAGE = "CamelAwsTranslateSourceLanguage";
     String TARGET_LANGUAGE = "CamelAwsTranslateTargetLanguage";
     String TERMINOLOGY_NAMES = "CamelAwsTranslateTerminologyNames";
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateEndpoint.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Endpoint.java
similarity index 93%
rename from components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateEndpoint.java
rename to components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Endpoint.java
index 10a5360..c5c1394 100644
--- a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateEndpoint.java
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Endpoint.java
@@ -39,14 +39,14 @@ import software.amazon.awssdk.services.translate.TranslateClientBuilder;
  * The aws2-translate component is used for managing Amazon Translate
  */
 @UriEndpoint(firstVersion = "3.1.0", scheme = "aws2-translate", title = "AWS Translate", syntax = "aws2-translate:label", producerOnly = true, label = "cloud,management")
-public class TranslateEndpoint extends ScheduledPollEndpoint {
+public class Translate2Endpoint extends ScheduledPollEndpoint {
 
     private TranslateClient translateClient;
 
     @UriParam
-    private TranslateConfiguration configuration;
+    private Translate2Configuration configuration;
 
-    public TranslateEndpoint(String uri, Component component, TranslateConfiguration configuration) {
+    public Translate2Endpoint(String uri, Component component, Translate2Configuration configuration) {
         super(uri, component);
         this.configuration = configuration;
     }
@@ -58,7 +58,7 @@ public class TranslateEndpoint extends ScheduledPollEndpoint {
 
     @Override
     public Producer createProducer() throws Exception {
-        return new TranslateProducer(this);
+        return new Translate2Producer(this);
     }
 
     @Override
@@ -78,7 +78,7 @@ public class TranslateEndpoint extends ScheduledPollEndpoint {
         super.doStop();
     }
 
-    public TranslateConfiguration getConfiguration() {
+    public Translate2Configuration getConfiguration() {
         return configuration;
     }
 
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateLanguageEnum.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2LanguageEnum.java
similarity index 94%
rename from components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateLanguageEnum.java
rename to components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2LanguageEnum.java
index 7df9ec9..213258c 100644
--- a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateLanguageEnum.java
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2LanguageEnum.java
@@ -16,7 +16,7 @@
  */
 package org.apache.camel.component.aws2.translate;
 
-public enum TranslateLanguageEnum {
+public enum Translate2LanguageEnum {
 
     ARABIC("ar"), CHINESE_SIMPLIFIED("zh"), CHINESE_TRADITIONAL("zh-TW"), CZECH("cs"), DANISH("da"), DUTCH("nl"), ENGLISH("en"), FINNISH("fi"), FRENCH("fr"), GERMAN("de"), HEBREW(
         "he"), HINDI("hi"), INDONESIAN("id"), ITALIAN("it"), JAPANESE(
@@ -24,7 +24,7 @@ public enum TranslateLanguageEnum {
 
     private final String language;
 
-    TranslateLanguageEnum(final String language) {
+    Translate2LanguageEnum(final String language) {
         this.language = language;
     }
 
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateOperations.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Operations.java
similarity index 96%
rename from components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateOperations.java
rename to components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Operations.java
index 99a474a..2446503 100644
--- a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateOperations.java
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Operations.java
@@ -16,7 +16,7 @@
  */
 package org.apache.camel.component.aws2.translate;
 
-public enum TranslateOperations {
+public enum Translate2Operations {
 
     translateText
 }
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateProducer.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Producer.java
similarity index 87%
rename from components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateProducer.java
rename to components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Producer.java
index ef758b3..0cea0a5 100644
--- a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateProducer.java
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Producer.java
@@ -35,11 +35,11 @@ import software.amazon.awssdk.services.translate.model.TranslateTextResponse;
  * A Producer which sends messages to the Amazon Translate Service
  * <a href="http://aws.amazon.com/translate/">AWS Translate</a>
  */
-public class TranslateProducer extends DefaultProducer {
+public class Translate2Producer extends DefaultProducer {
 
     private transient String translateProducerToString;
 
-    public TranslateProducer(Endpoint endpoint) {
+    public Translate2Producer(Endpoint endpoint) {
         super(endpoint);
     }
 
@@ -54,15 +54,15 @@ public class TranslateProducer extends DefaultProducer {
         }
     }
 
-    private TranslateOperations determineOperation(Exchange exchange) {
-        TranslateOperations operation = exchange.getIn().getHeader(TranslateConstants.OPERATION, TranslateOperations.class);
+    private Translate2Operations determineOperation(Exchange exchange) {
+        Translate2Operations operation = exchange.getIn().getHeader(Translate2Constants.OPERATION, Translate2Operations.class);
         if (operation == null) {
             operation = getConfiguration().getOperation();
         }
         return operation;
     }
 
-    protected TranslateConfiguration getConfiguration() {
+    protected Translate2Configuration getConfiguration() {
         return getEndpoint().getConfiguration();
     }
 
@@ -75,16 +75,16 @@ public class TranslateProducer extends DefaultProducer {
     }
 
     @Override
-    public TranslateEndpoint getEndpoint() {
-        return (TranslateEndpoint)super.getEndpoint();
+    public Translate2Endpoint getEndpoint() {
+        return (Translate2Endpoint)super.getEndpoint();
     }
 
     private void translateText(TranslateClient translateClient, Exchange exchange) {
         Builder request = TranslateTextRequest.builder();
         if (!getConfiguration().isAutodetectSourceLanguage()) {
             if (ObjectHelper.isEmpty(getConfiguration().getSourceLanguage()) && ObjectHelper.isEmpty(getConfiguration().getTargetLanguage())) {
-                String source = exchange.getIn().getHeader(TranslateConstants.SOURCE_LANGUAGE, String.class);
-                String target = exchange.getIn().getHeader(TranslateConstants.TARGET_LANGUAGE, String.class);
+                String source = exchange.getIn().getHeader(Translate2Constants.SOURCE_LANGUAGE, String.class);
+                String target = exchange.getIn().getHeader(Translate2Constants.TARGET_LANGUAGE, String.class);
                 if (ObjectHelper.isEmpty(source) || ObjectHelper.isEmpty(target)) {
                     throw new IllegalArgumentException("Source and target language must be specified as headers or endpoint options");
                 }
@@ -97,7 +97,7 @@ public class TranslateProducer extends DefaultProducer {
         } else {
             String source = "auto";
             if (ObjectHelper.isEmpty(getConfiguration().getTargetLanguage())) {
-                String target = exchange.getIn().getHeader(TranslateConstants.TARGET_LANGUAGE, String.class);
+                String target = exchange.getIn().getHeader(Translate2Constants.TARGET_LANGUAGE, String.class);
                 if (ObjectHelper.isEmpty(source) || ObjectHelper.isEmpty(target)) {
                     throw new IllegalArgumentException("Target language must be specified when autodetection of source language is enabled");
                 }
@@ -108,8 +108,8 @@ public class TranslateProducer extends DefaultProducer {
                 request.targetLanguageCode(getConfiguration().getTargetLanguage());
             }
         }
-        if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(TranslateConstants.TERMINOLOGY_NAMES, Collection.class))) {
-            Collection<String> terminologies = exchange.getIn().getHeader(TranslateConstants.TERMINOLOGY_NAMES, Collection.class);
+        if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(Translate2Constants.TERMINOLOGY_NAMES, Collection.class))) {
+            Collection<String> terminologies = exchange.getIn().getHeader(Translate2Constants.TERMINOLOGY_NAMES, Collection.class);
             request.terminologyNames(terminologies);
         }
         request.text(exchange.getMessage().getBody(String.class));
diff --git a/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/TranslateProducerSpringTest.java b/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/Translate2ProducerSpringTest.java
similarity index 73%
rename from components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/TranslateProducerSpringTest.java
rename to components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/Translate2ProducerSpringTest.java
index 370425b..996e610 100644
--- a/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/TranslateProducerSpringTest.java
+++ b/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/Translate2ProducerSpringTest.java
@@ -19,15 +19,15 @@ package org.apache.camel.component.aws2.translate;
 import org.apache.camel.EndpointInject;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
-import org.apache.camel.component.aws2.translate.TranslateConstants;
-import org.apache.camel.component.aws2.translate.TranslateLanguageEnum;
-import org.apache.camel.component.aws2.translate.TranslateOperations;
+import org.apache.camel.component.aws2.translate.Translate2Constants;
+import org.apache.camel.component.aws2.translate.Translate2LanguageEnum;
+import org.apache.camel.component.aws2.translate.Translate2Operations;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.spring.CamelSpringTestSupport;
 import org.junit.Test;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
-public class TranslateProducerSpringTest extends CamelSpringTestSupport {
+public class Translate2ProducerSpringTest extends CamelSpringTestSupport {
 
     @EndpointInject("mock:result")
     private MockEndpoint mock;
@@ -39,9 +39,9 @@ public class TranslateProducerSpringTest extends CamelSpringTestSupport {
         Exchange exchange = template.request("direct:translateText", new Processor() {
             @Override
             public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(TranslateConstants.OPERATION, TranslateOperations.translateText);
-                exchange.getIn().setHeader(TranslateConstants.SOURCE_LANGUAGE, TranslateLanguageEnum.ITALIAN);
-                exchange.getIn().setHeader(TranslateConstants.TARGET_LANGUAGE, TranslateLanguageEnum.ENGLISH);
+                exchange.getIn().setHeader(Translate2Constants.OPERATION, Translate2Operations.translateText);
+                exchange.getIn().setHeader(Translate2Constants.SOURCE_LANGUAGE, Translate2LanguageEnum.ITALIAN);
+                exchange.getIn().setHeader(Translate2Constants.TARGET_LANGUAGE, Translate2LanguageEnum.ENGLISH);
                 exchange.getIn().setBody("ciao");
             }
         });
@@ -55,6 +55,6 @@ public class TranslateProducerSpringTest extends CamelSpringTestSupport {
 
     @Override
     protected ClassPathXmlApplicationContext createApplicationContext() {
-        return new ClassPathXmlApplicationContext("org/apache/camel/component/aws2/translate/TranslateComponentSpringTest-context.xml");
+        return new ClassPathXmlApplicationContext("org/apache/camel/component/aws2/translate/Translate2ComponentSpringTest-context.xml");
     }
 }
diff --git a/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/TranslateProducerTest.java b/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/Translate2ProducerTest.java
similarity index 87%
rename from components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/TranslateProducerTest.java
rename to components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/Translate2ProducerTest.java
index cc4dcad..785d138 100644
--- a/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/TranslateProducerTest.java
+++ b/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/Translate2ProducerTest.java
@@ -21,13 +21,13 @@ import org.apache.camel.EndpointInject;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.aws2.translate.TranslateConstants;
-import org.apache.camel.component.aws2.translate.TranslateLanguageEnum;
+import org.apache.camel.component.aws2.translate.Translate2Constants;
+import org.apache.camel.component.aws2.translate.Translate2LanguageEnum;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Test;
 
-public class TranslateProducerTest extends CamelTestSupport {
+public class Translate2ProducerTest extends CamelTestSupport {
 
     @BindToRegistry("amazonTranslateClient")
     AmazonAWSTranslateMock clientMock = new AmazonAWSTranslateMock();
@@ -42,8 +42,8 @@ public class TranslateProducerTest extends CamelTestSupport {
         Exchange exchange = template.request("direct:translateText", new Processor() {
             @Override
             public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(TranslateConstants.SOURCE_LANGUAGE, TranslateLanguageEnum.ITALIAN);
-                exchange.getIn().setHeader(TranslateConstants.TARGET_LANGUAGE, TranslateLanguageEnum.ENGLISH);
+                exchange.getIn().setHeader(Translate2Constants.SOURCE_LANGUAGE, Translate2LanguageEnum.ITALIAN);
+                exchange.getIn().setHeader(Translate2Constants.TARGET_LANGUAGE, Translate2LanguageEnum.ENGLISH);
                 exchange.getIn().setBody("ciao");
             }
         });
diff --git a/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/integration/TranslateProducerIntegrationTest.java b/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/integration/Translate2ProducerIntegrationTest.java
similarity index 78%
rename from components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/integration/TranslateProducerIntegrationTest.java
rename to components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/integration/Translate2ProducerIntegrationTest.java
index 8445653..6dc1118 100644
--- a/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/integration/TranslateProducerIntegrationTest.java
+++ b/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/integration/Translate2ProducerIntegrationTest.java
@@ -20,16 +20,16 @@ import org.apache.camel.EndpointInject;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.aws2.translate.TranslateConstants;
-import org.apache.camel.component.aws2.translate.TranslateLanguageEnum;
-import org.apache.camel.component.aws2.translate.TranslateOperations;
+import org.apache.camel.component.aws2.translate.Translate2Constants;
+import org.apache.camel.component.aws2.translate.Translate2LanguageEnum;
+import org.apache.camel.component.aws2.translate.Translate2Operations;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Ignore;
 import org.junit.Test;
 
 @Ignore("This test must be manually started, you need to specify AWS Credentials")
-public class TranslateProducerIntegrationTest extends CamelTestSupport {
+public class Translate2ProducerIntegrationTest extends CamelTestSupport {
 
     @EndpointInject("mock:result")
     private MockEndpoint mock;
@@ -41,9 +41,9 @@ public class TranslateProducerIntegrationTest extends CamelTestSupport {
         Exchange exchange = template.request("direct:translateText", new Processor() {
             @Override
             public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(TranslateConstants.OPERATION, TranslateOperations.translateText);
-                exchange.getIn().setHeader(TranslateConstants.SOURCE_LANGUAGE, TranslateLanguageEnum.ITALIAN);
-                exchange.getIn().setHeader(TranslateConstants.TARGET_LANGUAGE, TranslateLanguageEnum.GERMAN);
+                exchange.getIn().setHeader(Translate2Constants.OPERATION, Translate2Operations.translateText);
+                exchange.getIn().setHeader(Translate2Constants.SOURCE_LANGUAGE, Translate2LanguageEnum.ITALIAN);
+                exchange.getIn().setHeader(Translate2Constants.TARGET_LANGUAGE, Translate2LanguageEnum.GERMAN);
                 exchange.getIn().setBody("Ciao Signorina");
             }
         });
@@ -61,8 +61,8 @@ public class TranslateProducerIntegrationTest extends CamelTestSupport {
         Exchange exchange = template.request("direct:translateTextAuto", new Processor() {
             @Override
             public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(TranslateConstants.OPERATION, TranslateOperations.translateText);
-                exchange.getIn().setHeader(TranslateConstants.TARGET_LANGUAGE, TranslateLanguageEnum.GERMAN);
+                exchange.getIn().setHeader(Translate2Constants.OPERATION, Translate2Operations.translateText);
+                exchange.getIn().setHeader(Translate2Constants.TARGET_LANGUAGE, Translate2LanguageEnum.GERMAN);
                 exchange.getIn().setBody("Ciao Signorina");
             }
         });
diff --git a/components/camel-aws2-translate/src/test/resources/org/apache/camel/component/aws2/translate/TranslateComponentSpringTest-context.xml b/components/camel-aws2-translate/src/test/resources/org/apache/camel/component/aws2/translate/Translate2ComponentSpringTest-context.xml
similarity index 100%
rename from components/camel-aws2-translate/src/test/resources/org/apache/camel/component/aws2/translate/TranslateComponentSpringTest-context.xml
rename to components/camel-aws2-translate/src/test/resources/org/apache/camel/component/aws2/translate/Translate2ComponentSpringTest-context.xml
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/TranslateEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/Translate2EndpointBuilderFactory.java
similarity index 81%
copy from core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/TranslateEndpointBuilderFactory.java
copy to core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/Translate2EndpointBuilderFactory.java
index 3a508dc..dcd2513 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/TranslateEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/Translate2EndpointBuilderFactory.java
@@ -27,15 +27,17 @@ import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
 @Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public interface TranslateEndpointBuilderFactory {
+public interface Translate2EndpointBuilderFactory {
 
 
     /**
      * Builder for endpoint for the AWS Translate component.
      */
-    public interface TranslateEndpointBuilder extends EndpointProducerBuilder {
-        default AdvancedTranslateEndpointBuilder advanced() {
-            return (AdvancedTranslateEndpointBuilder) this;
+    public interface Translate2EndpointBuilder
+            extends
+                EndpointProducerBuilder {
+        default AdvancedTranslate2EndpointBuilder advanced() {
+            return (AdvancedTranslate2EndpointBuilder) this;
         }
         /**
          * Amazon AWS Access Key.
@@ -44,7 +46,7 @@ public interface TranslateEndpointBuilderFactory {
          * 
          * Group: producer
          */
-        default TranslateEndpointBuilder accessKey(String accessKey) {
+        default Translate2EndpointBuilder accessKey(String accessKey) {
             doSetProperty("accessKey", accessKey);
             return this;
         }
@@ -56,7 +58,7 @@ public interface TranslateEndpointBuilderFactory {
          * Default: false
          * Group: producer
          */
-        default TranslateEndpointBuilder autodetectSourceLanguage(
+        default Translate2EndpointBuilder autodetectSourceLanguage(
                 boolean autodetectSourceLanguage) {
             doSetProperty("autodetectSourceLanguage", autodetectSourceLanguage);
             return this;
@@ -69,7 +71,7 @@ public interface TranslateEndpointBuilderFactory {
          * Default: false
          * Group: producer
          */
-        default TranslateEndpointBuilder autodetectSourceLanguage(
+        default Translate2EndpointBuilder autodetectSourceLanguage(
                 String autodetectSourceLanguage) {
             doSetProperty("autodetectSourceLanguage", autodetectSourceLanguage);
             return this;
@@ -90,7 +92,7 @@ public interface TranslateEndpointBuilderFactory {
          * Default: false
          * Group: producer
          */
-        default TranslateEndpointBuilder lazyStartProducer(
+        default Translate2EndpointBuilder lazyStartProducer(
                 boolean lazyStartProducer) {
             doSetProperty("lazyStartProducer", lazyStartProducer);
             return this;
@@ -111,7 +113,7 @@ public interface TranslateEndpointBuilderFactory {
          * Default: false
          * Group: producer
          */
-        default TranslateEndpointBuilder lazyStartProducer(
+        default Translate2EndpointBuilder lazyStartProducer(
                 String lazyStartProducer) {
             doSetProperty("lazyStartProducer", lazyStartProducer);
             return this;
@@ -120,12 +122,13 @@ public interface TranslateEndpointBuilderFactory {
          * The operation to perform.
          * 
          * The option is a:
-         * <code>org.apache.camel.component.aws2.translate.TranslateOperations</code> type.
+         * <code>org.apache.camel.component.aws2.translate.Translate2Operations</code> type.
          * 
          * Required: true
          * Group: producer
          */
-        default TranslateEndpointBuilder operation(TranslateOperations operation) {
+        default Translate2EndpointBuilder operation(
+                Translate2Operations operation) {
             doSetProperty("operation", operation);
             return this;
         }
@@ -133,12 +136,12 @@ public interface TranslateEndpointBuilderFactory {
          * The operation to perform.
          * 
          * The option will be converted to a
-         * <code>org.apache.camel.component.aws2.translate.TranslateOperations</code> type.
+         * <code>org.apache.camel.component.aws2.translate.Translate2Operations</code> type.
          * 
          * Required: true
          * Group: producer
          */
-        default TranslateEndpointBuilder operation(String operation) {
+        default Translate2EndpointBuilder operation(String operation) {
             doSetProperty("operation", operation);
             return this;
         }
@@ -149,7 +152,7 @@ public interface TranslateEndpointBuilderFactory {
          * 
          * Group: producer
          */
-        default TranslateEndpointBuilder proxyHost(String proxyHost) {
+        default Translate2EndpointBuilder proxyHost(String proxyHost) {
             doSetProperty("proxyHost", proxyHost);
             return this;
         }
@@ -160,7 +163,7 @@ public interface TranslateEndpointBuilderFactory {
          * 
          * Group: producer
          */
-        default TranslateEndpointBuilder proxyPort(Integer proxyPort) {
+        default Translate2EndpointBuilder proxyPort(Integer proxyPort) {
             doSetProperty("proxyPort", proxyPort);
             return this;
         }
@@ -172,7 +175,7 @@ public interface TranslateEndpointBuilderFactory {
          * 
          * Group: producer
          */
-        default TranslateEndpointBuilder proxyPort(String proxyPort) {
+        default Translate2EndpointBuilder proxyPort(String proxyPort) {
             doSetProperty("proxyPort", proxyPort);
             return this;
         }
@@ -185,7 +188,7 @@ public interface TranslateEndpointBuilderFactory {
          * Default: HTTPS
          * Group: producer
          */
-        default TranslateEndpointBuilder proxyProtocol(Protocol proxyProtocol) {
+        default Translate2EndpointBuilder proxyProtocol(Protocol proxyProtocol) {
             doSetProperty("proxyProtocol", proxyProtocol);
             return this;
         }
@@ -198,7 +201,7 @@ public interface TranslateEndpointBuilderFactory {
          * Default: HTTPS
          * Group: producer
          */
-        default TranslateEndpointBuilder proxyProtocol(String proxyProtocol) {
+        default Translate2EndpointBuilder proxyProtocol(String proxyProtocol) {
             doSetProperty("proxyProtocol", proxyProtocol);
             return this;
         }
@@ -212,7 +215,7 @@ public interface TranslateEndpointBuilderFactory {
          * 
          * Group: producer
          */
-        default TranslateEndpointBuilder region(String region) {
+        default Translate2EndpointBuilder region(String region) {
             doSetProperty("region", region);
             return this;
         }
@@ -223,7 +226,7 @@ public interface TranslateEndpointBuilderFactory {
          * 
          * Group: producer
          */
-        default TranslateEndpointBuilder secretKey(String secretKey) {
+        default Translate2EndpointBuilder secretKey(String secretKey) {
             doSetProperty("secretKey", secretKey);
             return this;
         }
@@ -234,7 +237,7 @@ public interface TranslateEndpointBuilderFactory {
          * 
          * Group: producer
          */
-        default TranslateEndpointBuilder sourceLanguage(String sourceLanguage) {
+        default Translate2EndpointBuilder sourceLanguage(String sourceLanguage) {
             doSetProperty("sourceLanguage", sourceLanguage);
             return this;
         }
@@ -245,7 +248,7 @@ public interface TranslateEndpointBuilderFactory {
          * 
          * Group: producer
          */
-        default TranslateEndpointBuilder targetLanguage(String targetLanguage) {
+        default Translate2EndpointBuilder targetLanguage(String targetLanguage) {
             doSetProperty("targetLanguage", targetLanguage);
             return this;
         }
@@ -257,7 +260,7 @@ public interface TranslateEndpointBuilderFactory {
          * 
          * Group: producer
          */
-        default TranslateEndpointBuilder translateClient(Object translateClient) {
+        default Translate2EndpointBuilder translateClient(Object translateClient) {
             doSetProperty("translateClient", translateClient);
             return this;
         }
@@ -269,7 +272,7 @@ public interface TranslateEndpointBuilderFactory {
          * 
          * Group: producer
          */
-        default TranslateEndpointBuilder translateClient(String translateClient) {
+        default Translate2EndpointBuilder translateClient(String translateClient) {
             doSetProperty("translateClient", translateClient);
             return this;
         }
@@ -278,11 +281,11 @@ public interface TranslateEndpointBuilderFactory {
     /**
      * Advanced builder for endpoint for the AWS Translate component.
      */
-    public interface AdvancedTranslateEndpointBuilder
+    public interface AdvancedTranslate2EndpointBuilder
             extends
                 EndpointProducerBuilder {
-        default TranslateEndpointBuilder basic() {
-            return (TranslateEndpointBuilder) this;
+        default Translate2EndpointBuilder basic() {
+            return (Translate2EndpointBuilder) this;
         }
         /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
@@ -293,7 +296,7 @@ public interface TranslateEndpointBuilderFactory {
          * Default: false
          * Group: advanced
          */
-        default AdvancedTranslateEndpointBuilder basicPropertyBinding(
+        default AdvancedTranslate2EndpointBuilder basicPropertyBinding(
                 boolean basicPropertyBinding) {
             doSetProperty("basicPropertyBinding", basicPropertyBinding);
             return this;
@@ -307,7 +310,7 @@ public interface TranslateEndpointBuilderFactory {
          * Default: false
          * Group: advanced
          */
-        default AdvancedTranslateEndpointBuilder basicPropertyBinding(
+        default AdvancedTranslate2EndpointBuilder basicPropertyBinding(
                 String basicPropertyBinding) {
             doSetProperty("basicPropertyBinding", basicPropertyBinding);
             return this;
@@ -321,7 +324,8 @@ public interface TranslateEndpointBuilderFactory {
          * Default: false
          * Group: advanced
          */
-        default AdvancedTranslateEndpointBuilder synchronous(boolean synchronous) {
+        default AdvancedTranslate2EndpointBuilder synchronous(
+                boolean synchronous) {
             doSetProperty("synchronous", synchronous);
             return this;
         }
@@ -334,7 +338,7 @@ public interface TranslateEndpointBuilderFactory {
          * Default: false
          * Group: advanced
          */
-        default AdvancedTranslateEndpointBuilder synchronous(String synchronous) {
+        default AdvancedTranslate2EndpointBuilder synchronous(String synchronous) {
             doSetProperty("synchronous", synchronous);
             return this;
         }
@@ -342,9 +346,9 @@ public interface TranslateEndpointBuilderFactory {
 
     /**
      * Proxy enum for
-     * <code>org.apache.camel.component.aws2.translate.TranslateOperations</code> enum.
+     * <code>org.apache.camel.component.aws2.translate.Translate2Operations</code> enum.
      */
-    enum TranslateOperations {
+    enum Translate2Operations {
         translateText;
     }
 
@@ -368,12 +372,12 @@ public interface TranslateEndpointBuilderFactory {
      * Path parameter: label (required)
      * Logical name
      */
-    static TranslateEndpointBuilder awsTranslate(String path) {
-        class TranslateEndpointBuilderImpl extends AbstractEndpointBuilder implements TranslateEndpointBuilder, AdvancedTranslateEndpointBuilder {
-            public TranslateEndpointBuilderImpl(String path) {
+    default Translate2EndpointBuilder aws2Translate(String path) {
+        class Translate2EndpointBuilderImpl extends AbstractEndpointBuilder implements Translate2EndpointBuilder, AdvancedTranslate2EndpointBuilder {
+            public Translate2EndpointBuilderImpl(String path) {
                 super("aws2-translate", path);
             }
         }
-        return new TranslateEndpointBuilderImpl(path);
+        return new Translate2EndpointBuilderImpl(path);
     }
-}
+}
\ No newline at end of file
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/TranslateEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/TranslateEndpointBuilderFactory.java
index 3a508dc..511a770 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/TranslateEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/TranslateEndpointBuilderFactory.java
@@ -22,7 +22,7 @@ import org.apache.camel.builder.EndpointProducerBuilder;
 import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
 
 /**
- * The aws2-translate component is used for managing Amazon Translate
+ * The aws-translate component is used for managing Amazon Translate
  * 
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
@@ -120,7 +120,7 @@ public interface TranslateEndpointBuilderFactory {
          * The operation to perform.
          * 
          * The option is a:
-         * <code>org.apache.camel.component.aws2.translate.TranslateOperations</code> type.
+         * <code>org.apache.camel.component.aws.translate.TranslateOperations</code> type.
          * 
          * Required: true
          * Group: producer
@@ -133,7 +133,7 @@ public interface TranslateEndpointBuilderFactory {
          * The operation to perform.
          * 
          * The option will be converted to a
-         * <code>org.apache.camel.component.aws2.translate.TranslateOperations</code> type.
+         * <code>org.apache.camel.component.aws.translate.TranslateOperations</code> type.
          * 
          * Required: true
          * Group: producer
@@ -179,8 +179,7 @@ public interface TranslateEndpointBuilderFactory {
         /**
          * To define a proxy protocol when instantiating the Translate client.
          * 
-         * The option is a: <code>software.amazon.awssdk.core.Protocol</code>
-         * type.
+         * The option is a: <code>com.amazonaws.Protocol</code> type.
          * 
          * Default: HTTPS
          * Group: producer
@@ -192,8 +191,8 @@ public interface TranslateEndpointBuilderFactory {
         /**
          * To define a proxy protocol when instantiating the Translate client.
          * 
-         * The option will be converted to a
-         * <code>software.amazon.awssdk.core.Protocol</code> type.
+         * The option will be converted to a <code>com.amazonaws.Protocol</code>
+         * type.
          * 
          * Default: HTTPS
          * Group: producer
@@ -253,7 +252,7 @@ public interface TranslateEndpointBuilderFactory {
          * To use a existing configured AWS Translate as client.
          * 
          * The option is a:
-         * <code>software.amazon.awssdk.services.translate.TranslateClient</code> type.
+         * <code>com.amazonaws.services.translate.AmazonTranslate</code> type.
          * 
          * Group: producer
          */
@@ -265,7 +264,7 @@ public interface TranslateEndpointBuilderFactory {
          * To use a existing configured AWS Translate as client.
          * 
          * The option will be converted to a
-         * <code>software.amazon.awssdk.services.translate.TranslateClient</code> type.
+         * <code>com.amazonaws.services.translate.AmazonTranslate</code> type.
          * 
          * Group: producer
          */
@@ -342,28 +341,29 @@ public interface TranslateEndpointBuilderFactory {
 
     /**
      * Proxy enum for
-     * <code>org.apache.camel.component.aws2.translate.TranslateOperations</code> enum.
+     * <code>org.apache.camel.component.aws.translate.TranslateOperations</code>
+     * enum.
      */
     enum TranslateOperations {
         translateText;
     }
 
     /**
-     * Proxy enum for <code>software.amazon.awssdk.core.Protocol</code> enum.
+     * Proxy enum for <code>com.amazonaws.Protocol</code> enum.
      */
     enum Protocol {
         http,
         https;
     }
     /**
-     * AWS Translate (camel-aws2-translate)
-     * The aws2-translate component is used for managing Amazon Translate
+     * AWS Translate (camel-aws-translate)
+     * The aws-translate component is used for managing Amazon Translate
      * 
      * Category: cloud,management
-     * Since: 3.1
-     * Maven coordinates: org.apache.camel:camel-aws2-translate
+     * Since: 3.0
+     * Maven coordinates: org.apache.camel:camel-aws-translate
      * 
-     * Syntax: <code>aws2-translate:label</code>
+     * Syntax: <code>aws-translate:label</code>
      * 
      * Path parameter: label (required)
      * Logical name
@@ -371,7 +371,7 @@ public interface TranslateEndpointBuilderFactory {
     static TranslateEndpointBuilder awsTranslate(String path) {
         class TranslateEndpointBuilderImpl extends AbstractEndpointBuilder implements TranslateEndpointBuilder, AdvancedTranslateEndpointBuilder {
             public TranslateEndpointBuilderImpl(String path) {
-                super("aws2-translate", path);
+                super("aws-translate", path);
             }
         }
         return new TranslateEndpointBuilderImpl(path);
diff --git a/docs/components/modules/ROOT/nav.adoc b/docs/components/modules/ROOT/nav.adoc
index c1493ff..c4ec53b 100644
--- a/docs/components/modules/ROOT/nav.adoc
+++ b/docs/components/modules/ROOT/nav.adoc
@@ -43,6 +43,7 @@
 * xref:aws-swf-component.adoc[AWS Simple Workflow Component]
 * xref:aws-translate-component.adoc[AWS Translate Component]
 * xref:aws-xray.adoc[AWS XRay Component]
+* xref:aws2-translate-component.adoc[AWS Translate Component]
 * xref:azure-blob-component.adoc[Azure Storage Blob Service Component]
 * xref:azure-queue-component.adoc[Azure Storage Queue Service Component]
 * xref:azure.adoc[Camel Components for Windows Azure Services]
diff --git a/components/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc b/docs/components/modules/ROOT/pages/aws2-translate-component.adoc
similarity index 98%
copy from components/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc
copy to docs/components/modules/ROOT/pages/aws2-translate-component.adoc
index dff0724..dba984e 100644
--- a/components/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws2-translate-component.adoc
@@ -1,5 +1,6 @@
 [[aws2-translate-component]]
 = AWS Translate Component
+:page-source: components/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc
 
 *Since Camel 3.1*
 
diff --git a/docs/components/modules/ROOT/pages/index.adoc b/docs/components/modules/ROOT/pages/index.adoc
index f07cf4f..f5ef4bd 100644
--- a/docs/components/modules/ROOT/pages/index.adoc
+++ b/docs/components/modules/ROOT/pages/index.adoc
@@ -6,7 +6,7 @@ The following Apache Camel artifacts are provided:
 == Components
 
 // components: START
-Number of Components: 308 in 245 JAR artifacts (1 deprecated)
+Number of Components: 309 in 247 JAR artifacts (1 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -86,6 +86,8 @@ Number of Components: 308 in 245 JAR artifacts (1 deprecated)
 
 | xref:aws-translate-component.adoc[AWS Translate] (camel-aws-translate) | 3.0 | The aws-translate component is used for managing Amazon Translate
 
+| xref:aws2-translate-component.adoc[AWS Translate] (camel-aws2-translate) | 3.1 | The aws2-translate component is used for managing Amazon Translate
+
 | xref:azure-blob-component.adoc[Azure Storage Blob Service] (camel-azure) | 2.19 | The azure-blob component is used for storing and retrieving blobs from Azure Storage Blob Service.
 
 | xref:azure-queue-component.adoc[Azure Storage Queue Service] (camel-azure) | 2.19 | The azure-queue component is used for storing and retrieving messages from Azure Storage Queue Service.
diff --git a/parent/pom.xml b/parent/pom.xml
index 508a742..f5dd58c 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -1000,6 +1000,11 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
+        <artifactId>camel-aws2-translate</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
         <artifactId>camel-azure</artifactId>
         <version>${project.version}</version>
       </dependency>


[camel] 08/09: CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, Regen

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit c7d093f58d3ca7df54329d5c87e71e75972ac089
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Jan 15 19:51:32 2020 +0100

    CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, Regen
---
 .../src/main/docs/salesforce-component.adoc                  | 12 ++++++------
 .../endpoint/dsl/TranslateEndpointBuilderFactory.java        |  2 +-
 docs/components/modules/ROOT/nav.adoc                        |  2 +-
 .../modules/ROOT/pages/aws2-translate-component.adoc         |  9 +++++----
 docs/components/modules/ROOT/pages/index.adoc                |  8 ++++----
 docs/components/modules/ROOT/pages/salesforce-component.adoc | 12 ++++++------
 6 files changed, 23 insertions(+), 22 deletions(-)

diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc b/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
index a9dfdd7..428ef2d 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
@@ -671,22 +671,22 @@ The Salesforce component supports 33 options, which are listed below.
 | *lazyLogin* (security) | If set to true prevents the component from authenticating to Salesforce with the start of the component. You would generally set this to the (default) false and authenticate early and be immediately aware of any authentication issues. | false | boolean
 | *config* (common) | Global endpoint configuration - use to set values that are common to all endpoints |  | SalesforceEndpointConfig
 | *httpClientProperties* (common) | Used to set any properties that can be configured on the underlying HTTP client. Have a look at properties of SalesforceHttpClient and the Jetty HttpClient for all available options. |  | Map
-| *longPollingTransport Properties* (common) | Used to set any properties that can be configured on the LongPollingTransport used by the BayeuxClient (CometD) used by the streaming api |  | Map
+| *longPollingTransportProperties* (common) | Used to set any properties that can be configured on the LongPollingTransport used by the BayeuxClient (CometD) used by the streaming api |  | Map
 | *sslContextParameters* (security) | SSL parameters to use, see SSLContextParameters class for all available options. |  | SSLContextParameters
-| *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters | false | boolean
+| *useGlobalSslContextParameters* (security) | Enable usage of global SSL context parameters | false | boolean
 | *httpClientIdleTimeout* (common) | Timeout used by the HttpClient when waiting for response from the Salesforce server. | 10000 | long
-| *httpClientConnection Timeout* (common) | Connection timeout used by the HttpClient when connecting to the Salesforce server. | 60000 | long
+| *httpClientConnectionTimeout* (common) | Connection timeout used by the HttpClient when connecting to the Salesforce server. | 60000 | long
 | *httpProxyHost* (proxy) | Hostname of the HTTP proxy server to use. |  | String
 | *httpProxyPort* (proxy) | Port number of the HTTP proxy server to use. |  | Integer
 | *httpProxyUsername* (security) | Username to use to authenticate against the HTTP proxy server. |  | String
 | *httpProxyPassword* (security) | Password to use to authenticate against the HTTP proxy server. |  | String
 | *isHttpProxySocks4* (proxy) | If set to true the configures the HTTP proxy to use as a SOCKS4 proxy. | false | boolean
 | *isHttpProxySecure* (security) | If set to false disables the use of TLS when accessing the HTTP proxy. | true | boolean
-| *httpProxyIncluded Addresses* (proxy) | A list of addresses for which HTTP proxy server should be used. |  | Set
-| *httpProxyExcluded Addresses* (proxy) | A list of addresses for which HTTP proxy server should not be used. |  | Set
+| *httpProxyIncludedAddresses* (proxy) | A list of addresses for which HTTP proxy server should be used. |  | Set
+| *httpProxyExcludedAddresses* (proxy) | A list of addresses for which HTTP proxy server should not be used. |  | Set
 | *httpProxyAuthUri* (security) | Used in authentication against the HTTP proxy server, needs to match the URI of the proxy server in order for the httpProxyUsername and httpProxyPassword to be used for authentication. |  | String
 | *httpProxyRealm* (security) | Realm of the proxy server, used in preemptive Basic/Digest authentication methods against the HTTP proxy server. |  | String
-| *httpProxyUseDigest Auth* (security) | If set to true Digest authentication will be used when authenticating to the HTTP proxy, otherwise Basic authorization method will be used | false | boolean
+| *httpProxyUseDigestAuth* (security) | If set to true Digest authentication will be used when authenticating to the HTTP proxy, otherwise Basic authorization method will be used | false | boolean
 | *packages* (common) | In what packages are the generated DTO classes. Typically the classes would be generated using camel-salesforce-maven-plugin. Set it if using the generated DTOs to gain the benefit of using short SObject names in parameters/header values. |  | String[]
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | 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 [...]
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/TranslateEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/TranslateEndpointBuilderFactory.java
index 511a770..b8f5922 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/TranslateEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/TranslateEndpointBuilderFactory.java
@@ -376,4 +376,4 @@ public interface TranslateEndpointBuilderFactory {
         }
         return new TranslateEndpointBuilderImpl(path);
     }
-}
+}
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/nav.adoc b/docs/components/modules/ROOT/nav.adoc
index c4ec53b..7f7cb4b 100644
--- a/docs/components/modules/ROOT/nav.adoc
+++ b/docs/components/modules/ROOT/nav.adoc
@@ -43,7 +43,7 @@
 * xref:aws-swf-component.adoc[AWS Simple Workflow Component]
 * xref:aws-translate-component.adoc[AWS Translate Component]
 * xref:aws-xray.adoc[AWS XRay Component]
-* xref:aws2-translate-component.adoc[AWS Translate Component]
+* xref:aws2-translate-component.adoc[AWS 2 Translate Component]
 * xref:azure-blob-component.adoc[Azure Storage Blob Service Component]
 * xref:azure-queue-component.adoc[Azure Storage Queue Service Component]
 * xref:azure.adoc[Camel Components for Windows Azure Services]
diff --git a/docs/components/modules/ROOT/pages/aws2-translate-component.adoc b/docs/components/modules/ROOT/pages/aws2-translate-component.adoc
index 75d3cc3..1cd6d05 100644
--- a/docs/components/modules/ROOT/pages/aws2-translate-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws2-translate-component.adoc
@@ -1,8 +1,9 @@
-[[aws2-translate-component]]
-= AWS Translate Component
+= AWS 2 Translate Component
 :page-source: components/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc
 
 *Since Camel 3.1*
+*Since Camel 3.1*
+
 
 *Since Camel 3.1*
 
@@ -34,7 +35,7 @@ You can append query options to the URI in the following format,
 
 
 // component options: START
-The AWS Translate component supports 6 options, which are listed below.
+The AWS 2 Translate component supports 6 options, which are listed below.
 
 
 
@@ -54,7 +55,7 @@ The AWS Translate component supports 6 options, which are listed below.
 
 
 // endpoint options: START
-The AWS Translate endpoint is configured using URI syntax:
+The AWS 2 Translate endpoint is configured using URI syntax:
 
 ----
 aws2-translate:label
diff --git a/docs/components/modules/ROOT/pages/index.adoc b/docs/components/modules/ROOT/pages/index.adoc
index f5ef4bd..ff486df 100644
--- a/docs/components/modules/ROOT/pages/index.adoc
+++ b/docs/components/modules/ROOT/pages/index.adoc
@@ -22,7 +22,7 @@ Number of Components: 309 in 247 JAR artifacts (1 deprecated)
 
 | xref:apns-component.adoc[APNS] (camel-apns) | 2.8 | For sending notifications to Apple iOS devices.
 
-| xref:as2-component.adoc[AS2] (@@@ARTIFACTID@@@) | 2.22 | Component used for transferring data secure and reliable over the internet using the AS2 protocol.
+| xref:as2-component.adoc[AS2] (camel-as2) | 2.22 | Component used for transferring data secure and reliable over the internet using the AS2 protocol.
 
 | xref:asterisk-component.adoc[Asterisk] (camel-asterisk) | 2.18 | The asterisk component is used to interact with Asterisk PBX Server.
 
@@ -46,6 +46,8 @@ Number of Components: 309 in 247 JAR artifacts (1 deprecated)
 
 | xref:avro-component.adoc[Avro] (camel-avro) | 2.10 | Working with Apache Avro for data serialization.
 
+| xref:aws2-translate-component.adoc[AWS 2 Translate] (camel-aws2-translate) | 3.1 | The aws2-translate component is used for managing Amazon Translate
+
 | xref:aws-cw-component.adoc[AWS CloudWatch] (camel-aws-cw) | 2.11 | The aws-cw component is used for sending metrics to an Amazon CloudWatch.
 
 | xref:aws-ddb-component.adoc[AWS DynamoDB] (camel-aws-ddb) | 2.10 | The aws-ddb component is used for storing and retrieving data from Amazon's DynamoDB service.
@@ -86,8 +88,6 @@ Number of Components: 309 in 247 JAR artifacts (1 deprecated)
 
 | xref:aws-translate-component.adoc[AWS Translate] (camel-aws-translate) | 3.0 | The aws-translate component is used for managing Amazon Translate
 
-| xref:aws2-translate-component.adoc[AWS Translate] (camel-aws2-translate) | 3.1 | The aws2-translate component is used for managing Amazon Translate
-
 | xref:azure-blob-component.adoc[Azure Storage Blob Service] (camel-azure) | 2.19 | The azure-blob component is used for storing and retrieving blobs from Azure Storage Blob Service.
 
 | xref:azure-queue-component.adoc[Azure Storage Queue Service] (camel-azure) | 2.19 | The azure-queue component is used for storing and retrieving messages from Azure Storage Queue Service.
@@ -502,7 +502,7 @@ Number of Components: 309 in 247 JAR artifacts (1 deprecated)
 
 | xref:saga-component.adoc[Saga] (camel-saga) | 2.21 | The saga component provides access to advanced options for managing the flow in the Saga EIP.
 
-| xref:salesforce-component.adoc[Salesforce] (@@@ARTIFACTID@@@) | 2.12 | The salesforce component is used for integrating Camel with the massive Salesforce API.
+| xref:salesforce-component.adoc[Salesforce] (camel-salesforce) | 2.12 | The salesforce component is used for integrating Camel with the massive Salesforce API.
 
 | xref:sap-netweaver-component.adoc[SAP NetWeaver] (camel-sap-netweaver) | 2.12 | The sap-netweaver component integrates with the SAP NetWeaver Gateway using HTTP transports.
 
diff --git a/docs/components/modules/ROOT/pages/salesforce-component.adoc b/docs/components/modules/ROOT/pages/salesforce-component.adoc
index 6fddf55..ef91234 100644
--- a/docs/components/modules/ROOT/pages/salesforce-component.adoc
+++ b/docs/components/modules/ROOT/pages/salesforce-component.adoc
@@ -672,22 +672,22 @@ The Salesforce component supports 33 options, which are listed below.
 | *lazyLogin* (security) | If set to true prevents the component from authenticating to Salesforce with the start of the component. You would generally set this to the (default) false and authenticate early and be immediately aware of any authentication issues. | false | boolean
 | *config* (common) | Global endpoint configuration - use to set values that are common to all endpoints |  | SalesforceEndpointConfig
 | *httpClientProperties* (common) | Used to set any properties that can be configured on the underlying HTTP client. Have a look at properties of SalesforceHttpClient and the Jetty HttpClient for all available options. |  | Map
-| *longPollingTransport Properties* (common) | Used to set any properties that can be configured on the LongPollingTransport used by the BayeuxClient (CometD) used by the streaming api |  | Map
+| *longPollingTransportProperties* (common) | Used to set any properties that can be configured on the LongPollingTransport used by the BayeuxClient (CometD) used by the streaming api |  | Map
 | *sslContextParameters* (security) | SSL parameters to use, see SSLContextParameters class for all available options. |  | SSLContextParameters
-| *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters | false | boolean
+| *useGlobalSslContextParameters* (security) | Enable usage of global SSL context parameters | false | boolean
 | *httpClientIdleTimeout* (common) | Timeout used by the HttpClient when waiting for response from the Salesforce server. | 10000 | long
-| *httpClientConnection Timeout* (common) | Connection timeout used by the HttpClient when connecting to the Salesforce server. | 60000 | long
+| *httpClientConnectionTimeout* (common) | Connection timeout used by the HttpClient when connecting to the Salesforce server. | 60000 | long
 | *httpProxyHost* (proxy) | Hostname of the HTTP proxy server to use. |  | String
 | *httpProxyPort* (proxy) | Port number of the HTTP proxy server to use. |  | Integer
 | *httpProxyUsername* (security) | Username to use to authenticate against the HTTP proxy server. |  | String
 | *httpProxyPassword* (security) | Password to use to authenticate against the HTTP proxy server. |  | String
 | *isHttpProxySocks4* (proxy) | If set to true the configures the HTTP proxy to use as a SOCKS4 proxy. | false | boolean
 | *isHttpProxySecure* (security) | If set to false disables the use of TLS when accessing the HTTP proxy. | true | boolean
-| *httpProxyIncluded Addresses* (proxy) | A list of addresses for which HTTP proxy server should be used. |  | Set
-| *httpProxyExcluded Addresses* (proxy) | A list of addresses for which HTTP proxy server should not be used. |  | Set
+| *httpProxyIncludedAddresses* (proxy) | A list of addresses for which HTTP proxy server should be used. |  | Set
+| *httpProxyExcludedAddresses* (proxy) | A list of addresses for which HTTP proxy server should not be used. |  | Set
 | *httpProxyAuthUri* (security) | Used in authentication against the HTTP proxy server, needs to match the URI of the proxy server in order for the httpProxyUsername and httpProxyPassword to be used for authentication. |  | String
 | *httpProxyRealm* (security) | Realm of the proxy server, used in preemptive Basic/Digest authentication methods against the HTTP proxy server. |  | String
-| *httpProxyUseDigest Auth* (security) | If set to true Digest authentication will be used when authenticating to the HTTP proxy, otherwise Basic authorization method will be used | false | boolean
+| *httpProxyUseDigestAuth* (security) | If set to true Digest authentication will be used when authenticating to the HTTP proxy, otherwise Basic authorization method will be used | false | boolean
 | *packages* (common) | In what packages are the generated DTO classes. Typically the classes would be generated using camel-salesforce-maven-plugin. Set it if using the generated DTOs to gain the benefit of using short SObject names in parameters/header values. |  | String[]
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | 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 [...]


[camel] 03/09: CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, regen

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 8d4ce167bb69f8ce9719d640b741860430a3f936
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Jan 15 18:09:47 2020 +0100

    CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate, regen
---
 bom/camel-bom/pom.xml                                            | 5 +++++
 docs/components/modules/ROOT/pages/aws2-translate-component.adoc | 6 +++---
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index 3469331..bd58384 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -223,6 +223,11 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
+        <artifactId>camel-aws2-translate</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
         <artifactId>camel-azure</artifactId>
         <version>${project.version}</version>
       </dependency>
diff --git a/docs/components/modules/ROOT/pages/aws2-translate-component.adoc b/docs/components/modules/ROOT/pages/aws2-translate-component.adoc
index dba984e..75d3cc3 100644
--- a/docs/components/modules/ROOT/pages/aws2-translate-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws2-translate-component.adoc
@@ -41,7 +41,7 @@ The AWS Translate component supports 6 options, which are listed below.
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *configuration* (advanced) | The AWS Translate default configuration |  | TranslateConfiguration
+| *configuration* (advanced) | The AWS Translate default configuration |  | Translate2Configuration
 | *accessKey* (producer) | Amazon AWS Access Key |  | String
 | *secretKey* (producer) | Amazon AWS Secret Key |  | String
 | *region* (producer) | The region in which Translate client needs to work |  | String
@@ -81,7 +81,7 @@ with the following path and query parameters:
 | *accessKey* (producer) | Amazon AWS Access Key |  | String
 | *autodetectSourceLanguage* (producer) | Being able to autodetect the source language | 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 [...]
-| *operation* (producer) | *Required* The operation to perform |  | TranslateOperations
+| *operation* (producer) | *Required* The operation to perform |  | Translate2Operations
 | *proxyHost* (producer) | To define a proxy host when instantiating the Translate client |  | String
 | *proxyPort* (producer) | To define a proxy port when instantiating the Translate client |  | Integer
 | *proxyProtocol* (producer) | To define a proxy protocol when instantiating the Translate client | HTTPS | Protocol
@@ -162,4 +162,4 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `$\{camel-version\}` must be replaced by the actual version of Camel.
\ No newline at end of file
+where `$\{camel-version\}` must be replaced by the actual version of Camel.


[camel] 01/09: CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit e16e7af01b3ab01708d1130f321bb48ecc581af5
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Jan 15 12:24:20 2020 +0100

    CAMEL-13784 - Update to AWS SDK V2 - Created camel-aws2-translate
---
 apache-camel/pom.xml                               |   5 +
 apache-camel/src/main/descriptors/common-bin.xml   |   1 +
 components/camel-aws2-translate/pom.xml            |  86 +++++++++
 .../src/main/docs/aws2-translate-component.adoc    | 164 +++++++++++++++++
 .../aws2/translate/TranslateComponent.java         | 123 +++++++++++++
 .../TranslateComponentVerifierExtension.java       |  87 ++++++++++
 .../aws2/translate/TranslateConfiguration.java     | 193 +++++++++++++++++++++
 .../aws2/translate/TranslateConstants.java         |  27 +++
 .../aws2/translate/TranslateEndpoint.java          | 122 +++++++++++++
 .../aws2/translate/TranslateLanguageEnum.java      |  36 ++++
 .../aws2/translate/TranslateOperations.java        |  22 +++
 .../aws2/translate/TranslateProducer.java          | 130 ++++++++++++++
 .../aws2/translate/AmazonAWSTranslateMock.java     |  42 +++++
 .../translate/TranslateProducerSpringTest.java     |  60 +++++++
 .../aws2/translate/TranslateProducerTest.java      |  87 ++++++++++
 .../TranslateProducerIntegrationTest.java          |  87 ++++++++++
 .../src/test/resources/log4j2.properties           |  28 +++
 .../TranslateComponentSpringTest-context.xml       |  35 ++++
 .../dsl/TranslateEndpointBuilderFactory.java       |  36 ++--
 parent/pom.xml                                     |   1 +
 20 files changed, 1354 insertions(+), 18 deletions(-)

diff --git a/apache-camel/pom.xml b/apache-camel/pom.xml
index fa0d4e1..8789a03 100644
--- a/apache-camel/pom.xml
+++ b/apache-camel/pom.xml
@@ -288,6 +288,11 @@
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
+      <artifactId>camel-aws2-translate</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.camel</groupId>
       <artifactId>camel-azure</artifactId>
       <version>${project.version}</version>
     </dependency>
diff --git a/apache-camel/src/main/descriptors/common-bin.xml b/apache-camel/src/main/descriptors/common-bin.xml
index 533bdb5..34b676be 100644
--- a/apache-camel/src/main/descriptors/common-bin.xml
+++ b/apache-camel/src/main/descriptors/common-bin.xml
@@ -78,6 +78,7 @@
         <include>org.apache.camel:camel-aws-swf</include>
         <include>org.apache.camel:camel-aws-translate</include>
         <include>org.apache.camel:camel-aws-xray</include>
+        <include>org.apache.camel:camel-aws2-translate</include>
         <include>org.apache.camel:camel-azure</include>
         <include>org.apache.camel:camel-barcode</include>
         <include>org.apache.camel:camel-base64</include>
diff --git a/components/camel-aws2-translate/pom.xml b/components/camel-aws2-translate/pom.xml
new file mode 100644
index 0000000..ad5a274
--- /dev/null
+++ b/components/camel-aws2-translate/pom.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>components</artifactId>
+        <version>3.1.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>camel-aws2-translate</artifactId>
+    <packaging>jar</packaging>
+
+    <name>Camel :: AWS2 Translate</name>
+    <description>A Camel Amazon Translate Web Service Component Version 2</description>
+
+    <properties>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-support</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>software.amazon.awssdk</groupId>
+            <artifactId>translate</artifactId>
+            <version>${aws-java-sdk2-version}</version>
+        </dependency>
+        <dependency>
+            <groupId>software.amazon.awssdk</groupId>
+            <artifactId>apache-client</artifactId>
+            <version>${aws-java-sdk2-version}</version>
+        </dependency>
+
+        <!-- for testing -->
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-test-spring</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-api</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-slf4j-impl</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+</project>
diff --git a/components/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc b/components/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc
new file mode 100644
index 0000000..dff0724
--- /dev/null
+++ b/components/camel-aws2-translate/src/main/docs/aws2-translate-component.adoc
@@ -0,0 +1,164 @@
+[[aws2-translate-component]]
+= AWS Translate Component
+
+*Since Camel 3.1*
+
+*Since Camel 3.1*
+
+
+// HEADER START
+*Only producer is supported*
+// HEADER END
+
+The Translate component supports translate a text in multiple languages.
+https://aws.amazon.com/translate/[AWS Translate] clusters instances.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon Translate. More information is available at
+https://aws.amazon.com/translate/[Amazon Translate].
+
+== URI Format
+
+[source,java]
+-------------------------
+aws-translate://label[?options]
+-------------------------
+
+You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+== URI Options
+
+
+// component options: START
+The AWS Translate component supports 6 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (advanced) | The AWS Translate default configuration |  | TranslateConfiguration
+| *accessKey* (producer) | Amazon AWS Access Key |  | String
+| *secretKey* (producer) | Amazon AWS Secret Key |  | String
+| *region* (producer) | The region in which Translate client needs to work |  | String
+| *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | 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 [...]
+|===
+// component options: END
+
+
+
+
+// endpoint options: START
+The AWS Translate endpoint is configured using URI syntax:
+
+----
+aws2-translate:label
+----
+
+with the following path and query parameters:
+
+=== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *label* | *Required* Logical name |  | String
+|===
+
+
+=== Query Parameters (14 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *accessKey* (producer) | Amazon AWS Access Key |  | String
+| *autodetectSourceLanguage* (producer) | Being able to autodetect the source language | 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 [...]
+| *operation* (producer) | *Required* The operation to perform |  | TranslateOperations
+| *proxyHost* (producer) | To define a proxy host when instantiating the Translate client |  | String
+| *proxyPort* (producer) | To define a proxy port when instantiating the Translate client |  | Integer
+| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the Translate client | HTTPS | Protocol
+| *region* (producer) | The region in which Translate client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() |  | String
+| *secretKey* (producer) | Amazon AWS Secret Key |  | String
+| *sourceLanguage* (producer) | Source language to use |  | String
+| *targetLanguage* (producer) | Target language to use |  | String
+| *translateClient* (producer) | To use a existing configured AWS Translate as client |  | TranslateClient
+| *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+// spring-boot-auto-configure options: END
+
+
+
+
+Required Translate component options
+
+You have to provide the amazonTranslateClient in the
+Registry or your accessKey and secretKey to access
+the https://aws.amazon.com/translate/[Amazon Translate] service.
+
+== Usage
+
+=== Message headers evaluated by the Translate producer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsTranslateSourceLanguage` |`String` |The text source language
+
+|`CamelAwsTranslateTargetLanguage` |`String` |The text target language
+
+|`CamelAwsTranslateTerminologyNames` |`String` |The terminologies to use
+
+|`CamelAwsTranslateOperation` |`String` |The operation to perform
+|=======================================================================
+
+=== Translate Producer operations
+
+Camel-AWS Translate component provides the following operation on the producer side:
+
+- translateText
+
+== Automatic detection of AmazonTranslate client in registry
+
+The component is capable of detecting the presence of an AmazonTranslate bean into the registry.
+If it's the only instance of that type it will be used as client and you won't have to define it as uri parameter.
+This may be really useful for smarter configuration of the endpoint.
+
+== Translate Text example
+
+------------------------------------------------------------------------------------------------------
+from("direct:start")
+  .setHeader(TranslateConstants.SOURCE_LANGUAGE, TranslateLanguageEnum.ITALIAN)
+  .setHeader(TranslateConstants.TARGET_LANGUAGE, TranslateLanguageEnum.GERMAN)
+  .setBody("Ciao")
+  .to("aws-translate://test?translateClient=#amazonTranslateClient&operation=translateText");
+------------------------------------------------------------------------------------------------------
+
+As result you'll get an exchange containing the translated text.
+
+Dependencies
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-aws2-translate</artifactId>
+    <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `$\{camel-version\}` must be replaced by the actual version of Camel.
\ No newline at end of file
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateComponent.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateComponent.java
new file mode 100644
index 0000000..f888807
--- /dev/null
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateComponent.java
@@ -0,0 +1,123 @@
+/*
+ * 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.aws2.translate;
+
+import java.util.Map;
+import java.util.Set;
+
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.Endpoint;
+import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.annotations.Component;
+import org.apache.camel.support.DefaultComponent;
+import org.apache.camel.util.ObjectHelper;
+
+import software.amazon.awssdk.services.translate.TranslateClient;
+
+/**
+ * For working with Amazon Translate.
+ */
+@Component("aws2-translate")
+public class TranslateComponent extends DefaultComponent {
+
+    @Metadata
+    private String accessKey;
+    @Metadata
+    private String secretKey;
+    @Metadata
+    private String region;
+    @Metadata(label = "advanced")
+    private TranslateConfiguration configuration;
+
+    public TranslateComponent() {
+        this(null);
+    }
+
+    public TranslateComponent(CamelContext context) {
+        super(context);
+
+        registerExtension(new TranslateComponentVerifierExtension());
+    }
+
+    @Override
+    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
+        TranslateConfiguration configuration = this.configuration != null ? this.configuration.copy() : new TranslateConfiguration();
+
+        TranslateEndpoint endpoint = new TranslateEndpoint(uri, this, configuration);
+        endpoint.getConfiguration().setAccessKey(accessKey);
+        endpoint.getConfiguration().setSecretKey(secretKey);
+        endpoint.getConfiguration().setRegion(region);
+        setProperties(endpoint, parameters);
+        checkAndSetRegistryClient(configuration);
+        if (configuration.getTranslateClient() == null && (configuration.getAccessKey() == null || configuration.getSecretKey() == null)) {
+            throw new IllegalArgumentException("Amazon translate client or accessKey and secretKey must be specified");
+        }
+        return endpoint;
+    }
+
+    public TranslateConfiguration getConfiguration() {
+        return configuration;
+    }
+
+    /**
+     * The AWS Translate default configuration
+     */
+    public void setConfiguration(TranslateConfiguration configuration) {
+        this.configuration = configuration;
+    }
+
+    public String getAccessKey() {
+        return accessKey;
+    }
+
+    /**
+     * Amazon AWS Access Key
+     */
+    public void setAccessKey(String accessKey) {
+        this.accessKey = accessKey;
+    }
+
+    public String getSecretKey() {
+        return secretKey;
+    }
+
+    /**
+     * Amazon AWS Secret Key
+     */
+    public void setSecretKey(String secretKey) {
+        this.secretKey = secretKey;
+    }
+
+    public String getRegion() {
+        return region;
+    }
+
+    /**
+     * The region in which Translate client needs to work
+     */
+    public void setRegion(String region) {
+        this.region = region;
+    }
+
+    private void checkAndSetRegistryClient(TranslateConfiguration configuration) {
+        Set<TranslateClient> clients = getCamelContext().getRegistry().findByType(TranslateClient.class);
+        if (clients.size() == 1) {
+            configuration.setTranslateClient(clients.stream().findFirst().get());
+        }
+    }
+}
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateComponentVerifierExtension.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateComponentVerifierExtension.java
new file mode 100644
index 0000000..3e39093
--- /dev/null
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateComponentVerifierExtension.java
@@ -0,0 +1,87 @@
+/*
+ * 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.aws2.translate;
+
+import java.util.Map;
+
+import org.apache.camel.component.extension.verifier.DefaultComponentVerifierExtension;
+import org.apache.camel.component.extension.verifier.ResultBuilder;
+import org.apache.camel.component.extension.verifier.ResultErrorBuilder;
+import org.apache.camel.component.extension.verifier.ResultErrorHelper;
+
+import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider;
+import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider;
+import software.amazon.awssdk.core.exception.SdkClientException;
+import software.amazon.awssdk.regions.Region;
+import software.amazon.awssdk.services.translate.TranslateClient;
+import software.amazon.awssdk.services.translate.TranslateClientBuilder;
+import software.amazon.awssdk.services.translate.model.TranslateTextRequest;
+
+public class TranslateComponentVerifierExtension extends DefaultComponentVerifierExtension {
+
+    public TranslateComponentVerifierExtension() {
+        this("aws2-translate");
+    }
+
+    public TranslateComponentVerifierExtension(String scheme) {
+        super(scheme);
+    }
+
+    // *********************************
+    // Parameters validation
+    // *********************************
+
+    @Override
+    protected Result verifyParameters(Map<String, Object> parameters) {
+
+        ResultBuilder builder = ResultBuilder.withStatusAndScope(Result.Status.OK, Scope.PARAMETERS).error(ResultErrorHelper.requiresOption("accessKey", parameters))
+            .error(ResultErrorHelper.requiresOption("secretKey", parameters)).error(ResultErrorHelper.requiresOption("region", parameters));
+
+        // Validate using the catalog
+
+        super.verifyParametersAgainstCatalog(builder, parameters);
+
+        return builder.build();
+    }
+
+    // *********************************
+    // Connectivity validation
+    // *********************************
+
+    @Override
+    protected Result verifyConnectivity(Map<String, Object> parameters) {
+        ResultBuilder builder = ResultBuilder.withStatusAndScope(Result.Status.OK, Scope.CONNECTIVITY);
+
+        try {
+            TranslateConfiguration configuration = setProperties(new TranslateConfiguration(), parameters);
+            AwsCredentialsProvider credentialsProvider = DefaultCredentialsProvider.create();
+            TranslateClientBuilder clientBuilder = TranslateClient.builder();
+            TranslateClient client = clientBuilder.credentialsProvider(credentialsProvider).region(Region.of(configuration.getRegion())).build();
+            TranslateTextRequest req = TranslateTextRequest.builder().sourceLanguageCode("it").targetLanguageCode("en").text("ciao").build();
+            client.translateText(req);
+		} catch (SdkClientException e) {
+            ResultErrorBuilder errorBuilder = ResultErrorBuilder.withCodeAndDescription(VerificationError.StandardCode.AUTHENTICATION, e.getMessage())
+                .detail("aws_translate_exception_message", e.getMessage()).detail(VerificationError.ExceptionAttribute.EXCEPTION_CLASS, e.getClass().getName())
+                .detail(VerificationError.ExceptionAttribute.EXCEPTION_INSTANCE, e);
+
+            builder.error(errorBuilder.build());
+        } catch (Exception e) {
+            builder.error(ResultErrorBuilder.withException(e).build());
+        }
+        return builder.build();
+    }
+}
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateConfiguration.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateConfiguration.java
new file mode 100644
index 0000000..51fce9f
--- /dev/null
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateConfiguration.java
@@ -0,0 +1,193 @@
+/*
+ * 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.aws2.translate;
+
+import software.amazon.awssdk.core.Protocol;
+import software.amazon.awssdk.services.translate.TranslateClient;
+
+import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.UriParam;
+import org.apache.camel.spi.UriParams;
+import org.apache.camel.spi.UriPath;
+
+@UriParams
+public class TranslateConfiguration implements Cloneable {
+
+    @UriPath(description = "Logical name")
+    @Metadata(required = true)
+    private String label;
+    @UriParam(label = "producer")
+    private TranslateClient translateClient;
+    @UriParam(label = "producer", secret = true)
+    private String accessKey;
+    @UriParam(label = "producer", secret = true)
+    private String secretKey;
+    @UriParam(label = "producer")
+    @Metadata(required = true, defaultValue = "translateText")
+    private TranslateOperations operation = TranslateOperations.translateText;
+    @UriParam(enums = "HTTP,HTTPS", defaultValue = "HTTPS")
+    private Protocol proxyProtocol = Protocol.HTTPS;
+    @UriParam(label = "producer")
+    private String proxyHost;
+    @UriParam(label = "producer")
+    private String sourceLanguage;
+    @UriParam(label = "producer")
+    private String targetLanguage;
+    @UriParam(label = "producer")
+    private Integer proxyPort;
+    @UriParam
+    private String region;
+    @UriParam(label = "producer", defaultValue = "false")
+    private boolean autodetectSourceLanguage;
+
+    public TranslateClient getTranslateClient() {
+        return translateClient;
+    }
+
+    /**
+     * To use a existing configured AWS Translate as client
+     */
+    public void setTranslateClient(TranslateClient translateClient) {
+        this.translateClient = translateClient;
+    }
+
+    public String getAccessKey() {
+        return accessKey;
+    }
+
+    /**
+     * Amazon AWS Access Key
+     */
+    public void setAccessKey(String accessKey) {
+        this.accessKey = accessKey;
+    }
+
+    public String getSecretKey() {
+        return secretKey;
+    }
+
+    /**
+     * Amazon AWS Secret Key
+     */
+    public void setSecretKey(String secretKey) {
+        this.secretKey = secretKey;
+    }
+
+    public TranslateOperations getOperation() {
+        return operation;
+    }
+
+    /**
+     * The operation to perform
+     */
+    public void setOperation(TranslateOperations operation) {
+        this.operation = operation;
+    }
+
+    public Protocol getProxyProtocol() {
+        return proxyProtocol;
+    }
+
+    /**
+     * To define a proxy protocol when instantiating the Translate client
+     */
+    public void setProxyProtocol(Protocol proxyProtocol) {
+        this.proxyProtocol = proxyProtocol;
+    }
+
+    public String getProxyHost() {
+        return proxyHost;
+    }
+
+    /**
+     * To define a proxy host when instantiating the Translate client
+     */
+    public void setProxyHost(String proxyHost) {
+        this.proxyHost = proxyHost;
+    }
+
+    public Integer getProxyPort() {
+        return proxyPort;
+    }
+
+    /**
+     * To define a proxy port when instantiating the Translate client
+     */
+    public void setProxyPort(Integer proxyPort) {
+        this.proxyPort = proxyPort;
+    }
+
+    public String getRegion() {
+        return region;
+    }
+
+    /**
+     * The region in which Translate client needs to work. When using this
+     * parameter, the configuration will expect the capitalized name of the
+     * region (for example AP_EAST_1) You'll need to use the name
+     * Regions.EU_WEST_1.name()
+     */
+    public void setRegion(String region) {
+        this.region = region;
+    }
+
+    public boolean isAutodetectSourceLanguage() {
+        return autodetectSourceLanguage;
+    }
+
+    /**
+     * Being able to autodetect the source language
+     */
+    public void setAutodetectSourceLanguage(boolean autodetectSourceLanguage) {
+        this.autodetectSourceLanguage = autodetectSourceLanguage;
+    }
+
+    public String getSourceLanguage() {
+        return sourceLanguage;
+    }
+
+    /**
+     * Source language to use
+     */
+    public void setSourceLanguage(String sourceLanguage) {
+        this.sourceLanguage = sourceLanguage;
+    }
+
+    public String getTargetLanguage() {
+        return targetLanguage;
+    }
+
+    /**
+     * Target language to use
+     */
+    public void setTargetLanguage(String targetLanguage) {
+        this.targetLanguage = targetLanguage;
+    }
+
+    // *************************************************
+    //
+    // *************************************************
+
+    public TranslateConfiguration copy() {
+        try {
+            return (TranslateConfiguration)super.clone();
+        } catch (CloneNotSupportedException e) {
+            throw new RuntimeCamelException(e);
+        }
+    }
+}
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateConstants.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateConstants.java
new file mode 100644
index 0000000..598c036
--- /dev/null
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateConstants.java
@@ -0,0 +1,27 @@
+/*
+ * 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.aws2.translate;
+
+/**
+ * Constants used in Camel AWS Translate module
+ */
+public interface TranslateConstants {
+    String SOURCE_LANGUAGE = "CamelAwsTranslateSourceLanguage";
+    String TARGET_LANGUAGE = "CamelAwsTranslateTargetLanguage";
+    String TERMINOLOGY_NAMES = "CamelAwsTranslateTerminologyNames";
+    String OPERATION = "CamelAwsTranslateOperation";
+}
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateEndpoint.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateEndpoint.java
new file mode 100644
index 0000000..10a5360
--- /dev/null
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateEndpoint.java
@@ -0,0 +1,122 @@
+/*
+ * 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.aws2.translate;
+
+import java.net.URI;
+
+import org.apache.camel.Component;
+import org.apache.camel.Consumer;
+import org.apache.camel.Processor;
+import org.apache.camel.Producer;
+import org.apache.camel.spi.UriEndpoint;
+import org.apache.camel.spi.UriParam;
+import org.apache.camel.support.ScheduledPollEndpoint;
+import org.apache.camel.util.ObjectHelper;
+
+import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
+import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
+import software.amazon.awssdk.http.apache.ApacheHttpClient;
+import software.amazon.awssdk.http.apache.ProxyConfiguration;
+import software.amazon.awssdk.regions.Region;
+import software.amazon.awssdk.services.translate.TranslateClient;
+import software.amazon.awssdk.services.translate.TranslateClientBuilder;
+
+/**
+ * The aws2-translate component is used for managing Amazon Translate
+ */
+@UriEndpoint(firstVersion = "3.1.0", scheme = "aws2-translate", title = "AWS Translate", syntax = "aws2-translate:label", producerOnly = true, label = "cloud,management")
+public class TranslateEndpoint extends ScheduledPollEndpoint {
+
+    private TranslateClient translateClient;
+
+    @UriParam
+    private TranslateConfiguration configuration;
+
+    public TranslateEndpoint(String uri, Component component, TranslateConfiguration configuration) {
+        super(uri, component);
+        this.configuration = configuration;
+    }
+
+    @Override
+    public Consumer createConsumer(Processor processor) throws Exception {
+        throw new UnsupportedOperationException("You cannot receive messages from this endpoint");
+    }
+
+    @Override
+    public Producer createProducer() throws Exception {
+        return new TranslateProducer(this);
+    }
+
+    @Override
+    public void doStart() throws Exception {
+        super.doStart();
+
+        translateClient = configuration.getTranslateClient() != null ? configuration.getTranslateClient() : createTranslateClient();
+    }
+
+    @Override
+    public void doStop() throws Exception {
+        if (ObjectHelper.isEmpty(configuration.getTranslateClient())) {
+            if (translateClient != null) {
+                translateClient.close();
+            }
+        }
+        super.doStop();
+    }
+
+    public TranslateConfiguration getConfiguration() {
+        return configuration;
+    }
+
+    public TranslateClient getTranslateClient() {
+        return translateClient;
+    }
+
+    TranslateClient createTranslateClient() {
+        TranslateClient client = null;
+        TranslateClientBuilder clientBuilder = TranslateClient.builder();
+    	ProxyConfiguration.Builder proxyConfig = null;
+    	ApacheHttpClient.Builder httpClientBuilder = null;
+        boolean isClientConfigFound = false;
+        if (ObjectHelper.isNotEmpty(configuration.getProxyHost()) && ObjectHelper.isNotEmpty(configuration.getProxyPort())) {
+        	proxyConfig = ProxyConfiguration.builder();
+        	URI proxyEndpoint = URI.create(configuration.getProxyProtocol() + configuration.getProxyHost() + configuration.getProxyPort());
+        	proxyConfig.endpoint(proxyEndpoint);
+        	httpClientBuilder = 
+        	        ApacheHttpClient.builder()
+        	                        .proxyConfiguration(proxyConfig.build());
+            isClientConfigFound = true;
+        }
+        if (configuration.getAccessKey() != null && configuration.getSecretKey() != null) {
+        	AwsBasicCredentials cred = AwsBasicCredentials.create(configuration.getAccessKey(), configuration.getSecretKey());
+            if (isClientConfigFound) {
+                clientBuilder = clientBuilder.httpClientBuilder(httpClientBuilder).credentialsProvider(StaticCredentialsProvider.create(cred));
+            } else {
+                clientBuilder = clientBuilder.credentialsProvider(StaticCredentialsProvider.create(cred));
+            }
+        } else {
+            if (!isClientConfigFound) {
+                clientBuilder = clientBuilder.httpClientBuilder(httpClientBuilder);
+            }
+        }
+        if (ObjectHelper.isNotEmpty(configuration.getRegion())) {
+            clientBuilder = clientBuilder.region(Region.of(configuration.getRegion()));
+        }
+        client = clientBuilder.build();
+        return client;
+    }
+}
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateLanguageEnum.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateLanguageEnum.java
new file mode 100644
index 0000000..7df9ec9
--- /dev/null
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateLanguageEnum.java
@@ -0,0 +1,36 @@
+/*
+ * 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.aws2.translate;
+
+public enum TranslateLanguageEnum {
+
+    ARABIC("ar"), CHINESE_SIMPLIFIED("zh"), CHINESE_TRADITIONAL("zh-TW"), CZECH("cs"), DANISH("da"), DUTCH("nl"), ENGLISH("en"), FINNISH("fi"), FRENCH("fr"), GERMAN("de"), HEBREW(
+        "he"), HINDI("hi"), INDONESIAN("id"), ITALIAN("it"), JAPANESE(
+            "ja"), KOREAN("ko"), MALAY("ms"), NORWEGIAN("no"), PERSIAN("fa"), POLISH("pl"), PORTUGUESE("pt"), RUSSIAN("ru"), SPANISH("es"), SWEDISH("sv"), TURKISH("tr");
+
+    private final String language;
+
+    TranslateLanguageEnum(final String language) {
+        this.language = language;
+    }
+
+    @Override
+    public String toString() {
+        return language;
+    }
+
+}
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateOperations.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateOperations.java
new file mode 100644
index 0000000..99a474a
--- /dev/null
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateOperations.java
@@ -0,0 +1,22 @@
+/*
+ * 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.aws2.translate;
+
+public enum TranslateOperations {
+
+    translateText
+}
diff --git a/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateProducer.java b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateProducer.java
new file mode 100644
index 0000000..ef758b3
--- /dev/null
+++ b/components/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/TranslateProducer.java
@@ -0,0 +1,130 @@
+/*
+ * 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.aws2.translate;
+
+import java.util.Collection;
+
+import org.apache.camel.Endpoint;
+import org.apache.camel.Exchange;
+import org.apache.camel.Message;
+import org.apache.camel.support.DefaultProducer;
+import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.util.URISupport;
+
+import software.amazon.awssdk.awscore.exception.AwsServiceException;
+import software.amazon.awssdk.services.translate.TranslateClient;
+import software.amazon.awssdk.services.translate.model.TranslateTextRequest;
+import software.amazon.awssdk.services.translate.model.TranslateTextRequest.Builder;
+import software.amazon.awssdk.services.translate.model.TranslateTextResponse;
+
+/**
+ * A Producer which sends messages to the Amazon Translate Service
+ * <a href="http://aws.amazon.com/translate/">AWS Translate</a>
+ */
+public class TranslateProducer extends DefaultProducer {
+
+    private transient String translateProducerToString;
+
+    public TranslateProducer(Endpoint endpoint) {
+        super(endpoint);
+    }
+
+    @Override
+    public void process(Exchange exchange) throws Exception {
+        switch (determineOperation(exchange)) {
+        case translateText:
+            translateText(getEndpoint().getTranslateClient(), exchange);
+            break;
+        default:
+            throw new IllegalArgumentException("Unsupported operation");
+        }
+    }
+
+    private TranslateOperations determineOperation(Exchange exchange) {
+        TranslateOperations operation = exchange.getIn().getHeader(TranslateConstants.OPERATION, TranslateOperations.class);
+        if (operation == null) {
+            operation = getConfiguration().getOperation();
+        }
+        return operation;
+    }
+
+    protected TranslateConfiguration getConfiguration() {
+        return getEndpoint().getConfiguration();
+    }
+
+    @Override
+    public String toString() {
+        if (translateProducerToString == null) {
+            translateProducerToString = "TranslateProducer[" + URISupport.sanitizeUri(getEndpoint().getEndpointUri()) + "]";
+        }
+        return translateProducerToString;
+    }
+
+    @Override
+    public TranslateEndpoint getEndpoint() {
+        return (TranslateEndpoint)super.getEndpoint();
+    }
+
+    private void translateText(TranslateClient translateClient, Exchange exchange) {
+        Builder request = TranslateTextRequest.builder();
+        if (!getConfiguration().isAutodetectSourceLanguage()) {
+            if (ObjectHelper.isEmpty(getConfiguration().getSourceLanguage()) && ObjectHelper.isEmpty(getConfiguration().getTargetLanguage())) {
+                String source = exchange.getIn().getHeader(TranslateConstants.SOURCE_LANGUAGE, String.class);
+                String target = exchange.getIn().getHeader(TranslateConstants.TARGET_LANGUAGE, String.class);
+                if (ObjectHelper.isEmpty(source) || ObjectHelper.isEmpty(target)) {
+                    throw new IllegalArgumentException("Source and target language must be specified as headers or endpoint options");
+                }
+                request.sourceLanguageCode(source);
+                request.targetLanguageCode(target);
+            } else {
+                request.sourceLanguageCode(getConfiguration().getSourceLanguage());
+                request.targetLanguageCode(getConfiguration().getTargetLanguage());
+            }
+        } else {
+            String source = "auto";
+            if (ObjectHelper.isEmpty(getConfiguration().getTargetLanguage())) {
+                String target = exchange.getIn().getHeader(TranslateConstants.TARGET_LANGUAGE, String.class);
+                if (ObjectHelper.isEmpty(source) || ObjectHelper.isEmpty(target)) {
+                    throw new IllegalArgumentException("Target language must be specified when autodetection of source language is enabled");
+                }
+                request.sourceLanguageCode(source);
+                request.targetLanguageCode(target);
+            } else {
+                request.sourceLanguageCode(source);
+                request.targetLanguageCode(getConfiguration().getTargetLanguage());
+            }
+        }
+        if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(TranslateConstants.TERMINOLOGY_NAMES, Collection.class))) {
+            Collection<String> terminologies = exchange.getIn().getHeader(TranslateConstants.TERMINOLOGY_NAMES, Collection.class);
+            request.terminologyNames(terminologies);
+        }
+        request.text(exchange.getMessage().getBody(String.class));
+        TranslateTextResponse result;
+        try {
+            result = translateClient.translateText(request.build());
+        } catch (AwsServiceException ase) {
+            log.trace("Translate Text command returned the error code {}", ase.getMessage());
+            throw ase;
+        }
+        Message message = getMessageForResponse(exchange);
+        message.setBody(result.translatedText());
+    }
+
+    public static Message getMessageForResponse(final Exchange exchange) {
+        return exchange.getMessage();
+    }
+}
diff --git a/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/AmazonAWSTranslateMock.java b/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/AmazonAWSTranslateMock.java
new file mode 100644
index 0000000..77d332b
--- /dev/null
+++ b/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/AmazonAWSTranslateMock.java
@@ -0,0 +1,42 @@
+/*
+ * 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.aws2.translate;
+
+import software.amazon.awssdk.services.translate.TranslateClient;
+import software.amazon.awssdk.services.translate.model.TranslateTextRequest;
+import software.amazon.awssdk.services.translate.model.TranslateTextResponse;
+
+public class AmazonAWSTranslateMock implements TranslateClient {
+
+    @Override
+    public TranslateTextResponse translateText(TranslateTextRequest request) {
+    	TranslateTextResponse result = TranslateTextResponse.builder().translatedText("Hello").build();
+        return result;
+    }
+
+	@Override
+	public String serviceName() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public void close() {
+		// TODO Auto-generated method stub
+		
+	}
+}
diff --git a/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/TranslateProducerSpringTest.java b/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/TranslateProducerSpringTest.java
new file mode 100644
index 0000000..370425b
--- /dev/null
+++ b/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/TranslateProducerSpringTest.java
@@ -0,0 +1,60 @@
+/*
+ * 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.aws2.translate;
+
+import org.apache.camel.EndpointInject;
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
+import org.apache.camel.component.aws2.translate.TranslateConstants;
+import org.apache.camel.component.aws2.translate.TranslateLanguageEnum;
+import org.apache.camel.component.aws2.translate.TranslateOperations;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.spring.CamelSpringTestSupport;
+import org.junit.Test;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+public class TranslateProducerSpringTest extends CamelSpringTestSupport {
+
+    @EndpointInject("mock:result")
+    private MockEndpoint mock;
+
+    @Test
+    public void translateTextTest() throws Exception {
+
+        mock.expectedMessageCount(1);
+        Exchange exchange = template.request("direct:translateText", new Processor() {
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setHeader(TranslateConstants.OPERATION, TranslateOperations.translateText);
+                exchange.getIn().setHeader(TranslateConstants.SOURCE_LANGUAGE, TranslateLanguageEnum.ITALIAN);
+                exchange.getIn().setHeader(TranslateConstants.TARGET_LANGUAGE, TranslateLanguageEnum.ENGLISH);
+                exchange.getIn().setBody("ciao");
+            }
+        });
+
+        assertMockEndpointsSatisfied();
+
+        String resultGet = exchange.getIn().getBody(String.class);
+        assertEquals("Hello", resultGet);
+
+    }
+
+    @Override
+    protected ClassPathXmlApplicationContext createApplicationContext() {
+        return new ClassPathXmlApplicationContext("org/apache/camel/component/aws2/translate/TranslateComponentSpringTest-context.xml");
+    }
+}
diff --git a/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/TranslateProducerTest.java b/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/TranslateProducerTest.java
new file mode 100644
index 0000000..cc4dcad
--- /dev/null
+++ b/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/TranslateProducerTest.java
@@ -0,0 +1,87 @@
+/*
+ * 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.aws2.translate;
+
+import org.apache.camel.BindToRegistry;
+import org.apache.camel.EndpointInject;
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.aws2.translate.TranslateConstants;
+import org.apache.camel.component.aws2.translate.TranslateLanguageEnum;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.junit4.CamelTestSupport;
+import org.junit.Test;
+
+public class TranslateProducerTest extends CamelTestSupport {
+
+    @BindToRegistry("amazonTranslateClient")
+    AmazonAWSTranslateMock clientMock = new AmazonAWSTranslateMock();
+
+    @EndpointInject("mock:result")
+    private MockEndpoint mock;
+
+    @Test
+    public void translateTextTest() throws Exception {
+
+        mock.expectedMessageCount(1);
+        Exchange exchange = template.request("direct:translateText", new Processor() {
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setHeader(TranslateConstants.SOURCE_LANGUAGE, TranslateLanguageEnum.ITALIAN);
+                exchange.getIn().setHeader(TranslateConstants.TARGET_LANGUAGE, TranslateLanguageEnum.ENGLISH);
+                exchange.getIn().setBody("ciao");
+            }
+        });
+
+        assertMockEndpointsSatisfied();
+
+        String resultGet = exchange.getIn().getBody(String.class);
+        assertEquals("Hello", resultGet);
+
+    }
+
+    @Test
+    public void translateTextTestOptions() throws Exception {
+
+        mock.expectedMessageCount(1);
+        Exchange exchange = template.request("direct:translateTextOptions", new Processor() {
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setBody("ciao");
+            }
+        });
+
+        assertMockEndpointsSatisfied();
+
+        String resultGet = exchange.getIn().getBody(String.class);
+        assertEquals("Hello", resultGet);
+
+    }
+
+    @Override
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("direct:translateText").to("aws2-translate://test?translateClient=#amazonTranslateClient&operation=translateText").to("mock:result");
+                from("direct:translateTextOptions").to("aws2-translate://test?translateClient=#amazonTranslateClient&operation=translateText&sourceLanguage=it&targetLanguage=en")
+                    .to("mock:result");
+            }
+        };
+    }
+}
diff --git a/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/integration/TranslateProducerIntegrationTest.java b/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/integration/TranslateProducerIntegrationTest.java
new file mode 100644
index 0000000..8445653
--- /dev/null
+++ b/components/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/integration/TranslateProducerIntegrationTest.java
@@ -0,0 +1,87 @@
+/*
+ * 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.aws2.translate.integration;
+
+import org.apache.camel.EndpointInject;
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.aws2.translate.TranslateConstants;
+import org.apache.camel.component.aws2.translate.TranslateLanguageEnum;
+import org.apache.camel.component.aws2.translate.TranslateOperations;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.junit4.CamelTestSupport;
+import org.junit.Ignore;
+import org.junit.Test;
+
+@Ignore("This test must be manually started, you need to specify AWS Credentials")
+public class TranslateProducerIntegrationTest extends CamelTestSupport {
+
+    @EndpointInject("mock:result")
+    private MockEndpoint mock;
+
+    @Test
+    public void translateTextTest() throws Exception {
+
+        mock.expectedMessageCount(1);
+        Exchange exchange = template.request("direct:translateText", new Processor() {
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setHeader(TranslateConstants.OPERATION, TranslateOperations.translateText);
+                exchange.getIn().setHeader(TranslateConstants.SOURCE_LANGUAGE, TranslateLanguageEnum.ITALIAN);
+                exchange.getIn().setHeader(TranslateConstants.TARGET_LANGUAGE, TranslateLanguageEnum.GERMAN);
+                exchange.getIn().setBody("Ciao Signorina");
+            }
+        });
+
+        assertMockEndpointsSatisfied();
+
+        String resultGet = (String)exchange.getIn().getBody();
+        assertEquals("Hallo, Miss.", resultGet);
+    }
+
+    @Test
+    public void translateTextAutodetectSourceTest() throws Exception {
+
+        mock.expectedMessageCount(1);
+        Exchange exchange = template.request("direct:translateTextAuto", new Processor() {
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setHeader(TranslateConstants.OPERATION, TranslateOperations.translateText);
+                exchange.getIn().setHeader(TranslateConstants.TARGET_LANGUAGE, TranslateLanguageEnum.GERMAN);
+                exchange.getIn().setBody("Ciao Signorina");
+            }
+        });
+
+        assertMockEndpointsSatisfied();
+
+        String resultGet = (String)exchange.getIn().getBody();
+        assertEquals("Hallo, Miss.", resultGet);
+    }
+
+    @Override
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("direct:translateText").to("aws2-translate://test?accessKey=RAW(xxxx)&secretKey=RAW(xxxx)&region=eu-west-1&operation=translateText").to("mock:result");
+                from("direct:translateTextAuto")
+                    .to("aws2-translate://test?accessKey=RAW(xxxx)&secretKey=RAW(xxxx)&region=eu-west-1&operation=translateText&autodetectSourceLanguage=true").to("mock:result");
+            }
+        };
+    }
+}
diff --git a/components/camel-aws2-translate/src/test/resources/log4j2.properties b/components/camel-aws2-translate/src/test/resources/log4j2.properties
new file mode 100644
index 0000000..1ef398f
--- /dev/null
+++ b/components/camel-aws2-translate/src/test/resources/log4j2.properties
@@ -0,0 +1,28 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+
+appender.file.type = File
+appender.file.name = file
+appender.file.fileName = target/camel-aws2-translate-test.log
+appender.file.layout.type = PatternLayout
+appender.file.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
+appender.out.type = Console
+appender.out.name = out
+appender.out.layout.type = PatternLayout
+appender.out.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
+rootLogger.level = INFO
+rootLogger.appenderRef.file.ref = file
diff --git a/components/camel-aws2-translate/src/test/resources/org/apache/camel/component/aws2/translate/TranslateComponentSpringTest-context.xml b/components/camel-aws2-translate/src/test/resources/org/apache/camel/component/aws2/translate/TranslateComponentSpringTest-context.xml
new file mode 100644
index 0000000..1256d12
--- /dev/null
+++ b/components/camel-aws2-translate/src/test/resources/org/apache/camel/component/aws2/translate/TranslateComponentSpringTest-context.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="
+    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+    http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
+
+    <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
+        <route>
+            <from uri="direct:translateText"/>
+            <to uri="aws2-translate://test?translateClient=#amazonTranslateClient&amp;operation=translateText"/>
+            <to uri="mock:result"/>
+        </route>
+    </camelContext>
+
+    <bean id="amazonTranslateClient" class="org.apache.camel.component.aws2.translate.AmazonAWSTranslateMock"/>
+</beans>
\ No newline at end of file
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/TranslateEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/TranslateEndpointBuilderFactory.java
index b8f5922..3a508dc 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/TranslateEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/TranslateEndpointBuilderFactory.java
@@ -22,7 +22,7 @@ import org.apache.camel.builder.EndpointProducerBuilder;
 import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
 
 /**
- * The aws-translate component is used for managing Amazon Translate
+ * The aws2-translate component is used for managing Amazon Translate
  * 
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
@@ -120,7 +120,7 @@ public interface TranslateEndpointBuilderFactory {
          * The operation to perform.
          * 
          * The option is a:
-         * <code>org.apache.camel.component.aws.translate.TranslateOperations</code> type.
+         * <code>org.apache.camel.component.aws2.translate.TranslateOperations</code> type.
          * 
          * Required: true
          * Group: producer
@@ -133,7 +133,7 @@ public interface TranslateEndpointBuilderFactory {
          * The operation to perform.
          * 
          * The option will be converted to a
-         * <code>org.apache.camel.component.aws.translate.TranslateOperations</code> type.
+         * <code>org.apache.camel.component.aws2.translate.TranslateOperations</code> type.
          * 
          * Required: true
          * Group: producer
@@ -179,7 +179,8 @@ public interface TranslateEndpointBuilderFactory {
         /**
          * To define a proxy protocol when instantiating the Translate client.
          * 
-         * The option is a: <code>com.amazonaws.Protocol</code> type.
+         * The option is a: <code>software.amazon.awssdk.core.Protocol</code>
+         * type.
          * 
          * Default: HTTPS
          * Group: producer
@@ -191,8 +192,8 @@ public interface TranslateEndpointBuilderFactory {
         /**
          * To define a proxy protocol when instantiating the Translate client.
          * 
-         * The option will be converted to a <code>com.amazonaws.Protocol</code>
-         * type.
+         * The option will be converted to a
+         * <code>software.amazon.awssdk.core.Protocol</code> type.
          * 
          * Default: HTTPS
          * Group: producer
@@ -252,7 +253,7 @@ public interface TranslateEndpointBuilderFactory {
          * To use a existing configured AWS Translate as client.
          * 
          * The option is a:
-         * <code>com.amazonaws.services.translate.AmazonTranslate</code> type.
+         * <code>software.amazon.awssdk.services.translate.TranslateClient</code> type.
          * 
          * Group: producer
          */
@@ -264,7 +265,7 @@ public interface TranslateEndpointBuilderFactory {
          * To use a existing configured AWS Translate as client.
          * 
          * The option will be converted to a
-         * <code>com.amazonaws.services.translate.AmazonTranslate</code> type.
+         * <code>software.amazon.awssdk.services.translate.TranslateClient</code> type.
          * 
          * Group: producer
          */
@@ -341,29 +342,28 @@ public interface TranslateEndpointBuilderFactory {
 
     /**
      * Proxy enum for
-     * <code>org.apache.camel.component.aws.translate.TranslateOperations</code>
-     * enum.
+     * <code>org.apache.camel.component.aws2.translate.TranslateOperations</code> enum.
      */
     enum TranslateOperations {
         translateText;
     }
 
     /**
-     * Proxy enum for <code>com.amazonaws.Protocol</code> enum.
+     * Proxy enum for <code>software.amazon.awssdk.core.Protocol</code> enum.
      */
     enum Protocol {
         http,
         https;
     }
     /**
-     * AWS Translate (camel-aws-translate)
-     * The aws-translate component is used for managing Amazon Translate
+     * AWS Translate (camel-aws2-translate)
+     * The aws2-translate component is used for managing Amazon Translate
      * 
      * Category: cloud,management
-     * Since: 3.0
-     * Maven coordinates: org.apache.camel:camel-aws-translate
+     * Since: 3.1
+     * Maven coordinates: org.apache.camel:camel-aws2-translate
      * 
-     * Syntax: <code>aws-translate:label</code>
+     * Syntax: <code>aws2-translate:label</code>
      * 
      * Path parameter: label (required)
      * Logical name
@@ -371,9 +371,9 @@ public interface TranslateEndpointBuilderFactory {
     static TranslateEndpointBuilder awsTranslate(String path) {
         class TranslateEndpointBuilderImpl extends AbstractEndpointBuilder implements TranslateEndpointBuilder, AdvancedTranslateEndpointBuilder {
             public TranslateEndpointBuilderImpl(String path) {
-                super("aws-translate", path);
+                super("aws2-translate", path);
             }
         }
         return new TranslateEndpointBuilderImpl(path);
     }
-}
\ No newline at end of file
+}
diff --git a/parent/pom.xml b/parent/pom.xml
index 6c8ce08..508a742 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -87,6 +87,7 @@
         <awaitility-version>4.0.2</awaitility-version>
         <aws-java-sdk-bundle-version>1.11.699_1</aws-java-sdk-bundle-version>
         <aws-java-sdk-version>1.11.699</aws-java-sdk-version>
+        <aws-java-sdk2-version>2.10.49</aws-java-sdk2-version>
         <aws-java-sdk-swf-libs>1.11.22</aws-java-sdk-swf-libs>
         <aws-xray-version>2.4.0</aws-xray-version>
         <axiom-version>1.2.14</axiom-version>