diff --git a/org.springframework.beans/src/main/java/org/springframework/beans/TypeConverterDelegate.java b/org.springframework.beans/src/main/java/org/springframework/beans/TypeConverterDelegate.java
index 87c1b585da4..c9161d05559 100644
--- a/org.springframework.beans/src/main/java/org/springframework/beans/TypeConverterDelegate.java
+++ b/org.springframework.beans/src/main/java/org/springframework/beans/TypeConverterDelegate.java
@@ -223,7 +223,8 @@ class TypeConverterDelegate {
}
if (editor != null) {
msg.append(": PropertyEditor [").append(editor.getClass().getName()).append(
- "] returned inappropriate value");
+ "] returned inappropriate value of type [").append(
+ ClassUtils.getDescriptiveType(convertedValue)).append("]");
throw new IllegalArgumentException(msg.toString());
}
else {
diff --git a/org.springframework.beans/src/main/java/org/springframework/beans/support/ResourceEditorRegistrar.java b/org.springframework.beans/src/main/java/org/springframework/beans/support/ResourceEditorRegistrar.java
index 3c61d853506..19b1cb44070 100644
--- a/org.springframework.beans/src/main/java/org/springframework/beans/support/ResourceEditorRegistrar.java
+++ b/org.springframework.beans/src/main/java/org/springframework/beans/support/ResourceEditorRegistrar.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2010 the original author or authors.
+ * Copyright 2002-2011 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -34,6 +34,7 @@ import org.springframework.beans.propertyeditors.InputSourceEditor;
import org.springframework.beans.propertyeditors.InputStreamEditor;
import org.springframework.beans.propertyeditors.URIEditor;
import org.springframework.beans.propertyeditors.URLEditor;
+import org.springframework.core.io.ContextResource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceEditor;
import org.springframework.core.io.ResourceLoader;
@@ -84,6 +85,7 @@ public class ResourceEditorRegistrar implements PropertyEditorRegistrar {
public void registerCustomEditors(PropertyEditorRegistry registry) {
ResourceEditor baseEditor = new ResourceEditor(this.resourceLoader);
doRegisterEditor(registry, Resource.class, baseEditor);
+ doRegisterEditor(registry, ContextResource.class, baseEditor);
doRegisterEditor(registry, InputStream.class, new InputStreamEditor(baseEditor));
doRegisterEditor(registry, InputSource.class, new InputSourceEditor(baseEditor));
doRegisterEditor(registry, File.class, new FileEditor(baseEditor));
diff --git a/org.springframework.context/src/test/java/org/springframework/beans/ResourceTestBean.java b/org.springframework.context/src/test/java/org/springframework/beans/ResourceTestBean.java
index bfe6daffe24..0831e05c584 100644
--- a/org.springframework.context/src/test/java/org/springframework/beans/ResourceTestBean.java
+++ b/org.springframework.context/src/test/java/org/springframework/beans/ResourceTestBean.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2010 the original author or authors.
+ * Copyright 2002-2011 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,6 +19,7 @@ package org.springframework.beans;
import java.io.InputStream;
import java.util.Map;
+import org.springframework.core.io.ContextResource;
import org.springframework.core.io.Resource;
/**
@@ -29,6 +30,8 @@ public class ResourceTestBean {
private Resource resource;
+ private ContextResource contextResource;
+
private InputStream inputStream;
private Resource[] resourceArray;
@@ -47,22 +50,30 @@ public class ResourceTestBean {
}
+ public Resource getResource() {
+ return resource;
+ }
+
public void setResource(Resource resource) {
this.resource = resource;
}
- public void setInputStream(InputStream inputStream) {
- this.inputStream = inputStream;
+ public ContextResource getContextResource() {
+ return contextResource;
}
- public Resource getResource() {
- return resource;
+ public void setContextResource(ContextResource contextResource) {
+ this.contextResource = contextResource;
}
public InputStream getInputStream() {
return inputStream;
}
+ public void setInputStream(InputStream inputStream) {
+ this.inputStream = inputStream;
+ }
+
public Resource[] getResourceArray() {
return resourceArray;
}
diff --git a/org.springframework.context/src/test/java/org/springframework/context/support/ClassPathXmlApplicationContextTests-resourceImport.xml b/org.springframework.context/src/test/java/org/springframework/context/support/ClassPathXmlApplicationContextTests-resourceImport.xml
index 0788f511084..717148bc4c2 100644
--- a/org.springframework.context/src/test/java/org/springframework/context/support/ClassPathXmlApplicationContextTests-resourceImport.xml
+++ b/org.springframework.context/src/test/java/org/springframework/context/support/ClassPathXmlApplicationContextTests-resourceImport.xml
@@ -7,6 +7,9 @@
test.properties
+
+ testBeans.properties
+
classpath:org/springframework/beans/factory/xml/test.properties