This is an automated email from the ASF dual-hosted git repository.

iuliana pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git


The following commit(s) were added to refs/heads/master by this push:
     new adacc25  Use raw config for initializers
     new 694a87d  Merge pull request #1271 from duncangrant/groups-change-policy
adacc25 is described below

commit adacc2577e913bf7f28a22703c2a3943ea5d5f0e
Author: Duncan Grant <[email protected]>
AuthorDate: Thu Nov 4 15:39:59 2021 +0000

    Use raw config for initializers
    
    Otherwise initializer config initialized against group not member
---
 .../brooklyn/entity/group/GroupsChangePolicy.java      | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git 
a/core/src/main/java/org/apache/brooklyn/entity/group/GroupsChangePolicy.java 
b/core/src/main/java/org/apache/brooklyn/entity/group/GroupsChangePolicy.java
index 7715689..21d046a 100644
--- 
a/core/src/main/java/org/apache/brooklyn/entity/group/GroupsChangePolicy.java
+++ 
b/core/src/main/java/org/apache/brooklyn/entity/group/GroupsChangePolicy.java
@@ -99,9 +99,7 @@ public class GroupsChangePolicy extends 
AbstractMembershipTrackingPolicy {
         super.onEntityAdded(member);
         ManagementContext mgmt = getManagementContext();
 
-        Maybe<Object> rawPolicies = config().getRaw(POLICIES);
-        List<Map<String, Object>> policyDefinitions = rawPolicies.isPresent() 
? (List<Map<String, Object>>) rawPolicies.get() : ImmutableList.of();
-        policyDefinitions.forEach(
+        getMaps(POLICIES).forEach(
                 stringObjectMap -> {
                     String type = (String) stringObjectMap.get("type");
 
@@ -121,22 +119,19 @@ public class GroupsChangePolicy extends 
AbstractMembershipTrackingPolicy {
                 }
         );
 
-        config().get(INITIALIZERS).forEach(
+        getMaps(INITIALIZERS).forEach(
                 stringObjectMap -> {
                     try {
-                        OsgiBrooklynClassLoadingContext loader = entity != 
null ? new OsgiBrooklynClassLoadingContext(entity) : null;
+                        OsgiBrooklynClassLoadingContext loader = member != 
null ? new OsgiBrooklynClassLoadingContext(member) : null;
                         EntityInitializer initializer = 
BeanWithTypeUtils.tryConvertOrAbsent(mgmt,Maybe.of(stringObjectMap), 
TypeToken.of(EntityInitializer.class), true, loader, true).get();
                         initializer.apply((EntityInternal) member);
                     }catch(Throwable e){
-                        e.printStackTrace();
                         throw Exceptions.propagate(e);
                     }
                 }
         );
 
-        Maybe<Object> rawEnrichers = config().getRaw(ENRICHERS);
-        List<Map<String, Object>> enricherDefinitions = 
rawEnrichers.isPresent() ? (List<Map<String, Object>>) rawEnrichers.get() : 
ImmutableList.of();
-        enricherDefinitions.forEach(
+        getMaps(ENRICHERS).forEach(
                 stringObjectMap -> {
                     String type = (String) stringObjectMap.get("type");
                     Maybe<RegisteredType> item = 
RegisteredTypes.tryValidate(mgmt.getTypeRegistry().get(type), 
RegisteredTypeLoadingContexts.spec(BrooklynObjectType.ENRICHER.getInterfaceType()));
@@ -154,4 +149,9 @@ public class GroupsChangePolicy extends 
AbstractMembershipTrackingPolicy {
                 }
         );
     }
+
+    private List<Map<String, Object>> getMaps(ConfigKey<List<Map<String, 
Object>>> key) {
+        Maybe<Object> rawInitializers = config().getRaw(key);
+        return rawInitializers.isPresent() ? (List<Map<String, Object>>) 
rawInitializers.get() : ImmutableList.of();
+    }
 }

Reply via email to