This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 3ab7b78293e Fixed CS and polished
3ab7b78293e is described below
commit 3ab7b78293e03807f318a60bf0e96f53c2929492
Author: Claus Ibsen <[email protected]>
AuthorDate: Tue Sep 6 19:47:23 2022 +0200
Fixed CS and polished
---
.../vault/CloudTrailReloadTriggerTask.java | 58 +++++++++++++++-------
1 file changed, 39 insertions(+), 19 deletions(-)
diff --git
a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
index 10168b4301c..81036397bf9 100644
---
a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
+++
b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
@@ -1,7 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package org.apache.camel.component.aws.secretsmanager.vault;
import java.time.Instant;
-import java.util.Arrays;
import java.util.List;
import org.apache.camel.CamelContext;
@@ -14,15 +29,22 @@ import
software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.cloudtrail.CloudTrailClient;
import software.amazon.awssdk.services.cloudtrail.CloudTrailClientBuilder;
-import software.amazon.awssdk.services.cloudtrail.model.*;
+import software.amazon.awssdk.services.cloudtrail.model.CloudTrailException;
+import software.amazon.awssdk.services.cloudtrail.model.Event;
+import software.amazon.awssdk.services.cloudtrail.model.LookupAttribute;
+import software.amazon.awssdk.services.cloudtrail.model.LookupAttributeKey;
+import software.amazon.awssdk.services.cloudtrail.model.LookupEventsRequest;
+import software.amazon.awssdk.services.cloudtrail.model.LookupEventsResponse;
+import software.amazon.awssdk.services.cloudtrail.model.Resource;
public class CloudTrailReloadTriggerTask implements Runnable {
- private CamelContext context;
- private String secretNameList;
- private static Instant lastTime = null;
- private static String eventSourceSecrets = "secretsmanager.amazonaws.com";
private static final Logger LOG =
LoggerFactory.getLogger(CloudTrailReloadTriggerTask.class);
+ private static final String SECRETSMANAGER_AMAZONAWS_COM =
"secretsmanager.amazonaws.com";
+
+ private final CamelContext context;
+ private final String secretNameList;
+ private volatile Instant lastTime;
public CloudTrailReloadTriggerTask(CamelContext context, String
secretName) {
this.context = context;
@@ -31,7 +53,7 @@ public class CloudTrailReloadTriggerTask implements Runnable {
@Override
public void run() {
- List<String> secretNames = Arrays.asList(secretNameList.split(","));
+ String[] secretNames = secretNameList.split(",");
boolean triggerReloading = false;
CloudTrailClientBuilder cloudTrailClientBuilder;
Region regionValue =
Region.of(context.getVaultConfiguration().aws().getRegion());
@@ -48,7 +70,7 @@ public class CloudTrailReloadTriggerTask implements Runnable {
try {
LookupEventsRequest.Builder eventsRequestBuilder =
LookupEventsRequest.builder()
.maxResults(100).lookupAttributes(LookupAttribute.builder().attributeKey(LookupAttributeKey.EVENT_SOURCE)
- .attributeValue(eventSourceSecrets).build());
+
.attributeValue(SECRETSMANAGER_AMAZONAWS_COM).build());
if (lastTime != null) {
eventsRequestBuilder.startTime(lastTime.plusMillis(1000));
@@ -63,15 +85,15 @@ public class CloudTrailReloadTriggerTask implements
Runnable {
lastTime = events.get(0).eventTime();
}
- LOG.info("Found " + events.size() + " events");
+ LOG.debug("Found {} events", events.size());
for (Event event : events) {
- if (event.eventSource().equalsIgnoreCase(eventSourceSecrets)) {
+ if
(event.eventSource().equalsIgnoreCase(SECRETSMANAGER_AMAZONAWS_COM)) {
if (event.eventName().equalsIgnoreCase("PutSecretValue")) {
List<Resource> a = event.resources();
for (Resource res : a) {
for (String secretNameElem : secretNames) {
if
(res.resourceName().contains(secretNameElem)) {
- LOG.info("Update for secret " +
secretNameElem + " detected, triggering a context reload");
+ LOG.info("Update for secret {} detected,
triggering a CamelContext reload", secretNameElem);
triggerReloading = true;
break;
}
@@ -80,17 +102,15 @@ public class CloudTrailReloadTriggerTask implements
Runnable {
}
}
}
-
} catch (CloudTrailException e) {
throw e;
}
- if (triggerReloading) {
- if (context != null) {
- ContextReloadStrategy reload =
context.hasService(ContextReloadStrategy.class);
- if (reload != null) {
- // trigger reload
- reload.onReload(context.getName());
- }
+
+ if (triggerReloading && context != null) {
+ ContextReloadStrategy reload =
context.hasService(ContextReloadStrategy.class);
+ if (reload != null) {
+ // trigger reload
+ reload.onReload(context.getName());
}
}
}