You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ni...@apache.org on 2007/05/24 17:38:58 UTC

svn commit: r541327 - in /jakarta/commons/proper/beanutils/trunk/src: java/org/apache/commons/beanutils/PropertyUtilsBean.java test/org/apache/commons/beanutils/PropertyUtilsTestCase.java

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: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org