ResolvableType equals/hashCode does not consider TypeProvider source

Issue: SPR-14826
This commit is contained in:
Juergen Hoeller
2016-10-21 12:26:06 +02:00
parent f7d740fa69
commit be187babf9
2 changed files with 13 additions and 2 deletions

View File

@@ -837,7 +837,7 @@ public class ResolvableType implements Serializable {
}
if (this.typeProvider != otherType.typeProvider &&
(this.typeProvider == null || otherType.typeProvider == null ||
!ObjectUtils.nullSafeEquals(this.typeProvider.getSource(), otherType.typeProvider.getSource()))) {
!ObjectUtils.nullSafeEquals(this.typeProvider.getType(), otherType.typeProvider.getType()))) {
return false;
}
if (this.variableResolver != otherType.variableResolver &&
@@ -859,7 +859,7 @@ public class ResolvableType implements Serializable {
private int calculateHashCode() {
int hashCode = ObjectUtils.nullSafeHashCode(this.type);
if (this.typeProvider != null) {
hashCode = 31 * hashCode + ObjectUtils.nullSafeHashCode(this.typeProvider.getSource());
hashCode = 31 * hashCode + ObjectUtils.nullSafeHashCode(this.typeProvider.getType());
}
if (this.variableResolver != null) {
hashCode = 31 * hashCode + ObjectUtils.nullSafeHashCode(this.variableResolver.getSource());