Repository: cxf
Updated Branches:
  refs/heads/master af8a95bf9 -> 30ac7940b


[CXF-7442] added testcase for ClassCastException


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

Branch: refs/heads/master
Commit: 30ac7940b4ae32c5da30ac9a40e16556b0c0be0e
Parents: af8a95b
Author: Dennis Kieselhorst <d...@apache.org>
Authored: Tue Jul 11 13:16:51 2017 +0200
Committer: Dennis Kieselhorst <d...@apache.org>
Committed: Tue Jul 11 13:16:51 2017 +0200

----------------------------------------------------------------------
 .../cxf/jaxrs/utils/InjectionUtilsTest.java     | 31 ++++++++++++++++++++
 1 file changed, 31 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/30ac7940/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 d600825..198f4fb 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
@@ -20,10 +20,13 @@ package org.apache.cxf.jaxrs.utils;
 
 import java.io.Serializable;
 import java.lang.annotation.Annotation;
+import java.lang.reflect.Field;
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
+import java.time.LocalDate;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
@@ -31,11 +34,14 @@ import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeSet;
 
+import javax.validation.constraints.NotNull;
+import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.Application;
 import javax.ws.rs.core.MultivaluedMap;
 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;
@@ -47,6 +53,7 @@ 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 {
@@ -176,6 +183,15 @@ public class InjectionUtilsTest extends Assert {
         assertEquals(String.class, list.getActualTypeArguments()[0]);
     }
 
+    @Ignore("CXF-7442")
+    @Test
+    public void testJsr310DateExceptionHandling() {
+        Field field = CustomerDetailsWithAdapter.class.getDeclaredFields()[0];
+        Annotation[] paramAnns = field.getDeclaredAnnotations();
+        
InjectionUtils.createParameterObject(Collections.singletonList("wrongDate"), 
LocalDate.class,
+                LocalDate.class, paramAnns, null, false, ParameterType.QUERY, 
createMessage());
+    }
+
     static class CustomerBean1 {
         private String a;
         private Long b;
@@ -352,4 +368,19 @@ public class InjectionUtilsTest extends Assert {
             return new ArrayList<>();
         }
     }
+
+    public class CustomerDetailsWithAdapter {
+        @NotNull
+        @QueryParam("birthDate")
+        @XmlJavaTypeAdapter(LocalDateXmlAdapter.class)
+        private LocalDate birthDate;
+
+        public LocalDate getBirthDate() {
+            return birthDate;
+        }
+
+        public void setBirthDate(LocalDate birthDate) {
+            this.birthDate = birthDate;
+        }
+    }
 }

Reply via email to