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 2006/11/11 16:39:15 UTC
svn commit: r473736 -
/jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/PropertyUtilsBean.java
Author: niallp
Date: Sat Nov 11 07:39:14 2006
New Revision: 473736
URL: http://svn.apache.org/viewvc?view=rev&rev=473736
Log:
Fix NullPointerException introduced by BEANUTILS-207
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=473736&r1=473735&r2=473736
==============================================================================
--- 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 Nov 11 07:39:14 2006
@@ -827,15 +827,16 @@
String next = name.substring(0, period);
int indexOfINDEXED_DELIM = next.indexOf(PropertyUtils.INDEXED_DELIM);
int indexOfMAPPED_DELIM = next.indexOf(PropertyUtils.MAPPED_DELIM);
+ Object nestedBean = null;
if (indexOfMAPPED_DELIM >= 0 &&
(indexOfINDEXED_DELIM < 0 ||
indexOfMAPPED_DELIM < indexOfINDEXED_DELIM)) {
- bean = getMappedProperty(bean, next);
+ nestedBean = getMappedProperty(bean, next);
} else {
if (indexOfINDEXED_DELIM >= 0) {
- bean = getIndexedProperty(bean, next);
+ nestedBean = getIndexedProperty(bean, next);
} else {
- bean = getSimpleProperty(bean, next);
+ nestedBean = getSimpleProperty(bean, next);
}
}
if (bean == null) {
@@ -844,6 +845,7 @@
name.substring(0, period) + "' on bean class '" +
bean.getClass() + "'");
}
+ bean = nestedBean;
name = name.substring(period + 1);
}
@@ -1774,20 +1776,22 @@
String next = name.substring(0, delim);
indexOfINDEXED_DELIM = next.indexOf(PropertyUtils.INDEXED_DELIM);
indexOfMAPPED_DELIM = next.indexOf(PropertyUtils.MAPPED_DELIM);
+ Object nestedBean = null;
if (bean instanceof Map) {
- bean = getPropertyOfMapBean((Map)bean, next);
+ nestedBean = getPropertyOfMapBean((Map)bean, next);
} else if (indexOfMAPPED_DELIM >= 0) {
- bean = getMappedProperty(bean, next);
+ nestedBean = getMappedProperty(bean, next);
} else if (indexOfINDEXED_DELIM >= 0) {
- bean = getIndexedProperty(bean, next);
+ nestedBean = getIndexedProperty(bean, next);
} else {
- bean = getSimpleProperty(bean, next);
+ nestedBean = getSimpleProperty(bean, next);
}
if (bean == null) {
throw new IllegalArgumentException
("Null property value for '" + name.substring(0, delim) +
"' on bean class '" + bean.getClass() + "'");
}
+ bean = nestedBean;
name = name.substring(delim + 1);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org