craigmcc 02/03/15 20:11:04
Modified: beanutils/src/java/org/apache/commons/beanutils
PropertyUtils.java
Log:
In copyProperties(), skip write-only properties on the origin bean without
throwing an exception.
PR: Bugzilla #6217 (reported against Struts)
Submitted by: Arnaud Heritier <aheritier at sopragroup.com>
Revision Changes Path
1.22 +14 -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.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- PropertyUtils.java 23 Jan 2002 22:35:58 -0000 1.21
+++ PropertyUtils.java 16 Mar 2002 04:11:04 -0000 1.22
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-commons/beanutils/src/java/org/apache/commons/beanutils/PropertyUtils.java,v
1.21 2002/01/23 22:35:58 sanders Exp $
- * $Revision: 1.21 $
- * $Date: 2002/01/23 22:35:58 $
+ * $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 $
*
* ====================================================================
*
@@ -131,7 +131,7 @@
* @author Gregor Ra�man
* @author Jan Sorensen
* @author Scott Sanders
- * @version $Revision: 1.21 $ $Date: 2002/01/23 22:35:58 $
+ * @version $Revision: 1.22 $ $Date: 2002/03/16 04:11:04 $
*/
public class PropertyUtils {
@@ -256,6 +256,16 @@
PropertyDescriptor origDescriptors[] = getPropertyDescriptors(orig);
for (int i = 0; i < origDescriptors.length; i++) {
+ Method readMethod = origDescriptors[i].getReadMethod();
+ if ((readMethod == null) &&
+ (origDescriptors[i] instanceof IndexedPropertyDescriptor)) {
+ readMethod =
+ ((IndexedPropertyDescriptor) origDescriptors[i]).
+ getIndexedReadMethod();
+ }
+ if (readMethod == null) {
+ continue; // This is a write-only property
+ }
String name = origDescriptors[i].getName();
if (getPropertyDescriptor(dest, name) != null) {
Object value = getSimpleProperty(orig, name);
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>