You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2012/10/04 08:45:58 UTC

svn commit: r1393930 - in /karaf/trunk: assemblies/features/framework/src/main/resources/resources/etc/ features/obr/src/main/java/org/apache/karaf/features/obr/internal/ features/obr/src/main/resources/OSGI-INF/blueprint/

Author: jbonofre
Date: Thu Oct  4 06:45:57 2012
New Revision: 1393930

URL: http://svn.apache.org/viewvc?rev=1393930&view=rev
Log:
[KARAF-1759] Add startByDefault and startLevel properties to the feature OBR resolver

Modified:
    karaf/trunk/assemblies/features/framework/src/main/resources/resources/etc/org.apache.karaf.features.obr.cfg
    karaf/trunk/features/obr/src/main/java/org/apache/karaf/features/obr/internal/ObrResolver.java
    karaf/trunk/features/obr/src/main/resources/OSGI-INF/blueprint/features-obr.xml

Modified: karaf/trunk/assemblies/features/framework/src/main/resources/resources/etc/org.apache.karaf.features.obr.cfg
URL: http://svn.apache.org/viewvc/karaf/trunk/assemblies/features/framework/src/main/resources/resources/etc/org.apache.karaf.features.obr.cfg?rev=1393930&r1=1393929&r2=1393930&view=diff
==============================================================================
--- karaf/trunk/assemblies/features/framework/src/main/resources/resources/etc/org.apache.karaf.features.obr.cfg (original)
+++ karaf/trunk/assemblies/features/framework/src/main/resources/resources/etc/org.apache.karaf.features.obr.cfg Thu Oct  4 06:45:57 2012
@@ -25,4 +25,14 @@
 # Defines whether or not the features OBR resolver has to resolve optional imports as well.  The default value is
 # false (do not attempt to resolve optional imports).
 #
-resolveOptionalImports = false
\ No newline at end of file
+resolveOptionalImports = false
+
+#
+# Defines whether resolved bundles should be started by default. The default is true.
+#
+startByDefault = true
+
+#
+# Defines the start level for resolved bundles. The default is 80.
+#
+startLevel = 80
\ No newline at end of file

Modified: karaf/trunk/features/obr/src/main/java/org/apache/karaf/features/obr/internal/ObrResolver.java
URL: http://svn.apache.org/viewvc/karaf/trunk/features/obr/src/main/java/org/apache/karaf/features/obr/internal/ObrResolver.java?rev=1393930&r1=1393929&r2=1393930&view=diff
==============================================================================
--- karaf/trunk/features/obr/src/main/java/org/apache/karaf/features/obr/internal/ObrResolver.java (original)
+++ karaf/trunk/features/obr/src/main/java/org/apache/karaf/features/obr/internal/ObrResolver.java Thu Oct  4 06:45:57 2012
@@ -41,6 +41,8 @@ public class ObrResolver implements Reso
 
     private RepositoryAdmin repositoryAdmin;
     private boolean resolveOptionalImports;
+    private boolean startByDefault;
+    private int startLevel;
 
     public RepositoryAdmin getRepositoryAdmin() {
         return repositoryAdmin;
@@ -64,10 +66,18 @@ public class ObrResolver implements Reso
         this.resolveOptionalImports = resolveOptionalImports;
     }
 
+    public void setStartByDefault(boolean startByDefault) {
+        this.startByDefault = startByDefault;
+    }
+
+    public void setStartLevel(int startLevel) {
+        this.startLevel = startLevel;
+    }
+
     public List<BundleInfo> resolve(Feature feature) throws Exception {
         List<Requirement> reqs = new ArrayList<Requirement>();
         List<Resource> ress = new ArrayList<Resource>();
-        List<Resource> deploy = new ArrayList<Resource>();
+        List<Resource> featureDeploy = new ArrayList<Resource>();
         Map<Object, BundleInfo> infos = new HashMap<Object, BundleInfo>();
         for (BundleInfo bundleInfo : feature.getBundles()) {
         	URL url = null;
@@ -121,11 +131,13 @@ public class ObrResolver implements Reso
         }
 
         List<BundleInfo> bundles = new ArrayList<BundleInfo>();
-        Collections.addAll(deploy, resolver.getAddedResources());
+        List<Resource> deploy = new ArrayList<Resource>();
         Collections.addAll(deploy, resolver.getRequiredResources());
         if (resolveOptionalImports) {
             Collections.addAll(deploy, resolver.getOptionalResources());
         }
+        Collections.addAll(deploy, resolver.getAddedResources());
+        deploy.addAll(featureDeploy);
         for (Resource res : deploy) {
             BundleInfo info = infos.get(res);
             if (info == null) {
@@ -140,7 +152,7 @@ public class ObrResolver implements Reso
                 }
             }
             if (info == null) {
-                info = new BundleInfoImpl(res.getURI());
+                info = new BundleInfoImpl(res.getURI(), this.startLevel, this.startByDefault, false);
             }
             bundles.add(info);
         }

Modified: karaf/trunk/features/obr/src/main/resources/OSGI-INF/blueprint/features-obr.xml
URL: http://svn.apache.org/viewvc/karaf/trunk/features/obr/src/main/resources/OSGI-INF/blueprint/features-obr.xml?rev=1393930&r1=1393929&r2=1393930&view=diff
==============================================================================
--- karaf/trunk/features/obr/src/main/resources/OSGI-INF/blueprint/features-obr.xml (original)
+++ karaf/trunk/features/obr/src/main/resources/OSGI-INF/blueprint/features-obr.xml Thu Oct  4 06:45:57 2012
@@ -26,6 +26,8 @@
     <ext:property-placeholder placeholder-prefix="$[" placeholder-suffix="]" ignore-missing-locations="true">
         <ext:default-properties>
             <ext:property name="resolveOptionalImports" value="false"/>
+            <ext:property name="startByDefault" value="true"/>
+            <ext:property name="startLevel" value="80"/>
         </ext:default-properties>
         <ext:location>file:$(karaf.base)/etc/org.apache.karaf.features.obr.cfg</ext:location>
     </ext:property-placeholder>
@@ -33,6 +35,8 @@
     <bean id="obrResolver" class="org.apache.karaf.features.obr.internal.ObrResolver">
         <property name="repositoryAdmin" ref="repositoryAdmin" />
         <property name="resolveOptionalImports" value="$[resolveOptionalImports]" />
+        <property name="startByDefault" value="$[startByDefault]" />
+        <property name="startLevel" value="$[startLevel]" />
     </bean>
 
     <reference id="repositoryAdmin" interface="org.apache.felix.bundlerepository.RepositoryAdmin" />