You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by pi...@apache.org on 2012/11/09 14:04:28 UTC
svn commit: r1407441 -
/karaf/branches/karaf-2.3.x/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java
Author: pieber
Date: Fri Nov 9 13:04:27 2012
New Revision: 1407441
URL: http://svn.apache.org/viewvc?rev=1407441&view=rev
Log:
[KARAF-2007] Fix problem that features without start-level in features.xml are always started first. Thanks to Christoph Gritschenberger for this fix
Signed-off-by: Andreas Pieber <an...@gmail.com>
Modified:
karaf/branches/karaf-2.3.x/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java
Modified: karaf/branches/karaf-2.3.x/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java?rev=1407441&r1=1407440&r2=1407441&view=diff
==============================================================================
--- karaf/branches/karaf-2.3.x/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java (original)
+++ karaf/branches/karaf-2.3.x/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java Fri Nov 9 13:04:27 2012
@@ -96,6 +96,9 @@ public class FeaturesServiceImpl impleme
private static final Logger LOGGER = LoggerFactory.getLogger(FeaturesServiceImpl.class);
+ private static final int KARAF_BUNDLE_START_LEVEL =
+ Integer.parseInt(System.getProperty("karaf.startlevel.bundle", "80"));
+
private BundleContext bundleContext;
private ConfigurationAdmin configAdmin;
private PackageAdmin packageAdmin;
@@ -451,8 +454,11 @@ public class FeaturesServiceImpl impleme
Collections.sort(bundlesSortedByStartLvl, new Comparator<Bundle>() {
@Override
public int compare(Bundle bundle, Bundle bundle1) {
- return state.bundleInfos.get(bundle.getBundleId()).getStartLevel() -
- state.bundleInfos.get(bundle1.getBundleId()).getStartLevel();
+ int startLevel = state.bundleInfos.get(bundle.getBundleId()).getStartLevel();
+ startLevel = startLevel == 0 ? KARAF_BUNDLE_START_LEVEL : startLevel;
+ int startLevel1 = state.bundleInfos.get(bundle1.getBundleId()).getStartLevel();
+ startLevel1 = startLevel1 == 0 ? KARAF_BUNDLE_START_LEVEL : startLevel1;
+ return startLevel - startLevel1;
}
});
}