You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2018/08/20 09:39:30 UTC

[10/12] brooklyn-ui git commit: fix dependencies on changed classes

fix dependencies on changed classes


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

Branch: refs/heads/master
Commit: 4d606727f15ebad753c3e6696dc55f65d85419f1
Parents: e6f7653
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Thu Aug 9 10:41:15 2018 +0100
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Thu Aug 9 10:41:15 2018 +0100

----------------------------------------------------------------------
 .../ui/modularity/ExternalUiModule.java         | 29 +++++++++++++++++---
 .../BrooklynExternalUiModuleEnricher.java       | 23 ++++++++++++----
 2 files changed, 43 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/4d606727/modularity-server/external-modules/src/main/java/org/apache/brooklyn/ui/modularity/ExternalUiModule.java
----------------------------------------------------------------------
diff --git a/modularity-server/external-modules/src/main/java/org/apache/brooklyn/ui/modularity/ExternalUiModule.java b/modularity-server/external-modules/src/main/java/org/apache/brooklyn/ui/modularity/ExternalUiModule.java
index 4aaf969..7866efe 100644
--- a/modularity-server/external-modules/src/main/java/org/apache/brooklyn/ui/modularity/ExternalUiModule.java
+++ b/modularity-server/external-modules/src/main/java/org/apache/brooklyn/ui/modularity/ExternalUiModule.java
@@ -25,6 +25,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import org.apache.brooklyn.ui.modularity.module.api.UiModule;
+import org.apache.brooklyn.ui.modularity.module.api.UiModuleAction;
 import org.apache.brooklyn.util.collections.MutableList;
 import org.apache.brooklyn.util.collections.MutableSet;
 import org.osgi.service.component.annotations.Activate;
@@ -36,9 +38,6 @@ import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.ImmutableList;
 
-import org.apache.brooklyn.ui.modularity.module.api.UiModule;
-import org.apache.brooklyn.ui.modularity.module.api.UiModuleAction;
-
 @Component(
         name = ExternalUiModule.PID,
         configurationPid = ExternalUiModule.PID,
@@ -59,12 +58,16 @@ public class ExternalUiModule implements UiModule {
     private final String KEY_ICON = "icon";
     private final String KEY_TYPES = "types";
     private final String[] REQUIRED_KEYS = new String[] {KEY_ID, KEY_NAME, KEY_URL, KEY_ICON};
+    private final String KEY_SUPERSEDES = "supersedes";
+    private final String KEY_STOP_EXISTING = "stopExisting";
 
     private String id;
     private String name;
     private String icon;
     private String url;
     private Set<String> types;
+    private Set<String> supersedes;
+    private boolean stopExisting;
 
     @Activate
     public void activate(final Map<String, String> properties) {
@@ -94,12 +97,20 @@ public class ExternalUiModule implements UiModule {
         this.name = properties.get(KEY_NAME);
         this.icon = properties.get(KEY_ICON);
         this.url = properties.get(KEY_URL);
+        
         this.types = MutableSet.of(MODULE_TYPE);
-
         final String userTypes = properties.get(KEY_TYPES);
         if (userTypes != null) {
             this.types.addAll(Arrays.asList(userTypes.split(",")));
         }
+        
+        this.supersedes = MutableSet.of(MODULE_TYPE);
+        final String userSupersedes = properties.get(KEY_SUPERSEDES);
+        if (userSupersedes != null) {
+            this.supersedes.addAll(Arrays.asList(userSupersedes.split(",")));
+        }
+
+        this.stopExisting = properties.get(KEY_STOP_EXISTING)!=null ? Boolean.parseBoolean(properties.get(KEY_STOP_EXISTING)) : true;
     }
 
     @Override
@@ -128,6 +139,16 @@ public class ExternalUiModule implements UiModule {
     }
 
     @Override
+    public Set<String> getSupersedesBundles() {
+        return supersedes;
+    }
+    
+    @Override
+    public boolean getStopExisting() {
+        return stopExisting;
+    }
+    
+    @Override
     public String getPath() {
         return this.url;
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-ui/blob/4d606727/modularity-server/external-modules/src/main/java/org/apache/brooklyn/ui/modularity/enricher/BrooklynExternalUiModuleEnricher.java
----------------------------------------------------------------------
diff --git a/modularity-server/external-modules/src/main/java/org/apache/brooklyn/ui/modularity/enricher/BrooklynExternalUiModuleEnricher.java b/modularity-server/external-modules/src/main/java/org/apache/brooklyn/ui/modularity/enricher/BrooklynExternalUiModuleEnricher.java
index 3d6fac2..9f19f37 100644
--- a/modularity-server/external-modules/src/main/java/org/apache/brooklyn/ui/modularity/enricher/BrooklynExternalUiModuleEnricher.java
+++ b/modularity-server/external-modules/src/main/java/org/apache/brooklyn/ui/modularity/enricher/BrooklynExternalUiModuleEnricher.java
@@ -18,6 +18,7 @@
  */
 package org.apache.brooklyn.ui.modularity.enricher;
 
+import java.util.Collection;
 import java.util.Dictionary;
 import java.util.Hashtable;
 import java.util.List;
@@ -32,6 +33,8 @@ import org.apache.brooklyn.config.ConfigKey;
 import org.apache.brooklyn.core.config.ConfigKeys;
 import org.apache.brooklyn.core.enricher.AbstractEnricher;
 import org.apache.brooklyn.core.entity.Attributes;
+import org.apache.brooklyn.ui.modularity.module.api.UiModule;
+import org.apache.brooklyn.ui.modularity.module.api.UiModuleAction;
 import org.apache.brooklyn.util.collections.MutableSet;
 import org.apache.brooklyn.util.core.flags.TypeCoercions;
 import org.osgi.framework.Bundle;
@@ -41,11 +44,9 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
 import com.google.common.reflect.TypeToken;
 
-import org.apache.brooklyn.ui.modularity.module.api.UiModule;
-import org.apache.brooklyn.ui.modularity.module.api.UiModuleAction;
-
 public class BrooklynExternalUiModuleEnricher extends AbstractEnricher {
     private static final Logger LOG = LoggerFactory.getLogger(BrooklynExternalUiModuleEnricher.class);
     private static final Dictionary<String, ?> EMPTY_DICTIONARY = new Hashtable<>();
@@ -57,6 +58,8 @@ public class BrooklynExternalUiModuleEnricher extends AbstractEnricher {
     public static final ConfigKey<String> MODULE_SLUG = ConfigKeys.newStringConfigKey(
             "external.ui.module.slug", "Module slug");
     public static final ConfigKey<List<String>> MODULE_TYPE = ConfigKeys.newConfigKey(new TypeToken<List<String>>() {}, "external.ui.module.types", "Module types", ImmutableList.<String>of());
+    public static final ConfigKey<List<String>> SUPERSEDES_BUNDLES = ConfigKeys.newConfigKey(new TypeToken<List<String>>() {}, "external.ui.module.supersedes", "Bundles supersedes", ImmutableList.<String>of());
+    public static final ConfigKey<Boolean> STOP_EXISTING = ConfigKeys.newConfigKey(new TypeToken<Boolean>() {}, "external.ui.module.stopExisting", "Module stops existing", true);
     public static final ConfigKey<Sensor<?>> MODULE_URL_SENSOR_TO_MONITOR =
             (ConfigKey) ConfigKeys.newConfigKey(Sensor.class, "external.ui.module.url.sensor", "Module URL Sensor", Attributes.MAIN_URI);
 
@@ -97,7 +100,7 @@ public class BrooklynExternalUiModuleEnricher extends AbstractEnricher {
                 LOG.debug("Could not register external UI module [{} :: {}] ... Could not load bundle context", getId(), getConfig(MODULE_NAME));
             } else {
                 final Set<String> types = MutableSet.<String>builder().add("external-ui-module").addAll(getConfig(MODULE_TYPE)).build();
-                final UiModule uiModule = newUiModule(getId(), getConfig(MODULE_NAME), getConfig(MODULE_SLUG), types, url, getConfig(MODULE_ICON));
+                final UiModule uiModule = newUiModule(getId(), getConfig(MODULE_NAME), getConfig(MODULE_SLUG), types, url, getConfig(MODULE_ICON), getConfig(SUPERSEDES_BUNDLES), getConfig(STOP_EXISTING));
                 registration = bundle.getBundleContext().registerService(
                         UiModule.class, uiModule, EMPTY_DICTIONARY);
                 LOG.debug("Registered external UI module [{} :: {}]", getId(), getConfig(MODULE_NAME));
@@ -119,7 +122,7 @@ public class BrooklynExternalUiModuleEnricher extends AbstractEnricher {
         }
     }
 
-    private UiModule newUiModule(final String id, final String name, final String slug, final Set<String> types, final String url, final String icon) {
+    private UiModule newUiModule(final String id, final String name, final String slug, final Set<String> types, final String url, final String icon, final Collection<String> supersedes, final boolean stopExisting) {
         return new UiModule() {
             @Override
             public String getId() {
@@ -155,6 +158,16 @@ public class BrooklynExternalUiModuleEnricher extends AbstractEnricher {
             public List<UiModuleAction> getActions() {
                 return ImmutableList.of();
             }
+
+            @Override
+            public Set<String> getSupersedesBundles() {
+                return ImmutableSet.copyOf(supersedes);
+            }
+
+            @Override
+            public boolean getStopExisting() {
+                return stopExisting;
+            }
         };
     }
 }