Author: niallp
Date: Sat Jul 14 18:07:26 2007
New Revision: 556361

URL: http://svn.apache.org/viewvc?view=rev&rev=556361
Log:
Small re-factoring to simplify/remove duplication. 

Modified:
    
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/PropertyUtilsBean.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=556361&r1=556360&r2=556361
==============================================================================
--- 
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
 Sat Jul 14 18:07:26 2007
@@ -240,11 +240,11 @@
                 ((DynaBean) orig).getDynaClass().getDynaProperties();
             for (int i = 0; i < origDescriptors.length; i++) {
                 String name = origDescriptors[i].getName();
-                // Need to check isReadable() for WrapDynaBean
-                // (see Jira issue# BEANUTILS-61)
-                if (isReadable(orig, name)) {
-                    if (isWriteable(dest, name)) {
-                        Object value = ((DynaBean) orig).get(name);
+                if (isReadable(orig, name) && isWriteable(dest, name)) {
+                    Object value = ((DynaBean) orig).get(name);
+                    if (dest instanceof DynaBean) {
+                        ((DynaBean) dest).set(name, value);
+                    } else {
                         setSimpleProperty(dest, name, value);
                     }
                 }
@@ -253,14 +253,11 @@
             Iterator names = ((Map) orig).keySet().iterator();
             while (names.hasNext()) {
                 String name = (String) names.next();
-                if (dest instanceof DynaBean) {
-                    if (isWriteable(dest, name)) {
-                        Object value = ((Map) orig).get(name);
+                if (isWriteable(dest, name)) {
+                    Object value = ((Map) orig).get(name);
+                    if (dest instanceof DynaBean) {
                         ((DynaBean) dest).set(name, value);
-                    }
-                } else /* if (dest is a standard JavaBean) */ {
-                    if (isWriteable(dest, name)) {
-                        Object value = ((Map) orig).get(name);
+                    } else {
                         setSimpleProperty(dest, name, value);
                     }
                 }
@@ -270,17 +267,12 @@
                 getPropertyDescriptors(orig);
             for (int i = 0; i < origDescriptors.length; i++) {
                 String name = origDescriptors[i].getName();
-                if (isReadable(orig, name)) {
+                if (isReadable(orig, name) && isWriteable(dest, name)) {
+                    Object value = getSimpleProperty(orig, name);
                     if (dest instanceof DynaBean) {
-                        if (isWriteable(dest, name)) {
-                            Object value = getSimpleProperty(orig, name);
-                            ((DynaBean) dest).set(name, value);
-                        }
-                    } else /* if (dest is a standard JavaBean) */ {
-                        if (isWriteable(dest, name)) {
-                            Object value = getSimpleProperty(orig, name);
-                            setSimpleProperty(dest, name, value);
-                        }
+                        ((DynaBean) dest).set(name, value);
+                    } else {
+                        setSimpleProperty(dest, name, value);
                     }
                 }
             }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to