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();