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

Andre Diermann commented on LANG-965:
-------------------------------------

Hello Benedikt,

sorry for inconvenience. Let me clarify:

- Restoring accessibility in {{readField(Object, String, boolean)}} and 
{{writeField(Object, String, Object, boolean)}} is necessary, because 
getField() gets called in these two methods. getField() may change the 
accessibility of the field. Since getField() guarantees, according to its 
javadoc, to return "an accessible {@link Field} by name" it was not an option 
to restore the accessibility within this method. Therefore it needs to be 
restored in the above mentioned read/write methods separately.

- The original tests failed after the "accessibility leak" has been fixed. In 
the corresponding assert statement the field was filled with an expected value 
for assertion although it might not be accessible. Before, they only succeeded 
because of the leak. You can reproduce this by applying the patch for the 
FieldUtil class and use the original tests. So the changes to the tests do not 
test the restoring of the accessibility, they just guarantee, that the tests 
work like before.

Let me know, if any uncertainty remains.

BR
André

> FieldUtils methods leak accessible flags
> ----------------------------------------
>
>                 Key: LANG-965
>                 URL: https://issues.apache.org/jira/browse/LANG-965
>             Project: Commons Lang
>          Issue Type: Bug
>          Components: lang.reflect.*
>    Affects Versions: 3.1, 3.2.1
>         Environment: Apache Maven 3.1.1 
> (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 11:22:22-0400)
> Maven home: C:\Java\apache-maven-3.1.1\bin\..
> Java version: 1.7.0_51, vendor: Oracle Corporation
> Java home: C:\Program Files\Java\jdk1.7.0_51\jre
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
>            Reporter: Gary Gregory
>            Assignee: Benedikt Ritter
>             Fix For: Review Patch
>
>         Attachments: commons-lang-965.patch
>
>
> When various FieldUtils methods are called the accessible is set to true but 
> never reset to false. This is side-effect should be cleaned up.
> This makes a mess of the object model which represents the class meta data.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to