You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2011/12/30 19:52:23 UTC

svn commit: r1225895 - in /cxf/trunk/rt/frontend/jaxrs/src: main/java/org/apache/cxf/jaxrs/provider/RequestDispatcherProvider.java test/java/org/apache/cxf/jaxrs/provider/ProviderFactoryTest.java

Author: sergeyb
Date: Fri Dec 30 18:52:23 2011
New Revision: 1225895

URL: http://svn.apache.org/viewvc?rev=1225895&view=rev
Log:
Minor update to RequestDispatcherProvider

Modified:
    cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/RequestDispatcherProvider.java
    cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/ProviderFactoryTest.java

Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/RequestDispatcherProvider.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/RequestDispatcherProvider.java?rev=1225895&r1=1225894&r2=1225895&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/RequestDispatcherProvider.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/RequestDispatcherProvider.java Fri Dec 30 18:52:23 2011
@@ -61,6 +61,7 @@ public class RequestDispatcherProvider e
     
     private static final String ABSOLUTE_PATH_PARAMETER = "absolute.path";
     private static final String BASE_PATH_PARAMETER = "base.path";
+    private static final String WEBAPP_BASE_PATH_PARAMETER = "webapp.base.path";
     private static final String RELATIVE_PATH_PARAMETER = "relative.path";
     
     private static final String REQUEST_SCOPE = "request";
@@ -247,6 +248,7 @@ public class RequestDispatcherProvider e
             request.setParameter(ABSOLUTE_PATH_PARAMETER, ui.getAbsolutePath().toString());
             request.setParameter(RELATIVE_PATH_PARAMETER, ui.getPath());
             request.setParameter(BASE_PATH_PARAMETER, ui.getBaseUri().toString());
+            request.setParameter(WEBAPP_BASE_PATH_PARAMETER, (String)mc.get("http.base.path"));
         }
     }
     

Modified: cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/ProviderFactoryTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/ProviderFactoryTest.java?rev=1225895&r1=1225894&r2=1225895&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/ProviderFactoryTest.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/ProviderFactoryTest.java Fri Dec 30 18:52:23 2011
@@ -388,6 +388,18 @@ public class ProviderFactoryTest extends
     }
     
     @Test
+    @Ignore
+    public void testExceptionMappersHierarchyWithGenerics() throws Exception {
+        ProviderFactory pf = ProviderFactory.getInstance();
+        RuntimeExceptionMapper1 exMapper1 = new RuntimeExceptionMapper1(); 
+        pf.registerUserProvider(exMapper1);
+        RuntimeExceptionMapper2 exMapper2 = new RuntimeExceptionMapper2(); 
+        pf.registerUserProvider(exMapper2);
+        assertSame(exMapper1, pf.createExceptionMapper(RuntimeException.class, new MessageImpl()));
+        assertSame(exMapper2, pf.createExceptionMapper(WebApplicationException.class, new MessageImpl()));
+    }
+    
+    @Test
     public void testMessageBodyHandlerHierarchy() throws Exception {
         ProviderFactory pf = ProviderFactory.getInstance();
         List<Object> providers = new ArrayList<Object>();
@@ -871,4 +883,25 @@ public class ProviderFactoryTest extends
         }
         
     }
+    
+    private static class RuntimeExceptionMapper1 
+        extends AbstractTestExceptionMapper<RuntimeException> {
+        
+    }
+    
+    private static class RuntimeExceptionMapper2 
+        extends AbstractTestExceptionMapper<WebApplicationException> {
+        
+    }
+    
+    private static class AbstractTestExceptionMapper<T extends RuntimeException> 
+        implements ExceptionMapper<T> {
+
+        @Override
+        public Response toResponse(T arg0) {
+            // TODO Auto-generated method stub
+            return null;
+        }
+        
+    }
 }