commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jochen Flaig (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (BEANUTILS-421) NullPointerException in BeanUtilsBean.setProperty
Date Mon, 27 May 2013 10:45:31 GMT

    [ https://issues.apache.org/jira/browse/BEANUTILS-421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13667687#comment-13667687
] 

Jochen Flaig commented on BEANUTILS-421:
----------------------------------------

We also experienced a NullPointerException in BeanUtils.populate(). I not sure, whether our
problem is related to this one, but I’d like to give you the information in case it might
be useful. The problem occurred to us for the first time after upgrading our JRE from 1.7.0_09
to 1.7.0_11.

In our application, we have a bean class that derives another bean class, and the latter provides
an indexed property. If the first access to that indexed property (after starting the JVM)
is made via the derived class, everything is fine (see test case "DerivedFirstTest"). But
if we access that indexed property for the first time via the base class, it’s impossible
to set the property in the derived class (see "BaseFirstTest").

It seems that a call to PropertyUtilsBean.getPropertyDescriptors() on the base class “ruins”
the property descriptors for the derived class (see "IntrospectionTest"). May be the work-around
for bug 28358 modifies the descriptors received form java.beans.BeanInfo in a way, that is
not compatible with the caching of the property descriptors inside the JRE classes. Wouldn’t
it be safer to work on a copy of the property descriptor when modifying it?

                
> NullPointerException in BeanUtilsBean.setProperty
> -------------------------------------------------
>
>                 Key: BEANUTILS-421
>                 URL: https://issues.apache.org/jira/browse/BEANUTILS-421
>             Project: Commons BeanUtils
>          Issue Type: Bug
>          Components: Bean / Property Utils
>    Affects Versions: 1.8.3
>            Reporter: Maxim Kramarenko
>            Assignee: Benedikt Ritter
>            Priority: Blocker
>             Fix For: 1.8.4
>
>         Attachments: src.zip
>
>
> I got the following exception on some servers:
>    javax.servlet.ServletException: BeanUtils.populate
> 	at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:475)
> 	at org.apache.struts.chain.commands.servlet.PopulateActionForm.populate(PopulateActionForm.java:50)
> 	at org.apache.struts.chain.commands.AbstractPopulateActionForm.execute(AbstractPopulateActionForm.java:60)
> 	at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
> 	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
> 	at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
> 	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
> 	at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
> 	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
> 	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
> Caused by: java.lang.NullPointerException
> 	at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:982)
> 	at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:830)
> 	at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:433)
> 	at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:473)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message