Author: ffang
Date: Tue May 21 07:20:46 2013
New Revision: 1484677

URL: http://svn.apache.org/r1484677
Log:
[KARAF-2320]make kar deployer/service to support NoAutoRefreshBundles option

Modified:
    
karaf/branches/karaf-2.x/deployer/kar/src/main/java/org/apache/karaf/deployer/kar/KarArtifactInstaller.java
    
karaf/branches/karaf-2.x/deployer/kar/src/main/resources/OSGI-INF/blueprint/kar-deployer.xml

Modified: 
karaf/branches/karaf-2.x/deployer/kar/src/main/java/org/apache/karaf/deployer/kar/KarArtifactInstaller.java
URL: 
http://svn.apache.org/viewvc/karaf/branches/karaf-2.x/deployer/kar/src/main/java/org/apache/karaf/deployer/kar/KarArtifactInstaller.java?rev=1484677&r1=1484676&r2=1484677&view=diff
==============================================================================
--- 
karaf/branches/karaf-2.x/deployer/kar/src/main/java/org/apache/karaf/deployer/kar/KarArtifactInstaller.java
 (original)
+++ 
karaf/branches/karaf-2.x/deployer/kar/src/main/java/org/apache/karaf/deployer/kar/KarArtifactInstaller.java
 Tue May 21 07:20:46 2013
@@ -59,6 +59,8 @@ public class KarArtifactInstaller implem
     private DocumentBuilderFactory dbf;
 
     private FeaturesService featuresService;
+    
+    private boolean noAutoRefreshBundles;
 
     public void init() {
         dbf = DocumentBuilderFactory.newInstance();
@@ -180,7 +182,12 @@ public class KarArtifactInstaller implem
                     try {
                         for (Feature feature : repository.getFeatures()) {
                             try {
-                                featuresService.installFeature(feature, 
EnumSet.noneOf(FeaturesService.Option.class));
+                                logger.debug("noAutoRefreshBundles is " + 
isNoAutoRefreshBundles());
+                                if (isNoAutoRefreshBundles()) {
+                                    featuresService.installFeature(feature, 
EnumSet.of(FeaturesService.Option.NoAutoRefreshBundles));
+                                } else {
+                                    featuresService.installFeature(feature, 
EnumSet.noneOf(FeaturesService.Option.class));
+                                }
                             } catch (Exception e) {
                                 logger.warn("Unable to install Kar feature 
{}", feature.getName() + "/" + feature.getVersion(), e);
                             }
@@ -497,4 +504,12 @@ public class KarArtifactInstaller implem
         this.featuresService = featuresService;
     }
 
+    public boolean isNoAutoRefreshBundles() {
+        return noAutoRefreshBundles;
+    }
+
+    public void setNoAutoRefreshBundles(boolean noAutoRefreshBundles) {
+        this.noAutoRefreshBundles = noAutoRefreshBundles;
+    }
+
 }

Modified: 
karaf/branches/karaf-2.x/deployer/kar/src/main/resources/OSGI-INF/blueprint/kar-deployer.xml
URL: 
http://svn.apache.org/viewvc/karaf/branches/karaf-2.x/deployer/kar/src/main/resources/OSGI-INF/blueprint/kar-deployer.xml?rev=1484677&r1=1484676&r2=1484677&view=diff
==============================================================================
--- 
karaf/branches/karaf-2.x/deployer/kar/src/main/resources/OSGI-INF/blueprint/kar-deployer.xml
 (original)
+++ 
karaf/branches/karaf-2.x/deployer/kar/src/main/resources/OSGI-INF/blueprint/kar-deployer.xml
 Tue May 21 07:20:46 2013
@@ -17,10 +17,19 @@
        -->
 <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
        xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0";
-       default-activation="lazy">
+       xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0";
+        default-activation="lazy">
 
        <ext:property-placeholder placeholder-prefix="$[" 
placeholder-suffix="]" />
        
+        <!-- AdminConfig property place holder for the org.apache.karaf.kar  
-->
+        <cm:property-placeholder persistent-id="org.apache.karaf.kar" 
update-strategy="reload">
+            <cm:default-properties>
+                <cm:property name="noAutoRefreshBundles" value="false"/>
+            </cm:default-properties>
+        </cm:property-placeholder>
+
+        
        <bean id="karArtifactInstaller" 
class="org.apache.karaf.deployer.kar.KarArtifactInstaller"
                init-method="init" destroy-method="destroy" activation="lazy">
                        <property name="basePath" value="$[karaf.base]"/>
@@ -28,6 +37,7 @@
                <property name="featuresService">
                    <reference 
interface="org.apache.karaf.features.FeaturesService"/>
                </property>
+            <property name="noAutoRefreshBundles" 
value="${noAutoRefreshBundles}"/>
        </bean>
                        
        <service id="karArtifactInstallerService" 


Reply via email to