fixed failing tests

This commit is contained in:
Keith Donald 2009-10-14 20:45:53 +00:00
parent 728a1415d9
commit dc076ee6fe
4 changed files with 12 additions and 8 deletions

View File

@ -24,7 +24,6 @@ import java.lang.reflect.Field;
import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
import java.util.Arrays;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

View File

@ -187,18 +187,19 @@ public class GenericFormatterRegistry implements FormatterRegistry, ApplicationC
if (formattedObjectType != null && !type.isAssignableFrom(formattedObjectType)) {
if (this.conversionService == null) {
throw new IllegalStateException("Unable to index Formatter " + formatter + " under type ["
+ type.getName() + "]; unable to convert from [" + formattedObjectType.getName()
+ "] parsed by Formatter because this.conversionService is null");
+ type.getName() + "]; not able to convert from a [" + formattedObjectType.getName()
+ "] parsed by the Formatter to [" + type.getName()
+ "] because this.conversionService is null");
}
if (!this.conversionService.canConvert(formattedObjectType, type)) {
throw new IllegalArgumentException("Unable to index Formatter " + formatter + " under type ["
+ type.getName() + "]; not able to convert from [" + formattedObjectType.getName()
+ "] to parse");
+ type.getName() + "]; not able to convert from a [" + formattedObjectType.getName()
+ "] parsed by the Formatter to [" + type.getName() + "]");
}
if (!this.conversionService.canConvert(type, formattedObjectType)) {
throw new IllegalArgumentException("Unable to index Formatter " + formatter + " under type ["
+ type.getName() + "]; not able to convert to [" + formattedObjectType.getName()
+ "] to format");
+ "] to format a [" + type.getName() + "]");
}
}
this.typeFormatters.put(type, new FormatterHolder(formattedObjectType, formatter));

View File

@ -35,6 +35,7 @@ import org.springframework.beans.SimpleTypeConverter;
import org.springframework.beans.TypeConverter;
import org.springframework.beans.TypeMismatchException;
import org.springframework.core.MethodParameter;
import org.springframework.core.convert.support.DefaultConversionService;
import org.springframework.ui.format.FormatterRegistry;
import org.springframework.ui.format.support.FormattingConversionServiceAdapter;
import org.springframework.ui.format.support.GenericFormatterRegistry;
@ -478,7 +479,9 @@ public class DataBinder implements PropertyEditorRegistry, TypeConverter {
*/
public FormatterRegistry getFormatterRegistry() {
if (this.formatterRegistry == null) {
this.formatterRegistry = new GenericFormatterRegistry();
GenericFormatterRegistry registry = new GenericFormatterRegistry();
registry.setConversionService(new DefaultConversionService());
this.formatterRegistry = registry;
}
else if (this.formatterRegistry instanceof GenericFormatterRegistry &&
((GenericFormatterRegistry) this.formatterRegistry).isShared()) {

View File

@ -343,7 +343,8 @@ public class DataBinderTests extends TestCase {
private void doTestBindingWithDefaultFormatter(Object tb) {
DataBinder binder = new DataBinder(tb);
binder.setFormatterRegistry(new GenericFormatterRegistry());
// force formatter registry to be created
binder.getFormatterRegistry();
MutablePropertyValues pvs = new MutablePropertyValues();
pvs.addPropertyValue("number", "1,2");