diff --git a/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/RsaTestBase.java b/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/RsaTestBase.java index 811ae6101..b6ba815fd 100644 --- a/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/RsaTestBase.java +++ b/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/RsaTestBase.java @@ -81,6 +81,18 @@ protected int getFreePort() throws IOException { } } + protected Bundle getBundle(String symName) { + Bundle serviceBundle = null; + Bundle[] bundles = bundleContext.getBundles(); + for (Bundle bundle : bundles) { + if(symName.equals(bundle.getSymbolicName())) { + serviceBundle = bundle; + break; + } + } + return serviceBundle; + } + protected static Option echoTcpAPI() { return mvn("org.apache.aries.rsa.examples.echotcp", "org.apache.aries.rsa.examples.echotcp.api"); } diff --git a/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/rsa/TestRSAListener.java b/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/rsa/TestRSAListener.java index 5c9374f4d..cc287dba8 100644 --- a/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/rsa/TestRSAListener.java +++ b/itests/felix/src/test/java/org/apache/aries/rsa/itests/felix/rsa/TestRSAListener.java @@ -23,8 +23,6 @@ import java.util.concurrent.TimeoutException; -import javax.inject.Inject; - import org.apache.aries.rsa.itests.felix.RsaTestBase; import org.junit.Test; import org.junit.runner.RunWith; @@ -32,19 +30,14 @@ import org.ops4j.pax.exam.Option; import org.ops4j.pax.exam.junit.PaxExam; import org.osgi.framework.Bundle; -import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceRegistration; import org.osgi.service.remoteserviceadmin.RemoteServiceAdminEvent; import org.osgi.service.remoteserviceadmin.RemoteServiceAdminListener; @RunWith(PaxExam.class) public class TestRSAListener extends RsaTestBase implements RemoteServiceAdminListener { - - @Inject - BundleContext context; - private RemoteServiceAdminEvent lastEvent; - + private Bundle serviceBundle; @Configuration public static Option[] configure() throws Exception { @@ -58,9 +51,9 @@ public static Option[] configure() throws Exception { @Test public void testListener() throws Exception { - Bundle serviceBundle = getBundle("org.apache.aries.rsa.examples.echotcp.service"); + serviceBundle = getBundle("org.apache.aries.rsa.examples.echotcp.service"); serviceBundle.stop(); - ServiceRegistration sreg = context.registerService(RemoteServiceAdminListener.class, this, null); + ServiceRegistration sreg = bundleContext.registerService(RemoteServiceAdminListener.class, this, null); serviceBundle.start(); assertEvent(RemoteServiceAdminEvent.EXPORT_REGISTRATION); @@ -73,8 +66,10 @@ public void testListener() throws Exception { @Override public synchronized void remoteAdminEvent(RemoteServiceAdminEvent event) { - lastEvent = event; - this.notifyAll(); + if (serviceBundle == event.getExportReference().getExportedService().getBundle()) { + lastEvent = event; + this.notifyAll(); + } } private void assertEvent(int eventType) throws InterruptedException, TimeoutException { @@ -94,16 +89,4 @@ private synchronized void waitEvent() throws InterruptedException, TimeoutExcept } } - private Bundle getBundle(String symName) { - Bundle serviceBundle = null; - Bundle[] bundles = context.getBundles(); - for (Bundle bundle : bundles) { - if(symName.equals(bundle.getSymbolicName())) { - serviceBundle = bundle; - break; - } - } - return serviceBundle; - } - }