[
https://issues.apache.org/jira/browse/BEANUTILS-443?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13839322#comment-13839322
]
Oliver Heger commented on BEANUTILS-443:
----------------------------------------
Interesting that the Java versions behave differently in this case.
Well, I am not sure how to proceed here. If the code works in Java 7, the
motivation for fixing older versions is not that high. If you want to drive
this forward, can you provide a minimalistic JUnit test which demonstrates the
problem in Java 6 and below?
> PropertyUtils.setProperty(...) cannot find the Setter method if returnValue
> doesn't exact match the interface return value.
> ---------------------------------------------------------------------------------------------------------------------------
>
> Key: BEANUTILS-443
> URL: https://issues.apache.org/jira/browse/BEANUTILS-443
> Project: Commons BeanUtils
> Issue Type: Bug
> Components: Bean / Property Utils
> Affects Versions: 1.8.3
> Environment: at least Java 1.6.0_33 on ubuntu
> Reporter: Harald Brabenetz
> Priority: Critical
>
> Here is My testClass:
> {code:title=PropertyUtilsSetValueUTest.java|borderStyle=solid}
> import org.apache.commons.beanutils.PropertyUtils;
> import org.junit.Test;
> public class PropertyUtilsSetValueUTest {
> @Test
> public void testSetProperty() throws Exception {
> final MyEntity entity = new MyEntity();
> // fist set value manual
> final OtherEntity otherEntity = new OtherEntity();
> entity.setOtherEntity(otherEntity);
> // second set value with PropertyUtils
> PropertyUtils.setProperty(entity, "otherEntity", otherEntity);
> // => java.lang.NoSuchMethodException: Property 'otherEntity' has no
> setter method in class '... MyEntity'
> }
> public static class MyEntity implements MyEntityInterface {
> private OtherEntity otherEntity;
> @Override
> public OtherEntity getOtherEntity() {
> return this.otherEntity;
> }
> public void setOtherEntity(final OtherEntity otherEntity) {
> this.otherEntity = otherEntity;
> }
> }
> public static class OtherEntity implements OtherEntityInterface {
> }
> public static interface MyEntityInterface {
> OtherEntityInterface getOtherEntity();
> }
> public static interface OtherEntityInterface {
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.1#6144)