brooklyn-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From henev...@apache.org
Subject [18/50] brooklyn-server git commit: resolves the issue with: java: brooklyn.entity.rebind.Rebindable cannot be inherited with different arguments: <brooklyn.mementos.EntityMemento> and <>
Date Mon, 01 Feb 2016 17:49:04 GMT
resolves the issue with:
java: brooklyn.entity.rebind.Rebindable cannot be inherited with different arguments: <brooklyn.mementos.EntityMemento>
and <>

This is done by dropping generics for the Rebindable, but relying on coveriant return types
for getMementoSupport. Provides the same typesafety, at the price of a bit more code.


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

Branch: refs/heads/0.5.0
Commit: 32f5433ca6a86ae8d2fc54ac1fa7bcd014f54d74
Parents: 8df8852
Author: Peter Veentjer <alarmnummer@gmail.com>
Authored: Wed Apr 17 16:42:49 2013 +0300
Committer: Peter Veentjer <alarmnummer@gmail.com>
Committed: Wed Apr 17 16:42:49 2013 +0300

----------------------------------------------------------------------
 api/src/main/java/brooklyn/entity/Entity.java            | 6 +++++-
 api/src/main/java/brooklyn/entity/rebind/Rebindable.java | 4 ++--
 api/src/main/java/brooklyn/location/Location.java        | 6 +++++-
 api/src/main/java/brooklyn/policy/Policy.java            | 6 +++++-
 4 files changed, 17 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/32f5433c/api/src/main/java/brooklyn/entity/Entity.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/brooklyn/entity/Entity.java b/api/src/main/java/brooklyn/entity/Entity.java
index b267cb9..3c555e7 100644
--- a/api/src/main/java/brooklyn/entity/Entity.java
+++ b/api/src/main/java/brooklyn/entity/Entity.java
@@ -5,6 +5,7 @@ import java.util.Collection;
 import java.util.Map;
 
 import brooklyn.config.ConfigKey;
+import brooklyn.entity.rebind.RebindSupport;
 import brooklyn.entity.rebind.Rebindable;
 import brooklyn.event.AttributeSensor;
 import brooklyn.location.Location;
@@ -27,7 +28,7 @@ import brooklyn.policy.Policy;
  * 
  * @see brooklyn.entity.basic.AbstractEntity
  */
-public interface Entity extends Serializable, Rebindable<EntityMemento> {
+public interface Entity extends Serializable, Rebindable {
     /**
      * The unique identifier for this entity.
      */
@@ -204,4 +205,7 @@ public interface Entity extends Serializable, Rebindable<EntityMemento>
{
      * @return True if the policy enricher at this entity; false otherwise
      */
     boolean removeEnricher(Enricher enricher);
+
+    @Override
+    RebindSupport<EntityMemento> getRebindSupport();
 }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/32f5433c/api/src/main/java/brooklyn/entity/rebind/Rebindable.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/brooklyn/entity/rebind/Rebindable.java b/api/src/main/java/brooklyn/entity/rebind/Rebindable.java
index cd63c9f..9ffbbba 100644
--- a/api/src/main/java/brooklyn/entity/rebind/Rebindable.java
+++ b/api/src/main/java/brooklyn/entity/rebind/Rebindable.java
@@ -8,8 +8,8 @@ import brooklyn.mementos.Memento;
  * of the rebind is to reconstruct and reconnect the brooklyn objects, including
  * binding them to external resources.
  */
-public interface Rebindable<T extends Memento> {
+public interface Rebindable{
 
-    public RebindSupport<T> getRebindSupport();
+    public RebindSupport getRebindSupport();
     
 }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/32f5433c/api/src/main/java/brooklyn/location/Location.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/brooklyn/location/Location.java b/api/src/main/java/brooklyn/location/Location.java
index 2b9ae24..7cf1fb4 100644
--- a/api/src/main/java/brooklyn/location/Location.java
+++ b/api/src/main/java/brooklyn/location/Location.java
@@ -5,6 +5,7 @@ import java.util.Collection;
 import java.util.Map;
 
 import brooklyn.config.ConfigKey;
+import brooklyn.entity.rebind.RebindSupport;
 import brooklyn.entity.rebind.Rebindable;
 import brooklyn.mementos.LocationMemento;
 
@@ -16,7 +17,7 @@ import brooklyn.mementos.LocationMemento;
  * 
  * Locations may not be {@link Serializable} in subsequent releases!
  */
-public interface Location extends Serializable, Rebindable<LocationMemento> {
+public interface Location extends Serializable, Rebindable {
 
     /**
      * A unique id for this location.
@@ -106,4 +107,7 @@ public interface Location extends Serializable, Rebindable<LocationMemento>
{
      */
     @Deprecated
     Object findLocationProperty(String key);
+
+    @Override
+    RebindSupport<LocationMemento> getRebindSupport();
 }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/32f5433c/api/src/main/java/brooklyn/policy/Policy.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/brooklyn/policy/Policy.java b/api/src/main/java/brooklyn/policy/Policy.java
index 5d34824..c03e3f8 100644
--- a/api/src/main/java/brooklyn/policy/Policy.java
+++ b/api/src/main/java/brooklyn/policy/Policy.java
@@ -3,6 +3,7 @@ package brooklyn.policy;
 import java.util.Map;
 
 import brooklyn.config.ConfigKey;
+import brooklyn.entity.rebind.RebindSupport;
 import brooklyn.entity.rebind.Rebindable;
 import brooklyn.mementos.PolicyMemento;
 
@@ -12,7 +13,7 @@ import com.google.common.annotations.Beta;
  * Policies implement actions and thus must be suspendable; policies should continue to evaluate
their sensors
  * and indicate their desired planned action even if they aren't invoking them
  */
-public interface Policy extends EntityAdjunct, Rebindable<PolicyMemento> {
+public interface Policy extends EntityAdjunct, Rebindable{
     /**
      * A unique id for this policy.
      */
@@ -51,4 +52,7 @@ public interface Policy extends EntityAdjunct, Rebindable<PolicyMemento>
{
     <T> T setConfig(ConfigKey<T> key, T val);
     
     Map<ConfigKey<?>, Object> getAllConfig();
+
+    @Override
+    RebindSupport<PolicyMemento> getRebindSupport();
 }


Mime
View raw message