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 2021/03/31 09:32:12 UTC

[camel] 05/09: Camel-AWS2-Lambda: Producer operations refactoring - createAlias

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 ffc3fbfb1f17bd2de793a17d716426129cb9b7f4
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Mar 31 11:21:21 2021 +0200

    Camel-AWS2-Lambda: Producer operations refactoring - createAlias
---
 .../component/aws2/lambda/Lambda2Producer.java     | 32 ++++++++--------------
 1 file changed, 12 insertions(+), 20 deletions(-)

diff --git a/components/camel-aws/camel-aws2-lambda/src/main/java/org/apache/camel/component/aws2/lambda/Lambda2Producer.java b/components/camel-aws/camel-aws2-lambda/src/main/java/org/apache/camel/component/aws2/lambda/Lambda2Producer.java
index 3005689..3cda5e8 100644
--- a/components/camel-aws/camel-aws2-lambda/src/main/java/org/apache/camel/component/aws2/lambda/Lambda2Producer.java
+++ b/components/camel-aws/camel-aws2-lambda/src/main/java/org/apache/camel/component/aws2/lambda/Lambda2Producer.java
@@ -615,43 +615,35 @@ public class Lambda2Producer extends DefaultProducer {
     }
 
     private void createAlias(LambdaClient lambdaClient, Exchange exchange) throws InvalidPayloadException {
+    	CreateAliasRequest request = null;
+    	CreateAliasResponse result;
         if (getConfiguration().isPojoRequest()) {
-            Object payload = exchange.getIn().getMandatoryBody();
-            if (payload instanceof CreateAliasRequest) {
-                CreateAliasResponse result;
-                try {
-                    result = lambdaClient.createAlias((CreateAliasRequest) payload);
-                } catch (AwsServiceException ase) {
-                    LOG.trace("createAlias command returned the error code {}", ase.awsErrorDetails().errorCode());
-                    throw ase;
-                }
-                Message message = getMessageForResponse(exchange);
-                message.setBody(result);
-            }
+            request = exchange.getIn().getMandatoryBody(CreateAliasRequest.class);
         } else {
-            CreateAliasResponse result;
-            try {
-                CreateAliasRequest.Builder request = CreateAliasRequest.builder().functionName(getEndpoint().getFunction());
+                CreateAliasRequest.Builder builder = CreateAliasRequest.builder();
+                builder.functionName(getEndpoint().getFunction());
                 String version = exchange.getIn().getHeader(Lambda2Constants.FUNCTION_VERSION, String.class);
                 String aliasName = exchange.getIn().getHeader(Lambda2Constants.FUNCTION_ALIAS_NAME, String.class);
                 if (ObjectHelper.isEmpty(version) || ObjectHelper.isEmpty(aliasName)) {
                     throw new IllegalArgumentException("Function Version and alias must be specified to create an alias");
                 }
-                request.functionVersion(version);
-                request.name(aliasName);
+                builder.functionVersion(version);
+                builder.name(aliasName);
                 if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(Lambda2Constants.FUNCTION_ALIAS_DESCRIPTION))) {
                     String aliasDescription
                             = exchange.getIn().getHeader(Lambda2Constants.FUNCTION_ALIAS_DESCRIPTION, String.class);
-                    request.description(aliasDescription);
+                    builder.description(aliasDescription);
                 }
-                result = lambdaClient.createAlias(request.build());
+                request = builder.build();
+        }
+        try {
+                result = lambdaClient.createAlias(request);
             } catch (AwsServiceException ase) {
                 LOG.trace("createAlias command returned the error code {}", ase.awsErrorDetails().errorCode());
                 throw ase;
             }
             Message message = getMessageForResponse(exchange);
             message.setBody(result);
-        }
     }
 
     private void deleteAlias(LambdaClient lambdaClient, Exchange exchange) throws InvalidPayloadException {