Author: niallp
Date: Thu May 24 08:38:56 2007
New Revision: 541327
URL: http://svn.apache.org/viewvc?view=rev&rev=541327
Log:
BEANUTILS-88 PropertyUtilsBean.isReadable/isWriteable always returns false for
mapped properties - thanks to Chuck Daniels
Modified:
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/PropertyUtilsBean.java
jakarta/commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/PropertyUtilsTestCase.java
Modified:
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/PropertyUtilsBean.java
URL:
http://svn.apache.org/viewvc/jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/PropertyUtilsBean.java?view=diff&rev=541327&r1=541326&r2=541327
==============================================================================
---
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/PropertyUtilsBean.java
(original)
+++
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/PropertyUtilsBean.java
Thu May 24 08:38:56 2007
@@ -1328,9 +1328,12 @@
getPropertyDescriptor(bean, name);
if (desc != null) {
Method readMethod = desc.getReadMethod();
- if ((readMethod == null) &&
- (desc instanceof IndexedPropertyDescriptor)) {
- readMethod = ((IndexedPropertyDescriptor)
desc).getIndexedReadMethod();
+ if (readMethod == null) {
+ if (desc instanceof IndexedPropertyDescriptor) {
+ readMethod = ((IndexedPropertyDescriptor)
desc).getIndexedReadMethod();
+ } else if (desc instanceof MappedPropertyDescriptor) {
+ readMethod = ((MappedPropertyDescriptor)
desc).getMappedReadMethod();
+ }
}
return (readMethod != null);
} else {
@@ -1384,9 +1387,12 @@
getPropertyDescriptor(bean, name);
if (desc != null) {
Method writeMethod = desc.getWriteMethod();
- if ((writeMethod == null) &&
- (desc instanceof IndexedPropertyDescriptor)) {
- writeMethod = ((IndexedPropertyDescriptor)
desc).getIndexedWriteMethod();
+ if (writeMethod == null) {
+ if (desc instanceof IndexedPropertyDescriptor) {
+ writeMethod = ((IndexedPropertyDescriptor)
desc).getIndexedWriteMethod();
+ } else if (desc instanceof MappedPropertyDescriptor) {
+ writeMethod = ((MappedPropertyDescriptor)
desc).getMappedWriteMethod();
+ }
}
return (writeMethod != null);
} else {
Modified:
jakarta/commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/PropertyUtilsTestCase.java
URL:
http://svn.apache.org/viewvc/jakarta/commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/PropertyUtilsTestCase.java?view=diff&rev=541327&r1=541326&r2=541327
==============================================================================
---
jakarta/commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/PropertyUtilsTestCase.java
(original)
+++
jakarta/commons/proper/beanutils/trunk/src/test/org/apache/commons/beanutils/PropertyUtilsTestCase.java
Thu May 24 08:38:56 2007
@@ -2076,6 +2076,60 @@
}
+ /**
+ * Test isReadable() method.
+ */
+ public void testIsReadable() {
+ TestBean bean = new TestBean();
+ String property = null;
+ try {
+ property = "stringProperty";
+ assertTrue("Property " + property +" isReadable expeced TRUE",
PropertyUtils.isReadable(bean, property));
+ } catch (Throwable t) {
+ fail("Property " + property +" isReadable Threw exception: " + t);
+ }
+ try {
+ property = "stringIndexed";
+ assertTrue("Property " + property +" isReadable expeced TRUE",
PropertyUtils.isReadable(bean, property));
+ } catch (Throwable t) {
+ fail("Property " + property +" isReadable Threw exception: " + t);
+ }
+ try {
+ property = "mappedProperty";
+ assertTrue("Property " + property +" isReadable expeced TRUE",
PropertyUtils.isReadable(bean, property));
+ } catch (Throwable t) {
+ fail("Property " + property +" isReadable Threw exception: " + t);
+ }
+
+ }
+
+ /**
+ * Test isReadable() method.
+ */
+ public void testIsWriteable() {
+ TestBean bean = new TestBean();
+ String property = null;
+ try {
+ property = "stringProperty";
+ assertTrue("Property " + property +" isWriteable expeced TRUE",
PropertyUtils.isWriteable(bean, property));
+ } catch (Throwable t) {
+ fail("Property " + property +" isWriteable Threw exception: " + t);
+ }
+ try {
+ property = "stringIndexed";
+ assertTrue("Property " + property +" isWriteable expeced TRUE",
PropertyUtils.isWriteable(bean, property));
+ } catch (Throwable t) {
+ fail("Property " + property +" isWriteable Threw exception: " + t);
+ }
+ try {
+ property = "mappedProperty";
+ assertTrue("Property " + property +" isWriteable expeced TRUE",
PropertyUtils.isWriteable(bean, property));
+ } catch (Throwable t) {
+ fail("Property " + property +" isWriteable Threw exception: " + t);
+ }
+
+ }
+
/**
* Test the mappedPropertyType of MappedPropertyDescriptor.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]