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>