diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/AbstractDeleteEvent.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/AbstractDeleteEvent.java index b5f41a166..19b5228f0 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/AbstractDeleteEvent.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/AbstractDeleteEvent.java @@ -33,7 +33,7 @@ public abstract class AbstractDeleteEvent extends MongoMappingEvent * * @param dbo must not be {@literal null}. * @param type can be {@literal null}. - * @deprecated since 1.8. Please use {@link #AbstractDeleteEvent(DBObject, Class, String)} + * @deprecated since 1.8. Please use {@link #AbstractDeleteEvent(DBObject, Class, String)}. */ @Deprecated public AbstractDeleteEvent(DBObject dbo, Class type) { @@ -45,7 +45,7 @@ public abstract class AbstractDeleteEvent extends MongoMappingEvent * * @param dbo must not be {@literal null}. * @param type can be {@literal null}. - * @param collectionName can be {@literal null} + * @param collectionName can be {@literal null}. * @since 1.8 */ public AbstractDeleteEvent(DBObject dbo, Class type, String collectionName) { diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/AbstractMongoEventListener.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/AbstractMongoEventListener.java index 59e329b23..d88709a5b 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/AbstractMongoEventListener.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/AbstractMongoEventListener.java @@ -74,15 +74,16 @@ public abstract class AbstractMongoEventListener implements ApplicationListen } return; + } + Object source = event.getSource(); + // Check for matching domain type and invoke callbacks - if (event.getSource() != null && !domainClass.isAssignableFrom(event.getSource().getClass())) { + if (source != null && !domainClass.isAssignableFrom(source.getClass())) { return; } - E source = (E) event.getSource(); - if (event instanceof BeforeConvertEvent) { onBeforeConvert((BeforeConvertEvent) event); } else if (event instanceof BeforeSaveEvent) { diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/BeforeConvertEvent.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/BeforeConvertEvent.java index d7c60aa23..b894310e9 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/BeforeConvertEvent.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/BeforeConvertEvent.java @@ -30,7 +30,7 @@ public class BeforeConvertEvent extends MongoMappingEvent { * Creates new {@link BeforeConvertEvent}. * * @param source must not be {@literal null}. - * @deprecated since 1.8. Please use {@link #BeforeConvertEvent(Object, String)} + * @deprecated since 1.8. Please use {@link #BeforeConvertEvent(Object, String)}. */ @Deprecated public BeforeConvertEvent(T source) { diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/BeforeDeleteEvent.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/BeforeDeleteEvent.java index 743ea48d5..f1311961c 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/BeforeDeleteEvent.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/BeforeDeleteEvent.java @@ -45,7 +45,7 @@ public class BeforeDeleteEvent extends AbstractDeleteEvent { * * @param dbo must not be {@literal null}. * @param type can be {@literal null}. - * @param collectionName can be {@literal null} + * @param collectionName can be {@literal null}. * @since 1.8 */ public BeforeDeleteEvent(DBObject dbo, Class type, String collectionName) {