|
From: Chad B. <cwb...@us...> - 2008-07-02 23:44:30
|
User: cwbrandon
Date: 08/07/02 16:44:38
Modified: andromda-jsf2/src/main/resources/templates/jsf2/utils
FormPopulator.java.vsl
Log:
improve error handling
Revision Changes Path
1.11 +14 -5 cartridges/andromda-jsf2/src/main/resources/templates/jsf2/utils/FormPopulator.java.vsl
Index: FormPopulator.java.vsl
===================================================================
RCS file: /cvsroot/andromdaplugins/cartridges/andromda-jsf2/src/main/resources/templates/jsf2/utils/FormPopulator.java.vsl,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -w -r1.10 -r1.11
--- FormPopulator.java.vsl 2 Jul 2008 11:51:24 -0000 1.10
+++ FormPopulator.java.vsl 2 Jul 2008 23:44:38 -0000 1.11
@@ -188,23 +188,32 @@
value = org.apache.commons.beanutils.ConvertUtils.convert(propertyAsString, descriptor.getPropertyType());
}
}
+ org.apache.commons.beanutils.PropertyUtils.setProperty(form, name, value);
}
else
{
value = property;
if (value != null)
{
- if (!descriptor.getPropertyType().isAssignableFrom(value.getClass()))
+ try
+ {
+ org.apache.commons.beanutils.PropertyUtils.setProperty(form, name, value);
+ }
+ catch (Exception exception)
{
- final String propertyTypeName = descriptor.getPropertyType().getName();
final String valueTypeName = value.getClass().getName();
- throw new java.lang.IllegalArgumentException("Can not set form property '"
+ final String propertyTypeName = descriptor.getPropertyType().getName();
+ final StringBuffer message = new StringBuffer("Can not set form property '"
+ name + "' of type: " + propertyTypeName + " with value: "
- + value + "; " + valueTypeName + " is not assignable to " + propertyTypeName);
+ + value);
+ if (!descriptor.getPropertyType().isAssignableFrom(value.getClass()))
+ {
+ message.append("; " + valueTypeName + " is not assignable to " + propertyTypeName);
+ }
+ throw new java.lang.IllegalArgumentException(message + ": " + exception.toString());
}
}
}
- org.apache.commons.beanutils.PropertyUtils.setProperty(form, name, value);
}
}
}
|