You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by cs...@apache.org on 2017/08/31 11:55:26 UTC

aries-jax-rs-whiteboard git commit: Make tests use first port available

Repository: aries-jax-rs-whiteboard
Updated Branches:
  refs/heads/master 449f090b3 -> 990b9d24f


Make tests use first port available


Project: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/repo
Commit: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/commit/990b9d24
Tree: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/tree/990b9d24
Diff: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/diff/990b9d24

Branch: refs/heads/master
Commit: 990b9d24f2f0f113906ed93940868e22de8be671
Parents: 449f090
Author: Carlos Sierra <cs...@apache.org>
Authored: Thu Aug 31 13:54:38 2017 +0200
Committer: Carlos Sierra <cs...@apache.org>
Committed: Thu Aug 31 13:54:38 2017 +0200

----------------------------------------------------------------------
 jax-rs.itests/itest.bndrun                      |   2 +-
 jax-rs.itests/src/main/java/test/JaxrsTest.java | 448 ++++++-------------
 .../main/java/test/WhiteboardFactoryTest.java   |  68 +--
 .../java/test/WhiteboardTargetFilterTest.java   |  37 +-
 .../src/main/java/test/types/TestHelper.java    |  68 ++-
 .../aries/jax/rs/whiteboard/internal/Utils.java |   3 +-
 6 files changed, 233 insertions(+), 393 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/990b9d24/jax-rs.itests/itest.bndrun
----------------------------------------------------------------------
diff --git a/jax-rs.itests/itest.bndrun b/jax-rs.itests/itest.bndrun
index 193ab99..d1f4237 100644
--- a/jax-rs.itests/itest.bndrun
+++ b/jax-rs.itests/itest.bndrun
@@ -17,7 +17,7 @@
 	logback.configurationFile=file:${.}/logback.xml,\
 	osgi.console.enable.builtin=false, \
 	osgi.console=, \
-	org.osgi.service.http.port=65532
+	org.osgi.service.http.port=*
 -runblacklist:\
 	osgi.identity;filter:='(osgi.identity=org.osgi.compendium)',\
 	osgi.identity;filter:='(osgi.identity=osgi.cmpn)'

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/990b9d24/jax-rs.itests/src/main/java/test/JaxrsTest.java
----------------------------------------------------------------------
diff --git a/jax-rs.itests/src/main/java/test/JaxrsTest.java b/jax-rs.itests/src/main/java/test/JaxrsTest.java
index 0661a62..16fe6c4 100644
--- a/jax-rs.itests/src/main/java/test/JaxrsTest.java
+++ b/jax-rs.itests/src/main/java/test/JaxrsTest.java
@@ -17,7 +17,6 @@
 
 package test;
 
-import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.osgi.service.jaxrs.whiteboard.JaxRSWhiteboardConstants.*;
 
@@ -33,7 +32,6 @@ import org.junit.Test;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.PrototypeServiceFactory;
 import org.osgi.framework.ServiceFactory;
-import org.osgi.framework.ServiceReference;
 import org.osgi.framework.ServiceRegistration;
 
 import org.osgi.service.jaxrs.runtime.JaxRSServiceRuntime;
@@ -51,7 +49,6 @@ import test.types.TestFilter;
 import test.types.TestFilterAndExceptionMapper;
 import test.types.TestHelper;
 
-import javax.ws.rs.client.Client;
 import javax.ws.rs.client.WebTarget;
 import javax.ws.rs.container.ContainerResponseFilter;
 import javax.ws.rs.core.Application;
@@ -64,10 +61,6 @@ import static org.junit.Assert.assertNull;
 
 public class JaxrsTest extends TestHelper {
 
-    public static final long SERVICE_TIMEOUT = 15000L;
-    private ServiceTracker<JaxRSServiceRuntime, JaxRSServiceRuntime>
-        _runtimeTracker;
-
     private Collection<ServiceRegistration<?>> _registrations =
         new ArrayList<>();
 
@@ -94,22 +87,13 @@ public class JaxrsTest extends TestHelper {
 
     @Test
     public void testApplication() throws InterruptedException {
-
-        JaxRSServiceRuntime runtime = getJaxRSServiceRuntime();
-
-        assertNotNull(runtime);
-
-        assertEquals(0, runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().applicationDTOs.length);
 
         registerApplication(new TestApplication());
 
-        assertEquals(1, runtime.getRuntimeDTO().applicationDTOs.length);
-
-        Client client = createClient();
+        assertEquals(1, _runtime.getRuntimeDTO().applicationDTOs.length);
 
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("/test-application");
+        WebTarget webTarget = createDefaultTarget().path("/test-application");
 
         Response response = webTarget.request().get();
 
@@ -119,58 +103,35 @@ public class JaxrsTest extends TestHelper {
 
     @Test
     public void testApplicationChangeCount() throws Exception {
-        ServiceTracker<JaxRSServiceRuntime, JaxRSServiceRuntime>
-            runtimeTracker = new ServiceTracker<>(
-                bundleContext, JaxRSServiceRuntime.class, null);
-
-        try {
-            runtimeTracker.open();
-
-            JaxRSServiceRuntime runtime = runtimeTracker.waitForService(
-                SERVICE_TIMEOUT);
+        Long changeCount = (Long)_runtimeServiceReference.getProperty(
+            "service.changecount");
 
-            assertNotNull(runtime);
-
-            ServiceReference<JaxRSServiceRuntime> serviceReference =
-                runtimeTracker.getServiceReference();
-
-            Long changeCount = (Long)serviceReference.getProperty(
-                "service.changecount");
-
-            Dictionary<String, Object> properties = new Hashtable<>();
+        Dictionary<String, Object> properties = new Hashtable<>();
 
-            properties.put(JAX_RS_APPLICATION_BASE, "/test-counter");
+        properties.put(JAX_RS_APPLICATION_BASE, "/test-counter");
 
-            ServiceRegistration<?> serviceRegistration =
-                bundleContext.registerService(
-                    Application.class, new TestApplication(), properties);
+        ServiceRegistration<?> serviceRegistration =
+            bundleContext.registerService(
+                Application.class, new TestApplication(), properties);
 
-            Long newCount = (Long)serviceReference.getProperty(
-                "service.changecount");
+        Long newCount = (Long)_runtimeServiceReference.getProperty(
+            "service.changecount");
 
-            assertTrue(changeCount < newCount);
+        assertTrue(changeCount < newCount);
 
-            changeCount = newCount;
+        changeCount = newCount;
 
-            serviceRegistration.unregister();
+        serviceRegistration.unregister();
 
-            newCount = (Long)serviceReference.getProperty(
-                "service.changecount");
+        newCount = (Long)_runtimeServiceReference.getProperty(
+            "service.changecount");
 
-            assertTrue(changeCount < newCount);
-        }
-        finally {
-            runtimeTracker.close();
-        }
+        assertTrue(changeCount < newCount);
     }
 
     @Test
     public void testApplicationConflict() {
-        Client client = createClient();
-
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("test-application");
+        WebTarget webTarget = createDefaultTarget().path("test-application");
 
         ServiceRegistration<?> serviceRegistration2;
 
@@ -178,17 +139,14 @@ public class JaxrsTest extends TestHelper {
 
         Response response = webTarget.request().get();
 
-        assertEquals(
-            "Hello application",
-            response.readEntity(String.class));
+        assertEquals("Hello application", response.readEntity(String.class));
 
         serviceRegistration2 = registerApplication(
             new TestApplicationConflict(), "service.ranking", -1);
 
         response = webTarget.request().get();
 
-        assertEquals(
-            "Hello application", response.readEntity(String.class));
+        assertEquals("Hello application", response.readEntity(String.class));
 
         assertEquals(
             Response.Status.NOT_FOUND.getStatusCode(),
@@ -198,16 +156,12 @@ public class JaxrsTest extends TestHelper {
 
         response = webTarget.request().get();
 
-        assertEquals(
-            "Hello application", response.readEntity(String.class));
+        assertEquals("Hello application", response.readEntity(String.class));
     }
 
     @Test
     public void testApplicationEndpointExtension() {
-        Client client = createClient();
-
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
+        WebTarget webTarget = createDefaultTarget().
             path("/test-application").
             path("extended");
 
@@ -226,10 +180,7 @@ public class JaxrsTest extends TestHelper {
     public void testApplicationEndpointExtensionReadd()
         throws InterruptedException {
 
-        Client client = createClient();
-
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
+        WebTarget webTarget = createDefaultTarget().
             path("/test-application").
             path("extended");
 
@@ -263,11 +214,7 @@ public class JaxrsTest extends TestHelper {
 
     @Test
     public void testApplicationOverride() throws InterruptedException {
-        Client client = createClient();
-
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("test-application");
+        WebTarget webTarget = createDefaultTarget().path("test-application");
 
         JaxRSServiceRuntime runtime = getJaxRSServiceRuntime();
 
@@ -283,9 +230,7 @@ public class JaxrsTest extends TestHelper {
 
         Response response = webTarget.request().get();
 
-        assertEquals(
-            "Hello application",
-            response.readEntity(String.class));
+        assertEquals("Hello application", response.readEntity(String.class));
 
         serviceRegistration2 = registerApplication(
             new TestApplicationConflict(), "service.ranking", 1);
@@ -296,8 +241,7 @@ public class JaxrsTest extends TestHelper {
         response = webTarget.request().get();
 
         assertEquals(
-            "Hello application conflict",
-            response.readEntity(String.class));
+            "Hello application conflict", response.readEntity(String.class));
 
         assertEquals(
             "conflict",
@@ -310,17 +254,12 @@ public class JaxrsTest extends TestHelper {
 
         response = webTarget.request().get();
 
-        assertEquals(
-            "Hello application", response.readEntity(String.class));
+        assertEquals("Hello application", response.readEntity(String.class));
     }
 
     @Test
     public void testApplicationProviderExtension() {
-        Client client = createClient();
-
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("/test-application");
+        WebTarget webTarget = createDefaultTarget().path("/test-application");
 
         registerApplication(new TestApplication());
 
@@ -330,20 +269,14 @@ public class JaxrsTest extends TestHelper {
 
         Response response = webTarget.request().get();
 
-        assertEquals(
-            "Hello application",
-            response.readEntity(String.class));
+        assertEquals("Hello application", response.readEntity(String.class));
 
         assertEquals("true", response.getHeaders().getFirst("Filtered"));
     }
 
     @Test
     public void testApplicationProviderExtensionReadd() {
-        Client client = createClient();
-
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("/test-application");
+        WebTarget webTarget = createDefaultTarget().path("/test-application");
 
         registerApplication(new TestApplication());
 
@@ -367,8 +300,7 @@ public class JaxrsTest extends TestHelper {
                 response = webTarget.request().get();
 
                 assertEquals(
-                    response.getHeaders().getFirst("Filtered"),
-                    "true");
+                    response.getHeaders().getFirst("Filtered"), "true");
             }
             finally {
                 if (filterRegistration != null) {
@@ -384,16 +316,10 @@ public class JaxrsTest extends TestHelper {
 
     @Test
     public void testApplicationReadd() throws InterruptedException {
-        Client client = createClient();
-
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("/test-application");
-
-        JaxRSServiceRuntime runtime = getJaxRSServiceRuntime();
+        WebTarget webTarget = createDefaultTarget().path("/test-application");
 
         Runnable testCase = () -> {
-            int applications = runtime.getRuntimeDTO().applicationDTOs.length;
+            int applications = _runtime.getRuntimeDTO().applicationDTOs.length;
 
             assertEquals(404, webTarget.request().get().getStatus());
 
@@ -412,7 +338,7 @@ public class JaxrsTest extends TestHelper {
 
                 assertEquals(
                     applications + 1,
-                    runtime.getRuntimeDTO().applicationDTOs.length);
+                    _runtime.getRuntimeDTO().applicationDTOs.length);
             }
             finally {
                 if (serviceRegistration != null) {
@@ -430,25 +356,17 @@ public class JaxrsTest extends TestHelper {
     public void testApplicationWithDedicatedExtension()
         throws InterruptedException {
 
-        JaxRSServiceRuntime runtime = getJaxRSServiceRuntime();
-
-        assertNotNull(runtime);
-
-        assertEquals(0, runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().applicationDTOs.length);
 
         registerApplication(
             new TestApplication(),
             JAX_RS_EXTENSION_SELECT,
-            String.format("(%s=%s)", JAX_RS_NAME, "Filter"),
-            "propertyKey", "propertyValue");
+            String.format("(%s=%s)", JAX_RS_NAME, "Filter"), "propertyKey",
+            "propertyValue");
 
-        assertEquals(0, runtime.getRuntimeDTO().applicationDTOs.length);
-
-        Client client = createClient();
+        assertEquals(0, _runtime.getRuntimeDTO().applicationDTOs.length);
 
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("/test-application");
+        WebTarget webTarget = createDefaultTarget().path("/test-application");
 
         Response response = webTarget.request().get();
 
@@ -457,7 +375,7 @@ public class JaxrsTest extends TestHelper {
         ServiceRegistration<?> filterRegistration = registerExtension(
             "Filter", JAX_RS_APPLICATION_SELECT, "(propertyKey=propertyValue)");
 
-        assertEquals(1, runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(1, _runtime.getRuntimeDTO().applicationDTOs.length);
 
         response = webTarget.request().get();
 
@@ -465,7 +383,7 @@ public class JaxrsTest extends TestHelper {
 
         filterRegistration.unregister();
 
-        assertEquals(0, runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().applicationDTOs.length);
 
         response = webTarget.request().get();
 
@@ -474,11 +392,7 @@ public class JaxrsTest extends TestHelper {
 
     @Test
     public void testApplicationWithError() throws InterruptedException {
-        JaxRSServiceRuntime runtime = getJaxRSServiceRuntime();
-
-        assertNotNull(runtime);
-
-        RuntimeDTO runtimeDTO = runtime.getRuntimeDTO();
+        RuntimeDTO runtimeDTO = _runtime.getRuntimeDTO();
 
         assertEquals(0, runtimeDTO.applicationDTOs.length);
         assertEquals(0, runtimeDTO.failedExtensionDTOs.length);
@@ -493,7 +407,7 @@ public class JaxrsTest extends TestHelper {
 
             });
 
-        runtimeDTO = runtime.getRuntimeDTO();
+        runtimeDTO = _runtime.getRuntimeDTO();
 
         assertEquals(0, runtimeDTO.applicationDTOs.length);
         assertEquals(1, runtimeDTO.failedApplicationDTOs.length);
@@ -501,17 +415,13 @@ public class JaxrsTest extends TestHelper {
             DTOConstants.FAILURE_REASON_UNKNOWN,
             runtimeDTO.failedApplicationDTOs[0].failureReason);
 
-        Client client = createClient();
-
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("/test-application");
+        WebTarget webTarget = createDefaultTarget().path("/test-application");
 
         assertEquals(404, webTarget.request().get().getStatus());
 
         serviceRegistration.unregister();
 
-        runtimeDTO = runtime.getRuntimeDTO();
+        runtimeDTO = _runtime.getRuntimeDTO();
 
         assertEquals(0, runtimeDTO.applicationDTOs.length);
         assertEquals(0, runtimeDTO.failedApplicationDTOs.length);
@@ -521,24 +431,15 @@ public class JaxrsTest extends TestHelper {
     public void testApplicationWithExtensionDryRun()
         throws InterruptedException {
 
-        JaxRSServiceRuntime runtime = getJaxRSServiceRuntime();
-
-        assertNotNull(runtime);
-
-        assertEquals(0, runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().applicationDTOs.length);
 
         registerApplication(
-            new TestApplication(),
-            JAX_RS_EXTENSION_SELECT,
+            new TestApplication(), JAX_RS_EXTENSION_SELECT,
             String.format("(%s=%s)", JAX_RS_NAME, "Filter"));
 
-        assertEquals(0, runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().applicationDTOs.length);
 
-        Client client = createClient();
-
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("/test-application");
+        WebTarget webTarget = createDefaultTarget().path("/test-application");
 
         Response response = webTarget.request().get();
 
@@ -547,7 +448,7 @@ public class JaxrsTest extends TestHelper {
         ServiceRegistration<?> filterRegistration = registerExtension(
             "Filter", JAX_RS_APPLICATION_SELECT, "(unexistent=application)");
 
-        assertEquals(0, runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().applicationDTOs.length);
 
         response = webTarget.request().get();
 
@@ -555,7 +456,7 @@ public class JaxrsTest extends TestHelper {
 
         filterRegistration.unregister();
 
-        assertEquals(0, runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().applicationDTOs.length);
 
         response = webTarget.request().get();
 
@@ -566,24 +467,16 @@ public class JaxrsTest extends TestHelper {
     public void testApplicationWithGenericExtension()
         throws InterruptedException {
 
-        JaxRSServiceRuntime runtime = getJaxRSServiceRuntime();
-
-        assertNotNull(runtime);
-
-        assertEquals(0, runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().applicationDTOs.length);
 
         registerApplication(
             new TestApplication(),
             JAX_RS_EXTENSION_SELECT,
             String.format("(%s=%s)", JAX_RS_NAME, "Filter"));
 
-        assertEquals(0, runtime.getRuntimeDTO().applicationDTOs.length);
-
-        Client client = createClient();
+        assertEquals(0, _runtime.getRuntimeDTO().applicationDTOs.length);
 
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("/test-application");
+        WebTarget webTarget = createDefaultTarget().path("/test-application");
 
         Response response = webTarget.request().get();
 
@@ -591,7 +484,7 @@ public class JaxrsTest extends TestHelper {
 
         ServiceRegistration<?> filterRegistration = registerExtension("Filter");
 
-        assertEquals(1, runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(1, _runtime.getRuntimeDTO().applicationDTOs.length);
 
         response = webTarget.request().get();
 
@@ -599,7 +492,7 @@ public class JaxrsTest extends TestHelper {
 
         filterRegistration.unregister();
 
-        assertEquals(0, runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().applicationDTOs.length);
 
         response = webTarget.request().get();
 
@@ -608,11 +501,7 @@ public class JaxrsTest extends TestHelper {
 
     @Test
     public void testEndpointsOverride() {
-        Client client = createClient();
-
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("conflict");
+        WebTarget webTarget = createDefaultTarget().path("conflict");
 
         registerAddon(new TestAddonConflict());
 
@@ -644,11 +533,7 @@ public class JaxrsTest extends TestHelper {
     public void testExtensionRegisterOnlySignalledInterfaces()
         throws InterruptedException {
 
-        Client client = createClient();
-
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("test-application");
+        WebTarget webTarget = createDefaultTarget().path("test-application");
 
         registerApplication(new TestApplicationWithException());
 
@@ -668,22 +553,16 @@ public class JaxrsTest extends TestHelper {
     public void testGettableAndNotGettableApplication()
         throws InterruptedException {
 
-        Client client = createClient();
+        WebTarget webTarget = createDefaultTarget().path("test-application");
 
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("test-application");
-
-        JaxRSServiceRuntime runtime = getJaxRSServiceRuntime();
-
-        assertEquals(0, runtime.getRuntimeDTO().applicationDTOs.length);
-        assertEquals(0, runtime.getRuntimeDTO().failedApplicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().failedApplicationDTOs.length);
 
         ServiceRegistration<Application> serviceRegistration =
             registerApplication(new TestApplication());
 
-        assertEquals(1, runtime.getRuntimeDTO().applicationDTOs.length);
-        assertEquals(0, runtime.getRuntimeDTO().failedApplicationDTOs.length);
+        assertEquals(1, _runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().failedApplicationDTOs.length);
 
         assertEquals(
             "Hello application",
@@ -692,12 +571,12 @@ public class JaxrsTest extends TestHelper {
         ServiceRegistration<Application> ungettableServiceRegistration =
             registerUngettableApplication("service.ranking", 1);
 
-        assertEquals(1, runtime.getRuntimeDTO().applicationDTOs.length);
-        assertEquals(1, runtime.getRuntimeDTO().failedApplicationDTOs.length);
+        assertEquals(1, _runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(1, _runtime.getRuntimeDTO().failedApplicationDTOs.length);
 
         assertEquals(
             DTOConstants.FAILURE_REASON_SERVICE_NOT_GETTABLE,
-            runtime.getRuntimeDTO().failedApplicationDTOs[0].failureReason);
+            _runtime.getRuntimeDTO().failedApplicationDTOs[0].failureReason);
 
         assertEquals(
             "Hello application",
@@ -705,37 +584,31 @@ public class JaxrsTest extends TestHelper {
 
         serviceRegistration.unregister();
 
-        assertEquals(0, runtime.getRuntimeDTO().applicationDTOs.length);
-        assertEquals(1, runtime.getRuntimeDTO().failedApplicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(1, _runtime.getRuntimeDTO().failedApplicationDTOs.length);
 
         assertEquals(404, webTarget.request().get().getStatus());
 
         ungettableServiceRegistration.unregister();
 
-        assertEquals(0, runtime.getRuntimeDTO().applicationDTOs.length);
-        assertEquals(0, runtime.getRuntimeDTO().failedApplicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().failedApplicationDTOs.length);
     }
 
     @Test
     public void testGettableAndShadowedNotGettableApplication()
         throws InterruptedException {
 
-        Client client = createClient();
+        WebTarget webTarget = createDefaultTarget().path("test-application");
 
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("test-application");
-
-        JaxRSServiceRuntime runtime = getJaxRSServiceRuntime();
-
-        assertEquals(0, runtime.getRuntimeDTO().applicationDTOs.length);
-        assertEquals(0, runtime.getRuntimeDTO().failedApplicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().failedApplicationDTOs.length);
 
         ServiceRegistration<Application> serviceRegistration =
             registerApplication(new TestApplication());
 
-        assertEquals(1, runtime.getRuntimeDTO().applicationDTOs.length);
-        assertEquals(0, runtime.getRuntimeDTO().failedApplicationDTOs.length);
+        assertEquals(1, _runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().failedApplicationDTOs.length);
 
         assertEquals(
             "Hello application",
@@ -744,12 +617,12 @@ public class JaxrsTest extends TestHelper {
         ServiceRegistration<Application> ungettableServiceRegistration =
             registerUngettableApplication("service.ranking", -1);
 
-        assertEquals(1, runtime.getRuntimeDTO().applicationDTOs.length);
-        assertEquals(1, runtime.getRuntimeDTO().failedApplicationDTOs.length);
+        assertEquals(1, _runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(1, _runtime.getRuntimeDTO().failedApplicationDTOs.length);
 
         assertEquals(
             DTOConstants.FAILURE_REASON_SERVICE_NOT_GETTABLE,
-            runtime.getRuntimeDTO().failedApplicationDTOs[0].failureReason);
+            _runtime.getRuntimeDTO().failedApplicationDTOs[0].failureReason);
 
         assertEquals(
             "Hello application",
@@ -757,38 +630,31 @@ public class JaxrsTest extends TestHelper {
 
         serviceRegistration.unregister();
 
-        assertEquals(0, runtime.getRuntimeDTO().applicationDTOs.length);
-        assertEquals(1, runtime.getRuntimeDTO().failedApplicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(1, _runtime.getRuntimeDTO().failedApplicationDTOs.length);
 
         assertEquals(404, webTarget.request().get().getStatus());
 
         ungettableServiceRegistration.unregister();
 
-        assertEquals(0, runtime.getRuntimeDTO().applicationDTOs.length);
-        assertEquals(0, runtime.getRuntimeDTO().failedApplicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().failedApplicationDTOs.length);
     }
 
     @Test
     public void testInvalidExtension() throws InterruptedException {
-        Client client = createClient();
+        WebTarget webTarget = createDefaultTarget().path("test");
 
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("test");
-
-        JaxRSServiceRuntime runtime = getJaxRSServiceRuntime();
+        RuntimeDTO runtimeDTO = _runtime.getRuntimeDTO();
 
-        RuntimeDTO runtimeDTO = runtime.getRuntimeDTO();
-
-        assertEquals(
-            0, runtimeDTO.defaultApplication.extensionDTOs.length);
+        assertEquals(0, runtimeDTO.defaultApplication.extensionDTOs.length);
 
         registerAddon(new TestAddon());
 
-        ServiceRegistration<?> filterRegistration =
-            registerInvalidExtension("Filter");
+        ServiceRegistration<?> filterRegistration = registerInvalidExtension(
+            "Filter");
 
-        runtimeDTO = runtime.getRuntimeDTO();
+        runtimeDTO = _runtime.getRuntimeDTO();
 
         assertEquals(0, runtimeDTO.defaultApplication.extensionDTOs.length);
 
@@ -811,7 +677,7 @@ public class JaxrsTest extends TestHelper {
 
         filterRegistration.unregister();
 
-        runtimeDTO = runtime.getRuntimeDTO();
+        runtimeDTO = _runtime.getRuntimeDTO();
 
         assertEquals(0, runtimeDTO.defaultApplication.extensionDTOs.length);
 
@@ -820,98 +686,72 @@ public class JaxrsTest extends TestHelper {
 
     @Test
     public void testNotGettableApplication() throws InterruptedException {
-        JaxRSServiceRuntime runtime = getJaxRSServiceRuntime();
-
-        assertEquals(0, runtime.getRuntimeDTO().applicationDTOs.length);
-        assertEquals(0, runtime.getRuntimeDTO().failedApplicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().failedApplicationDTOs.length);
 
         ServiceRegistration<Application> serviceRegistration =
             registerUngettableApplication();
 
-        assertEquals(0, runtime.getRuntimeDTO().applicationDTOs.length);
-        assertEquals(1, runtime.getRuntimeDTO().failedApplicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(1, _runtime.getRuntimeDTO().failedApplicationDTOs.length);
 
         assertEquals(
             DTOConstants.FAILURE_REASON_SERVICE_NOT_GETTABLE,
-            runtime.getRuntimeDTO().failedApplicationDTOs[0].failureReason);
+            _runtime.getRuntimeDTO().failedApplicationDTOs[0].failureReason);
 
         serviceRegistration.unregister();
 
-        assertEquals(0, runtime.getRuntimeDTO().applicationDTOs.length);
-        assertEquals(0, runtime.getRuntimeDTO().failedApplicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().applicationDTOs.length);
+        assertEquals(0, _runtime.getRuntimeDTO().failedApplicationDTOs.length);
     }
 
     @Test
     public void testResourcesChangeCount() throws Exception {
-        ServiceTracker<JaxRSServiceRuntime, JaxRSServiceRuntime>
-            runtimeTracker = new ServiceTracker<>(
-                bundleContext, JaxRSServiceRuntime.class, null);
-
-        try {
-            runtimeTracker.open();
-
-            JaxRSServiceRuntime runtime = runtimeTracker.waitForService(15000L);
-
-            assertNotNull(runtime);
+        Long changeCount = (Long)_runtimeServiceReference.getProperty(
+            "service.changecount");
 
-            ServiceReference<JaxRSServiceRuntime> serviceReference =
-                runtimeTracker.getServiceReference();
-
-            Long changeCount = (Long)serviceReference.getProperty(
-                "service.changecount");
-
-            ServiceRegistration<?> serviceRegistration =
-                registerAddon(new TestAddon());
+        ServiceRegistration<?> serviceRegistration = registerAddon(
+            new TestAddon());
 
-            Long newCount = (Long)serviceReference.getProperty(
-                "service.changecount");
+        Long newCount = (Long)_runtimeServiceReference.getProperty(
+            "service.changecount");
 
-            assertTrue(changeCount < newCount);
+        assertTrue(changeCount < newCount);
 
-            changeCount = newCount;
+        changeCount = newCount;
 
-            ServiceRegistration<?> serviceRegistration2 =
-                registerAddon(new TestAddon());
+        ServiceRegistration<?> serviceRegistration2 = registerAddon(
+            new TestAddon());
 
-            newCount = (Long)serviceReference.getProperty(
-                "service.changecount");
+        newCount = (Long)_runtimeServiceReference.getProperty(
+            "service.changecount");
 
-            assertTrue(changeCount < newCount);
+        assertTrue(changeCount < newCount);
 
-            changeCount = newCount;
+        changeCount = newCount;
 
-            serviceRegistration.unregister();
+        serviceRegistration.unregister();
 
-            newCount = (Long)serviceReference.getProperty(
-                "service.changecount");
+        newCount = (Long)_runtimeServiceReference.getProperty(
+            "service.changecount");
 
-            assertTrue(changeCount < newCount);
+        assertTrue(changeCount < newCount);
 
-            changeCount = newCount;
+        changeCount = newCount;
 
-            serviceRegistration2.unregister();
+        serviceRegistration2.unregister();
 
-            newCount = (Long)serviceReference.getProperty(
-                "service.changecount");
+        newCount = (Long)_runtimeServiceReference.getProperty(
+            "service.changecount");
 
-            assertTrue(changeCount < newCount);
-        }
-        finally {
-            runtimeTracker.close();
-        }
+        assertTrue(changeCount < newCount);
     }
 
     @Test
     public void testStandaloneEndPoint() throws InterruptedException {
-        Client client = createClient();
-
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("test");
-
-        JaxRSServiceRuntime runtime = getJaxRSServiceRuntime();
+        WebTarget webTarget = createDefaultTarget().path("test");
 
-        runtime.getRuntimeDTO();
+        _runtime.getRuntimeDTO();
 
         registerAddon(new TestAddon());
 
@@ -924,10 +764,8 @@ public class JaxrsTest extends TestHelper {
 
     @Test
     public void testStandaloneEndPointPrototypeLifecycle() {
-        Client client = createClient();
-
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
+        WebTarget webTarget =
+            createDefaultTarget().
             path("/test-addon-lifecycle");
 
         registerAddonLifecycle(false, JAX_RS_RESOURCE, "true");
@@ -941,11 +779,7 @@ public class JaxrsTest extends TestHelper {
 
     @Test
     public void testStandaloneEndPointReadd() {
-        Client client = createClient();
-
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("test");
+        WebTarget webTarget = createDefaultTarget().path("test");
 
         Runnable testCase = () -> {
             assertEquals(404, webTarget.request().get().getStatus());
@@ -973,11 +807,9 @@ public class JaxrsTest extends TestHelper {
 
     @Test
     public void testStandaloneEndPointSingletonLifecycle() {
-        Client client = createClient();
-
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("/test-addon-lifecycle");
+        WebTarget webTarget =
+            createDefaultTarget().
+                path("/test-addon-lifecycle");
 
         registerAddonLifecycle(true, JAX_RS_RESOURCE, "true");
 
@@ -992,11 +824,7 @@ public class JaxrsTest extends TestHelper {
     public void testStandaloneEndpointWithExtensionsDependencies()
         throws InterruptedException {
 
-        Client client = createClient();
-
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("test");
+        WebTarget webTarget = createDefaultTarget().path("test");
 
         JaxRSServiceRuntime runtime = getJaxRSServiceRuntime();
 
@@ -1091,11 +919,7 @@ public class JaxrsTest extends TestHelper {
 
     @Test
     public void testStandaloneFilter() throws InterruptedException {
-        Client client = createClient();
-
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("test");
+        WebTarget webTarget = createDefaultTarget().path("test");
 
         JaxRSServiceRuntime runtime = getJaxRSServiceRuntime();
 
@@ -1128,11 +952,7 @@ public class JaxrsTest extends TestHelper {
 
     @Test
     public void testStandaloneFilterReadd() {
-        Client client = createClient();
-
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("test");
+        WebTarget webTarget = createDefaultTarget().path("test");
 
         registerAddon(new TestAddon());
 
@@ -1171,11 +991,7 @@ public class JaxrsTest extends TestHelper {
 
     @Test
     public void testUngettableExtension() throws InterruptedException {
-        Client client = createClient();
-
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("test");
+        WebTarget webTarget = createDefaultTarget().path("test");
 
         JaxRSServiceRuntime runtime = getJaxRSServiceRuntime();
 

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/990b9d24/jax-rs.itests/src/main/java/test/WhiteboardFactoryTest.java
----------------------------------------------------------------------
diff --git a/jax-rs.itests/src/main/java/test/WhiteboardFactoryTest.java b/jax-rs.itests/src/main/java/test/WhiteboardFactoryTest.java
index 24f29b3..0f1bb86 100644
--- a/jax-rs.itests/src/main/java/test/WhiteboardFactoryTest.java
+++ b/jax-rs.itests/src/main/java/test/WhiteboardFactoryTest.java
@@ -17,11 +17,9 @@
 
 package test;
 
+import static junit.framework.TestCase.assertNotNull;
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
 import static org.osgi.service.http.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN;
-import static org.osgi.service.jaxrs.whiteboard.JaxRSWhiteboardConstants.JAX_RS_APPLICATION_BASE;
 
 import java.util.Dictionary;
 import java.util.Hashtable;
@@ -31,39 +29,17 @@ import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
 import org.osgi.framework.FrameworkUtil;
 import org.osgi.framework.ServiceReference;
-import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.cm.Configuration;
 import org.osgi.service.cm.ConfigurationAdmin;
 import org.osgi.service.jaxrs.runtime.JaxRSServiceRuntime;
 import org.osgi.util.tracker.ServiceTracker;
-import test.types.TestApplication;
+import test.types.TestHelper;
 
-import javax.ws.rs.core.Application;
-
-public class WhiteboardFactoryTest {
+public class WhiteboardFactoryTest extends TestHelper {
 
     @Test
     public void testDefaultDefaultWhiteboardConfig() throws Exception {
-        ServiceTracker<JaxRSServiceRuntime, JaxRSServiceRuntime> runtimeTracker =
-            new ServiceTracker<>(
-                bundleContext, JaxRSServiceRuntime.class, null);
-
-        try {
-            runtimeTracker.open();
-
-            JaxRSServiceRuntime runtime = runtimeTracker.waitForService(5000);
-
-            assertNotNull(runtime);
-
-            ServiceReference<JaxRSServiceRuntime> serviceReference = runtimeTracker.getServiceReference();
-
-            assertNotNull(serviceReference);
-
-            assertEquals(1, runtimeTracker.size());
-        }
-        finally {
-            runtimeTracker.close();
-        }
+        assertEquals(1, _runtimeTracker.size());
     }
 
     @Test
@@ -72,25 +48,17 @@ public class WhiteboardFactoryTest {
             new ServiceTracker<>(
                 bundleContext, ConfigurationAdmin.class, null);
 
-        ServiceTracker<JaxRSServiceRuntime, JaxRSServiceRuntime> runtimeTracker =
-            new ServiceTracker<>(
-                bundleContext, JaxRSServiceRuntime.class, null);
-
         try {
             configTracker.open();
-            runtimeTracker.open();
-
-            JaxRSServiceRuntime runtime = runtimeTracker.waitForService(5000);
 
-            assertNotNull(runtime);
-
-            ServiceReference<JaxRSServiceRuntime> serviceReference = runtimeTracker.getServiceReference();
+            ServiceReference<JaxRSServiceRuntime> serviceReference =
+                _runtimeTracker.getServiceReference();
 
             assertNotNull(serviceReference);
 
-            assertEquals(1, runtimeTracker.size());
+            assertEquals(1, _runtimeTracker.size());
 
-            int trackingCount = runtimeTracker.getTrackingCount();
+            int trackingCount = _runtimeTracker.getTrackingCount();
 
             ConfigurationAdmin admin = configTracker.waitForService(5000);
 
@@ -110,29 +78,33 @@ public class WhiteboardFactoryTest {
                 Thread.sleep(50);
 
                 if (!"/new-whiteboard".equals(
-                        runtimeTracker.getServiceReference().getProperty(HTTP_WHITEBOARD_SERVLET_PATTERN))) {
-                    trackingCount = runtimeTracker.getTrackingCount();
+                        _runtimeTracker.getServiceReference().getProperty(
+                            HTTP_WHITEBOARD_SERVLET_PATTERN))) {
+
+                    trackingCount = _runtimeTracker.getTrackingCount();
                 }
             }
-            while (runtimeTracker.getTrackingCount() <= trackingCount);
+            while (_runtimeTracker.getTrackingCount() <= trackingCount);
 
-            assertEquals(2, runtimeTracker.size());
+            assertEquals(2, _runtimeTracker.size());
 
             configuration.delete();
 
             do {
                 Thread.sleep(50);
             }
-            while (runtimeTracker.getTrackingCount() <= trackingCount);
+            while (_runtimeTracker.getTrackingCount() <= trackingCount);
 
-            assertEquals(1, runtimeTracker.size());
+            assertEquals(1, _runtimeTracker.size());
         }
         finally {
-            runtimeTracker.close();
             configTracker.close();
         }
     }
 
-    private BundleContext bundleContext = FrameworkUtil.getBundle(getClass()).getBundleContext();
+    private BundleContext bundleContext =
+        FrameworkUtil.
+            getBundle(getClass()).
+            getBundleContext();
 
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/990b9d24/jax-rs.itests/src/main/java/test/WhiteboardTargetFilterTest.java
----------------------------------------------------------------------
diff --git a/jax-rs.itests/src/main/java/test/WhiteboardTargetFilterTest.java b/jax-rs.itests/src/main/java/test/WhiteboardTargetFilterTest.java
index acc3e6e..a8710e7 100644
--- a/jax-rs.itests/src/main/java/test/WhiteboardTargetFilterTest.java
+++ b/jax-rs.itests/src/main/java/test/WhiteboardTargetFilterTest.java
@@ -39,11 +39,7 @@ public class WhiteboardTargetFilterTest extends TestHelper {
 
     @Test
     public void testInvalidTargetFilter() throws Exception {
-        Client client = createClient();
-
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("extended");
+        WebTarget webTarget = createDefaultTarget().path("extended");
 
         assertEquals(
             "This should return nothing", 404,
@@ -53,8 +49,9 @@ public class WhiteboardTargetFilterTest extends TestHelper {
         properties.put(JaxRSWhiteboardConstants.JAX_RS_RESOURCE, "true");
         properties.put(JaxRSWhiteboardConstants.JAX_RS_WHITEBOARD_TARGET, "//");
 
-        ServiceRegistration<Object> serviceRegistration = bundleContext.registerService(
-            Object.class, new TestAddon(), properties);
+        ServiceRegistration<Object> serviceRegistration =
+            bundleContext.registerService(
+                Object.class, new TestAddon(), properties);
 
         try {
             assertEquals(
@@ -68,11 +65,7 @@ public class WhiteboardTargetFilterTest extends TestHelper {
 
     @Test
     public void testNonMatchingFilter() throws Exception {
-        Client client = createClient();
-
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("extended");
+        WebTarget webTarget = createDefaultTarget().path("extended");
 
         assertEquals(
             "This should return nothing", 404,
@@ -80,10 +73,13 @@ public class WhiteboardTargetFilterTest extends TestHelper {
 
         Dictionary<String, Object> properties = new Hashtable<>();
         properties.put(JaxRSWhiteboardConstants.JAX_RS_RESOURCE, "true");
-        properties.put(JaxRSWhiteboardConstants.JAX_RS_WHITEBOARD_TARGET, "(crazy=the joker)");
+        properties.put(
+            JaxRSWhiteboardConstants.JAX_RS_WHITEBOARD_TARGET,
+            "(crazy=the joker)");
 
-        ServiceRegistration<Object> serviceRegistration = bundleContext.registerService(
-            Object.class, new TestAddon(), properties);
+        ServiceRegistration<Object> serviceRegistration =
+            bundleContext.registerService(
+                Object.class, new TestAddon(), properties);
 
         try {
             assertEquals(
@@ -97,11 +93,7 @@ public class WhiteboardTargetFilterTest extends TestHelper {
 
     @Test
     public void testMatchingFilter() throws Exception {
-        Client client = createClient();
-
-        WebTarget webTarget = client.
-            target("http://localhost:65532").
-            path("extended");
+        WebTarget webTarget = createDefaultTarget().path("extended");
 
         assertEquals(
             "This should return nothing", 404,
@@ -113,8 +105,9 @@ public class WhiteboardTargetFilterTest extends TestHelper {
             JaxRSWhiteboardConstants.JAX_RS_WHITEBOARD_TARGET,
             "(service.pid=org.apache.aries.jax.rs.whiteboard.default)");
 
-        ServiceRegistration<Object> serviceRegistration = bundleContext.registerService(
-            Object.class, new TestAddon(), properties);
+        ServiceRegistration<Object> serviceRegistration =
+            bundleContext.registerService(
+                Object.class, new TestAddon(), properties);
 
         try {
             assertEquals(

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/990b9d24/jax-rs.itests/src/main/java/test/types/TestHelper.java
----------------------------------------------------------------------
diff --git a/jax-rs.itests/src/main/java/test/types/TestHelper.java b/jax-rs.itests/src/main/java/test/types/TestHelper.java
index 3803558..9f8b98c 100644
--- a/jax-rs.itests/src/main/java/test/types/TestHelper.java
+++ b/jax-rs.itests/src/main/java/test/types/TestHelper.java
@@ -19,30 +19,73 @@ package test.types;
 
 import javax.ws.rs.client.Client;
 import javax.ws.rs.client.ClientBuilder;
+import javax.ws.rs.client.WebTarget;
 
 import org.junit.After;
 import org.junit.Before;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.jaxrs.runtime.JaxRSServiceRuntime;
 import org.osgi.util.tracker.ServiceTracker;
 
+import java.util.Collection;
+
 public class TestHelper {
 
-    public static BundleContext bundleContext = FrameworkUtil.getBundle(
-        TestHelper.class).getBundleContext();
+    public static BundleContext bundleContext =
+        FrameworkUtil.
+            getBundle(TestHelper.class).
+            getBundleContext();
 
-    private ServiceTracker<ClientBuilder, ClientBuilder> _clientBuilderTracker;
+    protected ServiceTracker<JaxRSServiceRuntime, JaxRSServiceRuntime>
+        _runtimeTracker;
+    protected ServiceTracker<ClientBuilder, ClientBuilder>
+        _clientBuilderTracker;
+    protected JaxRSServiceRuntime _runtime;
+    protected ServiceReference<JaxRSServiceRuntime> _runtimeServiceReference;
 
     @After
     public void after() {
+        _runtimeTracker.close();
+
         _clientBuilderTracker.close();
     }
 
     @Before
     public void before() {
-        _clientBuilderTracker = new ServiceTracker<>(bundleContext, ClientBuilder.class, null);
+        _clientBuilderTracker = new ServiceTracker<>(
+            bundleContext, ClientBuilder.class, null);
 
         _clientBuilderTracker.open();
+
+        _runtimeTracker = new ServiceTracker<>(
+            bundleContext, JaxRSServiceRuntime.class, null);
+
+        _runtimeTracker.open();
+
+        try {
+            _runtime = _runtimeTracker.waitForService(15000L);
+        }
+        catch (InterruptedException e) {
+            throw new RuntimeException(e);
+        }
+
+        _runtimeServiceReference = _runtimeTracker.getServiceReference();
+    }
+
+    private static String[] canonicalize(Object propertyValue) {
+        if (propertyValue == null) {
+            return new String[0];
+        }
+        if (propertyValue instanceof String[]) {
+            return (String[]) propertyValue;
+        }
+        if (propertyValue instanceof Collection) {
+            return ((Collection<String>) propertyValue).toArray(new String[0]);
+        }
+
+        return new String[]{propertyValue.toString()};
     }
 
     protected Client createClient() {
@@ -58,4 +101,21 @@ public class TestHelper {
         }
     }
 
+    protected WebTarget createDefaultTarget() {
+        Client client = createClient();
+
+        String[] runtimes = canonicalize(
+            _runtimeServiceReference.getProperty("osgi.jaxrs.endpoint"));
+
+        if (runtimes.length == 0) {
+            throw new IllegalStateException(
+                "No runtimes could be found on \"osgi.jaxrs.endpoint\" " +
+                    "runtime service property ");
+        }
+
+        String runtime = runtimes[0];
+
+        return client.target(runtime);
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/990b9d24/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/Utils.java
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/Utils.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/Utils.java
index 72c6ef6..ed7c503 100644
--- a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/Utils.java
+++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/Utils.java
@@ -193,8 +193,7 @@ public class Utils {
                     ).then(
                         just(new ServiceTuple<>(serviceReference, service))
                     );
-            }
-        ));
+            }));
     }
 
     public static <T> OSGi<T> service(ServiceReference<T> serviceReference) {