This is an automated email from the ASF dual-hosted git repository. orpiske pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel-kafka-connector.git
commit 6a783544000a88fef4d68a9bcd4eb9d6736a41c7 Author: Otavio Rodolfo Piske <opi...@redhat.com> AuthorDate: Fri Jan 22 11:00:33 2021 +0100 Simplified handling of setting common AWS 2 properties --- .../aws/v2/common/AWSPropertiesUtils.java | 63 ++++++++++++++++++++++ .../source/CamelAWSKinesisPropertyFactory.java | 15 ++---- .../v2/s3/source/CamelAWSS3PropertyFactory.java | 15 ++---- .../v2/sqs/sink/CamelAWSSQSPropertyFactory.java | 26 +-------- .../v2/sqs/source/CamelAWSSQSPropertyFactory.java | 25 +-------- .../common/BasicConnectorPropertyFactory.java | 2 +- 6 files changed, 76 insertions(+), 70 deletions(-) diff --git a/tests/itests-aws-v2/src/test/java/org/apache/camel/kafkaconnector/aws/v2/common/AWSPropertiesUtils.java b/tests/itests-aws-v2/src/test/java/org/apache/camel/kafkaconnector/aws/v2/common/AWSPropertiesUtils.java new file mode 100644 index 0000000..0f559dd --- /dev/null +++ b/tests/itests-aws-v2/src/test/java/org/apache/camel/kafkaconnector/aws/v2/common/AWSPropertiesUtils.java @@ -0,0 +1,63 @@ +/* + * 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.kafkaconnector.aws.v2.common; + +import java.util.Map; +import java.util.Properties; + +import org.apache.camel.kafkaconnector.common.BasicConnectorPropertyFactory; +import org.apache.camel.test.infra.aws.common.AWSConfigs; +import software.amazon.awssdk.regions.Region; + +public final class AWSPropertiesUtils { + + private AWSPropertiesUtils() { + + } + + public static void setCommonProperties(Properties amazonConfigs, Map<String, String> style, + BasicConnectorPropertyFactory<?> propertyFactory) { + String accessKeyKey = style.get(AWSConfigs.ACCESS_KEY); + String secretKeyKey = style.get(AWSConfigs.SECRET_KEY); + String regionKey = style.get(AWSConfigs.REGION); + String protocolKey = style.get(AWSConfigs.PROTOCOL); + String hostKey = style.get(AWSConfigs.AMAZON_AWS_HOST); + + propertyFactory.setProperty(accessKeyKey, + amazonConfigs.getProperty(AWSConfigs.ACCESS_KEY, "")); + propertyFactory.setProperty(secretKeyKey, + amazonConfigs.getProperty(AWSConfigs.SECRET_KEY, "")); + propertyFactory.setProperty(regionKey, + amazonConfigs.getProperty(AWSConfigs.REGION, Region.US_EAST_1.toString())); + + String protocol = amazonConfigs.getProperty(AWSConfigs.PROTOCOL, ""); + + if (protocolKey != null && !protocolKey.isEmpty()) { + if (protocol != null && !protocol.isEmpty()) { + propertyFactory.setProperty(protocolKey, protocol); + } + } + + if (hostKey != null && !hostKey.isEmpty()) { + String amazonAwsHost = amazonConfigs.getProperty(AWSConfigs.AMAZON_AWS_HOST, ""); + if (amazonAwsHost != null && !amazonAwsHost.isEmpty()) { + propertyFactory.setProperty(hostKey, amazonAwsHost); + } + } + } +} diff --git a/tests/itests-aws-v2/src/test/java/org/apache/camel/kafkaconnector/aws/v2/kinesis/source/CamelAWSKinesisPropertyFactory.java b/tests/itests-aws-v2/src/test/java/org/apache/camel/kafkaconnector/aws/v2/kinesis/source/CamelAWSKinesisPropertyFactory.java index 27e8fc3..78ef14d 100644 --- a/tests/itests-aws-v2/src/test/java/org/apache/camel/kafkaconnector/aws/v2/kinesis/source/CamelAWSKinesisPropertyFactory.java +++ b/tests/itests-aws-v2/src/test/java/org/apache/camel/kafkaconnector/aws/v2/kinesis/source/CamelAWSKinesisPropertyFactory.java @@ -21,10 +21,10 @@ import java.util.HashMap; import java.util.Map; import java.util.Properties; +import org.apache.camel.kafkaconnector.aws.v2.common.AWSPropertiesUtils; import org.apache.camel.kafkaconnector.common.EndpointUrlBuilder; import org.apache.camel.kafkaconnector.common.SourceConnectorPropertyFactory; import org.apache.camel.test.infra.aws.common.AWSConfigs; -import software.amazon.awssdk.regions.Region; /** @@ -53,16 +53,9 @@ final class CamelAWSKinesisPropertyFactory extends SourceConnectorPropertyFactor } public CamelAWSKinesisPropertyFactory withAmazonConfig(Properties amazonConfigs, Map<String, String> style) { - String accessKeyKey = style.get(AWSConfigs.ACCESS_KEY); - String secretKeyKey = style.get(AWSConfigs.SECRET_KEY); - String regionKey = style.get(AWSConfigs.REGION); - - setProperty(accessKeyKey, - amazonConfigs.getProperty(AWSConfigs.ACCESS_KEY, "")); - setProperty(secretKeyKey, - amazonConfigs.getProperty(AWSConfigs.SECRET_KEY, "")); - return setProperty(regionKey, - amazonConfigs.getProperty(AWSConfigs.REGION, Region.US_EAST_1.toString())); + AWSPropertiesUtils.setCommonProperties(amazonConfigs, style, this); + + return this; } public CamelAWSKinesisPropertyFactory withStreamName(String streamName) { diff --git a/tests/itests-aws-v2/src/test/java/org/apache/camel/kafkaconnector/aws/v2/s3/source/CamelAWSS3PropertyFactory.java b/tests/itests-aws-v2/src/test/java/org/apache/camel/kafkaconnector/aws/v2/s3/source/CamelAWSS3PropertyFactory.java index a59876b..9584ac6 100644 --- a/tests/itests-aws-v2/src/test/java/org/apache/camel/kafkaconnector/aws/v2/s3/source/CamelAWSS3PropertyFactory.java +++ b/tests/itests-aws-v2/src/test/java/org/apache/camel/kafkaconnector/aws/v2/s3/source/CamelAWSS3PropertyFactory.java @@ -21,10 +21,10 @@ import java.util.HashMap; import java.util.Map; import java.util.Properties; +import org.apache.camel.kafkaconnector.aws.v2.common.AWSPropertiesUtils; import org.apache.camel.kafkaconnector.common.EndpointUrlBuilder; import org.apache.camel.kafkaconnector.common.SourceConnectorPropertyFactory; import org.apache.camel.test.infra.aws.common.AWSConfigs; -import software.amazon.awssdk.regions.Region; /** @@ -53,16 +53,9 @@ final class CamelAWSS3PropertyFactory extends SourceConnectorPropertyFactory<Cam } public CamelAWSS3PropertyFactory withAmazonConfig(Properties amazonConfigs, Map<String, String> style) { - String accessKeyKey = style.get(AWSConfigs.ACCESS_KEY); - String secretKeyKey = style.get(AWSConfigs.SECRET_KEY); - String regionKey = style.get(AWSConfigs.REGION); - - setProperty(accessKeyKey, - amazonConfigs.getProperty(AWSConfigs.ACCESS_KEY, "")); - setProperty(secretKeyKey, - amazonConfigs.getProperty(AWSConfigs.SECRET_KEY, "")); - return setProperty(regionKey, - amazonConfigs.getProperty(AWSConfigs.REGION, Region.US_EAST_1.toString())); + AWSPropertiesUtils.setCommonProperties(amazonConfigs, style, this); + + return this; } public EndpointUrlBuilder<CamelAWSS3PropertyFactory> withUrl(String bucket) { diff --git a/tests/itests-aws-v2/src/test/java/org/apache/camel/kafkaconnector/aws/v2/sqs/sink/CamelAWSSQSPropertyFactory.java b/tests/itests-aws-v2/src/test/java/org/apache/camel/kafkaconnector/aws/v2/sqs/sink/CamelAWSSQSPropertyFactory.java index 0ac2d5c..91ed4bf 100644 --- a/tests/itests-aws-v2/src/test/java/org/apache/camel/kafkaconnector/aws/v2/sqs/sink/CamelAWSSQSPropertyFactory.java +++ b/tests/itests-aws-v2/src/test/java/org/apache/camel/kafkaconnector/aws/v2/sqs/sink/CamelAWSSQSPropertyFactory.java @@ -21,10 +21,10 @@ import java.util.HashMap; import java.util.Map; import java.util.Properties; +import org.apache.camel.kafkaconnector.aws.v2.common.AWSPropertiesUtils; import org.apache.camel.kafkaconnector.common.EndpointUrlBuilder; import org.apache.camel.kafkaconnector.common.SinkConnectorPropertyFactory; import org.apache.camel.test.infra.aws.common.AWSConfigs; -import software.amazon.awssdk.regions.Region; /** * Creates the set of properties used by a Camel JMS Sink Connector @@ -57,29 +57,7 @@ final class CamelAWSSQSPropertyFactory extends SinkConnectorPropertyFactory<Came } public CamelAWSSQSPropertyFactory withAmazonConfig(Properties amazonConfigs, Map<String, String> style) { - String accessKeyKey = style.get(AWSConfigs.ACCESS_KEY); - String secretKeyKey = style.get(AWSConfigs.SECRET_KEY); - String regionKey = style.get(AWSConfigs.REGION); - String protocolKey = style.get(AWSConfigs.PROTOCOL); - String hostKey = style.get(AWSConfigs.AMAZON_AWS_HOST); - - setProperty(accessKeyKey, - amazonConfigs.getProperty(AWSConfigs.ACCESS_KEY, "")); - setProperty(secretKeyKey, - amazonConfigs.getProperty(AWSConfigs.SECRET_KEY, "")); - setProperty(regionKey, - amazonConfigs.getProperty(AWSConfigs.REGION, Region.US_EAST_1.toString())); - - String protocol = amazonConfigs.getProperty(AWSConfigs.PROTOCOL, ""); - - if (protocol != null && !protocol.isEmpty()) { - setProperty(protocolKey, protocol); - } - - String amazonAwsHost = amazonConfigs.getProperty(AWSConfigs.AMAZON_AWS_HOST, ""); - if (amazonAwsHost != null && !amazonAwsHost.isEmpty()) { - setProperty(hostKey, amazonAwsHost); - } + AWSPropertiesUtils.setCommonProperties(amazonConfigs, style, this); return this; } diff --git a/tests/itests-aws-v2/src/test/java/org/apache/camel/kafkaconnector/aws/v2/sqs/source/CamelAWSSQSPropertyFactory.java b/tests/itests-aws-v2/src/test/java/org/apache/camel/kafkaconnector/aws/v2/sqs/source/CamelAWSSQSPropertyFactory.java index 6e8d946..85aa76e 100644 --- a/tests/itests-aws-v2/src/test/java/org/apache/camel/kafkaconnector/aws/v2/sqs/source/CamelAWSSQSPropertyFactory.java +++ b/tests/itests-aws-v2/src/test/java/org/apache/camel/kafkaconnector/aws/v2/sqs/source/CamelAWSSQSPropertyFactory.java @@ -21,10 +21,10 @@ import java.util.HashMap; import java.util.Map; import java.util.Properties; +import org.apache.camel.kafkaconnector.aws.v2.common.AWSPropertiesUtils; import org.apache.camel.kafkaconnector.common.EndpointUrlBuilder; import org.apache.camel.kafkaconnector.common.SourceConnectorPropertyFactory; import org.apache.camel.test.infra.aws.common.AWSConfigs; -import software.amazon.awssdk.regions.Region; /** * Creates the set of properties used by a Camel JMS Sink Connector @@ -56,28 +56,7 @@ final class CamelAWSSQSPropertyFactory extends SourceConnectorPropertyFactory<Ca } public CamelAWSSQSPropertyFactory withAmazonConfig(Properties amazonConfigs, Map<String, String> style) { - String accessKeyKey = style.get(AWSConfigs.ACCESS_KEY); - String secretKeyKey = style.get(AWSConfigs.SECRET_KEY); - String regionKey = style.get(AWSConfigs.REGION); - String protocolKey = style.get(AWSConfigs.PROTOCOL); - String hostKey = style.get(AWSConfigs.AMAZON_AWS_HOST); - - setProperty(accessKeyKey, - amazonConfigs.getProperty(AWSConfigs.ACCESS_KEY, "")); - setProperty(secretKeyKey, - amazonConfigs.getProperty(AWSConfigs.SECRET_KEY, "")); - setProperty(regionKey, - amazonConfigs.getProperty(AWSConfigs.REGION, Region.US_EAST_1.toString())); - - String protocol = amazonConfigs.getProperty(AWSConfigs.PROTOCOL, ""); - if (protocol != null && !protocol.isEmpty()) { - setProperty(protocolKey, protocol); - } - - String amazonAwsHost = amazonConfigs.getProperty(AWSConfigs.AMAZON_AWS_HOST, ""); - if (amazonAwsHost != null && !amazonAwsHost.isEmpty()) { - setProperty(hostKey, amazonAwsHost); - } + AWSPropertiesUtils.setCommonProperties(amazonConfigs, style, this); return this; } diff --git a/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/BasicConnectorPropertyFactory.java b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/BasicConnectorPropertyFactory.java index 1dc3bdd..a9d012e 100644 --- a/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/BasicConnectorPropertyFactory.java +++ b/tests/itests-common/src/test/java/org/apache/camel/kafkaconnector/common/BasicConnectorPropertyFactory.java @@ -86,7 +86,7 @@ public abstract class BasicConnectorPropertyFactory<T extends BasicConnectorProp return new ComponentConfigBuilder<>((T) this, getProperties(), name, value); } - protected T setProperty(String name, Object value) { + public T setProperty(String name, Object value) { connectorProps.put(name, value); return (T) this;