[2/3] brooklyn-server git commit: AbstractMemberTrackingPolicy does not call MEMBER_ADDED when rebinding

2017-01-13 Thread geomacy
AbstractMemberTrackingPolicy does not call MEMBER_ADDED when rebinding


Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/1c94979a
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/1c94979a
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/1c94979a

Branch: refs/heads/master
Commit: 1c94979a563230245e12d9ba4e7539f3abab8c48
Parents: e3dea6e
Author: Sam Corbett 
Authored: Fri Jan 13 12:14:02 2017 +
Committer: Sam Corbett 
Committed: Fri Jan 13 12:14:02 2017 +

--
 .../group/AbstractMembershipTrackingPolicy.java |  9 ++-
 .../mgmt/rebind/RebindDynamicGroupTest.java | 13 ++--
 .../MembershipTrackingPolicyRebindTest.java | 81 
 3 files changed, 93 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/1c94979a/core/src/main/java/org/apache/brooklyn/entity/group/AbstractMembershipTrackingPolicy.java
--
diff --git 
a/core/src/main/java/org/apache/brooklyn/entity/group/AbstractMembershipTrackingPolicy.java
 
b/core/src/main/java/org/apache/brooklyn/entity/group/AbstractMembershipTrackingPolicy.java
index 6d053ad..021c336 100644
--- 
a/core/src/main/java/org/apache/brooklyn/entity/group/AbstractMembershipTrackingPolicy.java
+++ 
b/core/src/main/java/org/apache/brooklyn/entity/group/AbstractMembershipTrackingPolicy.java
@@ -206,8 +206,13 @@ public abstract class AbstractMembershipTrackingPolicy 
extends AbstractPolicy {
 }
 });
 }
-
-for (Entity it : group.getMembers()) { 
onEntityEvent(EventType.ENTITY_ADDED, it); }
+
+// The policy will have already fired events for its members.
+if (!isRebinding()) {
+for (Entity it : group.getMembers()) {
+onEntityEvent(EventType.ENTITY_ADDED, it);
+}
+}
 }
 
 protected void unsubscribeFromGroup() {

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/1c94979a/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/RebindDynamicGroupTest.java
--
diff --git 
a/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/RebindDynamicGroupTest.java
 
b/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/RebindDynamicGroupTest.java
index 2f9bc8e..8f2c50c 100644
--- 
a/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/RebindDynamicGroupTest.java
+++ 
b/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/RebindDynamicGroupTest.java
@@ -24,7 +24,6 @@ import java.util.Collection;
 
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.EntitySpec;
-import org.apache.brooklyn.core.entity.Entities;
 import org.apache.brooklyn.core.mgmt.rebind.RebindEntityTest.MyEntity;
 import org.apache.brooklyn.entity.group.DynamicGroup;
 import org.apache.brooklyn.test.Asserts;
@@ -42,26 +41,24 @@ public class RebindDynamicGroupTest extends 
RebindTestFixtureWithApp {
 origApp.createAndManageChild(EntitySpec.create(MyEntity.class));
 origApp.createAndManageChild(EntitySpec.create(DynamicGroup.class)
 .configure(DynamicGroup.ENTITY_FILTER, 
Predicates.instanceOf(MyEntity.class)));
-
 newApp = rebind();
 final DynamicGroup newG = (DynamicGroup) 
Iterables.find(newApp.getChildren(), Predicates.instanceOf(DynamicGroup.class));
 final MyEntity newE = (MyEntity) Iterables.find(newApp.getChildren(), 
Predicates.instanceOf(MyEntity.class));
 
 // Rebound group should contain same members as last time
-assertGroupMemebers(newG, ImmutableSet.of(newE));
+assertGroupMembers(newG, ImmutableSet.of(newE));
 
 // And should detect new members that match the filter
 final MyEntity newE2 = 
newApp.createAndManageChild(EntitySpec.create(MyEntity.class));
-
 Asserts.succeedsEventually(new Runnable() {
 @Override public void run() {
-assertGroupMemebers(newG, ImmutableSet.of(newE, newE2));
+assertGroupMembers(newG, ImmutableSet.of(newE, newE2));
 }});
 }
 
-private void assertGroupMemebers(DynamicGroup group, Collection expected) {
+private void assertGroupMembers(DynamicGroup group, Collection expected) {
 assertEquals(Sets.newHashSet(group.getMembers()), 
ImmutableSet.copyOf(expected));
-assertEquals(group.getMembers().size(), expected.size(), 
"members="+group.getMembers());
+assertEquals(group.getMembers().size(), expected.size(), "members=" + 
group.getMembers());
 }
-
+
 }


[1/3] brooklyn-server git commit: Include a policy's id in its toString

2017-01-13 Thread geomacy
Repository: brooklyn-server
Updated Branches:
  refs/heads/master f89cb0989 -> 69a453cbe


Include a policy's id in its toString


Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/e3dea6e4
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/e3dea6e4
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/e3dea6e4

Branch: refs/heads/master
Commit: e3dea6e428f38fd5579003b21fa61aee2846bf5e
Parents: 07e5503
Author: Sam Corbett 
Authored: Fri Jan 13 12:06:32 2017 +
Committer: Sam Corbett 
Committed: Fri Jan 13 12:08:42 2017 +

--
 .../java/org/apache/brooklyn/core/policy/AbstractPolicy.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/e3dea6e4/core/src/main/java/org/apache/brooklyn/core/policy/AbstractPolicy.java
--
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/policy/AbstractPolicy.java 
b/core/src/main/java/org/apache/brooklyn/core/policy/AbstractPolicy.java
index 3af8176..be1db7b 100644
--- a/core/src/main/java/org/apache/brooklyn/core/policy/AbstractPolicy.java
+++ b/core/src/main/java/org/apache/brooklyn/core/policy/AbstractPolicy.java
@@ -32,6 +32,7 @@ import org.apache.brooklyn.core.objs.AbstractEntityAdjunct;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.base.MoreObjects;
 import com.google.common.base.Objects;
 
 /**
@@ -117,7 +118,8 @@ public abstract class AbstractPolicy extends 
AbstractEntityAdjunct implements Po
 
 @Override
 public String toString() {
-return Objects.toStringHelper(getClass())
+return MoreObjects.toStringHelper(getClass())
+.add("id", getId())
 .add("name", name)
 .add("running", isRunning())
 .toString();



[3/3] brooklyn-server git commit: Closes #517

2017-01-13 Thread geomacy
Closes #517

AbstractMemberTrackingPolicy does not call MEMBER_ADDED on group members when 
rebinding

This means you don't get more `added` events for things that were already in 
the group. I think this is the expected behaviour.


Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/69a453cb
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/69a453cb
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/69a453cb

Branch: refs/heads/master
Commit: 69a453cbe52e96df3f85f10deda2b8422f9b1ec7
Parents: f89cb09 1c94979
Author: Geoff Macartney 
Authored: Fri Jan 13 13:24:45 2017 +
Committer: Geoff Macartney 
Committed: Fri Jan 13 13:24:45 2017 +

--
 .../brooklyn/core/policy/AbstractPolicy.java|  4 +-
 .../group/AbstractMembershipTrackingPolicy.java |  9 ++-
 .../mgmt/rebind/RebindDynamicGroupTest.java | 13 ++--
 .../MembershipTrackingPolicyRebindTest.java | 81 
 4 files changed, 96 insertions(+), 11 deletions(-)
--