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 ef7fddd9dd51227163ac5667e0184092bdceecd1 Author: Andrea Cosentino <anco...@gmail.com> AuthorDate: Wed Dec 11 13:00:55 2019 +0100 CAMEL-14284: Configuring endpoint should set properties on endpoint and not configuration object - aws-kinesis --- .../component/aws/kinesis/KinesisComponent.java | 34 ++++++++-------------- .../kinesis/KinesisComponentConfigurationTest.java | 8 ++--- 2 files changed, 16 insertions(+), 26 deletions(-) diff --git a/components/camel-aws-kinesis/src/main/java/org/apache/camel/component/aws/kinesis/KinesisComponent.java b/components/camel-aws-kinesis/src/main/java/org/apache/camel/component/aws/kinesis/KinesisComponent.java index d0d43f8..c51182b 100644 --- a/components/camel-aws-kinesis/src/main/java/org/apache/camel/component/aws/kinesis/KinesisComponent.java +++ b/components/camel-aws-kinesis/src/main/java/org/apache/camel/component/aws/kinesis/KinesisComponent.java @@ -25,7 +25,6 @@ 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; @Component("aws-kinesis") public class KinesisComponent extends DefaultComponent { @@ -46,31 +45,22 @@ public class KinesisComponent extends DefaultComponent { public KinesisComponent(CamelContext context) { super(context); - this.configuration = new KinesisConfiguration(); registerExtension(new KinesisComponentVerifierExtension()); } @Override protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception { - KinesisConfiguration configuration = this.configuration.copy(); + KinesisConfiguration configuration = this.configuration != null ? this.configuration.copy() : new KinesisConfiguration(); configuration.setStreamName(remaining); - setProperties(configuration, parameters); - - if (ObjectHelper.isEmpty(configuration.getAccessKey())) { - setAccessKey(accessKey); - } - if (ObjectHelper.isEmpty(configuration.getSecretKey())) { - setSecretKey(secretKey); - } - if (ObjectHelper.isEmpty(configuration.getRegion())) { - setRegion(region); - } + KinesisEndpoint endpoint = new KinesisEndpoint(uri, configuration, this); + endpoint.getConfiguration().setAccessKey(accessKey); + endpoint.getConfiguration().setSecretKey(secretKey); + endpoint.getConfiguration().setRegion(region); + setProperties(endpoint, parameters); checkAndSetRegistryClient(configuration); if (configuration.getAmazonKinesisClient() == null && (configuration.getAccessKey() == null || configuration.getSecretKey() == null)) { throw new IllegalArgumentException("amazonKinesisClient or accessKey and secretKey must be specified"); } - KinesisEndpoint endpoint = new KinesisEndpoint(uri, configuration, this); - setProperties(endpoint, parameters); return endpoint; } @@ -86,36 +76,36 @@ public class KinesisComponent extends DefaultComponent { } public String getAccessKey() { - return configuration.getAccessKey(); + return accessKey; } /** * Amazon AWS Access Key */ public void setAccessKey(String accessKey) { - configuration.setAccessKey(accessKey); + this.accessKey = accessKey; } public String getSecretKey() { - return configuration.getSecretKey(); + return secretKey; } /** * Amazon AWS Secret Key */ public void setSecretKey(String secretKey) { - configuration.setSecretKey(secretKey); + this.secretKey = secretKey; } public String getRegion() { - return configuration.getRegion(); + return region; } /** * Amazon AWS Region */ public void setRegion(String region) { - configuration.setRegion(region); + this.region = region; } private void checkAndSetRegistryClient(KinesisConfiguration configuration) { diff --git a/components/camel-aws-kinesis/src/test/java/org/apache/camel/component/aws/kinesis/KinesisComponentConfigurationTest.java b/components/camel-aws-kinesis/src/test/java/org/apache/camel/component/aws/kinesis/KinesisComponentConfigurationTest.java index a2a4d6b..a4c8a68 100644 --- a/components/camel-aws-kinesis/src/test/java/org/apache/camel/component/aws/kinesis/KinesisComponentConfigurationTest.java +++ b/components/camel-aws-kinesis/src/test/java/org/apache/camel/component/aws/kinesis/KinesisComponentConfigurationTest.java @@ -25,7 +25,7 @@ public class KinesisComponentConfigurationTest extends CamelTestSupport { @Test public void createEndpointWithAccessAndSecretKey() throws Exception { - KinesisComponent component = new KinesisComponent(context); + KinesisComponent component = context.getComponent("aws-kinesis", KinesisComponent.class); KinesisEndpoint endpoint = (KinesisEndpoint)component.createEndpoint("aws-kinesis://some_stream_name?accessKey=xxxxx&secretKey=yyyyy"); assertEquals("some_stream_name", endpoint.getConfiguration().getStreamName()); @@ -35,7 +35,7 @@ public class KinesisComponentConfigurationTest extends CamelTestSupport { @Test public void createEndpointWithComponentElements() throws Exception { - KinesisComponent component = new KinesisComponent(context); + KinesisComponent component = context.getComponent("aws-kinesis", KinesisComponent.class); component.setAccessKey("XXX"); component.setSecretKey("YYY"); KinesisEndpoint endpoint = (KinesisEndpoint)component.createEndpoint("aws-kinesis://some_stream_name"); @@ -47,7 +47,7 @@ public class KinesisComponentConfigurationTest extends CamelTestSupport { @Test public void createEndpointWithComponentAndEndpointElements() throws Exception { - KinesisComponent component = new KinesisComponent(context); + KinesisComponent component = context.getComponent("aws-kinesis", KinesisComponent.class); component.setAccessKey("XXX"); component.setSecretKey("YYY"); component.setRegion(Regions.US_WEST_1.toString()); @@ -61,7 +61,7 @@ public class KinesisComponentConfigurationTest extends CamelTestSupport { @Test public void createEndpointWithComponentEndpointElementsAndProxy() throws Exception { - KinesisComponent component = new KinesisComponent(context); + KinesisComponent component = context.getComponent("aws-kinesis", KinesisComponent.class); component.setAccessKey("XXX"); component.setSecretKey("YYY"); component.setRegion(Regions.US_WEST_1.toString());