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


Reply via email to