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 {
         }
 


Reply via email to