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/09/26 17:19:19 UTC
svn commit: r1390556 - in /karaf/trunk/features/core/src:
main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java
test/java/org/apache/karaf/features/FeaturesServiceTest.java
Author: pieber
Date: Wed Sep 26 15:19:18 2012
New Revision: 1390556
URL: http://svn.apache.org/viewvc?rev=1390556&view=rev
Log:
[KARAF-1850] Keep original sorting & starting behavior
The original KARAF-1850 commit slightly restructured the way in which
bundles where started. Since some projects might keep some code
according to the start order it might be a good idea keeping it the way
it had been...
Signed-off-by: Andreas Pieber <an...@gmail.com>
Modified:
karaf/trunk/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java
karaf/trunk/features/core/src/test/java/org/apache/karaf/features/FeaturesServiceTest.java
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=1390556&r1=1390555&r2=1390556&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 Wed Sep 26 15:19:18 2012
@@ -579,7 +579,7 @@ public class FeaturesServiceImpl impleme
protected static class InstallationState {
final Set<Bundle> installed = new HashSet<Bundle>();
- final Set<Bundle> bundles = new HashSet<Bundle>();
+ final Set<Bundle> bundles = new TreeSet<Bundle>();
final Map<Long, BundleInfo> bundleInfos = new HashMap<Long, BundleInfo>();
final Map<Feature, Set<Long>> features = new HashMap<Feature, Set<Long>>();
}
Modified: karaf/trunk/features/core/src/test/java/org/apache/karaf/features/FeaturesServiceTest.java
URL: http://svn.apache.org/viewvc/karaf/trunk/features/core/src/test/java/org/apache/karaf/features/FeaturesServiceTest.java?rev=1390556&r1=1390555&r2=1390556&view=diff
==============================================================================
--- karaf/trunk/features/core/src/test/java/org/apache/karaf/features/FeaturesServiceTest.java (original)
+++ karaf/trunk/features/core/src/test/java/org/apache/karaf/features/FeaturesServiceTest.java Wed Sep 26 15:19:18 2012
@@ -73,6 +73,8 @@ public class FeaturesServiceTest extends
BundleContext bundleContext = EasyMock.createMock(BundleContext.class);
Bundle installedBundle = EasyMock.createMock(Bundle.class);
+ // required since the sorted set uses it
+ expect(installedBundle.compareTo(EasyMock.<Bundle>anyObject())).andReturn(0).anyTimes();
expect(bundleContext.getDataFile(EasyMock.<String>anyObject())).andReturn(dataFile).anyTimes();
@@ -102,6 +104,9 @@ public class FeaturesServiceTest extends
reset(bundleContext, installedBundle);
+ // required since the sorted set uses it
+ expect(installedBundle.compareTo(EasyMock.<Bundle>anyObject())).andReturn(0).anyTimes();
+
expect(bundleContext.createFilter(EasyMock.<String>anyObject())).andReturn(null).anyTimes();
expect(installedBundle.getSymbolicName()).andReturn(name).anyTimes();
expect(bundleContext.getBundles()).andReturn(new Bundle[0]);
@@ -146,7 +151,9 @@ public class FeaturesServiceTest extends
BundleContext bundleContext = EasyMock.createMock(BundleContext.class);
Bundle installedBundle = EasyMock.createMock(Bundle.class);
Bundle framework = EasyMock.createMock(Bundle.class);
+ expect(installedBundle.compareTo(EasyMock.<Bundle>anyObject())).andReturn(0).anyTimes();
+ // required since the sorted set uses it
expect(bundleContext.getDataFile(EasyMock.<String>anyObject())).andReturn(dataFile).anyTimes();
replay(bundleContext, installedBundle, framework);
@@ -154,11 +161,14 @@ public class FeaturesServiceTest extends
FeaturesServiceImpl svc = new FeaturesServiceImpl();
svc.setBundleContext(bundleContext);
svc.addRepository(uri);
-
+
verify(bundleContext, installedBundle, framework);
reset(bundleContext, installedBundle, framework);
+ // required since the sorted set uses it
+ expect(installedBundle.compareTo(EasyMock.<Bundle>anyObject())).andReturn(0).anyTimes();
+
// Installs f1 and 0.1
expect(bundleContext.createFilter(EasyMock.<String>anyObject())).andReturn(null).anyTimes();
expect(installedBundle.getSymbolicName()).andReturn(name).anyTimes();
@@ -285,6 +295,9 @@ public class FeaturesServiceTest extends
Bundle installedBundle = EasyMock.createMock(Bundle.class);
Bundle framework = EasyMock.createMock(Bundle.class);
+ // required since the sorted set uses it
+ expect(installedBundle.compareTo(EasyMock.<Bundle>anyObject())).andReturn(0).anyTimes();
+
// Installs feature f1 with dependency on f2
// so will install f2 first
expect(bundleContext.getBundles()).andReturn(new Bundle[0]);
@@ -466,6 +479,9 @@ public class FeaturesServiceTest extends
Bundle framework = EasyMock.createMock(Bundle.class);
Bundle installedBundle = EasyMock.createMock(Bundle.class);
+ // required since the sorted set uses it
+ expect(installedBundle.compareTo(EasyMock.<Bundle>anyObject())).andReturn(0).anyTimes();
+
// Installs feature f1 with dependency on f2
expect(bundleContext.createFilter(EasyMock.<String>anyObject())).andReturn(null).anyTimes();
expect(bundleContext.getBundles()).andReturn(new Bundle[0]);
@@ -556,6 +572,9 @@ public class FeaturesServiceTest extends
Bundle installedBundle = EasyMock.createMock(Bundle.class);
Bundle framework = EasyMock.createMock(Bundle.class);
+ // required since the sorted set uses it
+ expect(installedBundle.compareTo(EasyMock.<Bundle>anyObject())).andReturn(0).anyTimes();
+
// Installs feature f1 with dependency on f2
expect(bundleContext.getBundles()).andReturn(new Bundle[0]);
expect(bundleContext.installBundle(isA(String.class),
@@ -605,6 +624,10 @@ public class FeaturesServiceTest extends
Bundle installedBundle1 = EasyMock.createMock(Bundle.class);
Bundle installedBundle2 = EasyMock.createMock(Bundle.class);
+ // required since the sorted set uses it
+ expect(installedBundle1.compareTo(EasyMock.<Bundle>anyObject())).andReturn(0).anyTimes();
+ expect(installedBundle2.compareTo(EasyMock.<Bundle>anyObject())).andReturn(0).anyTimes();
+
// Installs feature f1 and f2
expect(bundleContext.createFilter(EasyMock.<String>anyObject())).andReturn(null).anyTimes();
expect(bundleContext.getBundles()).andReturn(new Bundle[0]);
@@ -660,6 +683,10 @@ public class FeaturesServiceTest extends
Bundle installedBundle1 = EasyMock.createMock(Bundle.class);
Bundle installedBundle2 = EasyMock.createMock(Bundle.class);
+ // required since the sorted set uses it
+ expect(installedBundle1.compareTo(EasyMock.<Bundle>anyObject())).andReturn(0).anyTimes();
+ expect(installedBundle2.compareTo(EasyMock.<Bundle>anyObject())).andReturn(0).anyTimes();
+
// Installs feature f1 and f2
expect(bundleContext.createFilter(EasyMock.<String>anyObject())).andReturn(null).anyTimes();
expect(bundleContext.getBundles()).andReturn(new Bundle[0]);
@@ -716,6 +743,10 @@ public class FeaturesServiceTest extends
Bundle installedBundle1 = EasyMock.createMock(Bundle.class);
Bundle installedBundle2 = EasyMock.createMock(Bundle.class);
+ // required since the sorted set uses it
+ expect(installedBundle1.compareTo(EasyMock.<Bundle>anyObject())).andReturn(0).anyTimes();
+ expect(installedBundle2.compareTo(EasyMock.<Bundle>anyObject())).andReturn(0).anyTimes();
+
// Installs feature f1 and f2
expect(bundleContext.createFilter(EasyMock.<String>anyObject())).andReturn(null).anyTimes();
expect(bundleContext.getBundles()).andReturn(new Bundle[0]);
@@ -774,6 +805,10 @@ public class FeaturesServiceTest extends
Bundle installedBundle1 = EasyMock.createMock(Bundle.class);
Bundle installedBundle2 = EasyMock.createMock(Bundle.class);
+ // required since the sorted set uses it
+ expect(installedBundle1.compareTo(EasyMock.<Bundle>anyObject())).andReturn(0).anyTimes();
+ expect(installedBundle2.compareTo(EasyMock.<Bundle>anyObject())).andReturn(0).anyTimes();
+
// Installs feature f1 and f2
expect(bundleContext.createFilter(EasyMock.<String>anyObject())).andReturn(null).anyTimes();
expect(bundleContext.getBundles()).andReturn(new Bundle[0]);
@@ -839,6 +874,10 @@ public class FeaturesServiceTest extends
Bundle installedBundle1 = EasyMock.createMock(Bundle.class);
Bundle installedBundle2 = EasyMock.createMock(Bundle.class);
+ // required since the sorted set uses it
+ expect(installedBundle1.compareTo(EasyMock.<Bundle>anyObject())).andReturn(0).anyTimes();
+ expect(installedBundle2.compareTo(EasyMock.<Bundle>anyObject())).andReturn(0).anyTimes();
+
// Installs feature f1
expect(bundleContext.createFilter(EasyMock.<String>anyObject())).andReturn(null).anyTimes();
expect(installedBundle1.getBundleId()).andReturn(12345L);
@@ -903,6 +942,8 @@ public class FeaturesServiceTest extends
BundleContext bundleContext = EasyMock.createMock(BundleContext.class);
Bundle bundle = EasyMock.createMock(Bundle.class);
+ // required since the sorted set uses it
+ expect(bundle.compareTo(EasyMock.<Bundle>anyObject())).andReturn(0).anyTimes();
expect(bundleContext.getBundle()).andReturn(bundle);
expect(bundle.adapt(FrameworkWiring.class)).andReturn(null);
expect(bundleContext.getDataFile(EasyMock.<String>anyObject())).andReturn(dataFile).anyTimes();