You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2019/12/23 17:47:19 UTC
[camel] branch master updated: CAMEL-14328: camel-aws-lambda -
Function should not be configurable on component level
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new f711b48 CAMEL-14328: camel-aws-lambda - Function should not be configurable on component level
f711b48 is described below
commit f711b483a58d9ba21f061df75aa5014348b9e13f
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Dec 23 18:46:45 2019 +0100
CAMEL-14328: camel-aws-lambda - Function should not be configurable on component level
---
.../camel/component/aws/lambda/LambdaComponent.java | 2 +-
.../component/aws/lambda/LambdaConfiguration.java | 14 --------------
.../camel/component/aws/lambda/LambdaEndpoint.java | 16 ++++++++++++++++
.../camel/component/aws/lambda/LambdaProducer.java | 18 +++++++++---------
.../aws/lambda/LambdaComponentConfigurationTest.java | 4 ++--
5 files changed, 28 insertions(+), 26 deletions(-)
diff --git a/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaComponent.java b/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaComponent.java
index 2d88ac9..4d8d460 100644
--- a/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaComponent.java
+++ b/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaComponent.java
@@ -51,12 +51,12 @@ public class LambdaComponent extends DefaultComponent {
@Override
protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
LambdaConfiguration configuration = this.configuration != null ? this.configuration.copy() : new LambdaConfiguration();
- configuration.setFunction(remaining);
LambdaEndpoint endpoint = new LambdaEndpoint(uri, this, configuration);
endpoint.getConfiguration().setAccessKey(accessKey);
endpoint.getConfiguration().setSecretKey(secretKey);
endpoint.getConfiguration().setRegion(region);
setProperties(endpoint, parameters);
+ endpoint.setFunction(remaining);
checkAndSetRegistryClient(configuration);
if (configuration.getAwsLambdaClient() == null && (configuration.getAccessKey() == null || configuration.getSecretKey() == null)) {
throw new IllegalArgumentException("accessKey/secretKey or awsLambdaClient must be specified");
diff --git a/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaConfiguration.java b/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaConfiguration.java
index 86afe2a..f32bbc8 100644
--- a/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaConfiguration.java
+++ b/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaConfiguration.java
@@ -27,9 +27,6 @@ import org.apache.camel.spi.UriPath;
@UriParams
public class LambdaConfiguration implements Cloneable {
- @UriPath
- @Metadata(required = true)
- private String function;
@UriParam
@Metadata(required = true)
private LambdaOperations operation;
@@ -48,17 +45,6 @@ public class LambdaConfiguration implements Cloneable {
@UriParam(label = "advanced")
private AWSLambda awsLambdaClient;
- public String getFunction() {
- return function;
- }
-
- /**
- * Name of the Lambda function.
- */
- public void setFunction(String function) {
- this.function = function;
- }
-
public AWSLambda getAwsLambdaClient() {
return awsLambdaClient;
}
diff --git a/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaEndpoint.java b/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaEndpoint.java
index 43542c8..40ea4d6 100644
--- a/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaEndpoint.java
+++ b/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaEndpoint.java
@@ -27,8 +27,10 @@ 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.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
+import org.apache.camel.spi.UriPath;
import org.apache.camel.support.DefaultEndpoint;
import org.apache.camel.util.ObjectHelper;
@@ -41,6 +43,9 @@ public class LambdaEndpoint extends DefaultEndpoint {
private AWSLambda awsLambdaClient;
+ @UriPath
+ @Metadata(required = true)
+ private String function;
@UriParam
private LambdaConfiguration configuration;
@@ -59,6 +64,17 @@ public class LambdaEndpoint extends DefaultEndpoint {
return new LambdaProducer(this);
}
+ public String getFunction() {
+ return function;
+ }
+
+ /**
+ * Name of the Lambda function.
+ */
+ public void setFunction(String function) {
+ this.function = function;
+ }
+
@Override
public void doStart() throws Exception {
super.doStart();
diff --git a/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaProducer.java b/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaProducer.java
index 3058764..bc8f1dc 100644
--- a/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaProducer.java
+++ b/components/camel-aws-lambda/src/main/java/org/apache/camel/component/aws/lambda/LambdaProducer.java
@@ -128,7 +128,7 @@ public class LambdaProducer extends DefaultProducer {
private void getFunction(AWSLambda lambdaClient, Exchange exchange) {
GetFunctionResult result;
try {
- result = lambdaClient.getFunction(new GetFunctionRequest().withFunctionName(getConfiguration().getFunction()));
+ result = lambdaClient.getFunction(new GetFunctionRequest().withFunctionName(getEndpoint().getFunction()));
} catch (AmazonServiceException ase) {
log.trace("getFunction command returned the error code {}", ase.getErrorCode());
throw ase;
@@ -140,7 +140,7 @@ public class LambdaProducer extends DefaultProducer {
private void deleteFunction(AWSLambda lambdaClient, Exchange exchange) {
DeleteFunctionResult result;
try {
- result = lambdaClient.deleteFunction(new DeleteFunctionRequest().withFunctionName(getConfiguration().getFunction()));
+ result = lambdaClient.deleteFunction(new DeleteFunctionRequest().withFunctionName(getEndpoint().getFunction()));
} catch (AmazonServiceException ase) {
log.trace("deleteFunction command returned the error code {}", ase.getErrorCode());
throw ase;
@@ -165,7 +165,7 @@ public class LambdaProducer extends DefaultProducer {
InvokeResult result;
try {
InvokeRequest request = new InvokeRequest()
- .withFunctionName(getConfiguration().getFunction())
+ .withFunctionName(getEndpoint().getFunction())
.withPayload(exchange.getIn().getBody(String.class));
result = lambdaClient.invoke(request);
} catch (AmazonServiceException ase) {
@@ -181,7 +181,7 @@ public class LambdaProducer extends DefaultProducer {
try {
CreateFunctionRequest request = new CreateFunctionRequest()
- .withFunctionName(getConfiguration().getFunction());
+ .withFunctionName(getEndpoint().getFunction());
FunctionCode functionCode = new FunctionCode();
if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.S3_BUCKET))) {
@@ -316,7 +316,7 @@ public class LambdaProducer extends DefaultProducer {
try {
UpdateFunctionCodeRequest request = new UpdateFunctionCodeRequest()
- .withFunctionName(getConfiguration().getFunction());
+ .withFunctionName(getEndpoint().getFunction());
FunctionCode functionCode = new FunctionCode();
if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.S3_BUCKET))) {
@@ -378,7 +378,7 @@ public class LambdaProducer extends DefaultProducer {
private void createEventSourceMapping(AWSLambda lambdaClient, Exchange exchange) {
CreateEventSourceMappingResult result;
try {
- CreateEventSourceMappingRequest request = new CreateEventSourceMappingRequest().withFunctionName(getConfiguration().getFunction());
+ CreateEventSourceMappingRequest request = new CreateEventSourceMappingRequest().withFunctionName(getEndpoint().getFunction());
if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.EVENT_SOURCE_ARN))) {
request.withEventSourceArn(exchange.getIn().getHeader(LambdaConstants.EVENT_SOURCE_ARN, String.class));
} else {
@@ -436,7 +436,7 @@ public class LambdaProducer extends DefaultProducer {
private void listEventSourceMapping(AWSLambda lambdaClient, Exchange exchange) {
ListEventSourceMappingsResult result;
try {
- ListEventSourceMappingsRequest request = new ListEventSourceMappingsRequest().withFunctionName(getConfiguration().getFunction());
+ ListEventSourceMappingsRequest request = new ListEventSourceMappingsRequest().withFunctionName(getEndpoint().getFunction());
if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.SDK_CLIENT_EXECUTION_TIMEOUT))) {
Integer timeout = exchange.getIn().getHeader(LambdaConstants.SDK_CLIENT_EXECUTION_TIMEOUT, Integer.class);
request.withSdkClientExecutionTimeout(timeout);
@@ -527,7 +527,7 @@ public class LambdaProducer extends DefaultProducer {
private void publishVersion(AWSLambda lambdaClient, Exchange exchange) {
PublishVersionResult result;
try {
- PublishVersionRequest request = new PublishVersionRequest().withFunctionName(getConfiguration().getFunction());
+ PublishVersionRequest request = new PublishVersionRequest().withFunctionName(getEndpoint().getFunction());
if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(LambdaConstants.VERSION_DESCRIPTION))) {
String description = exchange.getIn().getHeader(LambdaConstants.VERSION_DESCRIPTION, String.class);
request.withDescription(description);
@@ -548,7 +548,7 @@ public class LambdaProducer extends DefaultProducer {
private void listVersions(AWSLambda lambdaClient, Exchange exchange) {
ListVersionsByFunctionResult result;
try {
- ListVersionsByFunctionRequest request = new ListVersionsByFunctionRequest().withFunctionName(getConfiguration().getFunction());
+ ListVersionsByFunctionRequest request = new ListVersionsByFunctionRequest().withFunctionName(getEndpoint().getFunction());
result = lambdaClient.listVersionsByFunction(request);
} catch (AmazonServiceException ase) {
log.trace("publishVersion command returned the error code {}", ase.getErrorCode());
diff --git a/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaComponentConfigurationTest.java b/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaComponentConfigurationTest.java
index bf7fec8..ff89e36 100644
--- a/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaComponentConfigurationTest.java
+++ b/components/camel-aws-lambda/src/test/java/org/apache/camel/component/aws/lambda/LambdaComponentConfigurationTest.java
@@ -78,7 +78,7 @@ public class LambdaComponentConfigurationTest extends CamelTestSupport {
component.setSecretKey("YYY");
LambdaEndpoint endpoint = (LambdaEndpoint)component.createEndpoint("aws-lambda://myFunction");
- assertEquals("myFunction", endpoint.getConfiguration().getFunction());
+ assertEquals("myFunction", endpoint.getFunction());
assertEquals("XXX", endpoint.getConfiguration().getAccessKey());
assertEquals("YYY", endpoint.getConfiguration().getSecretKey());
}
@@ -91,7 +91,7 @@ public class LambdaComponentConfigurationTest extends CamelTestSupport {
component.setRegion(Regions.US_WEST_1.toString());
LambdaEndpoint endpoint = (LambdaEndpoint)component.createEndpoint("aws-lambda://myFunction?accessKey=xxxxxx&secretKey=yyyyy®ion=US_EAST_1");
- assertEquals("myFunction", endpoint.getConfiguration().getFunction());
+ assertEquals("myFunction", endpoint.getFunction());
assertEquals("xxxxxx", endpoint.getConfiguration().getAccessKey());
assertEquals("yyyyy", endpoint.getConfiguration().getSecretKey());
assertEquals("US_EAST_1", endpoint.getConfiguration().getRegion());