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;
+ }
}