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

Reply via email to