Remove ListenableFuture support.

Closes #3232
This commit is contained in:
Mark Paluch
2025-01-08 10:29:42 +01:00
parent 3417cb6dbb
commit f1604b89b4
5 changed files with 4 additions and 31 deletions

View File

@@ -94,7 +94,6 @@ import org.springframework.util.ObjectUtils;
* @author John Blum
* @author Johannes Englmeier
*/
@SuppressWarnings("removal")
public abstract class RepositoryFactorySupport
implements BeanClassLoaderAware, BeanFactoryAware, EnvironmentAware, EnvironmentCapable {

View File

@@ -46,12 +46,10 @@ import org.springframework.data.util.StreamUtils;
import org.springframework.data.util.Streamable;
import org.springframework.data.util.TypeInformation;
import org.springframework.lang.Nullable;
import org.springframework.scheduling.annotation.AsyncResult;
import org.springframework.util.Assert;
import org.springframework.util.ClassUtils;
import org.springframework.util.ConcurrentReferenceHashMap;
import org.springframework.util.ObjectUtils;
import org.springframework.util.concurrent.ListenableFuture;
/**
* Converters to potentially wrap the execution of a repository method into a variety of wrapper types potentially being
@@ -59,10 +57,10 @@ import org.springframework.util.concurrent.ListenableFuture;
* <ul>
* <li>{@code java.util.concurrent.Future}</li>
* <li>{@code java.util.concurrent.CompletableFuture}</li>
* <li>{@code org.springframework.util.concurrent.ListenableFuture<}</li>
* <li>{@code javaslang.collection.Seq}, {@code javaslang.collection.Map}, {@code javaslang.collection.Set} - as of
* 1.13</li>
* <li>{@code io.vavr.collection.Seq}, {@code io.vavr.collection.Map}, {@code io.vavr.collection.Set} - as of 2.0</li>
* <li>{@code javaslang.collection.Seq}, {@code javaslang.collection.Map}, {@code javaslang.collection.Set} - as of 1.13
* via {@link CustomCollections}</li>
* <li>{@code io.vavr.collection.Seq}, {@code io.vavr.collection.Map}, {@code io.vavr.collection.Set} - as of 2.0 via
* {@link CustomCollections}</li>
* <li>Reactive wrappers supported by {@link org.springframework.data.util.ReactiveWrappers} - as of 2.0</li>
* </ul>
*
@@ -74,7 +72,6 @@ import org.springframework.util.concurrent.ListenableFuture;
* @since 1.8
* @see NullableWrapperConverters
*/
@SuppressWarnings("removal")
public abstract class QueryExecutionConverters {
private static final boolean VAVR_PRESENT = ClassUtils.isPresent("io.vavr.control.Try",
@@ -92,9 +89,7 @@ public abstract class QueryExecutionConverters {
WRAPPER_TYPES.add(WrapperType.singleValue(Future.class));
UNWRAPPER_TYPES.add(WrapperType.singleValue(Future.class));
WRAPPER_TYPES.add(WrapperType.singleValue(ListenableFuture.class));
WRAPPER_TYPES.add(WrapperType.singleValue(CompletableFuture.class));
UNWRAPPER_TYPES.add(WrapperType.singleValue(ListenableFuture.class));
UNWRAPPER_TYPES.add(WrapperType.singleValue(CompletableFuture.class));
ALLOWED_PAGEABLE_TYPES.add(Slice.class);

View File

@@ -366,14 +366,6 @@ class RepositoryFactorySupportUnitTests {
expect(prepareConvertingRepository(reference).findOneByFirstname("Foo"), reference);
}
@Test // DATACMNS-714
void wrapsExecutionResultIntoListenableFutureIfConfigured() throws Exception {
var reference = new User();
expect(prepareConvertingRepository(reference).findOneByLastname("Foo"), reference);
}
@Test // DATACMNS-714
void wrapsExecutionResultIntoCompletableFutureWithEntityCollectionIfConfigured() throws Exception {
@@ -630,7 +622,6 @@ class RepositoryFactorySupportUnitTests {
}
@SuppressWarnings("removal")
interface ConvertingRepository extends Repository<Object, Long> {
Set<String> convertListToStringSet();
@@ -650,10 +641,6 @@ class RepositoryFactorySupportUnitTests {
@Async
CompletableFuture<List<User>> readAllByFirstname(String firstname);
// DATACMNS-714
@Async
CompletableFuture<User> findOneByLastname(String lastname);
// DATACMNS-714
@Async
CompletableFuture<List<User>> readAllByLastname(String lastname);

View File

@@ -45,7 +45,6 @@ import org.springframework.data.domain.Slice;
import org.springframework.data.util.NullableWrapper;
import org.springframework.data.util.Streamable;
import org.springframework.data.util.TypeInformation;
import org.springframework.util.concurrent.ListenableFuture;
import com.google.common.base.Optional;
@@ -57,7 +56,6 @@ import com.google.common.base.Optional;
* @author Maciek Opała
* @author Johannes Englmeier
*/
@SuppressWarnings("removal")
class QueryExecutionConvertersUnitTests {
DefaultConversionService conversionService;
@@ -75,7 +73,6 @@ class QueryExecutionConvertersUnitTests {
assertThat(QueryExecutionConverters.supports(Optional.class)).isTrue();
assertThat(QueryExecutionConverters.supports(java.util.Optional.class)).isTrue();
assertThat(QueryExecutionConverters.supports(Future.class)).isTrue();
assertThat(QueryExecutionConverters.supports(ListenableFuture.class)).isTrue();
assertThat(QueryExecutionConverters.supports(CompletableFuture.class)).isTrue();
assertThat(QueryExecutionConverters.supports(Option.class)).isTrue();
assertThat(QueryExecutionConverters.supports(io.vavr.control.Option.class)).isTrue();
@@ -88,7 +85,6 @@ class QueryExecutionConvertersUnitTests {
assertThat(QueryExecutionConverters.supportsUnwrapping(java.util.Optional.class)).isTrue();
assertThat(QueryExecutionConverters.supportsUnwrapping(Future.class)).isTrue();
assertThat(QueryExecutionConverters.supportsUnwrapping(CompletableFuture.class)).isTrue();
assertThat(QueryExecutionConverters.supportsUnwrapping(ListenableFuture.class)).isTrue();
assertThat(QueryExecutionConverters.supportsUnwrapping(Option.class)).isTrue();
}

View File

@@ -25,7 +25,6 @@ import java.util.concurrent.Future;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.core.convert.support.DefaultConversionService;
import org.springframework.util.concurrent.ListenableFuture;
import com.google.common.base.Optional;
@@ -36,7 +35,6 @@ import com.google.common.base.Optional;
* @author Mark Paluch
* @author Maciek Opała
*/
@SuppressWarnings("removal")
class NullableWrapperConvertersUnitTests {
DefaultConversionService conversionService;
@@ -54,7 +52,6 @@ class NullableWrapperConvertersUnitTests {
assertThat(NullableWrapperConverters.supports(Optional.class)).isTrue();
assertThat(NullableWrapperConverters.supports(java.util.Optional.class)).isTrue();
assertThat(NullableWrapperConverters.supports(Future.class)).isFalse();
assertThat(NullableWrapperConverters.supports(ListenableFuture.class)).isFalse();
assertThat(NullableWrapperConverters.supports(CompletableFuture.class)).isFalse();
assertThat(NullableWrapperConverters.supports(Option.class)).isTrue();
assertThat(NullableWrapperConverters.supports(io.vavr.control.Option.class)).isTrue();
@@ -66,7 +63,6 @@ class NullableWrapperConvertersUnitTests {
assertThat(NullableWrapperConverters.supportsUnwrapping(Optional.class)).isTrue();
assertThat(NullableWrapperConverters.supportsUnwrapping(java.util.Optional.class)).isTrue();
assertThat(NullableWrapperConverters.supportsUnwrapping(Future.class)).isFalse();
assertThat(NullableWrapperConverters.supportsUnwrapping(ListenableFuture.class)).isFalse();
assertThat(NullableWrapperConverters.supportsUnwrapping(CompletableFuture.class)).isFalse();
assertThat(NullableWrapperConverters.supportsUnwrapping(Option.class)).isTrue();
}