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(-)
----------------------------------------------------------------------