From 9dd7b0689dba7f55605334240229b53aa553c664 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Tue, 13 Feb 2018 13:42:45 +0000 Subject: [PATCH] Start building against Spring Framework 5.0.4 snapshots This reverts commit f24c92c6584a785cf77b4a6f2e15804301e7c3c1 which is no longer necessary as SPR-16456 has no been fixed. See gh-11894 --- .../spring-boot-dependencies/pom.xml | 2 +- .../context/properties/bind/CollectionBinder.java | 2 +- .../properties/bind/IndexedElementsBinder.java | 15 ++------------- 3 files changed, 4 insertions(+), 15 deletions(-) diff --git a/spring-boot-project/spring-boot-dependencies/pom.xml b/spring-boot-project/spring-boot-dependencies/pom.xml index 3e58173556e..f0d3dc7678b 100644 --- a/spring-boot-project/spring-boot-dependencies/pom.xml +++ b/spring-boot-project/spring-boot-dependencies/pom.xml @@ -141,7 +141,7 @@ 1.7.25 1.19 6.6.2 - 5.0.3.RELEASE + 5.0.4.BUILD-SNAPSHOT 2.0.2.RELEASE 4.0.0.RELEASE 2.0.1.RELEASE diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/bind/CollectionBinder.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/bind/CollectionBinder.java index 273c41a0173..c90080f0b61 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/bind/CollectionBinder.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/bind/CollectionBinder.java @@ -40,7 +40,7 @@ class CollectionBinder extends IndexedElementsBinder> { AggregateElementBinder elementBinder) { Class collectionType = (target.getValue() == null ? target.getType().resolve(Object.class) : List.class); - ResolvableType aggregateType = forClassWithGenerics(List.class, + ResolvableType aggregateType = ResolvableType.forClassWithGenerics(List.class, target.getType().asCollection().getGenerics()); ResolvableType elementType = target.getType().asCollection().getGeneric(); IndexedCollectionSupplier result = new IndexedCollectionSupplier( diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/bind/IndexedElementsBinder.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/bind/IndexedElementsBinder.java index eb260141fd6..601a7f4505b 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/bind/IndexedElementsBinder.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/bind/IndexedElementsBinder.java @@ -83,8 +83,8 @@ abstract class IndexedElementsBinder extends AggregateBinder { if (property != null) { Object aggregate = convert(property.getValue(), aggregateType, target.getAnnotations()); - ResolvableType collectionType = forClassWithGenerics( - collection.get().getClass(), elementType); + ResolvableType collectionType = ResolvableType + .forClassWithGenerics(collection.get().getClass(), elementType); Collection elements = convert(aggregate, collectionType); collection.get().addAll(elements); } @@ -145,17 +145,6 @@ abstract class IndexedElementsBinder extends AggregateBinder { .convert(conversionService, value); } - // Work around for SPR-16456 - protected static ResolvableType forClassWithGenerics(Class type, - ResolvableType... generics) { - ResolvableType[] resolvedGenerics = new ResolvableType[generics.length]; - for (int i = 0; i < generics.length; i++) { - resolvedGenerics[i] = forClassWithGenerics(generics[i].resolve(Object.class), - generics[i].getGenerics()); - } - return ResolvableType.forClassWithGenerics(type, resolvedGenerics); - } - /** * {@link AggregateBinder.AggregateSupplier AggregateSupplier} for an indexed * collection.