You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by ff...@apache.org on 2011/04/19 11:55:56 UTC

svn commit: r1094981 - in /karaf/trunk: features/core/src/main/java/org/apache/karaf/features/ features/core/src/main/java/org/apache/karaf/features/internal/ features/core/src/main/java/org/apache/karaf/features/internal/model/ features/core/src/main/...

Author: ffang
Date: Tue Apr 19 09:55:56 2011
New Revision: 1094981

URL: http://svn.apache.org/viewvc?rev=1094981&view=rev
Log:
[KARAF-576]introduce start-level attribute for feature element in features.xml

Modified:
    karaf/trunk/features/core/src/main/java/org/apache/karaf/features/BundleInfo.java
    karaf/trunk/features/core/src/main/java/org/apache/karaf/features/Feature.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/internal/model/Feature.java
    karaf/trunk/features/core/src/main/resources/org/apache/karaf/features/karaf-features-1.0.0.xsd
    karaf/trunk/webconsole/features/src/main/java/org/apache/karaf/webconsole/features/ExtendedFeature.java

Modified: karaf/trunk/features/core/src/main/java/org/apache/karaf/features/BundleInfo.java
URL: http://svn.apache.org/viewvc/karaf/trunk/features/core/src/main/java/org/apache/karaf/features/BundleInfo.java?rev=1094981&r1=1094980&r2=1094981&view=diff
==============================================================================
--- karaf/trunk/features/core/src/main/java/org/apache/karaf/features/BundleInfo.java (original)
+++ karaf/trunk/features/core/src/main/java/org/apache/karaf/features/BundleInfo.java Tue Apr 19 09:55:56 2011
@@ -25,6 +25,8 @@ public interface BundleInfo {
 	
     int getStartLevel();
     
+    void setStartLevel(Integer sl);
+    
     boolean isStart();
 
     boolean isDependency();

Modified: karaf/trunk/features/core/src/main/java/org/apache/karaf/features/Feature.java
URL: http://svn.apache.org/viewvc/karaf/trunk/features/core/src/main/java/org/apache/karaf/features/Feature.java?rev=1094981&r1=1094980&r2=1094981&view=diff
==============================================================================
--- karaf/trunk/features/core/src/main/java/org/apache/karaf/features/Feature.java (original)
+++ karaf/trunk/features/core/src/main/java/org/apache/karaf/features/Feature.java Tue Apr 19 09:55:56 2011
@@ -43,4 +43,6 @@ public interface Feature {
     Map<String, Map<String, String>> getConfigurations();
 
     List<ConfigFileInfo> getConfigurationFiles();
+    
+    int getStartLevel();
 }

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=1094981&r1=1094980&r2=1094981&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 Tue Apr 19 09:55:56 2011
@@ -471,6 +471,12 @@ public class FeaturesServiceImpl impleme
         }
         Set<Long> bundles = new TreeSet<Long>();
         for (BundleInfo bInfo : resolve(feature)) {
+        	int sl = feature.getStartLevel();
+        	if (sl > 0 && bInfo.getStartLevel() == 0) {
+        		//there's no start-level specified for a bundle
+        		//so use the possible one from host feature
+        		bInfo.setStartLevel(sl);
+        	}
             Bundle b = installBundleIfNeeded(state, bInfo, verbose);
             bundles.add(b.getBundleId());
             state.bundleInfos.put(b.getBundleId(), bInfo);

Modified: karaf/trunk/features/core/src/main/java/org/apache/karaf/features/internal/model/Feature.java
URL: http://svn.apache.org/viewvc/karaf/trunk/features/core/src/main/java/org/apache/karaf/features/internal/model/Feature.java?rev=1094981&r1=1094980&r2=1094981&view=diff
==============================================================================
--- karaf/trunk/features/core/src/main/java/org/apache/karaf/features/internal/model/Feature.java (original)
+++ karaf/trunk/features/core/src/main/java/org/apache/karaf/features/internal/model/Feature.java Tue Apr 19 09:55:56 2011
@@ -95,7 +95,8 @@ public class Feature implements org.apac
     protected String description;
     @XmlAttribute
     protected String resolver;
-
+    @XmlAttribute(name = "start-level")
+    protected Integer startLevel;
 
     public Feature() {
     }
@@ -383,6 +384,30 @@ public class Feature implements org.apac
     public void setResolver(String value) {
         this.resolver = value;
     }
+    
+    /**
+     * Gets the value of the startLevel property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link Integer }
+     *     
+     */
+    public int getStartLevel() {
+        return startLevel == null? 0: startLevel;
+    }
+
+    /**
+     * Sets the value of the startLevel property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link Integer }
+     *     
+     */
+    public void setStartLevel(Integer value) {
+        this.startLevel = value;
+    }
 
     public String toString() {
     	String ret = getName() + SPLIT_FOR_NAME_AND_VERSION + getVersion();

Modified: karaf/trunk/features/core/src/main/resources/org/apache/karaf/features/karaf-features-1.0.0.xsd
URL: http://svn.apache.org/viewvc/karaf/trunk/features/core/src/main/resources/org/apache/karaf/features/karaf-features-1.0.0.xsd?rev=1094981&r1=1094980&r2=1094981&view=diff
==============================================================================
--- karaf/trunk/features/core/src/main/resources/org/apache/karaf/features/karaf-features-1.0.0.xsd (original)
+++ karaf/trunk/features/core/src/main/resources/org/apache/karaf/features/karaf-features-1.0.0.xsd Tue Apr 19 09:55:56 2011
@@ -86,6 +86,14 @@ Karaf allow using dynamic resolvers.
                 </xs:documentation>
             </xs:annotation>
         </xs:attribute>
+        <xs:attribute name="start-level" type="xs:int">
+             <xs:annotation>
+                <xs:documentation><![CDATA[
+Bundles in this feature start level set to OSGi framework.
+                ]]>
+                </xs:documentation>
+             </xs:annotation>
+         </xs:attribute>
     </xs:complexType>
 
     <xs:complexType name="bundle">
@@ -197,4 +205,4 @@ name: the value
 
     <xs:element name="features" type="tns:features" />
 
-</xs:schema>
\ No newline at end of file
+</xs:schema>

Modified: karaf/trunk/webconsole/features/src/main/java/org/apache/karaf/webconsole/features/ExtendedFeature.java
URL: http://svn.apache.org/viewvc/karaf/trunk/webconsole/features/src/main/java/org/apache/karaf/webconsole/features/ExtendedFeature.java?rev=1094981&r1=1094980&r2=1094981&view=diff
==============================================================================
--- karaf/trunk/webconsole/features/src/main/java/org/apache/karaf/webconsole/features/ExtendedFeature.java (original)
+++ karaf/trunk/webconsole/features/src/main/java/org/apache/karaf/webconsole/features/ExtendedFeature.java Tue Apr 19 09:55:56 2011
@@ -132,4 +132,8 @@ public class ExtendedFeature implements 
     public State getState() {
         return this.state;
     }
+    
+    public int getStartLevel() {
+        return 0;
+    }
 }