You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pe...@apache.org on 2011/01/27 12:30:05 UTC
svn commit: r1064091 - in /wicket/branches/wicket-1.4.x/wicket/src:
main/java/org/apache/wicket/util/lang/PropertyResolver.java
test/java/org/apache/wicket/util/lang/PropertyResolverTest.java
Author: pedro
Date: Thu Jan 27 11:30:05 2011
New Revision: 1064091
URL: http://svn.apache.org/viewvc?rev=1064091&view=rev
Log:
merging message improvement on PropertyResolver from trunk
Issue: WICKET-1802
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java (contents, props changed)
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/util/lang/PropertyResolverTest.java (contents, props changed)
Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java?rev=1064091&r1=1064090&r2=1064091&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java (original)
+++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java Thu Jan 27 11:30:05 2011
@@ -71,6 +71,10 @@ public final class PropertyResolver
/** Log. */
private static final Logger log = LoggerFactory.getLogger(PropertyResolver.class);
+ private static final String GET = "get";
+ private static final String IS = "is";
+ private static final String SET = "set";
+
/**
* Looks up the value from the object with the given expression. If the expression, the object
* itself or one property evaluates to null then a null will be returned.
@@ -93,8 +97,8 @@ public final class PropertyResolver
{
return null;
}
- return getter.getValue();
+ return getter.getValue();
}
/**
@@ -113,8 +117,8 @@ public final class PropertyResolver
* @param converter
* The converter to convert the value if needed to the right type.
*/
- public final static void setValue(final String expression, final Object object, Object value,
- PropertyResolverConverter converter)
+ public final static void setValue(final String expression, final Object object,
+ final Object value, final PropertyResolverConverter converter)
{
if (expression == null || expression.equals(""))
{
@@ -143,7 +147,7 @@ public final class PropertyResolver
* @param object
* @return class of the target property object
*/
- public final static Class<?> getPropertyClass(String expression, Object object)
+ public final static Class<?> getPropertyClass(final String expression, final Object object)
{
ObjectAndGetSetter setter = getObjectAndGetSetter(expression, object, RESOLVE_CLASS);
if (setter == null)
@@ -160,7 +164,8 @@ public final class PropertyResolver
* @param clz
* @return class of the target Class property expression
*/
- public static <T> Class<T> getPropertyClass(String expression, Class<?> clz)
+ @SuppressWarnings("unchecked")
+ public static <T> Class<T> getPropertyClass(final String expression, final Class<?> clz)
{
ObjectAndGetSetter setter = getObjectAndGetSetter(expression, null, RESOLVE_CLASS, clz);
if (setter == null)
@@ -177,7 +182,7 @@ public final class PropertyResolver
* @return Field for the property expression or null if such field doesn't exist (only getters
* and setters)
*/
- public final static Field getPropertyField(String expression, Object object)
+ public final static Field getPropertyField(final String expression, final Object object)
{
ObjectAndGetSetter setter = getObjectAndGetSetter(expression, object, RESOLVE_CLASS);
if (setter == null)
@@ -194,7 +199,7 @@ public final class PropertyResolver
* @return Getter method for the property expression or null if such getter doesn't exist (only
* field)
*/
- public final static Method getPropertyGetter(String expression, Object object)
+ public final static Method getPropertyGetter(final String expression, final Object object)
{
ObjectAndGetSetter setter = getObjectAndGetSetter(expression, object, RESOLVE_CLASS);
if (setter == null)
@@ -211,7 +216,7 @@ public final class PropertyResolver
* @return Setter method for the property expression or null if such setter doesn't exist (only
* field)
*/
- public final static Method getPropertySetter(String expression, Object object)
+ public final static Method getPropertySetter(final String expression, final Object object)
{
ObjectAndGetSetter setter = getObjectAndGetSetter(expression, object, RESOLVE_CLASS);
if (setter == null)
@@ -237,7 +242,6 @@ public final class PropertyResolver
return getObjectAndGetSetter(expression, object, tryToCreateNull, object.getClass());
}
-
/**
* Receives the class parameter also, since this method can resolve the type for some
* expression, only knowing the target class
@@ -249,10 +253,9 @@ public final class PropertyResolver
* @return {@link ObjectAndGetSetter}
*/
private static ObjectAndGetSetter getObjectAndGetSetter(final String expression,
- final Object object, int tryToCreateNull, Class<?> clz)
+ final Object object, final int tryToCreateNull, Class<?> clz)
{
- final String expressionBracketsSeperated = Strings.replaceAll(expression, "[", ".[")
- .toString();
+ String expressionBracketsSeperated = Strings.replaceAll(expression, "[", ".[").toString();
int index = getNextDotIndex(expressionBracketsSeperated, 0);
int lastIndex = 0;
Object value = object;
@@ -273,7 +276,6 @@ public final class PropertyResolver
}
catch (WicketRuntimeException ex)
{
-
// expression by it self can't be found. try to find a
// setPropertyByIndex(int,value) method
index = getNextDotIndex(expressionBracketsSeperated, index + 1);
@@ -331,8 +333,13 @@ public final class PropertyResolver
return new ObjectAndGetSetter(getAndSetter, value);
}
-
- private static int getNextDotIndex(String expression, int start)
+ /**
+ *
+ * @param expression
+ * @param start
+ * @return next dot index
+ */
+ private static int getNextDotIndex(final String expression, final int start)
{
boolean insideBracket = false;
for (int i = start; i < expression.length(); i++)
@@ -354,7 +361,7 @@ public final class PropertyResolver
return -1;
}
- private final static IGetAndSet getGetAndSetter(String exp, Class<?> clz)
+ private final static IGetAndSet getGetAndSetter(String exp, final Class<?> clz)
{
IClassCache classesToGetAndSetters = getClassesToGetAndSetters();
Map<String, IGetAndSet> getAndSetters = classesToGetAndSetters.get(clz);
@@ -441,8 +448,8 @@ public final class PropertyResolver
}
else
{
- throw new WicketRuntimeException("can't parse the exp " + exp +
- " as an index for an array lookup");
+ throw new WicketRuntimeException("Can't parse the expression '" + exp +
+ "' as an index for an array lookup");
}
}
}
@@ -461,21 +468,18 @@ public final class PropertyResolver
String propertyIndex = exp.substring(index + 1);
try
{
-
int parsedIndex = Integer.parseInt(propertyIndex);
- // if so then it could be a
- // getPropertyIndex(int)
+ // if so then it could be a getPropertyIndex(int)
// and setPropertyIndex(int, object)
String name = Character.toUpperCase(propertyName.charAt(0)) +
propertyName.substring(1);
- method = clz.getMethod("get" + name, new Class[] { int.class });
+ method = clz.getMethod(GET + name, new Class[] { int.class });
getAndSetter = new ArrayPropertyGetSet(method, parsedIndex);
-
}
catch (Exception e)
{
throw new WicketRuntimeException(
- "no get method defined for class: " + clz +
+ "No get method defined for class: " + clz +
" expression: " + propertyName);
}
}
@@ -519,7 +523,7 @@ public final class PropertyResolver
* @param expression
* @return introspected field
*/
- private static Field findField(Class<?> clz, String expression)
+ private static Field findField(final Class<?> clz, final String expression)
{
Field field = null;
try
@@ -552,13 +556,13 @@ public final class PropertyResolver
* @param expression
* @return The method for the expression null if not found
*/
- private final static Method findGetter(Class<?> clz, String expression)
+ private final static Method findGetter(final Class<?> clz, final String expression)
{
String name = Character.toUpperCase(expression.charAt(0)) + expression.substring(1);
Method method = null;
try
{
- method = clz.getMethod("get" + name, (Class[])null);
+ method = clz.getMethod(GET + name, (Class[])null);
}
catch (Exception e)
{
@@ -567,7 +571,7 @@ public final class PropertyResolver
{
try
{
- method = clz.getMethod("is" + name, (Class[])null);
+ method = clz.getMethod(IS + name, (Class[])null);
}
catch (Exception e)
{
@@ -577,7 +581,7 @@ public final class PropertyResolver
return method;
}
- private final static Method findMethod(Class<?> clz, String expression)
+ private final static Method findMethod(final Class<?> clz, String expression)
{
if (expression.endsWith("()"))
{
@@ -608,7 +612,6 @@ public final class PropertyResolver
*/
private final static class ObjectAndGetSetter
{
-
private final IGetAndSet getAndSetter;
private final Object value;
@@ -670,10 +673,8 @@ public final class PropertyResolver
{
return getAndSetter.getSetter();
}
-
}
-
/**
* @author jcompagner
*/
@@ -727,7 +728,7 @@ public final class PropertyResolver
private static abstract class AbstractGetAndSet implements IGetAndSet
{
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#getField()
+ * {@inheritDoc}
*/
public Field getField()
{
@@ -735,7 +736,7 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#getGetter()
+ * {@inheritDoc}
*/
public Method getGetter()
{
@@ -743,7 +744,7 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#getSetter()
+ * {@inheritDoc}
*/
public Method getSetter()
{
@@ -751,7 +752,7 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#getTargetClass()
+ * {@inheritDoc}
*/
public Class<?> getTargetClass()
{
@@ -761,7 +762,7 @@ public final class PropertyResolver
private static final class MapGetSet extends AbstractGetAndSet
{
- final private String key;
+ private final String key;
MapGetSet(String key)
{
@@ -769,27 +770,27 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#getValue(java.lang.Object)
+ * {@inheritDoc}
*/
- public Object getValue(Object object)
+ public Object getValue(final Object object)
{
return ((Map<?, ?>)object).get(key);
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#setValue(Object, Object,
- * PropertyResolverConverter)
+ * {@inheritDoc}
*/
@SuppressWarnings("unchecked")
- public void setValue(Object object, Object value, PropertyResolverConverter converter)
+ public void setValue(final Object object, final Object value,
+ final PropertyResolverConverter converter)
{
((Map<String, Object>)object).put(key, value);
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#newValue(Object)
+ * {@inheritDoc}
*/
- public Object newValue(Object object)
+ public Object newValue(final Object object)
{
// Map can't make a newValue or should it look what is more in the
// map and try to make one of the class if finds?
@@ -807,21 +808,23 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#getValue(java.lang.Object)
+ * {@inheritDoc}
*/
- public Object getValue(Object object)
+ public Object getValue(final Object object)
{
if (((List<?>)object).size() <= index)
+ {
return null;
+ }
return ((List<?>)object).get(index);
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#setValue(Object, Object,
- * PropertyResolverConverter)
+ * {@inheritDoc}
*/
@SuppressWarnings("unchecked")
- public void setValue(Object object, Object value, PropertyResolverConverter converter)
+ public void setValue(final Object object, final Object value,
+ final PropertyResolverConverter converter)
{
List<Object> lst = (List<Object>)object;
@@ -844,7 +847,7 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#newValue(Object)
+ * {@inheritDoc}
*/
public Object newValue(Object object)
{
@@ -866,7 +869,7 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#getValue(java.lang.Object)
+ * {@inheritDoc}
*/
public Object getValue(Object object)
{
@@ -878,8 +881,7 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#setValue(Object, Object,
- * PropertyResolverConverter)
+ * {@inheritDoc}
*/
public void setValue(Object object, Object value, PropertyResolverConverter converter)
{
@@ -888,7 +890,7 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#newValue(java.lang.Object)
+ * {@inheritDoc}
*/
public Object newValue(Object object)
{
@@ -907,7 +909,7 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#getTargetClass()
+ * {@inheritDoc}
*/
@Override
public Class<?> getTargetClass()
@@ -923,32 +925,33 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#getValue(java.lang.Object)
+ * {@inheritDoc}
*/
- public Object getValue(Object object)
+ public Object getValue(final Object object)
{
return new Integer(Array.getLength(object));
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#setValue(Object, Object,
- * PropertyResolverConverter)
+ * {@inheritDoc}
*/
- public void setValue(Object object, Object value, PropertyResolverConverter converter)
+ public void setValue(final Object object, final Object value,
+ final PropertyResolverConverter converter)
{
- throw new WicketRuntimeException("Cant set the length on an array");
+ throw new WicketRuntimeException("You can't set the length on an array:" + object);
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#newValue(java.lang.Object)
+ * {@inheritDoc}
*/
- public Object newValue(Object object)
+ public Object newValue(final Object object)
{
- throw new WicketRuntimeException("Cant get a new value from a length of an array");
+ throw new WicketRuntimeException("Can't get a new value from a length of an array: " +
+ object);
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#getTargetClass()
+ * {@inheritDoc}
*/
@Override
public Class<?> getTargetClass()
@@ -963,30 +966,30 @@ public final class PropertyResolver
final private Method getMethod;
private Method setMethod;
- ArrayPropertyGetSet(Method method, int index)
+ ArrayPropertyGetSet(final Method method, final int index)
{
this.index = new Integer(index);
getMethod = method;
getMethod.setAccessible(true);
}
- private final static Method findSetter(Method getMethod, Class<?> clz)
+ private final static Method findSetter(final Method getMethod, final Class<?> clz)
{
String name = getMethod.getName();
- name = "set" + name.substring(3);
+ name = SET + name.substring(3);
try
{
return clz.getMethod(name, new Class[] { int.class, getMethod.getReturnType() });
}
catch (Exception e)
{
- log.debug("Cannot find setter method corresponding to " + getMethod);
+ log.debug("Can't find setter method corresponding to " + getMethod);
}
return null;
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#getValue(java.lang.Object)
+ * {@inheritDoc}
*/
public Object getValue(Object object)
{
@@ -1009,10 +1012,10 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#setValue(Object, Object,
- * PropertyResolverConverter)
+ * {@inheritDoc}
*/
- public void setValue(Object object, Object value, PropertyResolverConverter converter)
+ public void setValue(final Object object, final Object value,
+ final PropertyResolverConverter converter)
{
if (setMethod == null)
{
@@ -1044,13 +1047,13 @@ public final class PropertyResolver
}
else
{
- throw new WicketRuntimeException("no set method defined for value: " + value +
+ throw new WicketRuntimeException("No set method defined for value: " + value +
" on object: " + object);
}
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#getTargetClass()
+ * {@inheritDoc}
*/
@Override
public Class<?> getTargetClass()
@@ -1059,7 +1062,7 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#newValue(java.lang.Object)
+ * {@inheritDoc}
*/
public Object newValue(Object object)
{
@@ -1104,7 +1107,7 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#getValue(java.lang.Object)
+ * {@inheritDoc}
*/
public final Object getValue(final Object object)
{
@@ -1155,15 +1158,15 @@ public final class PropertyResolver
{
if (value != null)
{
- throw new ConversionException("Can't convert value: " + value +
- " to class: " + getMethod.getReturnType() + " for setting it on " +
- object);
+ throw new ConversionException("Method [" + getMethod +
+ "]. Can't convert value: " + value + " to class: " +
+ getMethod.getReturnType() + " for setting it on " + object);
}
else if (getMethod.getReturnType().isPrimitive())
{
- throw new ConversionException(
- "Can't convert null value to a primitive class: " +
- getMethod.getReturnType() + " for setting it on " + object);
+ throw new ConversionException("Method [" + getMethod +
+ "]. Can't convert null value to a primitive class: " +
+ getMethod.getReturnType() + " for setting it on " + object);
}
}
}
@@ -1208,13 +1211,13 @@ public final class PropertyResolver
private final static Method findSetter(Method getMethod, Class<?> clz)
{
String name = getMethod.getName();
- if (name.startsWith("get"))
+ if (name.startsWith(GET))
{
- name = "set" + name.substring(3);
+ name = SET + name.substring(3);
}
else
{
- name = "set" + name.substring(2);
+ name = SET + name.substring(2);
}
try
{
@@ -1252,7 +1255,7 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#newValue(java.lang.Object)
+ * {@inheritDoc}
*/
public Object newValue(Object object)
{
@@ -1277,7 +1280,7 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#getTargetClass()
+ * {@inheritDoc}
*/
@Override
public Class<?> getTargetClass()
@@ -1286,7 +1289,7 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.AbstractGetAndSet#getGetter()
+ * {@inheritDoc}
*/
@Override
public Method getGetter()
@@ -1295,7 +1298,7 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.AbstractGetAndSet#getSetter()
+ * {@inheritDoc}
*/
@Override
public Method getSetter()
@@ -1304,7 +1307,7 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.AbstractGetAndSet#getField()
+ * {@inheritDoc}
*/
@Override
public Field getField()
@@ -1318,7 +1321,6 @@ public final class PropertyResolver
*/
private static class FieldGetAndSetter extends AbstractGetAndSet
{
-
private final Field field;
/**
@@ -1326,7 +1328,7 @@ public final class PropertyResolver
*
* @param field
*/
- public FieldGetAndSetter(Field field)
+ public FieldGetAndSetter(final Field field)
{
super();
this.field = field;
@@ -1334,9 +1336,9 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#getValue(java.lang.Object)
+ * {@inheritDoc}
*/
- public Object getValue(Object object)
+ public Object getValue(final Object object)
{
try
{
@@ -1350,9 +1352,9 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#newValue(java.lang.Object)
+ * {@inheritDoc}
*/
- public Object newValue(Object object)
+ public Object newValue(final Object object)
{
Class<?> clz = field.getType();
Object value = null;
@@ -1369,10 +1371,10 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#setValue(Object, Object,
- * PropertyResolverConverter)
+ * {@inheritDoc}
*/
- public void setValue(Object object, Object value, PropertyResolverConverter converter)
+ public void setValue(final Object object, Object value,
+ final PropertyResolverConverter converter)
{
value = converter.convert(value, field.getType());
try
@@ -1387,7 +1389,7 @@ public final class PropertyResolver
}
/**
- * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#getTargetClass()
+ * {@inheritDoc}
*/
@Override
public Class<?> getTargetClass()
@@ -1395,6 +1397,9 @@ public final class PropertyResolver
return field.getType();
}
+ /**
+ * {@inheritDoc}
+ */
@Override
public Field getField()
{
@@ -1431,7 +1436,6 @@ public final class PropertyResolver
applicationToClassesToGetAndSetters.remove(application);
}
-
/**
* Sets the {@link IClassCache} for the given application.
*
@@ -1444,7 +1448,7 @@ public final class PropertyResolver
* to use or null if the default must be set.
* @param classCache
*/
- public static void setClassCache(Application application, IClassCache classCache)
+ public static void setClassCache(final Application application, final IClassCache classCache)
{
if (application != null)
{
@@ -1456,7 +1460,6 @@ public final class PropertyResolver
}
}
-
/**
* An implementation of the class can be set on the
* {@link PropertyResolver#setClassCacheCreator(Application, IClassCache)} method for a specific
Propchange: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Thu Jan 27 11:30:05 2011
@@ -0,0 +1,4 @@
+/wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java:653208,653212,653215,653226,653231,654304,655446,655466,655786,658141,658189,659118,659120,662360,663058,671549,671885,687144-688996,698530-698577,701132-701133,701843,701850-701877,704231,708127,722099-722105,726536,728467-728490,731960,734478,739647,739951,745468-745497,749817,755171-755176,759905,760374,764756,769389,769440,774373,781715,781719,790879
+/wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java:760296-760351,760353-760355
+/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java:1062291
+/wicket/trunk/wicket-devutils/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java:760352
Modified: wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/util/lang/PropertyResolverTest.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/util/lang/PropertyResolverTest.java?rev=1064091&r1=1064090&r2=1064091&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/util/lang/PropertyResolverTest.java (original)
+++ wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/util/lang/PropertyResolverTest.java Thu Jan 27 11:30:05 2011
@@ -630,4 +630,30 @@ public class PropertyResolverTest extend
return String.valueOf(value);
}
}
+
+ /**
+ * @see <a href="https://issues.apache.org/jira/browse/WICKET-1802">WICKET-1802</a>
+ */
+ public void testConversionExceptionMessageContainsTheObjectPropertyBeingSet()
+ {
+ try
+ {
+ PropertyResolverConverter convertToNull = new PropertyResolverConverter(null, null)
+ {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public Object convert(Object object, Class<?> clz)
+ {
+ return null;
+ }
+ };
+ PropertyResolver.setValue("name", person, "", convertToNull);
+ fail("Should have thrown an ConversionException");
+ }
+ catch (ConversionException e)
+ {
+ assertTrue(e.getMessage().toLowerCase().contains("name"));
+ }
+ }
}
Propchange: wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/util/lang/PropertyResolverTest.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Thu Jan 27 11:30:05 2011
@@ -0,0 +1,4 @@
+/wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/lang/PropertyResolverTest.java:653208,653212,653215,653226,653231,654304,655446,655466,655786,658141,658189,659118,659120,662360,663058,671549,671885,687144-688996,698530-698577,701132-701133,701843,701850-701877,704231,708127,722099-722105,726536,728467-728490,731960,734478,739647,739951,745468-745497,749817,755171-755176,759905,760374,764756,769389,769440,774373,781715,781719,790879
+/wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket/src/test/java/org/apache/wicket/util/lang/PropertyResolverTest.java:760296-760351,760353-760355
+/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/lang/PropertyResolverTest.java:1063296
+/wicket/trunk/wicket-devutils/wicket/src/test/java/org/apache/wicket/util/lang/PropertyResolverTest.java:760352