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 2016/10/16 05:25:42 UTC
karaf-cellar git commit: [KARAF-4736] Align cluster feature install
options with the local ones
Repository: karaf-cellar
Updated Branches:
refs/heads/master fe8db32c2 -> bbe948805
[KARAF-4736] Align cluster feature install options with the local ones
Project: http://git-wip-us.apache.org/repos/asf/karaf-cellar/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf-cellar/commit/bbe94880
Tree: http://git-wip-us.apache.org/repos/asf/karaf-cellar/tree/bbe94880
Diff: http://git-wip-us.apache.org/repos/asf/karaf-cellar/diff/bbe94880
Branch: refs/heads/master
Commit: bbe948805f9be12037894e88f85de6b7d5165273
Parents: fe8db32
Author: Jean-Baptiste Onofr� <jb...@apache.org>
Authored: Sun Oct 16 07:24:51 2016 +0200
Committer: Jean-Baptiste Onofr� <jb...@apache.org>
Committed: Sun Oct 16 07:24:51 2016 +0200
----------------------------------------------------------------------
.../cellar/features/ClusterFeaturesEvent.java | 16 +++++++++-
.../cellar/features/FeaturesEventHandler.java | 10 +++++-
.../management/CellarFeaturesMBean.java | 33 ++++----------------
.../internal/CellarFeaturesMBeanImpl.java | 21 ++++---------
.../features/shell/InstallFeatureCommand.java | 15 +++++----
.../features/shell/UninstallFeatureCommand.java | 2 +-
6 files changed, 46 insertions(+), 51 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/bbe94880/features/src/main/java/org/apache/karaf/cellar/features/ClusterFeaturesEvent.java
----------------------------------------------------------------------
diff --git a/features/src/main/java/org/apache/karaf/cellar/features/ClusterFeaturesEvent.java b/features/src/main/java/org/apache/karaf/cellar/features/ClusterFeaturesEvent.java
index 13866c5..efc0110 100644
--- a/features/src/main/java/org/apache/karaf/cellar/features/ClusterFeaturesEvent.java
+++ b/features/src/main/java/org/apache/karaf/cellar/features/ClusterFeaturesEvent.java
@@ -28,6 +28,8 @@ public class ClusterFeaturesEvent extends Event {
private String version;
private Boolean noRefresh;
private Boolean noStart;
+ private Boolean noManage;
+ private Boolean upgrade;
private EventType type;
private Node local;
@@ -37,15 +39,19 @@ public class ClusterFeaturesEvent extends Event {
this.version = version;
this.noRefresh = false;
this.noStart = false;
+ this.noManage = false;
+ this.upgrade = false;
this.type = type;
}
- public ClusterFeaturesEvent(String name, String version, Boolean noClean, Boolean noRefresh, Boolean noStart, EventType type) {
+ public ClusterFeaturesEvent(String name, String version, Boolean noRefresh, Boolean noStart, Boolean noManage, Boolean upgrade, EventType type) {
super(name + separator + version);
this.name = name;
this.version = version;
this.noRefresh = noRefresh;
this.noStart = noStart;
+ this.noManage = noManage;
+ this.upgrade = upgrade;
this.type = type;
}
@@ -65,6 +71,14 @@ public class ClusterFeaturesEvent extends Event {
return noStart;
}
+ public Boolean getNoManage() {
+ return noManage;
+ }
+
+ public Boolean getUpgrade() {
+ return upgrade;
+ }
+
public EventType getType() {
return type;
}
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/bbe94880/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 1d9c7f9..f8ad537 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
@@ -85,9 +85,11 @@ public class FeaturesEventHandler extends FeaturesSupport implements EventHandle
FeatureEvent.EventType type = event.getType();
Boolean isInstalled = isFeatureInstalledLocally(name, version);
try {
- if (FeatureEvent.EventType.FeatureInstalled.equals(type) && !isInstalled) {
+ if (FeatureEvent.EventType.FeatureInstalled.equals(type)) {
boolean noRefresh = event.getNoRefresh();
boolean noStart = event.getNoStart();
+ boolean noManage = event.getNoManage();
+ boolean upgrade = event.getUpgrade();
EnumSet<FeaturesService.Option> options = EnumSet.noneOf(FeaturesService.Option.class);
if (noRefresh) {
options.add(FeaturesService.Option.NoAutoRefreshBundles);
@@ -95,6 +97,12 @@ public class FeaturesEventHandler extends FeaturesSupport implements EventHandle
if (noStart) {
options.add(FeaturesService.Option.NoAutoStartBundles);
}
+ if (noManage) {
+ options.add(FeaturesService.Option.NoAutoManageBundles);
+ }
+ if (upgrade) {
+ options.add(FeaturesService.Option.Upgrade);
+ }
if (version != null) {
LOGGER.debug("CELLAR FEATURE: installing feature {}/{}", name, version);
featuresService.installFeature(name, version, options);
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/bbe94880/features/src/main/java/org/apache/karaf/cellar/features/management/CellarFeaturesMBean.java
----------------------------------------------------------------------
diff --git a/features/src/main/java/org/apache/karaf/cellar/features/management/CellarFeaturesMBean.java b/features/src/main/java/org/apache/karaf/cellar/features/management/CellarFeaturesMBean.java
index ea63a29..10ffd81 100644
--- a/features/src/main/java/org/apache/karaf/cellar/features/management/CellarFeaturesMBean.java
+++ b/features/src/main/java/org/apache/karaf/cellar/features/management/CellarFeaturesMBean.java
@@ -94,23 +94,13 @@ public interface CellarFeaturesMBean {
*
* @param group the cluster group name.
* @param name the feature name.
- * @param noClean true to not uninstall the bundles if the installation of the feature failed, false else.
- * @param noRefresh true to not automatically refresh the bundles, false else.
- * @throws Exception in case of install failure.
- */
- void installFeature(String group, String name, boolean noClean, boolean noRefresh) throws Exception;
-
- /**
- * Install a feature in a cluster group.
- *
- * @param group the cluster group name.
- * @param name the feature name.
- * @param noClean true to not uninstall the bundles if the installation of the feature failed, false else.
* @param noRefresh true to not automatically refresh the bundles, false else.
* @param noStart true to not automatically start the bundles, false else.
+ * @param noManage true to not automatically manage the bundles, false else.
+ * @param upgrade true to upgrade an existing feature or install it, false else.
* @throws Exception in case of install failure.
*/
- void installFeature(String group, String name, boolean noClean, boolean noRefresh, boolean noStart) throws Exception;
+ void installFeature(String group, String name, boolean noRefresh, boolean noStart, boolean noManage, boolean upgrade) throws Exception;
/**
* Install a feature in a cluster group.
@@ -128,24 +118,13 @@ public interface CellarFeaturesMBean {
* @param group the cluster group name.
* @param name the feature name.
* @param version the feature version.
- * @param noClean true to not uninstall the bundles if the installation of the feature failed, false else.
- * @param noRefresh true to not automatically refresh the bundles, false else.
- * @throws Exception in case of install failure.
- */
- void installFeature(String group, String name, String version, boolean noClean, boolean noRefresh) throws Exception;
-
- /**
- * Install a feature in a cluster group.
- *
- * @param group the cluster group name.
- * @param name the feature name.
- * @param version the feature version.
- * @param noClean true to not uninstall the bundles if the installation of the feature failued, false else.
* @param noRefresh true to not automatically refresh the bundles, false else.
* @param noStart true to not automatically start the bundles, false else.
+ * @param noManage true to not automatically manage the bundles, false else.
+ * @param upgrade true to upgrade an existing feature or install it, false else.
* @throws Exception in case of install failure.
*/
- void installFeature(String group, String name, String version, boolean noClean, boolean noRefresh, boolean noStart) throws Exception;
+ void installFeature(String group, String name, String version, boolean noRefresh, boolean noStart, boolean noManage, boolean upgrade) throws Exception;
/**
* Uninstall a feature from a cluster group.
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/bbe94880/features/src/main/java/org/apache/karaf/cellar/features/management/internal/CellarFeaturesMBeanImpl.java
----------------------------------------------------------------------
diff --git a/features/src/main/java/org/apache/karaf/cellar/features/management/internal/CellarFeaturesMBeanImpl.java b/features/src/main/java/org/apache/karaf/cellar/features/management/internal/CellarFeaturesMBeanImpl.java
index 6ce36e5..8f0cc94 100644
--- a/features/src/main/java/org/apache/karaf/cellar/features/management/internal/CellarFeaturesMBeanImpl.java
+++ b/features/src/main/java/org/apache/karaf/cellar/features/management/internal/CellarFeaturesMBeanImpl.java
@@ -97,12 +97,7 @@ public class CellarFeaturesMBeanImpl extends StandardMBean implements CellarFeat
}
@Override
- public void installFeature(String groupName, String name, String version, boolean noClean, boolean noRefresh) throws Exception {
- this.installFeature(groupName, name, version, noClean, noRefresh, false);
- }
-
- @Override
- public void installFeature(String groupName, String name, String version, boolean noClean, boolean noRefresh, boolean noStart) throws Exception {
+ public void installFeature(String groupName, String name, String version, boolean noRefresh, boolean noStart, boolean noManage, boolean upgrade) throws Exception {
// check if the group exists
Group group = groupManager.findGroupByName(groupName);
if (group == null) {
@@ -164,14 +159,14 @@ public class CellarFeaturesMBeanImpl extends StandardMBean implements CellarFeat
}
// broadcast the cluster event
- ClusterFeaturesEvent event = new ClusterFeaturesEvent(name, version, noClean, noRefresh, noStart, FeatureEvent.EventType.FeatureInstalled);
+ ClusterFeaturesEvent event = new ClusterFeaturesEvent(name, version, noRefresh, noStart, noManage, upgrade, FeatureEvent.EventType.FeatureInstalled);
event.setSourceGroup(group);
eventProducer.produce(event);
}
@Override
public void installFeature(String groupName, String name, String version) throws Exception {
- this.installFeature(groupName, name, version, false, false);
+ this.installFeature(groupName, name, version, false, false, false, false);
}
@Override
@@ -179,14 +174,10 @@ public class CellarFeaturesMBeanImpl extends StandardMBean implements CellarFeat
this.installFeature(groupName, name, null);
}
- @Override
- public void installFeature(String groupName, String name, boolean noClean, boolean noRefresh) throws Exception {
- this.installFeature(groupName, name, null, noClean, noRefresh, false);
- }
@Override
- public void installFeature(String groupName, String name, boolean noClean, boolean noRefresh, boolean noStart) throws Exception {
- this.installFeature(groupName, name, null, noClean, noRefresh, noStart);
+ public void installFeature(String groupName, String name, boolean noRefresh, boolean noStart, boolean noManage, boolean upgrade) throws Exception {
+ this.installFeature(groupName, name, null, noRefresh, noStart, noManage, upgrade);
}
@Override
@@ -257,7 +248,7 @@ public class CellarFeaturesMBeanImpl extends StandardMBean implements CellarFeat
}
// broadcast the cluster event
- ClusterFeaturesEvent event = new ClusterFeaturesEvent(name, version, false, noRefresh, false, FeatureEvent.EventType.FeatureUninstalled);
+ ClusterFeaturesEvent event = new ClusterFeaturesEvent(name, version, noRefresh, false, false, false, FeatureEvent.EventType.FeatureUninstalled);
event.setSourceGroup(group);
eventProducer.produce(event);
}
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/bbe94880/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 6abd0f7..5be077b 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
@@ -41,15 +41,18 @@ import java.util.Map;
@Service
public class InstallFeatureCommand extends CellarCommandSupport {
- @Option(name = "-c", aliases = {"--no-clean"}, description = "Do not uninstall bundles on failure", required = false, multiValued = false)
- boolean noClean;
-
- @Option(name = "-r", aliases = {"--no-auto-refresh"}, description = "Do not automatically refresh bundles", required = false, multiValued = false)
+ @Option(name = "-r", aliases = "--no-auto-refresh", description = "Do not automatically refresh bundles", required = false, multiValued = false)
boolean noRefresh;
- @Option(name = "-s", aliases = {"--no-auto-start"}, description = "Do not automatically start bundles", required = false, multiValued = false)
+ @Option(name = "-s", aliases = "--no-auto-start", description = "Do not start the bundles", required = false, multiValued = false)
boolean noStart;
+ @Option(name = "-m", aliases = "--no-auto-manager", description = "Do not automatically manage bundles", required = false, multiValued = false)
+ boolean noManage;
+
+ @Option(name = "-u", aliases = "--upgrade", description = "Perform an upgrade of feature if previous version are installed or install it", required = false, multiValued = false)
+ boolean upgrade;
+
@Argument(index = 0, name = "group", description = "The cluster group name", required = true, multiValued = false)
@Completion(AllGroupsCompleter.class)
String groupName;
@@ -133,7 +136,7 @@ public class InstallFeatureCommand extends CellarCommandSupport {
clusterFeatures.put(foundKey, found);
// broadcast the cluster event
- ClusterFeaturesEvent event = new ClusterFeaturesEvent(found.getName(), found.getVersion(), noClean, noRefresh, noStart, FeatureEvent.EventType.FeatureInstalled);
+ ClusterFeaturesEvent event = new ClusterFeaturesEvent(found.getName(), found.getVersion(), noRefresh, noStart, noManage, upgrade, FeatureEvent.EventType.FeatureInstalled);
event.setSourceGroup(group);
eventProducer.produce(event);
} else {
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/bbe94880/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 9bc7620..96f6945 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
@@ -125,7 +125,7 @@ public class UninstallFeatureCommand extends CellarCommandSupport {
clusterFeatures.put(foundKey, found);
// broadcast the cluster event
- ClusterFeaturesEvent event = new ClusterFeaturesEvent(found.getName(), found.getVersion(), false, noRefresh, false, FeatureEvent.EventType.FeatureUninstalled);
+ ClusterFeaturesEvent event = new ClusterFeaturesEvent(found.getName(), found.getVersion(), noRefresh, false, false, false, FeatureEvent.EventType.FeatureUninstalled);
event.setSourceGroup(group);
eventProducer.produce(event);
}