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/15 10:37:38 UTC

[camel] 03/04: CAMEL-16323 - Create a Camel-AWS-Secret-Manager component - getSecret operation refactor

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 9e7d3672ef1ec36963fcc7b01d3589e9d191474e
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Mon Mar 15 11:33:33 2021 +0100

    CAMEL-16323 - Create a Camel-AWS-Secret-Manager component - getSecret operation refactor
---
 .../aws/secretsmanager/SecretsManagerProducer.java | 72 ++++++++++------------
 1 file changed, 33 insertions(+), 39 deletions(-)

diff --git a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerProducer.java b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerProducer.java
index eca6459..40ab15e 100644
--- a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerProducer.java
+++ b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerProducer.java
@@ -55,17 +55,17 @@ public class SecretsManagerProducer extends DefaultProducer {
     @Override
     public void process(Exchange exchange) throws Exception {
         switch (determineOperation(exchange)) {
-            case listSecrets:
-                listSecrets(getEndpoint().getSecretsManagerClient(), exchange);
-                break;
-            case createSecret:
-                createSecret(getEndpoint().getSecretsManagerClient(), exchange);
-                break;
-            case getSecret:
-                getSecret(getEndpoint().getSecretsManagerClient(), exchange);
-                break;
-            default:
-                throw new IllegalArgumentException("Unsupported operation");
+        case listSecrets:
+            listSecrets(getEndpoint().getSecretsManagerClient(), exchange);
+            break;
+        case createSecret:
+            createSecret(getEndpoint().getSecretsManagerClient(), exchange);
+            break;
+        case getSecret:
+            getSecret(getEndpoint().getSecretsManagerClient(), exchange);
+            break;
+        default:
+            throw new IllegalArgumentException("Unsupported operation");
         }
     }
 
@@ -86,7 +86,7 @@ public class SecretsManagerProducer extends DefaultProducer {
     public String toString() {
         if (secretsManagerProducerToString == null) {
             secretsManagerProducerToString = "SecretsManagerProducer["
-                                             + URISupport.sanitizeUri(getEndpoint().getEndpointUri()) + "]";
+                    + URISupport.sanitizeUri(getEndpoint().getEndpointUri()) + "]";
         }
         return secretsManagerProducerToString;
     }
@@ -164,42 +164,36 @@ public class SecretsManagerProducer extends DefaultProducer {
 
     private void getSecret(SecretsManagerClient secretsManagerClient, Exchange exchange)
             throws InvalidPayloadException {
+        GetSecretValueRequest request = null;
+        GetSecretValueResponse result;
         if (getConfiguration().isPojoRequest()) {
             Object payload = exchange.getIn().getMandatoryBody();
             if (payload instanceof GetSecretValueRequest) {
-                GetSecretValueResponse result;
-                try {
-                    GetSecretValueRequest request = (GetSecretValueRequest) payload;
-                    result = secretsManagerClient.getSecretValue(request);
-                } catch (AwsServiceException ase) {
-                    LOG.trace("Get Secret Value command returned the error code {}", ase.awsErrorDetails().errorCode());
-                    throw ase;
-                }
-                Message message = getMessageForResponse(exchange);
-                message.setBody(result);
+                request = (GetSecretValueRequest) payload;
             }
         } else {
             GetSecretValueRequest.Builder builder = GetSecretValueRequest.builder();
-            GetSecretValueResponse result;
-            try {
-                if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(SecretsManagerConstants.SECRET_ID))) {
-                    String secretId = exchange.getIn().getHeader(SecretsManagerConstants.SECRET_ID, String.class);
-                    builder.secretId(secretId);
-                } else {
-                    throw new IllegalArgumentException("Secret Id must be specified");
-                }
-                result = secretsManagerClient.getSecretValue(builder.build());
-            } catch (AwsServiceException ase) {
-                LOG.trace("Get Secret value command returned the error code {}", ase.awsErrorDetails().errorCode());
-                throw ase;
-            }
-            Message message = getMessageForResponse(exchange);
-            if (getConfiguration().isBinaryPayload()) {
-                message.setBody(new String(Base64.getDecoder().decode(result.secretBinary().asByteBuffer()).array()));
+            if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(SecretsManagerConstants.SECRET_ID))) {
+                String secretId = exchange.getIn().getHeader(SecretsManagerConstants.SECRET_ID, String.class);
+                builder.secretId(secretId);
             } else {
-                message.setBody(result.secretString());
+                throw new IllegalArgumentException("Secret Id must be specified");
             }
         }
+        try {
+            result = secretsManagerClient.getSecretValue(request);
+        } catch (AwsServiceException ase) {
+            LOG.trace("Get Secret value command returned the error code {}", ase.awsErrorDetails().errorCode());
+            throw ase;
+        }
+        Message message = getMessageForResponse(exchange);
+        if (getConfiguration().isBinaryPayload()) {
+            message.setBody(new String(Base64.getDecoder().decode(result.secretBinary().asByteBuffer()).array()));
+        } else {
+            message.setBody(result.secretString());
+        }
+    }
+
     }
 
     public static Message getMessageForResponse(final Exchange exchange) {