/*
- * Copyright (C) 2010 Mathieu Baudier <mbaudier@argeo.org>
+ * Copyright (C) 2007-2012 Mathieu Baudier
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.argeo.osgi.boot;
import java.util.Iterator;
import junit.framework.TestCase;
-import org.argeo.osgi.boot.OsgiBoot;
import org.eclipse.core.runtime.adaptor.EclipseStarter;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
/** Starts an Equinox runtime and provision it with OSGi boot. */
public class OsgiBootRuntimeTest extends TestCase {
protected OsgiBoot osgiBoot = null;
+ private boolean osgiRuntimeAlreadyRunning = false;
public void testInstallAndStart() throws Exception {
+ if (osgiRuntimeAlreadyRunning) {
+ System.out
+ .println("OSGi runtime already running, skipping test...");
+ return;
+ }
osgiBoot.installUrls(osgiBoot.getBundlesUrls(OsgiBoot.DEFAULT_BASE_URL,
OsgiBootNoRuntimeTest.BUNDLES));
- Map map = new TreeMap(osgiBoot.getBundles());
+ Map map = new TreeMap(osgiBoot.getBundlesBySymbolicName());
for (Iterator keys = map.keySet().iterator(); keys.hasNext();) {
Object key = keys.next();
Bundle bundle = (Bundle) map.get(key);
osgiBoot.startBundles("org.argeo.osgi.boot.test.bundle2");
long begin = System.currentTimeMillis();
while (System.currentTimeMillis() - begin < 10000) {
- Map mapBundles = osgiBoot.getBundles();
+ Map mapBundles = osgiBoot.getBundlesBySymbolicName();
Bundle bundle = (Bundle) mapBundles
.get("org.argeo.osgi.boot.test.bundle2");
if (bundle.getState() == Bundle.ACTIVE) {
}
public void setUp() throws Exception {
+ osgiRuntimeAlreadyRunning = EclipseStarter.isRunning();
+ if (osgiRuntimeAlreadyRunning)
+ return;
BundleContext bundleContext = startRuntime();
osgiBoot = new OsgiBoot(bundleContext);
}
public void tearDown() throws Exception {
+ if (osgiRuntimeAlreadyRunning)
+ return;
osgiBoot = null;
stopRuntime();
}