You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openwebbeans.apache.org by "Christian Kaltepoth (JIRA)" <ji...@apache.org> on 2013/10/25 08:27:30 UTC

[jira] [Updated] (OWB-907) ClassUtil fails with ArrayIndexOutOfBoundsException if WildcardType.getUpperBound() returns empty array

     [ https://issues.apache.org/jira/browse/OWB-907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christian Kaltepoth updated OWB-907:
------------------------------------

    Description: 
If WildcardType.getUpperBounds() returns an empty array, OWB throws the following exception:

java.lang.ArrayIndexOutOfBoundsException: 0
	at org.apache.webbeans.util.ClassUtil.checkRequiredTypeIsWildCard(ClassUtil.java:875)
	at org.apache.webbeans.util.ClassUtil.isAssignableForParametrizedCheckArguments(ClassUtil.java:798)
	at org.apache.webbeans.util.ClassUtil.isAssignableForParametrized(ClassUtil.java:768)
	at org.apache.webbeans.util.ClassUtil.isAssignable(ClassUtil.java:552)
	at org.apache.webbeans.container.InjectionResolver.implResolveByType(InjectionResolver.java:501)
	at org.apache.webbeans.container.InjectionResolver.implResolveByType(InjectionResolver.java:411)
	at org.apache.webbeans.container.BeanManagerImpl.getBeans(BeanManagerImpl.java:678)
	at org.apache.webbeans.container.InjectableBeanManager.getBeans(InjectableBeanManager.java:105)

>From my understanding of the WildcardType javadocs an empty array is a valid result of invoking this method and actually means that Object is the upper bound.

http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/WildcardType.html#getUpperBounds()  

  was:
If WildcardType.getUpperBounds() returns an empty error, OWB throws the following exception:

java.lang.ArrayIndexOutOfBoundsException: 0
	at org.apache.webbeans.util.ClassUtil.checkRequiredTypeIsWildCard(ClassUtil.java:875)
	at org.apache.webbeans.util.ClassUtil.isAssignableForParametrizedCheckArguments(ClassUtil.java:798)
	at org.apache.webbeans.util.ClassUtil.isAssignableForParametrized(ClassUtil.java:768)
	at org.apache.webbeans.util.ClassUtil.isAssignable(ClassUtil.java:552)
	at org.apache.webbeans.container.InjectionResolver.implResolveByType(InjectionResolver.java:501)
	at org.apache.webbeans.container.InjectionResolver.implResolveByType(InjectionResolver.java:411)
	at org.apache.webbeans.container.BeanManagerImpl.getBeans(BeanManagerImpl.java:678)
	at org.apache.webbeans.container.InjectableBeanManager.getBeans(InjectableBeanManager.java:105)

>From my understanding of the WildcardType javadocs an empty array is a valid result of invoking this method and actually means that Object is the upper bound.

http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/WildcardType.html#getUpperBounds()  


> ClassUtil fails with ArrayIndexOutOfBoundsException if WildcardType.getUpperBound() returns empty array
> -------------------------------------------------------------------------------------------------------
>
>                 Key: OWB-907
>                 URL: https://issues.apache.org/jira/browse/OWB-907
>             Project: OpenWebBeans
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.8
>            Reporter: Christian Kaltepoth
>
> If WildcardType.getUpperBounds() returns an empty array, OWB throws the following exception:
> java.lang.ArrayIndexOutOfBoundsException: 0
> 	at org.apache.webbeans.util.ClassUtil.checkRequiredTypeIsWildCard(ClassUtil.java:875)
> 	at org.apache.webbeans.util.ClassUtil.isAssignableForParametrizedCheckArguments(ClassUtil.java:798)
> 	at org.apache.webbeans.util.ClassUtil.isAssignableForParametrized(ClassUtil.java:768)
> 	at org.apache.webbeans.util.ClassUtil.isAssignable(ClassUtil.java:552)
> 	at org.apache.webbeans.container.InjectionResolver.implResolveByType(InjectionResolver.java:501)
> 	at org.apache.webbeans.container.InjectionResolver.implResolveByType(InjectionResolver.java:411)
> 	at org.apache.webbeans.container.BeanManagerImpl.getBeans(BeanManagerImpl.java:678)
> 	at org.apache.webbeans.container.InjectableBeanManager.getBeans(InjectableBeanManager.java:105)
> From my understanding of the WildcardType javadocs an empty array is a valid result of invoking this method and actually means that Object is the upper bound.
> http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/WildcardType.html#getUpperBounds()  



--
This message was sent by Atlassian JIRA
(v6.1#6144)