so walk the code and see where your ConversionException is being wrapped by a RuntimeException
-igor On Fri, Dec 4, 2009 at 1:08 PM, Sam Barrow <s...@sambarrow.com> wrote: > That's what I'm doing, but i still get the conversion exception > > public final class EmailAddressConverter implements IConverter { > > private static final long serialVersionUID = -4264887925119691218L; > > �...@override > public Object convertToObject(final String value, final Locale locale) > { > if (StringUtils.isNotBlank(value)) { > if (Valid.emailAddress(value)) { > return new EmailAddress(value); > } > else { > throw new ConversionException("Invalid email > address."); > } > } > else { > return null; > } > } > �...@override > public String convertToString(final Object value, final Locale locale) > { > return value.toString(); > } > > } > > > On Fri, 2009-12-04 at 12:16 -0800, Igor Vaynberg wrote: >> you should do convertToObject() call in a try block, catch any >> exception and throw a conversionexception >> >> -igor >> >> On Fri, Dec 4, 2009 at 11:32 AM, Sam Barrow <s...@sambarrow.com> wrote: >> > >> > I am trying to make a TextArea that allows you to input a list of >> > strings (separated by a newline) and turns that list into a Collection. >> > I had it working but it was kind of hacked together, I'm trying to do it >> > the clean way now. >> > I have it working except for two things: >> > >> > If I give it an empty collection for the model object then it display >> > square brackets [] inside the text area. >> > I don't have the conversion 100% working. Like when you have a >> > TextField<Date>, I'm trying to make it do the same thing to each line. >> > It works, but when it is an invalid value, instead of a nice error >> > message "X is not a valid Y" I get a runtime exception from whatever >> > IConverter I am using. >> > >> > Source: >> > >> > public final class CollectionTextArea<Type> extends >> > TextArea<Collection<Type>> { >> > >> > private static final long serialVersionUID = 7147538499297387635L; >> > >> > private Class<?> elementType; >> > >> > public CollectionTextArea(final String id, final Class<?> >> > elementType) >> > { >> > super(id); >> > setElementType(elementType); >> > } >> > public CollectionTextArea(final String id, final Class<?> >> > elementType, >> > final IModel<Collection<Type>> model) { >> > super(id, model); >> > setElementType(elementType); >> > } >> > >> > public Class<?> getElementType() { >> > return elementType; >> > } >> > public void setElementType(Class<?> elementType) { >> > this.elementType = elementType; >> > } >> > >> > �...@override >> > protected void onBeforeRender() { >> > super.onBeforeRender(); >> > } >> > �...@override >> > �...@suppresswarnings("unchecked") >> > protected void convertInput() { >> > final String text = getRawInput(); >> > final List<Type> lines = new ArrayList<Type>(); >> > if (text != null) { >> > for (final String line: text.split("\\r\\n")) { >> > if (StringUtils.isNotBlank(line)) { >> > Type value = (Type) >> > getApplication().getConverterLocator().getConverter(getElementType()).convertToObject(line, >> > getLocale()); >> > lines.add(value); >> > } >> > } >> > } >> > setConvertedInput(lines); >> > } >> > >> > } >> > >> > >> > >> > >> > --------------------------------------------------------------------- >> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >> > For additional commands, e-mail: users-h...@wicket.apache.org >> > >> > >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >> For additional commands, e-mail: users-h...@wicket.apache.org >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org