You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Stian Soiland-Reyes (JIRA)" <ji...@apache.org> on 2016/06/07 09:30:21 UTC
[jira] [Commented] (BEANUTILS-492) PropertyDescriptor
ClassCastException with JDK8
[ https://issues.apache.org/jira/browse/BEANUTILS-492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15318215#comment-15318215 ]
Stian Soiland-Reyes commented on BEANUTILS-492:
-----------------------------------------------
This is a bug with not getting back IndexedPropertyDescriptor - so the BEANUTILS-422 Jira422TestCase for instance checks if it can retrieve an indexed property with {{file[0]}} from {{getFile(int i)}}, but instead it simply gets the containing {{java.util.List}} from {{getFile()}}.
The IndexedPropertyTestCase fails for the same reaason, but fails earlier because it tests the typing.
Is this a deliberate change in Java 8, or a bug upstream? Are further property annotations needed in Java 8 for this?
> PropertyDescriptor ClassCastException with JDK8
> -----------------------------------------------
>
> Key: BEANUTILS-492
> URL: https://issues.apache.org/jira/browse/BEANUTILS-492
> Project: Commons BeanUtils
> Issue Type: Bug
> Affects Versions: 1.9.3
> Environment: maven:3.3-jdk8
> Reporter: Stian Soiland-Reyes
> Priority: Critical
> Fix For: 1.9.3
>
>
> With MAven 3.3 and JDK 8, Common Beanutils fails:
> https://builds.apache.org/view/Apache%20Commons/job/Commons%20Beanutils%20docker/4/console
> {code}
> Failed tests:
> IndexedPropertyTestCase.testArrayListIndexedPropertyDescriptor:175 Not IndexedPropertyDescriptor expected:<class java.beans.IndexedPropertyDescriptor> but was:<class java.beans.PropertyDescriptor>
> IndexedPropertyTestCase.testArrayListReadMethod:316 Threw exception java.lang.ClassCastException: java.beans.PropertyDescriptor cannot be cast to java.beans.IndexedPropertyDescriptor
> IndexedPropertyTestCase.testArrayListWriteMethod:330 Threw exception java.lang.ClassCastException: java.beans.PropertyDescriptor cannot be cast to java.beans.IndexedPropertyDescriptor
> IndexedPropertyTestCase.testListIndexedPropertyDescriptor:156 Not IndexedPropertyDescriptor expected:<class java.beans.IndexedPropertyDescriptor> but was:<class java.beans.PropertyDescriptor>
> IndexedPropertyTestCase.testListIndexedReadMethod:288 Threw exception java.lang.ClassCastException: java.beans.PropertyDescriptor cannot be cast to java.beans.IndexedPropertyDescriptor
> IndexedPropertyTestCase.testListIndexedWriteMethod:302 Threw exception java.lang.ClassCastException: java.beans.PropertyDescriptor cannot be cast to java.beans.IndexedPropertyDescriptor
> IndexedPropertyTestCase.testListReadMethod:256 Threw exception java.lang.ClassCastException: java.beans.PropertyDescriptor cannot be cast to java.beans.IndexedPropertyDescriptor
> IndexedPropertyTestCase.testListWriteMethod:274 Threw exception java.lang.ClassCastException: java.beans.PropertyDescriptor cannot be cast to java.beans.IndexedPropertyDescriptor
> Jira422TestCase.testRootBean:36 expected:<java.[lang.String]> but was:<java.[util.List]>
> Jira422TestCase.testSecondChildBean:42 expected:<java.[lang.String]> but was:<java.[util.List]>
> {code}
> It seems some assumptions about java.beans.PropertyDescriptor implementation are no longer true in JDK 8.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)