FELIX-4894 : Implement cross context shadowing

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1680572 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/http/itest/src/test/java/org/apache/felix/http/itest/HttpServiceRuntimeTest.java b/http/itest/src/test/java/org/apache/felix/http/itest/HttpServiceRuntimeTest.java
index 1f617bc..d3b6f6d 100644
--- a/http/itest/src/test/java/org/apache/felix/http/itest/HttpServiceRuntimeTest.java
+++ b/http/itest/src/test/java/org/apache/felix/http/itest/HttpServiceRuntimeTest.java
@@ -88,6 +88,7 @@
 import org.osgi.service.http.runtime.dto.RequestInfoDTO;
 import org.osgi.service.http.runtime.dto.RuntimeDTO;
 import org.osgi.service.http.runtime.dto.ServletContextDTO;
+import org.osgi.service.http.runtime.dto.ServletDTO;
 
 @RunWith(JUnit4TestRunner.class)
 @ExamReactorStrategy( EagerSingleStagedReactorFactory.class )
@@ -1108,12 +1109,15 @@
         ServletContextDTO httpServiceContext = runtimeWithShadowedServlet.servletContextDTOs[0];
         assertEquals("Http Service context", httpServiceContext.name);
         assertEquals(1, httpServiceContext.servletDTOs.length);
-        assertArrayEquals(new String[] {"/pathcollision", "/pathcollision/*"}, httpServiceContext.servletDTOs[0].patterns);
+        assertArrayEquals(new String[] {"/pathcollision"}, httpServiceContext.servletDTOs[0].patterns);
 
-        assertEquals(1, runtimeWithShadowedServlet.failedServletDTOs.length);
-        FailedServletDTO failedServletDTO = runtimeWithShadowedServlet.failedServletDTOs[0];
-        assertEquals("servlet 1", failedServletDTO.name);
-        assertEquals(FAILURE_REASON_SHADOWED_BY_OTHER_SERVICE, failedServletDTO.failureReason);
+        assertEquals(1, defaultContext.servletDTOs.length);
+        ServletDTO servletDTO = defaultContext.servletDTOs[0];
+        assertEquals("servlet 1", servletDTO.name);
+
+        // check request info DTO to see which servlet responds
+        final RequestInfoDTO infoDTO = serviceRuntime.calculateRequestInfoDTO("/pathcollision");
+        assertEquals(httpServiceContext.serviceId, infoDTO.servletDTO.servletContextId);
 
         unregister(testServlet);
         awaitServiceRegistration(destroyLatch);
diff --git a/http/itest/src/test/java/org/apache/felix/http/itest/ServletPatternTest.java b/http/itest/src/test/java/org/apache/felix/http/itest/ServletPatternTest.java
index 49657b1..94011e1 100644
--- a/http/itest/src/test/java/org/apache/felix/http/itest/ServletPatternTest.java
+++ b/http/itest/src/test/java/org/apache/felix/http/itest/ServletPatternTest.java
@@ -164,7 +164,7 @@
             assertTrue(initLatch.await(5, TimeUnit.SECONDS));
 
             assertContent("whiteboardServlet", createURL("/test/bar"));
-            assertContent("httpServiceServlet", createURL("/test/foo"));
+            assertContent("whiteboardServlet", createURL("/test/bar"));
         }
         finally
         {