Author: ffang
Date: Tue May 21 07:28:46 2013
New Revision: 1484680

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

Modified:
    
karaf/trunk/kar/core/src/main/java/org/apache/karaf/kar/internal/KarServiceImpl.java
    karaf/trunk/kar/core/src/main/resources/OSGI-INF/blueprint/kar-core.xml

Modified: 
karaf/trunk/kar/core/src/main/java/org/apache/karaf/kar/internal/KarServiceImpl.java
URL: 
http://svn.apache.org/viewvc/karaf/trunk/kar/core/src/main/java/org/apache/karaf/kar/internal/KarServiceImpl.java?rev=1484680&r1=1484679&r2=1484680&view=diff
==============================================================================
--- 
karaf/trunk/kar/core/src/main/java/org/apache/karaf/kar/internal/KarServiceImpl.java
 (original)
+++ 
karaf/trunk/kar/core/src/main/java/org/apache/karaf/kar/internal/KarServiceImpl.java
 Tue May 21 07:28:46 2013
@@ -63,6 +63,8 @@ public class KarServiceImpl implements K
     private File storage;
     private File base;
     private FeaturesService featuresService;
+    
+    private boolean noAutoRefreshBundles;
 
     public KarServiceImpl(String karafBase, FeaturesService featuresService) {
         this.base = new File(karafBase);
@@ -206,7 +208,12 @@ public class KarServiceImpl implements K
                     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);
                             }
@@ -364,4 +371,12 @@ public class KarServiceImpl implements K
         }
     }
 
+    public boolean isNoAutoRefreshBundles() {
+        return noAutoRefreshBundles;
+    }
+
+    public void setNoAutoRefreshBundles(boolean noAutoRefreshBundles) {
+        this.noAutoRefreshBundles = noAutoRefreshBundles;
+    }
+
 }

Modified: 
karaf/trunk/kar/core/src/main/resources/OSGI-INF/blueprint/kar-core.xml
URL: 
http://svn.apache.org/viewvc/karaf/trunk/kar/core/src/main/resources/OSGI-INF/blueprint/kar-core.xml?rev=1484680&r1=1484679&r2=1484680&view=diff
==============================================================================
--- karaf/trunk/kar/core/src/main/resources/OSGI-INF/blueprint/kar-core.xml 
(original)
+++ karaf/trunk/kar/core/src/main/resources/OSGI-INF/blueprint/kar-core.xml Tue 
May 21 07:28:46 2013
@@ -17,9 +17,17 @@
     -->
 <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
            
xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0";
+           
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>
     
     <reference id="featuresService" 
interface="org.apache.karaf.features.FeaturesService"/>
     <reference id="configAdmin" 
interface="org.osgi.service.cm.ConfigurationAdmin" />
@@ -27,6 +35,7 @@
     <bean id="karService" class="org.apache.karaf.kar.internal.KarServiceImpl">
         <argument value="$[karaf.base]" />
         <argument ref="featuresService" />
+        <property name="noAutoRefreshBundles" value="${noAutoRefreshBundles}"/>
     </bean>
     
     <service ref="karService" interface="org.apache.karaf.kar.KarService"/>
@@ -41,4 +50,4 @@
         </service-properties>
     </service>
 
-</blueprint>
\ No newline at end of file
+</blueprint>


Reply via email to