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 0a587926ddceddfe1beca740f1ccf1be5f77df76 Author: Alex Heneveld <[email protected]> AuthorDate: Wed Jan 19 16:49:59 2022 +0000 make copies of transformed maps to assist with serialization (otherwise they are lazily transformed and not on serialization, causing lambdas to try to be serialized) --- .../camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java b/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java index eacb289..a673d70 100644 --- a/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java +++ b/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java @@ -535,7 +535,7 @@ public class BrooklynComponentTemplateResolver { @Override public Object apply(Object input) { if (input instanceof Map) - return transformSpecialFlags((Map<?, ?>)input); + return MutableMap.copyOf(transformSpecialFlags((Map<?, ?>)input)); else if (input instanceof Set<?>) return MutableSet.copyOf(transformSpecialFlags((Iterable<?>)input)); else if (input instanceof List<?>) @@ -574,7 +574,7 @@ public class BrooklynComponentTemplateResolver { // TODO: This should called from BrooklynAssemblyTemplateInstantiator.configureEntityConfig // And have transformSpecialFlags(Object flag, ManagementContext mgmt) drill into the Object flag if it's a map or iterable? @SuppressWarnings("unchecked") - Map<String, Object> resolvedConfig = (Map<String, Object>)transformSpecialFlags(flag.getSpecConfiguration()); + Map<String, Object> resolvedConfig = (Map<String, Object>)apply(flag.getSpecConfiguration()); EntitySpec<?> entitySpec; try { // first parse as a CAMP entity
