@ -44,7 +44,6 @@ import org.springframework.beans.factory.UnsatisfiedDependencyException;
@@ -44,7 +44,6 @@ import org.springframework.beans.factory.UnsatisfiedDependencyException;
import org.springframework.beans.factory.config.ConstructorArgumentValues ;
import org.springframework.beans.factory.config.ConstructorArgumentValues.ValueHolder ;
import org.springframework.beans.factory.config.DependencyDescriptor ;
import org.springframework.beans.factory.config.TypedStringValue ;
import org.springframework.core.GenericTypeResolver ;
import org.springframework.core.MethodParameter ;
import org.springframework.core.ParameterNameDiscoverer ;
@ -515,13 +514,13 @@ class ConstructorResolver {
@@ -515,13 +514,13 @@ class ConstructorResolver {
}
if ( factoryMethodToUse = = null ) {
boolean hasArgs = resolvedValues . getArgumentCount ( ) > 0 ;
boolean hasArgs = ( resolvedValues . getArgumentCount ( ) > 0 ) ;
String argDesc = "" ;
if ( hasArgs ) {
List < String > argTypes = new ArrayList < String > ( ) ;
for ( ValueHolder value : resolvedValues . getIndexedArgumentValues ( ) . values ( ) ) {
String argType = value . getType ( ) ! = null ?
ClassUtils . getShortName ( value . getType ( ) ) : value . getValue ( ) . getClass ( ) . getSimpleName ( ) ;
String argType = ( value . getType ( ) ! = null ?
ClassUtils . getShortName ( value . getType ( ) ) : value . getValue ( ) . getClass ( ) . getSimpleName ( ) ) ;
argTypes . add ( argType ) ;
}
argDesc = StringUtils . collectionToCommaDelimitedString ( argTypes ) ;
@ -686,15 +685,18 @@ class ConstructorResolver {
@@ -686,15 +685,18 @@ class ConstructorResolver {
try {
convertedValue = converter . convertIfNecessary ( originalValue , paramType ,
MethodParameter . forMethodOrConstructor ( methodOrCtor , paramIndex ) ) ;
// TODO re-enable once race condition has been found (SPR-7423)
/ *
if ( originalValue = = sourceValue | | sourceValue instanceof TypedStringValue ) {
// Either a converted value or still the original one: store converted value.
sourceHolder . setConvertedValue ( convertedValue ) ;
args . preparedArguments [ paramIndex ] = convertedValue ;
}
else {
* /
args . resolveNecessary = true ;
args . preparedArguments [ paramIndex ] = sourceValue ;
}
// }
}
catch ( TypeMismatchException ex ) {
throw new UnsatisfiedDependencyException (