Repository: cxf
Updated Branches:
  refs/heads/master 4be704469 -> 1387abab6


[CXF-7442] Throwing InternalServerErrorException


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/1387abab
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/1387abab
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/1387abab

Branch: refs/heads/master
Commit: 1387abab66da34304d3773d5b8cccc5e5a81303b
Parents: 4be7044
Author: Sergey Beryozkin <sberyoz...@gmail.com>
Authored: Tue Jul 11 18:03:57 2017 +0100
Committer: Sergey Beryozkin <sberyoz...@gmail.com>
Committed: Tue Jul 11 18:03:57 2017 +0100

----------------------------------------------------------------------
 .../main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java  | 7 ++++++-
 .../java/org/apache/cxf/jaxrs/utils/InjectionUtilsTest.java   | 6 +++---
 2 files changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/1387abab/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
----------------------------------------------------------------------
diff --git 
a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
 
b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
index ff82da4..550bed5 100644
--- 
a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
+++ 
b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
@@ -497,7 +497,12 @@ public final class InjectionUtils {
             reportServerError("WRONG_PARAMETER_TYPE", pClass.getName());
         }
 
-        return pClass.cast(result);
+        try {
+            return pClass.cast(result);
+        } catch (ClassCastException ex) {
+            reportServerError("WRONG_PARAMETER_TYPE", pClass.getName());
+            return null;
+        }
     }
 
     private static RuntimeException 
createParamConversionException(ParameterType pType, Exception ex) {

http://git-wip-us.apache.org/repos/asf/cxf/blob/1387abab/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/utils/InjectionUtilsTest.java
----------------------------------------------------------------------
diff --git 
a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/utils/InjectionUtilsTest.java
 
b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/utils/InjectionUtilsTest.java
index 198f4fb..cc9ea7c 100644
--- 
a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/utils/InjectionUtilsTest.java
+++ 
b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/utils/InjectionUtilsTest.java
@@ -35,6 +35,7 @@ import java.util.SortedSet;
 import java.util.TreeSet;
 
 import javax.validation.constraints.NotNull;
+import javax.ws.rs.InternalServerErrorException;
 import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.Application;
 import javax.ws.rs.core.MultivaluedMap;
@@ -42,6 +43,7 @@ import javax.xml.bind.annotation.adapters.XmlAdapter;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import com.migesok.jaxb.adapter.javatime.LocalDateXmlAdapter;
+
 import org.apache.cxf.endpoint.Endpoint;
 import org.apache.cxf.jaxrs.model.ParameterType;
 import org.apache.cxf.jaxrs.provider.ProviderFactory;
@@ -53,7 +55,6 @@ import org.apache.cxf.message.MessageImpl;
 import org.easymock.EasyMock;
 
 import org.junit.Assert;
-import org.junit.Ignore;
 import org.junit.Test;
 
 public class InjectionUtilsTest extends Assert {
@@ -183,8 +184,7 @@ public class InjectionUtilsTest extends Assert {
         assertEquals(String.class, list.getActualTypeArguments()[0]);
     }
 
-    @Ignore("CXF-7442")
-    @Test
+    @Test(expected = InternalServerErrorException.class)
     public void testJsr310DateExceptionHandling() {
         Field field = CustomerDetailsWithAdapter.class.getDeclaredFields()[0];
         Annotation[] paramAnns = field.getDeclaredAnnotations();

Reply via email to