commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oliver Heger (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (BEANUTILS-443) PropertyUtils.setProperty(...) cannot find the Setter method if returnValue doesn't exact match the interface return value.
Date Wed, 04 Dec 2013 20:36:36 GMT

    [ 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)

Mime
View raw message