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]