You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by di...@apache.org on 2002/03/24 10:56:05 UTC

cvs commit: jakarta-commons/beanutils/src/java/org/apache/commons/beanutils PropertyUtils.java

dion        02/03/24 01:56:05

  Modified:    beanutils/src/java/org/apache/commons/beanutils
                        PropertyUtils.java
  Log:
  Fixed bug 7309
  
  Revision  Changes    Path
  1.23      +30 -4     jakarta-commons/beanutils/src/java/org/apache/commons/beanutils/PropertyUtils.java
  
  Index: PropertyUtils.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/beanutils/src/java/org/apache/commons/beanutils/PropertyUtils.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- PropertyUtils.java	16 Mar 2002 04:11:04 -0000	1.22
  +++ PropertyUtils.java	24 Mar 2002 09:56:05 -0000	1.23
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-commons/beanutils/src/java/org/apache/commons/beanutils/PropertyUtils.java,v 1.22 2002/03/16 04:11:04 craigmcc Exp $
  - * $Revision: 1.22 $
  - * $Date: 2002/03/16 04:11:04 $
  + * $Header: /home/cvs/jakarta-commons/beanutils/src/java/org/apache/commons/beanutils/PropertyUtils.java,v 1.23 2002/03/24 09:56:05 dion Exp $
  + * $Revision: 1.23 $
  + * $Date: 2002/03/24 09:56:05 $
    *
    * ====================================================================
    *
  @@ -131,7 +131,7 @@
    * @author Gregor Ra�man
    * @author Jan Sorensen
    * @author Scott Sanders
  - * @version $Revision: 1.22 $ $Date: 2002/03/16 04:11:04 $
  + * @version $Revision: 1.23 $ $Date: 2002/03/24 09:56:05 $
    */
   
   public class PropertyUtils {
  @@ -582,6 +582,19 @@
                   throw new NoSuchMethodException("Property '" + name +
                           "' has no mapped getter method");
               }
  +        } else {
  +          /* means that the result has to be retrieved from a map */
  +          Method readMethod = descriptor.getReadMethod();
  +          if (readMethod != null) {
  +            Object invokeResult = readMethod.invoke(bean, new Object[0]);
  +            /* test and fetch from the map */
  +            if (invokeResult instanceof java.util.Map) {
  +              result = ((java.util.Map)invokeResult).get(key);
  +            }
  +          } else {
  +            throw new NoSuchMethodException("Property '" + name +
  +                    "' has no mapped getter method");
  +          }
           }
           return result;
   
  @@ -1389,6 +1402,19 @@
                           ("Property '" + name +
                           "' has no mapped setter method");
               }
  +        } else {
  +          /* means that the result has to be retrieved from a map */
  +          Method readMethod = descriptor.getReadMethod();
  +          if (readMethod != null) {
  +            Object invokeResult = readMethod.invoke(bean, new Object[0]);
  +            /* test and fetch from the map */
  +            if (invokeResult instanceof java.util.Map) {
  +              ((java.util.Map)invokeResult).put(key, value);
  +            }
  +          } else {
  +            throw new NoSuchMethodException("Property '" + name +
  +                    "' has no mapped getter method");
  +          }
           }
   
       }
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>