camp resolver correctly resolves flags used in subtypes

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

Branch: refs/heads/master
Commit: bcd8b26a1eb3793e3b0fb036f1fe5c75aa6b6987
Parents: 8405d87
Author: Alex Heneveld <alex.henev...@cloudsoftcorp.com>
Authored: Tue Sep 20 13:44:39 2016 +0100
Committer: Alex Heneveld <alex.henev...@cloudsoftcorp.com>
Committed: Wed Sep 21 16:06:07 2016 +0100

----------------------------------------------------------------------
 .../spi/creation/BrooklynComponentTemplateResolver.java        | 3 ++-
 .../brooklyn/camp/brooklyn/ConfigInheritanceYamlTest.java      | 6 ++----
 2 files changed, 4 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/bcd8b26a/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java
----------------------------------------------------------------------
diff --git 
a/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java
 
b/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java
index f658fbd..8cbe4b8 100644
--- 
a/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java
+++ 
b/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java
@@ -292,7 +292,8 @@ public class BrooklynComponentTemplateResolver {
         for (FlagConfigKeyAndValueRecord r: records) {
             if (r.getFlagMaybeValue().isPresent()) {
                 final String flag = r.getFlagName();
-                final ConfigKey<Object> key = 
ConfigKeys.newConfigKey(Object.class, flag);
+                final ConfigKey<Object> key = (ConfigKey<Object>) 
r.getConfigKey();
+                if (key==null) ConfigKeys.newConfigKey(Object.class, flag);
                 final Object ownValueF = new SpecialFlagsTransformer(loader, 
encounteredRegisteredTypeIds).apply(r.getFlagMaybeValue().get());
 
                 Iterable<? extends ContainerAndKeyValue<Object>> ckvi = 
MutableList.of(

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/bcd8b26a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/ConfigInheritanceYamlTest.java
----------------------------------------------------------------------
diff --git 
a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/ConfigInheritanceYamlTest.java
 
b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/ConfigInheritanceYamlTest.java
index c3d4ebc..349adae 100644
--- 
a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/ConfigInheritanceYamlTest.java
+++ 
b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/ConfigInheritanceYamlTest.java
@@ -648,11 +648,9 @@ public class ConfigInheritanceYamlTest extends 
AbstractYamlTest {
         EntityAsserts.assertConfigEquals(entity, 
EmptySoftwareProcess.SHELL_ENVIRONMENT, expectedEnv);
     }
     
-    // TODO Has never worked, and probably hard to fix?! We need to figure out 
that "env" corresponds to the
-    // config key. Maybe FlagUtils could respect SetFromFlags when returning 
Map<String,ConfigKey>?
-    // TODO should be able to fix in this phase of work
-    @Test(groups={"WIP", "Broken"})
+    @Test
     public void testExtendsSuperTypeConfigMixingShortOverridingShortName() 
throws Exception {
+        // fixed Sept 2016
         ImmutableMap<String, Object> expectedEnv = ImmutableMap.<String, 
Object>of("ENV1", "myEnv1", "ENV2", "myEnv2");
 
         // super-type has env; sub-type env

Reply via email to