You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bd...@apache.org on 2009/08/18 18:47:22 UTC
svn commit: r805489 - in /sling/trunk/installer/osgi:
installer/src/main/java/org/apache/sling/osgi/installer/impl/OsgiInstallerThread.java
it/src/test/java/org/apache/sling/osgi/installer/it/BundleInstallTest.java
Author: bdelacretaz
Date: Tue Aug 18 16:47:22 2009
New Revision: 805489
URL: http://svn.apache.org/viewvc?rev=805489&view=rev
Log:
SLING-1078 - 'remove bundle' integration test passes
Modified:
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/OsgiInstallerThread.java
sling/trunk/installer/osgi/it/src/test/java/org/apache/sling/osgi/installer/it/BundleInstallTest.java
Modified: sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/OsgiInstallerThread.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/OsgiInstallerThread.java?rev=805489&r1=805488&r2=805489&view=diff
==============================================================================
--- sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/OsgiInstallerThread.java (original)
+++ sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/OsgiInstallerThread.java Tue Aug 18 16:47:22 2009
@@ -110,6 +110,12 @@
t = createRegisteredResourcesEntry();
registeredResources.put(r.getEntityId(), t);
}
+
+ // If an object with same sort key is already present, replace with the
+ // new one which might have different attributes
+ if(t.contains(r)) {
+ t.remove(r);
+ }
t.add(r);
}
newResources.clear();
Modified: sling/trunk/installer/osgi/it/src/test/java/org/apache/sling/osgi/installer/it/BundleInstallTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/osgi/it/src/test/java/org/apache/sling/osgi/installer/it/BundleInstallTest.java?rev=805489&r1=805488&r2=805489&view=diff
==============================================================================
--- sling/trunk/installer/osgi/it/src/test/java/org/apache/sling/osgi/installer/it/BundleInstallTest.java (original)
+++ sling/trunk/installer/osgi/it/src/test/java/org/apache/sling/osgi/installer/it/BundleInstallTest.java Tue Aug 18 16:47:22 2009
@@ -19,6 +19,7 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertFalse;
import org.apache.sling.osgi.installer.OsgiInstaller;
import org.junit.After;
@@ -100,26 +101,39 @@
assertEquals("Bundle ID must not change after ignored downgrade", bundleId, b.getBundleId());
}
- /** TODO
// Uninstall
{
- c.scheduleUninstall(uri);
- c.waitForInstallerAction();
- final Bundle b = findBundle(symbolicName);
- assertNull("Test bundle 1.2 must be gone", b);
+ resetCounters();
+ installer.removeResource(getInstallableResource(
+ getTestBundle("org.apache.sling.osgi.installer.it-" + POM_VERSION + "-testbundle-1.0.jar")));
+ installer.removeResource(getInstallableResource(
+ getTestBundle("org.apache.sling.osgi.installer.it-" + POM_VERSION + "-testbundle-1.1.jar")));
+ installer.removeResource(getInstallableResource(
+ getTestBundle("org.apache.sling.osgi.installer.it-" + POM_VERSION + "-testbundle-1.2.jar")));
+
+ // wait for one task: uninstall
+ waitForInstallerAction(OsgiInstaller.OSGI_TASKS_COUNTER, 1);
+ final Bundle b = findBundle(symbolicName);
+ assertNull("Bundle must be gone", b);
}
- // Install lower version, must work
- {
- c.scheduleInstallOrUpdate(uri, new FileInstallableResource(getTestBundle("org.apache.sling.osgi.installer.it-" + POM_VERSION + "-testbundle-1.0.jar")));
- c.waitForInstallerAction();
- final Bundle b = findBundle(symbolicName);
- assertNotNull("Test bundle 1.0 must be found after waitForInstallerAction", b);
- assertEquals("Installed bundle must be started", Bundle.ACTIVE, b.getState());
- assertEquals("Version must be 1.0 after uninstall and downgrade", "1.0", b.getHeaders().get(BUNDLE_VERSION));
- assertFalse("Bundle ID must have changed after uninstall and reinstall", bundleId == b.getBundleId());
- }
- */
+ /** TODO
+ // Reinstall lower version, must work
+ {
+ resetCounters();
+ installer.addResource(getInstallableResource(
+ getTestBundle("org.apache.sling.osgi.installer.it-" + POM_VERSION + "-testbundle-1.1.jar")));
+ // wait for two tasks: install and start
+ waitForInstallerAction(OsgiInstaller.OSGI_TASKS_COUNTER, 2);
+ final Bundle b = findBundle(symbolicName);
+ assertNotNull("Reinstalled test bundle 1.1 must be found after waitForInstallerAction", b);
+ bundleId = b.getBundleId();
+ assertEquals("Reinstalled bundle must be started", Bundle.ACTIVE, b.getState());
+ assertEquals("Reinstalled bundle version must be 1.1", "1.1", b.getHeaders().get(BUNDLE_VERSION));
+ assertFalse("Bundle ID must have changed after uninstall and reinstall", bundleId == b.getBundleId());
+ }
+ */
+
}
/** TODO