You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2021/09/15 14:48:50 UTC
[brooklyn-server] 10/11: add support for sanitizing ConfigBag
This is an automated email from the ASF dual-hosted git repository.
heneveld pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git
commit af54075c0e7f6ff883243227695ca34851694764
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Wed Sep 15 11:39:20 2021 +0100
add support for sanitizing ConfigBag
---
.../brooklyn/core/catalog/internal/BasicBrooklynCatalog.java | 10 +++++-----
.../main/java/org/apache/brooklyn/core/config/Sanitizer.java | 2 ++
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/BasicBrooklynCatalog.java b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/BasicBrooklynCatalog.java
index d5ad8b4..a739c0e 100644
--- a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/BasicBrooklynCatalog.java
+++ b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/BasicBrooklynCatalog.java
@@ -563,7 +563,7 @@ public class BasicBrooklynCatalog implements BrooklynCatalog {
}
Map<?,?> catalogMetadata = getFirstAsMap(itemDef, "brooklyn.catalog").orNull();
if (catalogMetadata==null)
- log.warn("No `brooklyn.catalog` supplied in catalog request; using legacy mode for "+itemDef);
+ log.warn("No `brooklyn.catalog` supplied in catalog request; using legacy mode for "+Sanitizer.sanitize(itemDef));
catalogMetadata = MutableMap.copyOf(catalogMetadata);
collectCatalogItemsFromItemMetadataBlock(Yamls.getTextOfYamlAtPath(yaml, "brooklyn.catalog").getMatchedYamlTextOrWarn(),
@@ -813,7 +813,7 @@ public class BasicBrooklynCatalog implements BrooklynCatalog {
// TODO we should let the plan transformer give us this
symbolicName = setFromItemIfUnset(symbolicName, itemAsMap, "template_name");
if (Strings.isBlank(symbolicName)) {
- log.error("Can't infer catalog item symbolicName from the following plan:\n" + sourceYaml);
+ log.error("Can't infer catalog item symbolicName from the following plan:\n" + Sanitizer.sanitizeJsonTypes(sourceYaml));
throw new IllegalStateException("Can't infer catalog item symbolicName from catalog item metadata");
}
}
@@ -871,7 +871,7 @@ public class BasicBrooklynCatalog implements BrooklynCatalog {
if (Strings.isNonBlank(symbolicName)) {
id = symbolicName;
} else {
- log.error("Can't infer catalog item id from the following plan:\n" + sourceYaml);
+ log.error("Can't infer catalog item id from the following plan:\n" + Sanitizer.sanitizeJsonTypes(sourceYaml));
throw new IllegalStateException("Can't infer catalog item id from catalog item metadata");
}
}
@@ -1687,7 +1687,7 @@ public class BasicBrooklynCatalog implements BrooklynCatalog {
@Override
public List<? extends CatalogItem<?,?>> addItems(String yaml, ManagedBundle bundle, boolean forceUpdate) {
- log.debug("Adding catalog item to "+mgmt+": "+yaml);
+ log.debug("Adding catalog item to "+mgmt+": "+Sanitizer.sanitizeJsonTypes(yaml));
checkNotNull(yaml, "yaml");
List<CatalogItemDtoAbstract<?, ?>> result = MutableList.of();
collectCatalogItemsFromCatalogBomRoot("caller-supplied YAML", yaml, bundle, result, null, true, ImmutableMap.of(), 0, forceUpdate, true);
@@ -1718,7 +1718,7 @@ public class BasicBrooklynCatalog implements BrooklynCatalog {
@Override @Beta
public void addTypesFromBundleBom(String yaml, ManagedBundle bundle, boolean forceUpdate, Map<RegisteredType, RegisteredType> result) {
- log.debug("Catalog load, adding registered types to "+mgmt+" for bundle "+bundle+": "+yaml);
+ log.debug("Catalog load, adding registered types to "+mgmt+" for bundle "+bundle+": "+Sanitizer.sanitizeJsonTypes(yaml));
checkNotNull(yaml, "yaml");
if (result==null) result = MutableMap.of();
collectCatalogItemsFromCatalogBomRoot("bundle BOM in "+bundle, yaml, bundle, null, result, false, MutableMap.of(), 0, forceUpdate, false);
diff --git a/core/src/main/java/org/apache/brooklyn/core/config/Sanitizer.java b/core/src/main/java/org/apache/brooklyn/core/config/Sanitizer.java
index 515f069..f340a37 100644
--- a/core/src/main/java/org/apache/brooklyn/core/config/Sanitizer.java
+++ b/core/src/main/java/org/apache/brooklyn/core/config/Sanitizer.java
@@ -269,6 +269,8 @@ public final class Sanitizer {
return (K) applySet((Set) input, visited);
} else if (input instanceof String) {
return (K) sanitizeMultilineString((String) input);
+ } else if (input instanceof ConfigBag) {
+ return (K) ConfigBag.newInstance( applyMap( ((ConfigBag)input).getAllConfig(), visited) );
} else {
return (K) input;
}