adapted to Converter signature change

master
Juergen Hoeller 15 years ago
parent 160521074b
commit 87e939a4e9
  1. 14
      org.springframework.context/src/main/java/org/springframework/ui/format/support/FormattingConversionServiceAdapter.java
  2. 3
      org.springframework.core/src/main/java/org/springframework/core/convert/converter/Converter.java

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

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

Loading…
Cancel
Save