You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by gr...@apache.org on 2015/04/01 22:23:04 UTC

[1/2] incubator-brooklyn git commit: Change extension map to a reference

Repository: incubator-brooklyn
Updated Branches:
  refs/heads/master d08289911 -> 9a1c59a07


Change extension map to a reference

Allows persisting of locations with dynamically added extensions


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

Branch: refs/heads/master
Commit: c307b7e9d63df5d9b0c022419eb0099cca4d2368
Parents: d082899
Author: Andrew Kennedy <gr...@apache.org>
Authored: Mon Feb 16 23:35:32 2015 +0000
Committer: Andrew Kennedy <gr...@apache.org>
Committed: Wed Apr 1 21:21:05 2015 +0100

----------------------------------------------------------------------
 .../java/brooklyn/location/basic/AbstractLocation.java   | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c307b7e9/core/src/main/java/brooklyn/location/basic/AbstractLocation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/location/basic/AbstractLocation.java b/core/src/main/java/brooklyn/location/basic/AbstractLocation.java
index a576a60..8696378 100644
--- a/core/src/main/java/brooklyn/location/basic/AbstractLocation.java
+++ b/core/src/main/java/brooklyn/location/basic/AbstractLocation.java
@@ -110,8 +110,8 @@ public abstract class AbstractLocation extends AbstractBrooklynObject implements
 
     private boolean inConstruction;
 
-    private final Map<Class<?>, Object> extensions = Maps.newConcurrentMap();
-    
+    private Reference<Map<Class<?>, Object>> extensions = new BasicReference<Map<Class<?>, Object>>(Maps.<Class<?>, Object>newConcurrentMap());
+
     private final LocationDynamicType locationType;
 
     /**
@@ -665,13 +665,13 @@ public abstract class AbstractLocation extends AbstractBrooklynObject implements
     
     @Override
     public boolean hasExtension(Class<?> extensionType) {
-        return extensions.containsKey(checkNotNull(extensionType, "extensionType"));
+        return extensions.get().containsKey(checkNotNull(extensionType, "extensionType"));
     }
 
     @Override
     @SuppressWarnings("unchecked")
     public <T> T getExtension(Class<T> extensionType) {
-        Object extension = extensions.get(checkNotNull(extensionType, "extensionType"));
+        Object extension = extensions.get().get(checkNotNull(extensionType, "extensionType"));
         if (extension == null) {
             throw new IllegalArgumentException("No extension of type "+extensionType+" registered for location "+this);
         }
@@ -683,8 +683,9 @@ public abstract class AbstractLocation extends AbstractBrooklynObject implements
         checkNotNull(extensionType, "extensionType");
         checkNotNull(extension, "extension");
         checkArgument(extensionType.isInstance(extension), "extension %s does not implement %s", extension, extensionType);
-        extensions.put(extensionType, extension);
+        extensions.get().put(extensionType, extension);
     }
+
     @Override
     public Map<String, String> toMetadataRecord() {
         ImmutableMap.Builder<String, String> builder = ImmutableMap.builder();


[2/2] incubator-brooklyn git commit: This closes #582

Posted by gr...@apache.org.
This closes #582

* github/pr/582:
  Change extension map to a reference


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

Branch: refs/heads/master
Commit: 9a1c59a0772a6013f258200612f5c249ef673fd5
Parents: d082899 c307b7e
Author: Andrew Kennedy <gr...@apache.org>
Authored: Wed Apr 1 21:23:03 2015 +0100
Committer: Andrew Kennedy <gr...@apache.org>
Committed: Wed Apr 1 21:23:03 2015 +0100

----------------------------------------------------------------------
 .../java/brooklyn/location/basic/AbstractLocation.java   | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)
----------------------------------------------------------------------