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/07/14 13:25:01 UTC
[brooklyn-server] 02/02: allow `groups` to be omitted for GroupsChangePolicy
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 ee64a18c4ea2539cb7a00698eebe42b34ac06b9f
Author: Alex Heneveld <al...@cloudsoft.io>
AuthorDate: Thu Jul 14 14:24:38 2022 +0100
allow `groups` to be omitted for GroupsChangePolicy
---
.../org/apache/brooklyn/entity/group/GroupsChangePolicy.java | 10 ++++++++++
1 file changed, 10 insertions(+)
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 23055bd14e..ab6adfd17e 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
@@ -23,6 +23,7 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.reflect.TypeToken;
import org.apache.brooklyn.api.entity.Entity;
import org.apache.brooklyn.api.entity.EntityInitializer;
+import org.apache.brooklyn.api.entity.Group;
import org.apache.brooklyn.api.location.Location;
import org.apache.brooklyn.api.location.LocationSpec;
import org.apache.brooklyn.api.mgmt.ExecutionContext;
@@ -233,4 +234,13 @@ public class GroupsChangePolicy extends AbstractMembershipTrackingPolicy {
Maybe<Object> rawInitializers = config().getRaw(key);
return rawInitializers.isPresent() ? (List<Map<String, Object>>) rawInitializers.get() : ImmutableList.of();
}
+
+ /** default to the entity where attached, eg if attached to a group no need to specify $brooklyn:self() */
+ protected Group getGroup() {
+ Group result = super.getGroup();
+ if (result!=null) return result;
+ if (entity instanceof Group) return (Group)entity;
+ return null;
+ }
+
}