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); } } } |