Repository: brooklyn-server
Updated Branches:
  refs/heads/master 9b0fe8a6d -> 89f9dd7a3


Use suppressDuplicates for various sensors

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

Branch: refs/heads/master
Commit: 2862a39acc7e42cf78af421debdcaa35e046bc84
Parents: 9b0fe8a
Author: Aled Sage <[email protected]>
Authored: Wed Mar 30 00:06:17 2016 +0100
Committer: Aled Sage <[email protected]>
Committed: Wed Mar 30 00:06:17 2016 +0100

----------------------------------------------------------------------
 .../brooklyn/core/entity/lifecycle/ServiceStateLogic.java |  4 ++++
 .../apache/brooklyn/entity/group/AbstractGroupImpl.java   | 10 ++++++++--
 .../entity/software/base/SameServerEntityImpl.java        |  1 +
 3 files changed, 13 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/2862a39a/core/src/main/java/org/apache/brooklyn/core/entity/lifecycle/ServiceStateLogic.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/entity/lifecycle/ServiceStateLogic.java
 
b/core/src/main/java/org/apache/brooklyn/core/entity/lifecycle/ServiceStateLogic.java
index 3eaf022..c8f8400 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/entity/lifecycle/ServiceStateLogic.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/entity/lifecycle/ServiceStateLogic.java
@@ -581,6 +581,10 @@ public class ServiceStateLogic {
             entity.enrichers().add(this);
         }
 
+        public ComputeServiceIndicatorsFromChildrenAndMembersSpec 
suppressDuplicates(boolean val) {
+            
configure(ComputeServiceIndicatorsFromChildrenAndMembers.SUPPRESS_DUPLICATES, 
val);
+            return self();
+        }
         public ComputeServiceIndicatorsFromChildrenAndMembersSpec 
checkChildrenAndMembers() {
             
configure(ComputeServiceIndicatorsFromChildrenAndMembers.FROM_MEMBERS, true);
             
configure(ComputeServiceIndicatorsFromChildrenAndMembers.FROM_CHILDREN, true);

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/2862a39a/core/src/main/java/org/apache/brooklyn/entity/group/AbstractGroupImpl.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/brooklyn/entity/group/AbstractGroupImpl.java 
b/core/src/main/java/org/apache/brooklyn/entity/group/AbstractGroupImpl.java
index 6b5c02a..672f646 100644
--- a/core/src/main/java/org/apache/brooklyn/entity/group/AbstractGroupImpl.java
+++ b/core/src/main/java/org/apache/brooklyn/entity/group/AbstractGroupImpl.java
@@ -103,9 +103,15 @@ public abstract class AbstractGroupImpl extends 
AbstractEntity implements Abstra
         
         // check states and upness separately so they can be individually 
replaced if desired
         // problem if any children or members are on fire
-        
ServiceStateLogic.newEnricherFromChildrenState().checkChildrenAndMembers().requireRunningChildren(getConfig(RUNNING_QUORUM_CHECK)).addTo(this);
+        enrichers().add(ServiceStateLogic.newEnricherFromChildrenState()
+                .checkChildrenAndMembers()
+                .requireRunningChildren(getConfig(RUNNING_QUORUM_CHECK))
+                .suppressDuplicates(true));
         // defaults to requiring at least one member or child who is up
-        
ServiceStateLogic.newEnricherFromChildrenUp().checkChildrenAndMembers().requireUpChildren(getConfig(UP_QUORUM_CHECK)).addTo(this);
+        enrichers().add(ServiceStateLogic.newEnricherFromChildrenUp()
+                .checkChildrenAndMembers()
+                .requireUpChildren(getConfig(UP_QUORUM_CHECK))
+                .suppressDuplicates(true));
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/2862a39a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/SameServerEntityImpl.java
----------------------------------------------------------------------
diff --git 
a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/SameServerEntityImpl.java
 
b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/SameServerEntityImpl.java
index 8da252f..2fa424f 100644
--- 
a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/SameServerEntityImpl.java
+++ 
b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/SameServerEntityImpl.java
@@ -47,6 +47,7 @@ public class SameServerEntityImpl extends AbstractEntity 
implements SameServerEn
         // Because can have multiple children (similar to 
groups/clusters/apps), need to
         // monitor their health and indicate this has failed if any of them 
have failed.
         enrichers().add(ServiceStateLogic.newEnricherFromChildren()
+                .suppressDuplicates(true)
                 
.configure(ComputeServiceIndicatorsFromChildrenAndMembers.UP_QUORUM_CHECK, 
QuorumCheck.QuorumChecks.all()));
     }
     

Reply via email to