Repository: brooklyn-server
Updated Branches:
  refs/heads/master fe84df9db -> 16c788edc


add out of box support for `$brooklyn:external("brooklyn-demo-sample", 
"hidden-brooklyn-password")`

so we can use this in examples rather than a plain-text password


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

Branch: refs/heads/master
Commit: 5a505e13807f03d71f33f22ba07d3ac55f652a3d
Parents: 36de666
Author: Alex Heneveld <[email protected]>
Authored: Fri Sep 8 13:01:55 2017 +0100
Committer: Alex Heneveld <[email protected]>
Committed: Fri Sep 8 13:06:37 2017 +0100

----------------------------------------------------------------------
 .../internal/BasicExternalConfigSupplierRegistry.java   | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/5a505e13/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/BasicExternalConfigSupplierRegistry.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/BasicExternalConfigSupplierRegistry.java
 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/BasicExternalConfigSupplierRegistry.java
index 7d303a3..3e7fa43 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/BasicExternalConfigSupplierRegistry.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/BasicExternalConfigSupplierRegistry.java
@@ -26,7 +26,9 @@ import org.apache.brooklyn.api.mgmt.ManagementContext;
 import org.apache.brooklyn.core.config.ConfigPredicates;
 import org.apache.brooklyn.core.config.ConfigUtils;
 import org.apache.brooklyn.core.config.external.ExternalConfigSupplier;
+import org.apache.brooklyn.core.config.external.InPlaceExternalConfigSupplier;
 import org.apache.brooklyn.core.internal.BrooklynProperties;
+import org.apache.brooklyn.util.collections.MutableMap;
 import org.apache.brooklyn.util.core.ClassLoaderUtils;
 import org.apache.brooklyn.util.exceptions.Exceptions;
 import org.apache.brooklyn.util.guava.Maybe;
@@ -46,18 +48,26 @@ public class BasicExternalConfigSupplierRegistry implements 
ExternalConfigSuppli
 
     private static final Logger LOG = 
LoggerFactory.getLogger(BasicExternalConfigSupplierRegistry.class);
 
+    public static final String DEMO_SAMPLE_PROVIDER = "brooklyn-demo-sample";
+    public static final String DEMO_SAMPLE_PROVIDER_PASSWORD_KEY = 
"hidden-brooklyn-password";
+    public static final String DEMO_SAMPLE_PROVIDER_PASSWORD_VALUE = 
"br00k11n";
+    
     private final Map<String, ExternalConfigSupplier> providersByName = 
Maps.newLinkedHashMap();
     private final Object providersMapMutex = new Object();
 
     public BasicExternalConfigSupplierRegistry(ManagementContext mgmt) {
+        addProvider(DEMO_SAMPLE_PROVIDER, new 
InPlaceExternalConfigSupplier(mgmt, DEMO_SAMPLE_PROVIDER,
+            MutableMap.of(DEMO_SAMPLE_PROVIDER_PASSWORD_KEY, 
DEMO_SAMPLE_PROVIDER_PASSWORD_VALUE)));
         updateFromBrooklynProperties(mgmt);
     }
 
     @Override
     public void addProvider(String name, ExternalConfigSupplier supplier) {
         synchronized (providersMapMutex) {
-            if (providersByName.containsKey(name))
+            if (providersByName.containsKey(name) && 
!DEMO_SAMPLE_PROVIDER.equals(name)) {
+                // allow demo to be overridden
                 throw new IllegalArgumentException("Provider already 
registered with name '" + name + "'");
+            }
             providersByName.put(name, supplier);
         }
         LOG.info("Added external config supplier named '" + name + "': " + 
supplier);

Reply via email to