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 2014/08/02 17:47:37 UTC
git commit: emit MEMBER_{ADDED,REMOVED} *after* removing the member
Repository: incubator-brooklyn
Updated Branches:
refs/heads/master 9eccd5ba7 -> 2218b6853
emit MEMBER_{ADDED,REMOVED} *after* removing the member
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/2218b685
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/2218b685
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/2218b685
Branch: refs/heads/master
Commit: 2218b6853b077d7e5c057d742e815ca118065039
Parents: 9eccd5b
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Sat Aug 2 11:45:03 2014 -0400
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Sat Aug 2 11:46:21 2014 -0400
----------------------------------------------------------------------
.../main/java/brooklyn/entity/basic/AbstractGroupImpl.java | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2218b685/core/src/main/java/brooklyn/entity/basic/AbstractGroupImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/AbstractGroupImpl.java b/core/src/main/java/brooklyn/entity/basic/AbstractGroupImpl.java
index 4aeb931..765d166 100644
--- a/core/src/main/java/brooklyn/entity/basic/AbstractGroupImpl.java
+++ b/core/src/main/java/brooklyn/entity/basic/AbstractGroupImpl.java
@@ -106,9 +106,10 @@ public abstract class AbstractGroupImpl extends AbstractEntity implements Abstra
boolean changed = members.add(member);
if (changed) {
log.debug("Group {} got new member {}", this, member);
- emit(MEMBER_ADDED, member);
setAttribute(GROUP_SIZE, getCurrentSize());
setAttribute(GROUP_MEMBERS, getMembers());
+ // emit after the above so listeners can use getMembers() and getCurrentSize()
+ emit(MEMBER_ADDED, member);
if (Boolean.TRUE.equals(getConfig(MEMBER_DELEGATE_CHILDREN))) {
Optional<Entity> result = Iterables.tryFind(getChildren(), Predicates.equalTo(member));
@@ -137,9 +138,11 @@ public abstract class AbstractGroupImpl extends AbstractEntity implements Abstra
boolean changed = (member != null && members.remove(member));
if (changed) {
log.debug("Group {} lost member {}", this, member);
- emit(MEMBER_REMOVED, member);
+ // TODO ideally the following 3 are synched
setAttribute(GROUP_SIZE, getCurrentSize());
setAttribute(GROUP_MEMBERS, getMembers());
+ // emit after the above so listeners can use getMembers() and getCurrentSize()
+ emit(MEMBER_REMOVED, member);
if (Boolean.TRUE.equals(getConfig(MEMBER_DELEGATE_CHILDREN))) {
Optional<Entity> result = Iterables.tryFind(getChildren(), new Predicate<Entity>() {