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) {