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 2022/01/21 14:32:47 UTC
[brooklyn-server] 03/12: make copies of transformed maps to assist with serialization
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 <al...@cloudsoftcorp.com>
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