diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/AuditingEventListener.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/AuditingEventListener.java index bf3c56d78..a3a215722 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/AuditingEventListener.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/AuditingEventListener.java @@ -53,8 +53,8 @@ public class AuditingEventListener implements ApplicationListener event) { - Object entity = event.getSource(); - auditingHandlerFactory.getObject().markAudited(Optional.ofNullable(entity)); + Optional.ofNullable(event.getSource())// + .ifPresent(it -> auditingHandlerFactory.getObject().markAudited(it)); } /* diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/NearQuery.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/NearQuery.java index fa7066114..fae298b58 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/NearQuery.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/NearQuery.java @@ -25,7 +25,6 @@ import org.springframework.data.geo.Metric; import org.springframework.data.geo.Metrics; import org.springframework.data.geo.Point; import org.springframework.util.Assert; -import org.springframework.util.ObjectUtils; /** * Builder class to build near-queries. @@ -151,7 +150,7 @@ public final class NearQuery { public NearQuery with(Pageable pageable) { Assert.notNull(pageable, "Pageable must not be 'null'."); - if(!ObjectUtils.nullSafeEquals(Pageable.NONE, pageable)) { + if (pageable.isPaged()) { this.num = pageable.getOffset() + pageable.getPageSize(); this.skip = pageable.getOffset(); } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Query.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Query.java index 6785709a8..18828095a 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Query.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/query/Query.java @@ -152,7 +152,7 @@ public class Query { */ public Query with(Pageable pageable) { - if (pageable == null || ObjectUtils.nullSafeEquals(Pageable.NONE, pageable)) { + if (pageable.isUnpaged()) { return this; } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/AbstractMongoQuery.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/AbstractMongoQuery.java index 7a97b780e..d59efb045 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/AbstractMongoQuery.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/AbstractMongoQuery.java @@ -15,8 +15,6 @@ */ package org.springframework.data.mongodb.repository.query; -import java.util.Optional; - import org.springframework.core.convert.converter.Converter; import org.springframework.data.convert.EntityInstantiators; import org.springframework.data.mongodb.core.MongoOperations; @@ -87,7 +85,7 @@ public abstract class AbstractMongoQuery implements RepositoryQuery { applyQueryMetaAttributesWhenPresent(query); - ResultProcessor processor = method.getResultProcessor().withDynamicProjection(Optional.of(accessor)); + ResultProcessor processor = method.getResultProcessor().withDynamicProjection(accessor); String collection = method.getEntityInformation().getCollectionName(); MongoQueryExecution execution = getExecution(query, accessor, diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/AbstractReactiveMongoQuery.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/AbstractReactiveMongoQuery.java index 07fd6d5ed..0a2b8e97a 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/AbstractReactiveMongoQuery.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/AbstractReactiveMongoQuery.java @@ -15,8 +15,6 @@ */ package org.springframework.data.mongodb.repository.query; -import java.util.Optional; - import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; @@ -104,7 +102,7 @@ public abstract class AbstractReactiveMongoQuery implements RepositoryQuery { applyQueryMetaAttributesWhenPresent(query); - ResultProcessor processor = method.getResultProcessor().withDynamicProjection(Optional.of(parameterAccessor)); + ResultProcessor processor = method.getResultProcessor().withDynamicProjection(parameterAccessor); String collection = method.getEntityInformation().getCollectionName(); ReactiveMongoQueryExecution execution = getExecution(query, parameterAccessor, diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/PartTreeMongoQuery.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/PartTreeMongoQuery.java index 6a5ac71f4..606d865e0 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/PartTreeMongoQuery.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/PartTreeMongoQuery.java @@ -15,11 +15,6 @@ */ package org.springframework.data.mongodb.repository.query; -import java.util.Optional; - -import com.mongodb.BasicDBObject; -import com.mongodb.DBObject; -import com.mongodb.util.JSON; import org.bson.Document; import org.springframework.data.mapping.context.MappingContext; import org.springframework.data.mongodb.core.MongoOperations; @@ -36,6 +31,8 @@ import org.springframework.data.repository.query.ReturnedType; import org.springframework.data.repository.query.parser.PartTree; import org.springframework.util.StringUtils; +import com.mongodb.BasicDBObject; +import com.mongodb.util.JSON; import com.mongodb.util.JSONParseException; /** @@ -101,7 +98,7 @@ public class PartTreeMongoQuery extends AbstractMongoQuery { if (!StringUtils.hasText(fieldSpec)) { - ReturnedType returnedType = processor.withDynamicProjection(Optional.of(accessor)).getReturnedType(); + ReturnedType returnedType = processor.withDynamicProjection(accessor).getReturnedType(); if (returnedType.isProjecting()) { diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ReactivePartTreeMongoQuery.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ReactivePartTreeMongoQuery.java index 0aab32d1c..e61bd8750 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ReactivePartTreeMongoQuery.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ReactivePartTreeMongoQuery.java @@ -15,8 +15,6 @@ */ package org.springframework.data.mongodb.repository.query; -import java.util.Optional; - import org.bson.Document; import org.springframework.data.mapping.context.MappingContext; import org.springframework.data.mongodb.core.MongoTemplate; @@ -96,7 +94,7 @@ public class ReactivePartTreeMongoQuery extends AbstractReactiveMongoQuery { if (!StringUtils.hasText(fieldSpec)) { - ReturnedType returnedType = processor.withDynamicProjection(Optional.of(accessor)).getReturnedType(); + ReturnedType returnedType = processor.withDynamicProjection(accessor).getReturnedType(); if (returnedType.isProjecting()) { returnedType.getInputProperties().forEach(query.fields()::include); diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/mapping/event/AuditingEventListenerUnitTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/mapping/event/AuditingEventListenerUnitTests.java index ae01439d7..f9e7d6481 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/mapping/event/AuditingEventListenerUnitTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/mapping/event/AuditingEventListenerUnitTests.java @@ -17,19 +17,16 @@ package org.springframework.data.mongodb.core.mapping.event; import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.*; import java.util.Arrays; import java.util.Date; -import java.util.Optional; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.Mockito; import org.mockito.runners.MockitoJUnitRunner; -import org.springframework.beans.BeansException; -import org.springframework.beans.factory.ObjectFactory; import org.springframework.core.Ordered; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.Id; @@ -57,16 +54,10 @@ public class AuditingEventListenerUnitTests { mappingContext.getPersistentEntity(Sample.class); handler = spy(new IsNewAwareAuditingHandler(new PersistentEntities(Arrays.asList(mappingContext)))); - doNothing().when(handler).markCreated(Mockito.any(Optional.class)); - doNothing().when(handler).markModified(Mockito.any(Optional.class)); + doNothing().when(handler).markCreated(any()); + doNothing().when(handler).markModified(any()); - listener = new AuditingEventListener(new ObjectFactory() { - - @Override - public IsNewAwareAuditingHandler getObject() throws BeansException { - return handler; - } - }); + listener = new AuditingEventListener(() -> handler); } @Test(expected = IllegalArgumentException.class) // DATAMONGO-577 @@ -80,8 +71,8 @@ public class AuditingEventListenerUnitTests { Sample sample = new Sample(); listener.onApplicationEvent(new BeforeConvertEvent(sample, "collection-1")); - verify(handler, times(1)).markCreated(Optional.of(sample)); - verify(handler, times(0)).markModified(Mockito.any(Optional.class)); + verify(handler, times(1)).markCreated(sample); + verify(handler, times(0)).markModified(any()); } @Test // DATAMONGO-577 @@ -91,8 +82,8 @@ public class AuditingEventListenerUnitTests { sample.id = "id"; listener.onApplicationEvent(new BeforeConvertEvent(sample, "collection-1")); - verify(handler, times(0)).markCreated(Mockito.any(Optional.class)); - verify(handler, times(1)).markModified(Optional.of(sample)); + verify(handler, times(0)).markCreated(any()); + verify(handler, times(1)).markModified(sample); } @Test