Author: jbonofre
Date: Mon Aug 6 22:57:08 2012
New Revision: 1370056
URL: http://svn.apache.org/viewvc?rev=1370056&view=rev
Log:
[KARAF-1699] FeaturesMBean now support noClean, noRefresh flags on the install
operation
Modified:
karaf/branches/karaf-2.3.x/features/core/src/main/java/org/apache/karaf/features/FeaturesService.java
karaf/branches/karaf-2.3.x/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java
karaf/branches/karaf-2.3.x/features/management/src/main/java/org/apache/karaf/features/management/FeaturesServiceMBean.java
karaf/branches/karaf-2.3.x/features/management/src/main/java/org/apache/karaf/features/management/internal/FeaturesServiceMBeanImpl.java
karaf/branches/karaf-2.3.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java
Modified:
karaf/branches/karaf-2.3.x/features/core/src/main/java/org/apache/karaf/features/FeaturesService.java
URL:
http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/features/core/src/main/java/org/apache/karaf/features/FeaturesService.java?rev=1370056&r1=1370055&r2=1370056&view=diff
==============================================================================
---
karaf/branches/karaf-2.3.x/features/core/src/main/java/org/apache/karaf/features/FeaturesService.java
(original)
+++
karaf/branches/karaf-2.3.x/features/core/src/main/java/org/apache/karaf/features/FeaturesService.java
Mon Aug 6 22:57:08 2012
@@ -54,6 +54,8 @@ public interface FeaturesService {
Repository[] listRepositories();
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/branches/karaf-2.3.x/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java
URL:
http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java?rev=1370056&r1=1370055&r2=1370056&view=diff
==============================================================================
---
karaf/branches/karaf-2.3.x/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java
(original)
+++
karaf/branches/karaf-2.3.x/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java
Mon Aug 6 22:57:08 2012
@@ -314,6 +314,17 @@ public class FeaturesServiceImpl impleme
}
/**
+ * Install a feature identified by a name, including installation options.
+ *
+ * @param name the name of the feature.
+ * @param options the installation options.
+ * @throws Exception in case of installation failure.
+ */
+ public void installFeature(String name, EnumSet<Option> options) throws
Exception {
+ installFeature(name, FeatureImpl.DEFAULT_VERSION, options);
+ }
+
+ /**
* Install a feature identified by a name and a version.
*
* @param name the name of the feature.
Modified:
karaf/branches/karaf-2.3.x/features/management/src/main/java/org/apache/karaf/features/management/FeaturesServiceMBean.java
URL:
http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/features/management/src/main/java/org/apache/karaf/features/management/FeaturesServiceMBean.java?rev=1370056&r1=1370055&r2=1370056&view=diff
==============================================================================
---
karaf/branches/karaf-2.3.x/features/management/src/main/java/org/apache/karaf/features/management/FeaturesServiceMBean.java
(original)
+++
karaf/branches/karaf-2.3.x/features/management/src/main/java/org/apache/karaf/features/management/FeaturesServiceMBean.java
Mon Aug 6 22:57:08 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/branches/karaf-2.3.x/features/management/src/main/java/org/apache/karaf/features/management/internal/FeaturesServiceMBeanImpl.java
URL:
http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/features/management/src/main/java/org/apache/karaf/features/management/internal/FeaturesServiceMBeanImpl.java?rev=1370056&r1=1370055&r2=1370056&view=diff
==============================================================================
---
karaf/branches/karaf-2.3.x/features/management/src/main/java/org/apache/karaf/features/management/internal/FeaturesServiceMBeanImpl.java
(original)
+++
karaf/branches/karaf-2.3.x/features/management/src/main/java/org/apache/karaf/features/management/internal/FeaturesServiceMBeanImpl.java
Mon Aug 6 22:57:08 2012
@@ -14,10 +14,7 @@
package org.apache.karaf.features.management.internal;
import java.net.URI;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Hashtable;
-import java.util.List;
+import java.util.*;
import javax.management.MBeanNotificationInfo;
import javax.management.MBeanRegistration;
import javax.management.MBeanServer;
@@ -148,18 +145,40 @@ public class FeaturesServiceMBeanImpl ex
featuresService.removeRepository(new URI(uri));
}
+ public void removeRepository(String uri, boolean uninstall) throws
Exception {
+ featuresService.removeRepository(new URI(uri), uninstall);
+ }
+
public void installFeature(String name) throws Exception {
featuresService.installFeature(name);
}
- public void removeRepository(String uri, boolean uninstall) throws
Exception {
- featuresService.removeRepository(new URI(uri), uninstall);
+ public void installFeature(String name, boolean noClean, boolean
noRefresh) throws Exception {
+ EnumSet<FeaturesService.Option> options =
EnumSet.noneOf(FeaturesService.Option.class);
+ if (noClean) {
+ options.add(FeaturesService.Option.NoCleanIfFailure);
+ }
+ if (noRefresh) {
+ options.add(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<FeaturesService.Option> options =
EnumSet.noneOf(FeaturesService.Option.class);
+ if (noClean) {
+ options.add(FeaturesService.Option.NoCleanIfFailure);
+ }
+ if (noRefresh) {
+ options.add(FeaturesService.Option.NoAutoRefreshBundles);
+ }
+ featuresService.installFeature(name, version, options);
+ }
+
public void uninstallFeature(String name) throws Exception {
featuresService.uninstallFeature(name);
}
Modified:
karaf/branches/karaf-2.3.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java
URL:
http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java?rev=1370056&r1=1370055&r2=1370056&view=diff
==============================================================================
---
karaf/branches/karaf-2.3.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java
(original)
+++
karaf/branches/karaf-2.3.x/tooling/features-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java
Mon Aug 6 22:57:08 2012
@@ -38,6 +38,8 @@ import org.apache.maven.artifact.Artifac
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
+import javax.swing.text.html.Option;
+
/**
* Installs kar dependencies into a server-under-construction in
target/assembly
*
@@ -147,6 +149,9 @@ public class InstallKarsMojo extends Moj
public void installFeature(String name) throws Exception {
}
+ public void installFeature(String name, EnumSet<Option> options)
throws Exception {
+ }
+
public void installFeature(String name, String version) throws
Exception {
}