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/11/11 15:17:10 UTC

[06/11] incubator-brooklyn git commit: fix bug where getMembers() used by the GUI was disallowed for entities in hot standby

fix bug where getMembers() used by the GUI was disallowed for entities in hot standby


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

Branch: refs/heads/master
Commit: 6a5242a69946ede5d36a5a13d47fa44081b4607b
Parents: cc77677
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Mon Nov 10 22:22:16 2014 +0000
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Tue Nov 11 13:54:54 2014 +0000

----------------------------------------------------------------------
 .../brooklyn/entity/basic/EntityTransientCopyInternal.java   | 8 ++++++++
 .../main/java/brooklyn/entity/proxying/EntityProxyImpl.java  | 4 ++++
 2 files changed, 12 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6a5242a6/core/src/main/java/brooklyn/entity/basic/EntityTransientCopyInternal.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/EntityTransientCopyInternal.java b/core/src/main/java/brooklyn/entity/basic/EntityTransientCopyInternal.java
index 0082768..576e182 100644
--- a/core/src/main/java/brooklyn/entity/basic/EntityTransientCopyInternal.java
+++ b/core/src/main/java/brooklyn/entity/basic/EntityTransientCopyInternal.java
@@ -110,4 +110,12 @@ public interface EntityTransientCopyInternal {
     ExecutionContext getExecutionContext();
     void setCatalogItemId(String id);
     
+    /** more methods, but which are only on selected entities */
+    public interface SpecialEntityTransientCopyInternal {
+        // from Group
+        Collection<Entity> getMembers();
+        boolean hasMember(Entity member);
+        Integer getCurrentSize();
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6a5242a6/core/src/main/java/brooklyn/entity/proxying/EntityProxyImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/proxying/EntityProxyImpl.java b/core/src/main/java/brooklyn/entity/proxying/EntityProxyImpl.java
index 4163204..611eba3 100644
--- a/core/src/main/java/brooklyn/entity/proxying/EntityProxyImpl.java
+++ b/core/src/main/java/brooklyn/entity/proxying/EntityProxyImpl.java
@@ -37,6 +37,7 @@ import brooklyn.entity.basic.AbstractEntity;
 import brooklyn.entity.basic.EntityInternal;
 import brooklyn.entity.basic.EntityLocal;
 import brooklyn.entity.basic.EntityTransientCopyInternal;
+import brooklyn.entity.basic.EntityTransientCopyInternal.SpecialEntityTransientCopyInternal;
 import brooklyn.entity.effector.EffectorWithBody;
 import brooklyn.entity.rebind.RebindManagerImpl.RebindTracker;
 import brooklyn.management.ManagementContext;
@@ -102,6 +103,9 @@ public class EntityProxyImpl implements java.lang.reflect.InvocationHandler {
             throw new IllegalStateException("Entity read-only methods contains items not known as Entity methods: "+
                 extras);
         }
+        for (Method m : SpecialEntityTransientCopyInternal.class.getMethods()) {
+            ENTITY_PERMITTED_READ_ONLY_METHODS.add(new MethodSignature(m));
+        }
     }
     
     public EntityProxyImpl(Entity entity) {