From ebbf63f4e0aec8c99d123a9f575775c78028e7ab Mon Sep 17 00:00:00 2001 From: Keith Donald Date: Sat, 17 Apr 2010 06:47:08 +0000 Subject: [PATCH] polish --- .../support/ConversionServiceFactoryBeanTests.java | 5 ++--- .../springframework/core/convert/TypeDescriptor.java | 10 ++++------ 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/org.springframework.context/src/test/java/org/springframework/context/support/ConversionServiceFactoryBeanTests.java b/org.springframework.context/src/test/java/org/springframework/context/support/ConversionServiceFactoryBeanTests.java index 37cb0dfebba..ac45d1c7cb6 100644 --- a/org.springframework.context/src/test/java/org/springframework/context/support/ConversionServiceFactoryBeanTests.java +++ b/org.springframework.context/src/test/java/org/springframework/context/support/ConversionServiceFactoryBeanTests.java @@ -16,13 +16,13 @@ package org.springframework.context.support; +import static org.junit.Assert.assertTrue; + import java.util.Collections; import java.util.HashSet; import java.util.Set; -import static org.junit.Assert.*; import org.junit.Test; - import org.springframework.beans.ResourceTestBean; import org.springframework.context.ApplicationContext; import org.springframework.core.convert.ConversionService; @@ -31,7 +31,6 @@ import org.springframework.core.convert.converter.Converter; import org.springframework.core.convert.converter.ConverterFactory; import org.springframework.core.convert.converter.GenericConverter; import org.springframework.core.io.ClassPathResource; -import org.springframework.core.io.FileSystemResource; /** * @author Keith Donald diff --git a/org.springframework.core/src/main/java/org/springframework/core/convert/TypeDescriptor.java b/org.springframework.core/src/main/java/org/springframework/core/convert/TypeDescriptor.java index 3e3992ee0a3..7b57ff1f48e 100644 --- a/org.springframework.core/src/main/java/org/springframework/core/convert/TypeDescriptor.java +++ b/org.springframework.core/src/main/java/org/springframework/core/convert/TypeDescriptor.java @@ -433,12 +433,10 @@ public class TypeDescriptor { if (this == TypeDescriptor.NULL || targetType == TypeDescriptor.NULL) { return true; } - if (isCollection()) { - return targetType.isCollection() && getElementTypeDescriptor().isAssignableTo(targetType.getElementTypeDescriptor()); - } else if (isMap()) { - return targetType.isMap() && getMapKeyTypeDescriptor().isAssignableTo(targetType.getMapKeyTypeDescriptor()) && getMapValueTypeDescriptor().isAssignableTo(targetType.getMapValueTypeDescriptor()); - } else if (isArray()) { - return targetType.isArray() && getElementTypeDescriptor().isAssignableTo(targetType.getElementTypeDescriptor()); + if (isCollection() && targetType.isCollection() || isArray() && targetType.isArray()) { + return targetType.getType().isAssignableFrom(getType()) && getElementTypeDescriptor().isAssignableTo(targetType.getElementTypeDescriptor()); + } else if (isMap() && targetType.isMap()) { + return targetType.getType().isAssignableFrom(getType()) && getMapKeyTypeDescriptor().isAssignableTo(targetType.getMapKeyTypeDescriptor()) && getMapValueTypeDescriptor().isAssignableTo(targetType.getMapValueTypeDescriptor()); } else { return targetType.getObjectType().isAssignableFrom(getObjectType()); }