diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryExecution.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryExecution.java index 2f6766651..3b5db0691 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryExecution.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryExecution.java @@ -37,9 +37,9 @@ import org.springframework.data.mongodb.core.query.NearQuery; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.repository.support.PageableExecutionUtils; import org.springframework.data.util.TypeInformation; +import org.springframework.util.ClassUtils; import com.mongodb.client.result.DeleteResult; -import org.springframework.util.ClassUtils; /** * Set of classes to contain query execution strategies. Depending (mostly) on the return type of a @@ -256,7 +256,7 @@ interface MongoQueryExecution { return operations.findAllAndRemove(query, type, collectionName); } - if(method.isQueryForEntity() && !ClassUtils.isPrimitiveOrWrapper(method.getReturnedObjectType())) { + if (method.isQueryForEntity() && !ClassUtils.isPrimitiveOrWrapper(method.getReturnedObjectType())) { return operations.findAndRemove(query, type, collectionName); } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ReactiveMongoQueryExecution.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ReactiveMongoQueryExecution.java index 863b904eb..39b7ac1ad 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ReactiveMongoQueryExecution.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ReactiveMongoQueryExecution.java @@ -129,7 +129,7 @@ interface ReactiveMongoQueryExecution { return operations.findAllAndRemove(query, type, collection); } - if(method.isQueryForEntity() && !ClassUtils.isPrimitiveOrWrapper(method.getReturnedObjectType())) { + if (method.isQueryForEntity() && !ClassUtils.isPrimitiveOrWrapper(method.getReturnedObjectType())) { return operations.findAndRemove(query, type, collection); } diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/MongoQueryExecutionUnitTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/MongoQueryExecutionUnitTests.java index 3f7ad9437..36e59b613 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/MongoQueryExecutionUnitTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/MongoQueryExecutionUnitTests.java @@ -22,13 +22,13 @@ import static org.mockito.Mockito.*; import java.lang.reflect.Method; import java.util.Arrays; import java.util.Collections; -import java.util.Optional; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; + import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.data.geo.Distance; @@ -215,18 +215,6 @@ public class MongoQueryExecutionUnitTests { assertThat(new DeleteExecution(mongoOperationsMock, queryMethod).execute(new Query())).isEqualTo(person); } -// @Test // DATAMONGO-1997 -// public void deleteExecutionWrapsEmptyResultInOptionalCorrectly() { -// -// Method method = ReflectionUtils.findMethod(PersonRepository.class, "deleteByLastname", String.class); -// MongoQueryMethod queryMethod = new MongoQueryMethod(method, metadata, factory, context); -// -// Person person = new Person(); -// -// when(mongoOperationsMock.findAndRemove(any(Query.class), any(Class.class), anyString())).thenReturn(null); -// -// assertThat(new DeleteExecution(mongoOperationsMock, queryMethod).execute(new Query())).isEqualTo(Optional.empty()); -// } interface PersonRepository extends Repository { @@ -235,7 +223,5 @@ public class MongoQueryExecutionUnitTests { Long deleteAllByLastname(String lastname); Person deleteByLastname(String lastname); - - Optional deletePersonByLastname(String lastname); } } diff --git a/src/main/asciidoc/reference/mongo-repositories.adoc b/src/main/asciidoc/reference/mongo-repositories.adoc index 69f5d7156..04715cb29 100644 --- a/src/main/asciidoc/reference/mongo-repositories.adoc +++ b/src/main/asciidoc/reference/mongo-repositories.adoc @@ -301,14 +301,14 @@ The keywords in the preceding table can be used in conjunction with `delete…By ---- public interface PersonRepository extends MongoRepository { - List deleteByLastname(String lastname); <1> + List deleteByLastname(String lastname); <1> - Long deletePersonByLastname(String lastname); <2> + Long deletePersonByLastname(String lastname); <2> @Nullable - Person deleteSingleByLastname(String lastname); <3> + Person deleteSingleByLastname(String lastname); <3> - Optional deleteByBirthdate(Date birthdate); <4> + Optional deleteByBirthdate(Date birthdate); <4> } ---- <1> Using a return type of `List` retrieves and returns all matching documents before actually deleting them.