adapted to Converter signature change

This commit is contained in:
Juergen Hoeller 2009-09-17 10:24:08 +00:00
parent 160521074b
commit 87e939a4e9
2 changed files with 14 additions and 3 deletions

View File

@ -16,6 +16,8 @@
package org.springframework.ui.format.support;
import java.text.ParseException;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.core.convert.ConversionService;
import org.springframework.core.convert.TypeDescriptor;
@ -66,6 +68,9 @@ public class FormattingConversionServiceAdapter extends GenericConversionService
}
/**
* Adapter that exposes the Converter interface on top of a given Formatter.
*/
private static class FormattingConverter implements Converter<String, Object> {
private final Formatter formatter;
@ -74,8 +79,13 @@ public class FormattingConversionServiceAdapter extends GenericConversionService
this.formatter = formatter;
}
public Object convert(String source) throws Exception {
return this.formatter.parse(source, LocaleContextHolder.getLocale());
public Object convert(String source) {
try {
return this.formatter.parse(source, LocaleContextHolder.getLocale());
}
catch (ParseException ex) {
throw new IllegalArgumentException("Could not convert formatted value '" + source + "'", ex);
}
}
}

View File

@ -19,6 +19,7 @@ package org.springframework.core.convert.converter;
/**
* A converter converts a source object of type S to a target of type T.
* Implementations of this interface are thread-safe and can be shared.
*
* @author Keith Donald
* @since 3.0
*/
@ -28,7 +29,7 @@ public interface Converter<S, T> {
* Convert the source of type S to target type T.
* @param source the source object to convert, which must be an instance of S
* @return the converted object, which must be an instance of T
* @throws IllegalArgumentException if the source could not be converted
* @throws IllegalArgumentException if the source could not be converted to the desired target type
*/
T convert(S source);