You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2015/01/10 13:45:41 UTC
[2/2] karaf-cellar git commit: [KARAF-2169] Introduce *.listener
property (and some cleanups)
[KARAF-2169] Introduce *.listener property (and some cleanups)
Project: http://git-wip-us.apache.org/repos/asf/karaf-cellar/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf-cellar/commit/dc7ec508
Tree: http://git-wip-us.apache.org/repos/asf/karaf-cellar/tree/dc7ec508
Diff: http://git-wip-us.apache.org/repos/asf/karaf-cellar/diff/dc7ec508
Branch: refs/heads/cellar-2.3.x
Commit: dc7ec5087d042d240099a35a6233ffd7b88ae205
Parents: 3353319
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Sat Jan 10 13:44:58 2015 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Sat Jan 10 13:44:58 2015 +0100
----------------------------------------------------------------------
assembly/src/main/resources/groups.cfg | 3 ++
assembly/src/main/resources/node.cfg | 8 ++++
.../cellar/bundle/LocalBundleListener.java | 49 +++++++++++++++-----
.../config/LocalConfigurationListener.java | 27 ++++++++++-
.../karaf/cellar/core/Configurations.java | 1 +
.../apache/karaf/cellar/features/Constants.java | 10 ++--
.../cellar/features/FeaturesEventHandler.java | 18 +++----
.../karaf/cellar/features/FeaturesSupport.java | 20 ++++----
.../cellar/features/FeaturesSynchronizer.java | 42 ++++++++---------
.../cellar/features/LocalFeaturesListener.java | 48 +++++++++++++++----
.../cellar/features/RepositoryEventHandler.java | 14 +++---
.../features/shell/FeatureCommandSupport.java | 6 +--
.../features/shell/InstallFeatureCommand.java | 2 +-
.../features/shell/ListGroupFeatures.java | 2 +-
.../features/shell/UninstallFeatureCommand.java | 2 +-
.../cellar/features/shell/UrlAddCommand.java | 4 +-
.../cellar/features/shell/UrlListCommand.java | 2 +-
.../cellar/features/shell/UrlRemoveCommand.java | 4 +-
.../internal/CellarFeaturesMBeanImpl.java | 20 ++++----
19 files changed, 190 insertions(+), 92 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/dc7ec508/assembly/src/main/resources/groups.cfg
----------------------------------------------------------------------
diff --git a/assembly/src/main/resources/groups.cfg b/assembly/src/main/resources/groups.cfg
index 5193a84..4337320 100644
--- a/assembly/src/main/resources/groups.cfg
+++ b/assembly/src/main/resources/groups.cfg
@@ -1,3 +1,6 @@
+#
+# This property stores the cluster groups for which the local node is member
+#
groups = default
default.config.whitelist.inbound = *
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/dc7ec508/assembly/src/main/resources/node.cfg
----------------------------------------------------------------------
diff --git a/assembly/src/main/resources/node.cfg b/assembly/src/main/resources/node.cfg
index 1725ade..5db7ba9 100644
--- a/assembly/src/main/resources/node.cfg
+++ b/assembly/src/main/resources/node.cfg
@@ -4,6 +4,14 @@
groups = default
#
+# These properties define if the local event listeners (per resource)
+# A local listener listens for local events (like bundle install, etc) and broadcast this state change to the cluster
+#
+bundle.listener = false
+config.listener = false
+feature.listener = false
+
+#
# Cluster event producer
#
producer = true
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/dc7ec508/bundle/src/main/java/org/apache/karaf/cellar/bundle/LocalBundleListener.java
----------------------------------------------------------------------
diff --git a/bundle/src/main/java/org/apache/karaf/cellar/bundle/LocalBundleListener.java b/bundle/src/main/java/org/apache/karaf/cellar/bundle/LocalBundleListener.java
index 9f8df0b..c1ba8ed 100644
--- a/bundle/src/main/java/org/apache/karaf/cellar/bundle/LocalBundleListener.java
+++ b/bundle/src/main/java/org/apache/karaf/cellar/bundle/LocalBundleListener.java
@@ -21,9 +21,11 @@ import org.apache.karaf.cellar.core.event.EventType;
import org.apache.karaf.features.Feature;
import org.osgi.framework.BundleEvent;
import org.osgi.framework.SynchronousBundleListener;
+import org.osgi.service.cm.Configuration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.Dictionary;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -46,6 +48,11 @@ public class LocalBundleListener extends BundleSupport implements SynchronousBun
@Override
public void bundleChanged(BundleEvent event) {
+ if (!isEnabled()) {
+ LOGGER.debug("CELLAR BUNDLE: local listener is disabled");
+ return;
+ }
+
if (event.getBundle().getBundleId() == 0 && (event.getType() == BundleEvent.STOPPING || event.getType() == BundleEvent.STOPPED)) {
LOGGER.debug("CELLAR BUNDLE: Karaf shutdown detected, removing Cellar LocalBundleListener");
bundleContext.removeBundleListener(this);
@@ -106,30 +113,50 @@ public class LocalBundleListener extends BundleSupport implements SynchronousBun
}
// check the features first
- List<Feature> matchingFeatures = retrieveFeature(bundleLocation);
- for (Feature feature : matchingFeatures) {
- if (!isAllowed(group, "features", feature.getName(), EventType.OUTBOUND)) {
- LOGGER.debug("CELLAR BUNDLE: bundle {} is contained in feature {} marked BLOCKED OUTBOUND for cluster group {}", bundleLocation, feature.getName(), group.getName());
- return;
- }
- }
-
+ List<Feature> matchingFeatures = retrieveFeature(bundleLocation);
+ for (Feature feature : matchingFeatures) {
+ if (!isAllowed(group, "features", feature.getName(), EventType.OUTBOUND)) {
+ LOGGER.debug("CELLAR BUNDLE: bundle {} is contained in feature {} marked BLOCKED OUTBOUND for cluster group {}", bundleLocation, feature.getName(), group.getName());
+ return;
+ }
+ }
+
// broadcast the cluster bundle event
ClusterBundleEvent clusterBundleEvent = new ClusterBundleEvent(symbolicName, version, bundleLocation, type);
clusterBundleEvent.setSourceGroup(group);
eventProducer.produce(clusterBundleEvent);
} catch (Exception e) {
- LOGGER.error("CELLAR BUNDLE: failed to create cluster bundle event", e);
- } finally {
+ LOGGER.error("CELLAR BUNDLE: failed to create cluster bundle event", e);
+ } finally {
Thread.currentThread().setContextClassLoader(originalClassLoader);
}
- } else LOGGER.debug("CELLAR BUNDLE: bundle {} is marked BLOCKED OUTBOUND for cluster group {}", bundleLocation, group.getName());
+ } else
+ LOGGER.debug("CELLAR BUNDLE: bundle {} is marked BLOCKED OUTBOUND for cluster group {}", bundleLocation, group.getName());
}
}
}
}
+ /**
+ * Check if the local node bundle listener is enabled in the etc/org.apache.karaf.cellar.groups.cfg.
+ *
+ * @return true if enabled, false else.
+ */
+ private boolean isEnabled() {
+ try {
+ Configuration configuration = configurationAdmin.getConfiguration(Configurations.NODE, null);
+ Dictionary<String, Object> properties = configuration.getProperties();
+ if (properties != null) {
+ String value = properties.get(Constants.CATEGORY + Configurations.SEPARATOR + Configurations.LISTENER).toString();
+ return Boolean.parseBoolean(value);
+ }
+ } catch (Exception e) {
+ LOGGER.warn("CELLAR BUNDLE: can't check listener configuration", e);
+ }
+ return false;
+ }
+
public void init() {
bundleContext.addBundleListener(this);
}
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/dc7ec508/config/src/main/java/org/apache/karaf/cellar/config/LocalConfigurationListener.java
----------------------------------------------------------------------
diff --git a/config/src/main/java/org/apache/karaf/cellar/config/LocalConfigurationListener.java b/config/src/main/java/org/apache/karaf/cellar/config/LocalConfigurationListener.java
index c88fd0d..a74cf92 100644
--- a/config/src/main/java/org/apache/karaf/cellar/config/LocalConfigurationListener.java
+++ b/config/src/main/java/org/apache/karaf/cellar/config/LocalConfigurationListener.java
@@ -47,6 +47,11 @@ public class LocalConfigurationListener extends ConfigurationSupport implements
@Override
public void configurationEvent(ConfigurationEvent event) {
+ if (!isEnabled()) {
+ LOGGER.debug("CELLAR CONFIG: local listener is disabled");
+ return;
+ }
+
// check if the producer is ON
if (eventProducer.getSwitch().getStatus().equals(SwitchStatus.OFF)) {
LOGGER.debug("CELLAR CONFIG: cluster event producer is OFF");
@@ -100,9 +105,29 @@ public class LocalConfigurationListener extends ConfigurationSupport implements
} catch (Exception e) {
LOGGER.error("CELLAR CONFIG: failed to update configuration with PID {} to the cluster group {}", pid, group.getName(), e);
}
- } else LOGGER.debug("CELLAR CONFIG: configuration with PID {} is marked BLOCKED OUTBOUND for cluster group {}", pid, group.getName());
+ } else
+ LOGGER.debug("CELLAR CONFIG: configuration with PID {} is marked BLOCKED OUTBOUND for cluster group {}", pid, group.getName());
+ }
+ }
+ }
+
+ /**
+ * Check if the local config listener is enabled in the etc/org.apache.karaf.cellar.groups.cfg.
+ *
+ * @return true if enabled, false else.
+ */
+ private boolean isEnabled() {
+ try {
+ Configuration configuration = configurationAdmin.getConfiguration(Configurations.NODE, null);
+ Dictionary<String, Object> properties = configuration.getProperties();
+ if (properties != null) {
+ String value = properties.get(Constants.CATEGORY + Configurations.SEPARATOR + Configurations.LISTENER).toString();
+ return Boolean.parseBoolean(value);
}
+ } catch (Exception e) {
+ LOGGER.warn("CELLAR CONFIG: can't check listener configuration", e);
}
+ return false;
}
public void init() {
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/dc7ec508/core/src/main/java/org/apache/karaf/cellar/core/Configurations.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/karaf/cellar/core/Configurations.java b/core/src/main/java/org/apache/karaf/cellar/core/Configurations.java
index 23787e5..c947071 100644
--- a/core/src/main/java/org/apache/karaf/cellar/core/Configurations.java
+++ b/core/src/main/java/org/apache/karaf/cellar/core/Configurations.java
@@ -26,6 +26,7 @@ public class Configurations {
public static final String CONSUMER = "consumer";
public static final String HANDLER = "handler";
+ public static final String LISTENER = "listener";
public static final String SEPARATOR = ".";
public static final String DELIMETER = ",";
public static final String SYNC = "sync";
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/dc7ec508/features/src/main/java/org/apache/karaf/cellar/features/Constants.java
----------------------------------------------------------------------
diff --git a/features/src/main/java/org/apache/karaf/cellar/features/Constants.java b/features/src/main/java/org/apache/karaf/cellar/features/Constants.java
index 6db9913..c5a6b55 100644
--- a/features/src/main/java/org/apache/karaf/cellar/features/Constants.java
+++ b/features/src/main/java/org/apache/karaf/cellar/features/Constants.java
@@ -18,9 +18,11 @@ package org.apache.karaf.cellar.features;
*/
public class Constants {
- public static final String REPOSITORIES = "org.apache.karaf.cellar.repositories";
- public static final String FEATURES = "org.apache.karaf.cellar.features";
- public static final String REPOSITORIES_CATEGORY = "features.repositories";
- public static final String FEATURES_CATEGORY = "features";
+ // hazelcast map name
+ public static final String REPOSITORIES_MAP = "org.apache.karaf.cellar.repositories";
+ public static final String FEATURES_MAP = "org.apache.karaf.cellar.features";
+
+ // configuration category
+ public static final String CATEGORY = "features";
}
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/dc7ec508/features/src/main/java/org/apache/karaf/cellar/features/FeaturesEventHandler.java
----------------------------------------------------------------------
diff --git a/features/src/main/java/org/apache/karaf/cellar/features/FeaturesEventHandler.java b/features/src/main/java/org/apache/karaf/cellar/features/FeaturesEventHandler.java
index 684ed26..179d245 100644
--- a/features/src/main/java/org/apache/karaf/cellar/features/FeaturesEventHandler.java
+++ b/features/src/main/java/org/apache/karaf/cellar/features/FeaturesEventHandler.java
@@ -58,19 +58,19 @@ public class FeaturesEventHandler extends FeaturesSupport implements EventHandle
// check if the handler switch is ON
if (this.getSwitch().getStatus().equals(SwitchStatus.OFF)) {
- LOGGER.debug("CELLAR FEATURES: {} switch is OFF, cluster event is not handled", SWITCH_ID);
+ LOGGER.debug("CELLAR FEATURES_MAP: {} switch is OFF, cluster event is not handled", SWITCH_ID);
return;
}
// check if the group is local
if (!groupManager.isLocalGroup(event.getSourceGroup().getName())) {
- LOGGER.debug("CELLAR FEATURES: node is not part of the event cluster group {}", event.getSourceGroup().getName());
+ LOGGER.debug("CELLAR FEATURES_MAP: node is not part of the event cluster group {}", event.getSourceGroup().getName());
return;
}
String name = event.getName();
String version = event.getVersion();
- if (isAllowed(event.getSourceGroup(), Constants.FEATURES_CATEGORY, name, EventType.INBOUND) || event.getForce()) {
+ if (isAllowed(event.getSourceGroup(), Constants.CATEGORY, name, EventType.INBOUND) || event.getForce()) {
FeatureEvent.EventType type = event.getType();
Boolean isInstalled = isFeatureInstalledLocally(name, version);
try {
@@ -85,25 +85,25 @@ public class FeaturesEventHandler extends FeaturesSupport implements EventHandle
options.add(FeaturesService.Option.NoAutoRefreshBundles);
}
if (version != null) {
- LOGGER.debug("CELLAR FEATURES: installing feature {}/{}", name, version);
+ LOGGER.debug("CELLAR FEATURES_MAP: installing feature {}/{}", name, version);
featuresService.installFeature(name, version, options);
} else {
- LOGGER.debug("CELLAR FEATURES: installing feature {}", name);
+ LOGGER.debug("CELLAR FEATURES_MAP: installing feature {}", name);
featuresService.installFeature(name, options);
}
} else if (FeatureEvent.EventType.FeatureUninstalled.equals(type) && isInstalled) {
if (version != null) {
- LOGGER.debug("CELLAR FEATURES: un-installing feature {}/{}", name, version);
+ LOGGER.debug("CELLAR FEATURES_MAP: un-installing feature {}/{}", name, version);
featuresService.uninstallFeature(name, version);
} else {
- LOGGER.debug("CELLAR FEATURES: un-installing feature {}", name);
+ LOGGER.debug("CELLAR FEATURES_MAP: un-installing feature {}", name);
featuresService.uninstallFeature(name);
}
}
} catch (Exception e) {
- LOGGER.error("CELLAR FEATURES: failed to handle event", e);
+ LOGGER.error("CELLAR FEATURES_MAP: failed to handle event", e);
}
- } else LOGGER.debug("CELLAR FEATURES: feature {} is marked BLOCKED INBOUND for cluster group {}", name, event.getSourceGroup().getName());
+ } else LOGGER.debug("CELLAR FEATURES_MAP: feature {} is marked BLOCKED INBOUND for cluster group {}", name, event.getSourceGroup().getName());
}
@Override
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/dc7ec508/features/src/main/java/org/apache/karaf/cellar/features/FeaturesSupport.java
----------------------------------------------------------------------
diff --git a/features/src/main/java/org/apache/karaf/cellar/features/FeaturesSupport.java b/features/src/main/java/org/apache/karaf/cellar/features/FeaturesSupport.java
index 02733e8..43a9307 100644
--- a/features/src/main/java/org/apache/karaf/cellar/features/FeaturesSupport.java
+++ b/features/src/main/java/org/apache/karaf/cellar/features/FeaturesSupport.java
@@ -90,16 +90,16 @@ public class FeaturesSupport extends CellarSupport {
public void pushFeature(Feature feature, Group group) {
if (feature != null) {
String groupName = group.getName();
- Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES + Configurations.SEPARATOR + groupName);
+ Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES_MAP + Configurations.SEPARATOR + groupName);
- if (isAllowed(group, Constants.FEATURES_CATEGORY, feature.getName(), EventType.OUTBOUND)) {
+ if (isAllowed(group, Constants.CATEGORY, feature.getName(), EventType.OUTBOUND)) {
if (featuresService != null && clusterFeatures != null) {
FeatureInfo info = new FeatureInfo(feature.getName(), feature.getVersion());
Boolean installed = featuresService.isInstalled(feature);
clusterFeatures.put(info, installed);
}
- } else LOGGER.debug("CELLAR FEATURES: feature {} is marked BLOCKED OUTBOUND for cluster group {}", feature.getName(), groupName);
- } else LOGGER.warn("CELLAR FEATURES: feature is null");
+ } else LOGGER.debug("CELLAR FEATURES_MAP: feature {} is marked BLOCKED OUTBOUND for cluster group {}", feature.getName(), groupName);
+ } else LOGGER.warn("CELLAR FEATURES_MAP: feature is null");
}
/**
@@ -113,15 +113,15 @@ public class FeaturesSupport extends CellarSupport {
public void pushFeature(Feature feature, Group group, Boolean force) {
if (feature != null) {
String groupName = group.getName();
- Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES + Configurations.SEPARATOR + groupName);
+ Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES_MAP + Configurations.SEPARATOR + groupName);
- if (isAllowed(group, Constants.FEATURES_CATEGORY, feature.getName(), EventType.OUTBOUND)) {
+ if (isAllowed(group, Constants.CATEGORY, feature.getName(), EventType.OUTBOUND)) {
if (featuresService != null && clusterFeatures != null) {
FeatureInfo info = new FeatureInfo(feature.getName(), feature.getVersion());
clusterFeatures.put(info, force);
}
- } else LOGGER.debug("CELLAR FEATURES: feature {} is marked BLOCKED OUTBOUND for cluster group {}", feature.getName(), groupName);
- } else LOGGER.warn("CELLAR FEATURES: feature is null");
+ } else LOGGER.debug("CELLAR FEATURES_MAP: feature {} is marked BLOCKED OUTBOUND for cluster group {}", feature.getName(), groupName);
+ } else LOGGER.warn("CELLAR FEATURES_MAP: feature is null");
}
/**
@@ -132,7 +132,7 @@ public class FeaturesSupport extends CellarSupport {
*/
public void pushRepository(Repository repository, Group group) {
String groupName = group.getName();
- List<String> clusterRepositories = clusterManager.getList(Constants.REPOSITORIES + Configurations.SEPARATOR + groupName);
+ List<String> clusterRepositories = clusterManager.getList(Constants.REPOSITORIES_MAP + Configurations.SEPARATOR + groupName);
boolean found = false;
for (String clusterRepository : clusterRepositories) {
@@ -155,7 +155,7 @@ public class FeaturesSupport extends CellarSupport {
*/
public void removeRepository(Repository repository, Group group) {
String groupName = group.getName();
- List<String> clusterRepositories = clusterManager.getList(Constants.REPOSITORIES + Configurations.SEPARATOR + groupName);
+ List<String> clusterRepositories = clusterManager.getList(Constants.REPOSITORIES_MAP + Configurations.SEPARATOR + groupName);
if (featuresService != null && clusterRepositories != null) {
URI uri = repository.getURI();
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/dc7ec508/features/src/main/java/org/apache/karaf/cellar/features/FeaturesSynchronizer.java
----------------------------------------------------------------------
diff --git a/features/src/main/java/org/apache/karaf/cellar/features/FeaturesSynchronizer.java b/features/src/main/java/org/apache/karaf/cellar/features/FeaturesSynchronizer.java
index a459be1..bd0d907 100644
--- a/features/src/main/java/org/apache/karaf/cellar/features/FeaturesSynchronizer.java
+++ b/features/src/main/java/org/apache/karaf/cellar/features/FeaturesSynchronizer.java
@@ -47,7 +47,7 @@ public class FeaturesSynchronizer extends FeaturesSupport implements Synchronize
if (isSyncEnabled(group)) {
pull(group);
push(group);
- } else LOGGER.debug("CELLAR FEATURES: sync is disabled for cluster group {}", group.getName());
+ } else LOGGER.debug("CELLAR FEATURES_MAP: sync is disabled for cluster group {}", group.getName());
}
}
}
@@ -66,10 +66,10 @@ public class FeaturesSynchronizer extends FeaturesSupport implements Synchronize
public void pull(Group group) {
if (group != null) {
String groupName = group.getName();
- LOGGER.debug("CELLAR FEATURES: pulling features repositories and features from cluster group {}", groupName);
- List<String> clusterRepositories = clusterManager.getList(Constants.REPOSITORIES + Configurations.SEPARATOR + groupName);
- Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES + Configurations.SEPARATOR + groupName);
- clusterManager.getList(Constants.FEATURES + Configurations.SEPARATOR + groupName);
+ LOGGER.debug("CELLAR FEATURES_MAP: pulling features repositories and features from cluster group {}", groupName);
+ List<String> clusterRepositories = clusterManager.getList(Constants.REPOSITORIES_MAP + Configurations.SEPARATOR + groupName);
+ Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES_MAP + Configurations.SEPARATOR + groupName);
+ clusterManager.getList(Constants.FEATURES_MAP + Configurations.SEPARATOR + groupName);
ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
@@ -79,13 +79,13 @@ public class FeaturesSynchronizer extends FeaturesSupport implements Synchronize
for (String url : clusterRepositories) {
try {
if (!isRepositoryRegisteredLocally(url)) {
- LOGGER.debug("CELLAR FEATURES: adding repository {}", url);
+ LOGGER.debug("CELLAR FEATURES_MAP: adding repository {}", url);
featuresService.addRepository(new URI(url));
}
} catch (MalformedURLException e) {
- LOGGER.warn("CELLAR FEATURES: failed to add clusterFeatures repository {} (URL is malformed)", url, e);
+ LOGGER.warn("CELLAR FEATURES_MAP: failed to add clusterFeatures repository {} (URL is malformed)", url, e);
} catch (Exception e) {
- LOGGER.warn("CELLAR FEATURES: failed to add clusterFeatures repository {}", url, e);
+ LOGGER.warn("CELLAR FEATURES_MAP: failed to add clusterFeatures repository {}", url, e);
}
}
}
@@ -95,7 +95,7 @@ public class FeaturesSynchronizer extends FeaturesSupport implements Synchronize
for (FeatureInfo info : clusterFeatures.keySet()) {
String name = info.getName();
// check if feature is blocked
- if (isAllowed(group, Constants.FEATURES_CATEGORY, name, EventType.INBOUND)) {
+ if (isAllowed(group, Constants.CATEGORY, name, EventType.INBOUND)) {
Boolean clusterInstalled = clusterFeatures.get(info);
Boolean locallyInstalled = isFeatureInstalledLocally(info.getName(), info.getVersion());
@@ -109,21 +109,21 @@ public class FeaturesSynchronizer extends FeaturesSupport implements Synchronize
// if feature has to be installed locally
if (clusterInstalled && !locallyInstalled) {
try {
- LOGGER.debug("CELLAR FEATURES: installing feature {}/{}", info.getName(), info.getVersion());
+ LOGGER.debug("CELLAR FEATURES_MAP: installing feature {}/{}", info.getName(), info.getVersion());
featuresService.installFeature(info.getName(), info.getVersion());
} catch (Exception e) {
- LOGGER.warn("CELLAR FEATURES: failed to install feature {}/{} ", new Object[]{ info.getName(), info.getVersion() }, e);
+ LOGGER.warn("CELLAR FEATURES_MAP: failed to install feature {}/{} ", new Object[]{ info.getName(), info.getVersion() }, e);
}
// if feature has to be uninstalled locally
} else if (!clusterInstalled && locallyInstalled) {
try {
- LOGGER.debug("CELLAR FEATURES: un-installing feature {}/{}", info.getName(), info.getVersion());
+ LOGGER.debug("CELLAR FEATURES_MAP: un-installing feature {}/{}", info.getName(), info.getVersion());
featuresService.uninstallFeature(info.getName(), info.getVersion());
} catch (Exception e) {
- LOGGER.warn("CELLAR FEATURES: failed to uninstall feature {}/{} ", new Object[]{ info.getName(), info.getVersion() }, e);
+ LOGGER.warn("CELLAR FEATURES_MAP: failed to uninstall feature {}/{} ", new Object[]{ info.getName(), info.getVersion() }, e);
}
}
- } else LOGGER.warn("CELLAR FEATURES: feature {} is marked BLOCKED INBOUND for cluster group {}", name, groupName);
+ } else LOGGER.warn("CELLAR FEATURES_MAP: feature {} is marked BLOCKED INBOUND for cluster group {}", name, groupName);
}
}
} finally {
@@ -141,8 +141,8 @@ public class FeaturesSynchronizer extends FeaturesSupport implements Synchronize
public void push(Group group) {
if (group != null) {
String groupName = group.getName();
- LOGGER.debug("CELLAR FEATURES: pushing features repositories and features in cluster group {}.",groupName);
- clusterManager.getList(Constants.FEATURES + Configurations.SEPARATOR + groupName);
+ LOGGER.debug("CELLAR FEATURES_MAP: pushing features repositories and features in cluster group {}.",groupName);
+ clusterManager.getList(Constants.FEATURES_MAP + Configurations.SEPARATOR + groupName);
ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
try {
@@ -155,14 +155,14 @@ public class FeaturesSynchronizer extends FeaturesSupport implements Synchronize
repositoryList = featuresService.listRepositories();
featuresList = featuresService.listFeatures();
} catch (Exception e) {
- LOGGER.warn("CELLAR FEATURES: unable to list features", e);
+ LOGGER.warn("CELLAR FEATURES_MAP: unable to list features", e);
}
// push the local features repositories to the cluster group
if (repositoryList != null && repositoryList.length > 0) {
for (Repository repository : repositoryList) {
pushRepository(repository, group);
- LOGGER.debug("CELLAR FEATURES: pushing repository {} in cluster group {}", repository.getName(), group.getName());
+ LOGGER.debug("CELLAR FEATURES_MAP: pushing repository {} in cluster group {}", repository.getName(), group.getName());
}
}
@@ -170,7 +170,7 @@ public class FeaturesSynchronizer extends FeaturesSupport implements Synchronize
if (featuresList != null && featuresList.length > 0) {
for (Feature feature : featuresList) {
pushFeature(feature, group);
- LOGGER.debug("CELLAR FEATURES: pushing feature {} in cluster group {}", feature.getName(), group.getName());
+ LOGGER.debug("CELLAR FEATURES_MAP: pushing feature {} in cluster group {}", feature.getName(), group.getName());
}
}
} finally {
@@ -194,12 +194,12 @@ public class FeaturesSynchronizer extends FeaturesSupport implements Synchronize
Configuration configuration = configurationAdmin.getConfiguration(Configurations.GROUP);
Dictionary<String, Object> properties = configuration.getProperties();
if (properties != null) {
- String propertyKey = groupName + Configurations.SEPARATOR + Constants.FEATURES_CATEGORY + Configurations.SEPARATOR + Configurations.SYNC;
+ String propertyKey = groupName + Configurations.SEPARATOR + Constants.CATEGORY + Configurations.SEPARATOR + Configurations.SYNC;
String propertyValue = (String) properties.get(propertyKey);
result = Boolean.parseBoolean(propertyValue);
}
} catch (IOException e) {
- LOGGER.warn("CELLAR FEATURES: error while checking if sync is enabled", e);
+ LOGGER.warn("CELLAR FEATURES_MAP: error while checking if sync is enabled", e);
}
return result;
}
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/dc7ec508/features/src/main/java/org/apache/karaf/cellar/features/LocalFeaturesListener.java
----------------------------------------------------------------------
diff --git a/features/src/main/java/org/apache/karaf/cellar/features/LocalFeaturesListener.java b/features/src/main/java/org/apache/karaf/cellar/features/LocalFeaturesListener.java
index b589d61..3419f88 100644
--- a/features/src/main/java/org/apache/karaf/cellar/features/LocalFeaturesListener.java
+++ b/features/src/main/java/org/apache/karaf/cellar/features/LocalFeaturesListener.java
@@ -21,9 +21,11 @@ import org.apache.karaf.cellar.core.event.EventType;
import org.apache.karaf.features.Feature;
import org.apache.karaf.features.FeatureEvent;
import org.apache.karaf.features.RepositoryEvent;
+import org.osgi.service.cm.Configuration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.Dictionary;
import java.util.Map;
import java.util.Set;
@@ -54,9 +56,14 @@ public class LocalFeaturesListener extends FeaturesSupport implements org.apache
@Override
public void featureEvent(FeatureEvent event) {
+ if (!isEnabled()) {
+ LOGGER.debug("CELLAR FEATURES_MAP: local listener is disabled");
+ return;
+ }
+
// check if the producer is ON
if (eventProducer.getSwitch().getStatus().equals(SwitchStatus.OFF)) {
- LOGGER.debug("CELLAR FEATURES: cluster event producer is OFF");
+ LOGGER.debug("CELLAR FEATURES_MAP: cluster event producer is OFF");
return;
}
@@ -70,7 +77,7 @@ public class LocalFeaturesListener extends FeaturesSupport implements org.apache
String name = feature.getName();
String version = feature.getVersion();
- if (isAllowed(group, Constants.FEATURES_CATEGORY, name, EventType.OUTBOUND)) {
+ if (isAllowed(group, Constants.CATEGORY, name, EventType.OUTBOUND)) {
FeatureEvent.EventType type = event.getType();
// update the features in the cluster group
@@ -84,7 +91,8 @@ public class LocalFeaturesListener extends FeaturesSupport implements org.apache
ClusterFeaturesEvent featureEvent = new ClusterFeaturesEvent(name, version, type);
featureEvent.setSourceGroup(group);
eventProducer.produce(featureEvent);
- } else LOGGER.debug("CELLAR FEATURES: feature {} is marked BLOCKED OUTBOUND for cluster group {}", name, group.getName());
+ } else
+ LOGGER.debug("CELLAR FEATURES_MAP: feature {} is marked BLOCKED OUTBOUND for cluster group {}", name, group.getName());
}
}
}
@@ -98,9 +106,14 @@ public class LocalFeaturesListener extends FeaturesSupport implements org.apache
@Override
public void repositoryEvent(RepositoryEvent event) {
+ if (!isEnabled()) {
+ LOGGER.debug("CELLAR FEATURES_MAP: local listener is disabled");
+ return;
+ }
+
// check if the producer is ON
if (eventProducer.getSwitch().getStatus().equals(SwitchStatus.OFF)) {
- LOGGER.debug("CELLAR FEATURES: cluster event producer is OFF");
+ LOGGER.debug("CELLAR FEATURES_MAP: cluster event producer is OFF");
return;
}
@@ -120,7 +133,7 @@ public class LocalFeaturesListener extends FeaturesSupport implements org.apache
// update the repositories in the cluster group
pushRepository(event.getRepository(), group);
// update the features in the cluster group
- Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES + Configurations.SEPARATOR + group.getName());
+ Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES_MAP + Configurations.SEPARATOR + group.getName());
try {
for (Feature feature : event.getRepository().getFeatures()) {
// check the feature in the cluster group
@@ -137,20 +150,20 @@ public class LocalFeaturesListener extends FeaturesSupport implements org.apache
}
}
} catch (Exception e) {
- LOGGER.warn("CELLAR FEATURES: failed to update the cluster group", e);
+ LOGGER.warn("CELLAR FEATURES_MAP: failed to update the cluster group", e);
}
} else {
// update the repositories in the cluster group
removeRepository(event.getRepository(), group);
// update the features in the cluster group
- Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES + Configurations.SEPARATOR + group.getName());
+ Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES_MAP + Configurations.SEPARATOR + group.getName());
try {
for (Feature feature : event.getRepository().getFeatures()) {
FeatureInfo info = new FeatureInfo(feature.getName(), feature.getVersion());
clusterFeatures.remove(info);
}
} catch (Exception e) {
- LOGGER.warn("CELLAR FEATURES: failed to update the cluster group", e);
+ LOGGER.warn("CELLAR FEATURES_MAP: failed to update the cluster group", e);
}
}
@@ -164,6 +177,25 @@ public class LocalFeaturesListener extends FeaturesSupport implements org.apache
}
}
+ /**
+ * Check if the local node feature listener is enabled in the etc/org.apache.karaf.cellar.groups.cfg.
+ *
+ * @return true if enabled, false else.
+ */
+ private boolean isEnabled() {
+ try {
+ Configuration configuration = configurationAdmin.getConfiguration(Configurations.NODE, null);
+ Dictionary<String, Object> properties = configuration.getProperties();
+ if (properties != null) {
+ String value = properties.get(Constants.CATEGORY + Configurations.SEPARATOR + Configurations.LISTENER).toString();
+ return Boolean.parseBoolean(value);
+ }
+ } catch (Exception e) {
+ LOGGER.warn("CELLAR FEATURE: can't check listener configuration", e);
+ }
+ return false;
+ }
+
public EventProducer getEventProducer() {
return eventProducer;
}
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/dc7ec508/features/src/main/java/org/apache/karaf/cellar/features/RepositoryEventHandler.java
----------------------------------------------------------------------
diff --git a/features/src/main/java/org/apache/karaf/cellar/features/RepositoryEventHandler.java b/features/src/main/java/org/apache/karaf/cellar/features/RepositoryEventHandler.java
index a63670b..15c5c72 100644
--- a/features/src/main/java/org/apache/karaf/cellar/features/RepositoryEventHandler.java
+++ b/features/src/main/java/org/apache/karaf/cellar/features/RepositoryEventHandler.java
@@ -54,13 +54,13 @@ public class RepositoryEventHandler extends FeaturesSupport implements EventHand
// check if the handler is ON
if (eventSwitch.getStatus().equals(SwitchStatus.OFF)) {
- LOGGER.debug("CELLAR FEATURES: {} switch is OFF, cluster event is not handled", SWITCH_ID);
+ LOGGER.debug("CELLAR FEATURES_MAP: {} switch is OFF, cluster event is not handled", SWITCH_ID);
return;
}
// check if the group is local
if (!groupManager.isLocalGroup(event.getSourceGroup().getName())) {
- LOGGER.debug("CELLAR FEATURES: node is not part of the event cluster group {}", event.getSourceGroup().getName());
+ LOGGER.debug("CELLAR FEATURES_MAP: node is not part of the event cluster group {}", event.getSourceGroup().getName());
return;
}
@@ -70,21 +70,21 @@ public class RepositoryEventHandler extends FeaturesSupport implements EventHand
// TODO check if isAllowed
if (RepositoryEvent.EventType.RepositoryAdded.equals(type)) {
if (!isRepositoryRegisteredLocally(uri)) {
- LOGGER.debug("CELLAR FEATURES: adding repository URI {}", uri);
+ LOGGER.debug("CELLAR FEATURES_MAP: adding repository URI {}", uri);
featuresService.addRepository(new URI(uri), event.getInstall());
} else {
- LOGGER.debug("CELLAR FEATURES: repository URI {} is already registered locally");
+ LOGGER.debug("CELLAR FEATURES_MAP: repository URI {} is already registered locally");
}
} else {
if (isRepositoryRegisteredLocally(uri)) {
- LOGGER.debug("CELLAR FEATURES: removing repository URI {}", uri);
+ LOGGER.debug("CELLAR FEATURES_MAP: removing repository URI {}", uri);
featuresService.removeRepository(new URI(uri), event.getUninstall());
} else {
- LOGGER.debug("CELLAR FEATURES: repository URI {} is not registered locally");
+ LOGGER.debug("CELLAR FEATURES_MAP: repository URI {} is not registered locally");
}
}
} catch (Exception e) {
- LOGGER.error("CELLAR FEATURES: failed to add/remove repository URI {}", uri, e);
+ LOGGER.error("CELLAR FEATURES_MAP: failed to add/remove repository URI {}", uri, e);
}
}
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/dc7ec508/features/src/main/java/org/apache/karaf/cellar/features/shell/FeatureCommandSupport.java
----------------------------------------------------------------------
diff --git a/features/src/main/java/org/apache/karaf/cellar/features/shell/FeatureCommandSupport.java b/features/src/main/java/org/apache/karaf/cellar/features/shell/FeatureCommandSupport.java
index 3733a2c..4e543fa 100644
--- a/features/src/main/java/org/apache/karaf/cellar/features/shell/FeatureCommandSupport.java
+++ b/features/src/main/java/org/apache/karaf/cellar/features/shell/FeatureCommandSupport.java
@@ -57,7 +57,7 @@ public abstract class FeatureCommandSupport extends CellarCommandSupport {
if (group == null || group.getNodes().isEmpty()) {
FeatureInfo info = new FeatureInfo(feature, version);
- Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES + Configurations.SEPARATOR + groupName);
+ Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES_MAP + Configurations.SEPARATOR + groupName);
// check the existing configuration
if (version == null || (version.trim().length() < 1)) {
for (FeatureInfo f : clusterFeatures.keySet()) {
@@ -103,7 +103,7 @@ public abstract class FeatureCommandSupport extends CellarCommandSupport {
ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
- Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES + Configurations.SEPARATOR + groupName);
+ Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES_MAP + Configurations.SEPARATOR + groupName);
if (clusterFeatures == null)
return false;
@@ -138,7 +138,7 @@ public abstract class FeatureCommandSupport extends CellarCommandSupport {
support.setClusterManager(this.clusterManager);
support.setGroupManager(this.groupManager);
support.setConfigurationAdmin(this.configurationAdmin);
- return support.isAllowed(group, Constants.FEATURES_CATEGORY, name, EventType.OUTBOUND);
+ return support.isAllowed(group, Constants.CATEGORY, name, EventType.OUTBOUND);
}
public FeaturesService getFeaturesService() {
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/dc7ec508/features/src/main/java/org/apache/karaf/cellar/features/shell/InstallFeatureCommand.java
----------------------------------------------------------------------
diff --git a/features/src/main/java/org/apache/karaf/cellar/features/shell/InstallFeatureCommand.java b/features/src/main/java/org/apache/karaf/cellar/features/shell/InstallFeatureCommand.java
index 5e32ebe..7d00bab 100644
--- a/features/src/main/java/org/apache/karaf/cellar/features/shell/InstallFeatureCommand.java
+++ b/features/src/main/java/org/apache/karaf/cellar/features/shell/InstallFeatureCommand.java
@@ -68,7 +68,7 @@ public class InstallFeatureCommand extends FeatureCommandSupport {
}
// check if the outbound event is allowed
- if (!isAllowed(group, Constants.FEATURES_CATEGORY, feature, EventType.OUTBOUND)) {
+ if (!isAllowed(group, Constants.CATEGORY, feature, EventType.OUTBOUND)) {
System.err.println("Feature " + feature + " is blocked outbound for cluster group " + groupName);
return null;
}
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/dc7ec508/features/src/main/java/org/apache/karaf/cellar/features/shell/ListGroupFeatures.java
----------------------------------------------------------------------
diff --git a/features/src/main/java/org/apache/karaf/cellar/features/shell/ListGroupFeatures.java b/features/src/main/java/org/apache/karaf/cellar/features/shell/ListGroupFeatures.java
index 633e534..a2b2262 100644
--- a/features/src/main/java/org/apache/karaf/cellar/features/shell/ListGroupFeatures.java
+++ b/features/src/main/java/org/apache/karaf/cellar/features/shell/ListGroupFeatures.java
@@ -47,7 +47,7 @@ public class ListGroupFeatures extends FeatureCommandSupport {
try {
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
- Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES + Configurations.SEPARATOR + groupName);
+ Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES_MAP + Configurations.SEPARATOR + groupName);
if (clusterFeatures != null && !clusterFeatures.isEmpty()) {
System.out.println("Features in cluster group " + groupName);
System.out.println(String.format(HEADER_FORMAT, "Status", "Version", "Name"));
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/dc7ec508/features/src/main/java/org/apache/karaf/cellar/features/shell/UninstallFeatureCommand.java
----------------------------------------------------------------------
diff --git a/features/src/main/java/org/apache/karaf/cellar/features/shell/UninstallFeatureCommand.java b/features/src/main/java/org/apache/karaf/cellar/features/shell/UninstallFeatureCommand.java
index b0c0407..de1b6de 100644
--- a/features/src/main/java/org/apache/karaf/cellar/features/shell/UninstallFeatureCommand.java
+++ b/features/src/main/java/org/apache/karaf/cellar/features/shell/UninstallFeatureCommand.java
@@ -61,7 +61,7 @@ public class UninstallFeatureCommand extends FeatureCommandSupport {
}
// check if the outbound event is allowed
- if (!isAllowed(group, Constants.FEATURES_CATEGORY, feature, EventType.OUTBOUND)) {
+ if (!isAllowed(group, Constants.CATEGORY, feature, EventType.OUTBOUND)) {
System.err.println("Feature " + feature + " is blocked outbound for cluster group " + groupName);
return null;
}
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/dc7ec508/features/src/main/java/org/apache/karaf/cellar/features/shell/UrlAddCommand.java
----------------------------------------------------------------------
diff --git a/features/src/main/java/org/apache/karaf/cellar/features/shell/UrlAddCommand.java b/features/src/main/java/org/apache/karaf/cellar/features/shell/UrlAddCommand.java
index 0070acf..027798a 100644
--- a/features/src/main/java/org/apache/karaf/cellar/features/shell/UrlAddCommand.java
+++ b/features/src/main/java/org/apache/karaf/cellar/features/shell/UrlAddCommand.java
@@ -64,9 +64,9 @@ public class UrlAddCommand extends FeatureCommandSupport {
try {
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
// get the repositories in the cluster group
- List<String> clusterRepositories = clusterManager.getList(Constants.REPOSITORIES + Configurations.SEPARATOR + groupName);
+ List<String> clusterRepositories = clusterManager.getList(Constants.REPOSITORIES_MAP + Configurations.SEPARATOR + groupName);
// get the features in the cluster group
- Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES + Configurations.SEPARATOR + groupName);
+ Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES_MAP + Configurations.SEPARATOR + groupName);
for (String url : urls) {
// check if the URL is already registered
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/dc7ec508/features/src/main/java/org/apache/karaf/cellar/features/shell/UrlListCommand.java
----------------------------------------------------------------------
diff --git a/features/src/main/java/org/apache/karaf/cellar/features/shell/UrlListCommand.java b/features/src/main/java/org/apache/karaf/cellar/features/shell/UrlListCommand.java
index cea6468..7bc2fd8 100644
--- a/features/src/main/java/org/apache/karaf/cellar/features/shell/UrlListCommand.java
+++ b/features/src/main/java/org/apache/karaf/cellar/features/shell/UrlListCommand.java
@@ -37,7 +37,7 @@ public class UrlListCommand extends FeatureCommandSupport {
}
// get the repositories in the cluster group
- List<String> clusterRepositories = clusterManager.getList(Constants.REPOSITORIES + Configurations.SEPARATOR + groupName);
+ List<String> clusterRepositories = clusterManager.getList(Constants.REPOSITORIES_MAP + Configurations.SEPARATOR + groupName);
for (String clusterRepository : clusterRepositories) {
System.out.println(clusterRepository);
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/dc7ec508/features/src/main/java/org/apache/karaf/cellar/features/shell/UrlRemoveCommand.java
----------------------------------------------------------------------
diff --git a/features/src/main/java/org/apache/karaf/cellar/features/shell/UrlRemoveCommand.java b/features/src/main/java/org/apache/karaf/cellar/features/shell/UrlRemoveCommand.java
index 6a8ec78..f52df52 100644
--- a/features/src/main/java/org/apache/karaf/cellar/features/shell/UrlRemoveCommand.java
+++ b/features/src/main/java/org/apache/karaf/cellar/features/shell/UrlRemoveCommand.java
@@ -61,9 +61,9 @@ public class UrlRemoveCommand extends FeatureCommandSupport {
}
// get the repositories in the cluster group
- List<String> clusterRepositories = clusterManager.getList(Constants.REPOSITORIES + Configurations.SEPARATOR + groupName);
+ List<String> clusterRepositories = clusterManager.getList(Constants.REPOSITORIES_MAP + Configurations.SEPARATOR + groupName);
// get the features in the cluster group
- Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES + Configurations.SEPARATOR + groupName);
+ Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES_MAP + Configurations.SEPARATOR + groupName);
for (String url : urls) {
// looking for the URL in the list
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/dc7ec508/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarFeaturesMBeanImpl.java
----------------------------------------------------------------------
diff --git a/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarFeaturesMBeanImpl.java b/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarFeaturesMBeanImpl.java
index 7110e5e..efc250c 100644
--- a/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarFeaturesMBeanImpl.java
+++ b/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarFeaturesMBeanImpl.java
@@ -108,7 +108,7 @@ public class CellarFeaturesMBeanImpl extends StandardMBean implements CellarFeat
support.setClusterManager(this.clusterManager);
support.setGroupManager(this.groupManager);
support.setConfigurationAdmin(this.configurationAdmin);
- if (!support.isAllowed(group, Constants.FEATURES_CATEGORY, name, EventType.OUTBOUND)) {
+ if (!support.isAllowed(group, Constants.CATEGORY, name, EventType.OUTBOUND)) {
throw new IllegalArgumentException("Feature " + name + " is blocked outbound for cluster group " + groupName);
}
@@ -117,7 +117,7 @@ public class CellarFeaturesMBeanImpl extends StandardMBean implements CellarFeat
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
// get the features in the cluster group
- Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES + Configurations.SEPARATOR + groupName);
+ Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES_MAP + Configurations.SEPARATOR + groupName);
// check if the feature exist
FeatureInfo feature = null;
@@ -201,7 +201,7 @@ public class CellarFeaturesMBeanImpl extends StandardMBean implements CellarFeat
support.setClusterManager(this.clusterManager);
support.setGroupManager(this.groupManager);
support.setConfigurationAdmin(this.configurationAdmin);
- if (!support.isAllowed(group, Constants.FEATURES_CATEGORY, name, EventType.OUTBOUND)) {
+ if (!support.isAllowed(group, Constants.CATEGORY, name, EventType.OUTBOUND)) {
throw new IllegalArgumentException("Feature " + name + " is blocked outbound for cluster group " + groupName);
}
@@ -210,7 +210,7 @@ public class CellarFeaturesMBeanImpl extends StandardMBean implements CellarFeat
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
// get the features in the cluster group
- Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES + Configurations.SEPARATOR + groupName);
+ Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES_MAP + Configurations.SEPARATOR + groupName);
// check if the feature exist
FeatureInfo feature = null;
@@ -265,7 +265,7 @@ public class CellarFeaturesMBeanImpl extends StandardMBean implements CellarFeat
ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
try {
- Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES + Configurations.SEPARATOR + group);
+ Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES_MAP + Configurations.SEPARATOR + group);
if (clusterFeatures != null && !clusterFeatures.isEmpty()) {
for (FeatureInfo feature : clusterFeatures.keySet()) {
boolean installed = clusterFeatures.get(feature);
@@ -290,7 +290,7 @@ public class CellarFeaturesMBeanImpl extends StandardMBean implements CellarFeat
}
// get the distributed URLs list
- List<String> clusterRepositories = clusterManager.getList(Constants.REPOSITORIES + Configurations.SEPARATOR + groupName);
+ List<String> clusterRepositories = clusterManager.getList(Constants.REPOSITORIES_MAP + Configurations.SEPARATOR + groupName);
List<String> result = new ArrayList<String>();
for (String url : clusterRepositories) {
@@ -322,9 +322,9 @@ public class CellarFeaturesMBeanImpl extends StandardMBean implements CellarFeat
try {
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
// get the features repositories in the cluster group
- List<String> clusterRepositories = clusterManager.getList(Constants.REPOSITORIES + Configurations.SEPARATOR + groupName);
+ List<String> clusterRepositories = clusterManager.getList(Constants.REPOSITORIES_MAP + Configurations.SEPARATOR + groupName);
// get the features in the cluster group
- Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES + Configurations.SEPARATOR + groupName);
+ Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES_MAP + Configurations.SEPARATOR + groupName);
// check if the URL is already registered
boolean found = false;
@@ -408,9 +408,9 @@ public class CellarFeaturesMBeanImpl extends StandardMBean implements CellarFeat
}
// get the features repositories in the cluster group
- List<String> clusterRepositories = clusterManager.getList(Constants.REPOSITORIES + Configurations.SEPARATOR + groupName);
+ List<String> clusterRepositories = clusterManager.getList(Constants.REPOSITORIES_MAP + Configurations.SEPARATOR + groupName);
// get the features in the cluster group
- Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES + Configurations.SEPARATOR + groupName);
+ Map<FeatureInfo, Boolean> clusterFeatures = clusterManager.getMap(Constants.FEATURES_MAP + Configurations.SEPARATOR + groupName);
// looking for the URL in the list
boolean found = false;