Browse Source

fixed @PathVariable regression in combination with ConversionService usage on DataBinder

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3504 50f2f4bb-b051-0410-bef5-90022cba6387
pull/1/head
Juergen Hoeller 16 years ago
parent
commit
085449cf1e
  1. 12
      org.springframework.beans/src/main/java/org/springframework/beans/SimpleTypeConverter.java
  2. 4
      org.springframework.context/src/main/java/org/springframework/validation/AbstractPropertyBindingResult.java

12
org.springframework.beans/src/main/java/org/springframework/beans/SimpleTypeConverter.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2009 the original author or authors. * Copyright 2002-2010 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -17,6 +17,8 @@
package org.springframework.beans; package org.springframework.beans;
import org.springframework.core.MethodParameter; import org.springframework.core.MethodParameter;
import org.springframework.core.convert.ConversionException;
import org.springframework.core.convert.ConverterNotFoundException;
/** /**
* Simple implementation of the TypeConverter interface that does not operate * Simple implementation of the TypeConverter interface that does not operate
@ -46,12 +48,18 @@ public class SimpleTypeConverter extends PropertyEditorRegistrySupport implement
try { try {
return this.typeConverterDelegate.convertIfNecessary(value, requiredType, methodParam); return this.typeConverterDelegate.convertIfNecessary(value, requiredType, methodParam);
} }
catch (IllegalArgumentException ex) { catch (ConverterNotFoundException ex) {
throw new ConversionNotSupportedException(value, requiredType, ex);
}
catch (ConversionException ex) {
throw new TypeMismatchException(value, requiredType, ex); throw new TypeMismatchException(value, requiredType, ex);
} }
catch (IllegalStateException ex) { catch (IllegalStateException ex) {
throw new ConversionNotSupportedException(value, requiredType, ex); throw new ConversionNotSupportedException(value, requiredType, ex);
} }
catch (IllegalArgumentException ex) {
throw new TypeMismatchException(value, requiredType, ex);
}
} }
} }

4
org.springframework.context/src/main/java/org/springframework/validation/AbstractPropertyBindingResult.java

@ -57,7 +57,9 @@ public abstract class AbstractPropertyBindingResult extends AbstractBindingResul
public void initConversion(ConversionService conversionService) { public void initConversion(ConversionService conversionService) {
Assert.notNull(conversionService, "ConversionService must not be null"); Assert.notNull(conversionService, "ConversionService must not be null");
this.conversionService = conversionService; this.conversionService = conversionService;
getPropertyAccessor().setConversionService(conversionService); if (getTarget() != null) {
getPropertyAccessor().setConversionService(conversionService);
}
} }
/** /**

Loading…
Cancel
Save