Author: jbonofre
Date: Mon Aug 6 12:06:19 2012
New Revision: 1369801
URL: http://svn.apache.org/viewvc?rev=1369801&view=rev
Log:
[KARAF-1699] Add noClean, noRefresh support on the install operation of the
features MBean
Modified:
karaf/trunk/features/core/src/main/java/org/apache/karaf/features/FeaturesService.java
karaf/trunk/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java
karaf/trunk/features/core/src/main/java/org/apache/karaf/features/management/FeaturesServiceMBean.java
karaf/trunk/features/core/src/main/java/org/apache/karaf/features/management/internal/FeaturesService.java
karaf/trunk/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java
Modified:
karaf/trunk/features/core/src/main/java/org/apache/karaf/features/FeaturesService.java
URL:
http://svn.apache.org/viewvc/karaf/trunk/features/core/src/main/java/org/apache/karaf/features/FeaturesService.java?rev=1369801&r1=1369800&r2=1369801&view=diff
==============================================================================
---
karaf/trunk/features/core/src/main/java/org/apache/karaf/features/FeaturesService.java
(original)
+++
karaf/trunk/features/core/src/main/java/org/apache/karaf/features/FeaturesService.java
Mon Aug 6 12:06:19 2012
@@ -56,6 +56,8 @@ public interface FeaturesService {
Repository getRepository(String repoName);
void installFeature(String name) throws Exception;
+
+ void installFeature(String name, EnumSet<Option> options) throws Exception;
void installFeature(String name, String version) throws Exception;
Modified:
karaf/trunk/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java
URL:
http://svn.apache.org/viewvc/karaf/trunk/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java?rev=1369801&r1=1369800&r2=1369801&view=diff
==============================================================================
---
karaf/trunk/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java
(original)
+++
karaf/trunk/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java
Mon Aug 6 12:06:19 2012
@@ -382,6 +382,17 @@ public class FeaturesServiceImpl impleme
}
/**
+ * Install a feature identified by a name, including a set of options.
+ *
+ * @param name the name of the feature.
+ * @param options the installation options.
+ * @throws Exception in case of install failure.
+ */
+ public void installFeature(String name, EnumSet<Option> options) throws
Exception {
+ installFeature(name,
org.apache.karaf.features.internal.model.Feature.DEFAULT_VERSION, options);
+ }
+
+ /**
* Install a feature identified by a name and a version.
*
* @param name the name of the feature.
Modified:
karaf/trunk/features/core/src/main/java/org/apache/karaf/features/management/FeaturesServiceMBean.java
URL:
http://svn.apache.org/viewvc/karaf/trunk/features/core/src/main/java/org/apache/karaf/features/management/FeaturesServiceMBean.java?rev=1369801&r1=1369800&r2=1369801&view=diff
==============================================================================
---
karaf/trunk/features/core/src/main/java/org/apache/karaf/features/management/FeaturesServiceMBean.java
(original)
+++
karaf/trunk/features/core/src/main/java/org/apache/karaf/features/management/FeaturesServiceMBean.java
Mon Aug 6 12:06:19 2012
@@ -34,8 +34,12 @@ public interface FeaturesServiceMBean {
void installFeature(String name) throws Exception;
+ void installFeature(String name, boolean noClean, boolean noRefresh)
throws Exception;
+
void installFeature(String name, String version) throws Exception;
+ void installFeature(String name, String version, boolean noClean, boolean
noRefresh) throws Exception;
+
void uninstallFeature(String name) throws Exception;
void uninstallFeature(String name, String version) throws Exception;
Modified:
karaf/trunk/features/core/src/main/java/org/apache/karaf/features/management/internal/FeaturesService.java
URL:
http://svn.apache.org/viewvc/karaf/trunk/features/core/src/main/java/org/apache/karaf/features/management/internal/FeaturesService.java?rev=1369801&r1=1369800&r2=1369801&view=diff
==============================================================================
---
karaf/trunk/features/core/src/main/java/org/apache/karaf/features/management/internal/FeaturesService.java
(original)
+++
karaf/trunk/features/core/src/main/java/org/apache/karaf/features/management/internal/FeaturesService.java
Mon Aug 6 12:06:19 2012
@@ -16,6 +16,7 @@ package org.apache.karaf.features.manage
import java.net.URI;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.EnumSet;
import java.util.Hashtable;
import java.util.List;
@@ -24,7 +25,6 @@ import javax.management.MBeanRegistratio
import javax.management.MBeanServer;
import javax.management.NotCompliantMBeanException;
import javax.management.Notification;
-import javax.management.NotificationBroadcasterSupport;
import javax.management.ObjectName;
import javax.management.openmbean.TabularData;
@@ -146,10 +146,32 @@ public class FeaturesService extends Sta
featuresService.installFeature(name);
}
+ public void installFeature(String name, boolean noClean, boolean
noRefresh) throws Exception {
+ EnumSet<org.apache.karaf.features.FeaturesService.Option> options =
EnumSet.noneOf(org.apache.karaf.features.FeaturesService.Option.class);
+ if (noClean) {
+
options.add(org.apache.karaf.features.FeaturesService.Option.NoCleanIfFailure);
+ }
+ if (noRefresh) {
+
options.add(org.apache.karaf.features.FeaturesService.Option.NoAutoRefreshBundles);
+ }
+ featuresService.installFeature(name, options);
+ }
+
public void installFeature(String name, String version) throws Exception {
featuresService.installFeature(name, version);
}
+ public void installFeature(String name, String version, boolean noClean,
boolean noRefresh) throws Exception {
+ EnumSet<org.apache.karaf.features.FeaturesService.Option> options =
EnumSet.noneOf(org.apache.karaf.features.FeaturesService.Option.class);
+ if (noClean) {
+
options.add(org.apache.karaf.features.FeaturesService.Option.NoCleanIfFailure);
+ }
+ if (noRefresh) {
+
options.add(org.apache.karaf.features.FeaturesService.Option.NoAutoRefreshBundles);
+ }
+ featuresService.installFeature(name, version, options);
+ }
+
public void uninstallFeature(String name) throws Exception {
featuresService.uninstallFeature(name);
}
Modified:
karaf/trunk/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java
URL:
http://svn.apache.org/viewvc/karaf/trunk/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java?rev=1369801&r1=1369800&r2=1369801&view=diff
==============================================================================
---
karaf/trunk/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java
(original)
+++
karaf/trunk/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java
Mon Aug 6 12:06:19 2012
@@ -477,6 +477,10 @@ public class InstallKarsMojo extends Moj
}
@Override
+ public void installFeature(String name, EnumSet<Option> options)
throws Exception {
+ }
+
+ @Override
public void installFeature(String name, String version) throws
Exception {
}