diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/event/AbstractCouchbaseEventListener.java b/src/main/java/org/springframework/data/couchbase/core/mapping/event/AbstractCouchbaseEventListener.java index 7aea349b..f96cc187 100644 --- a/src/main/java/org/springframework/data/couchbase/core/mapping/event/AbstractCouchbaseEventListener.java +++ b/src/main/java/org/springframework/data/couchbase/core/mapping/event/AbstractCouchbaseEventListener.java @@ -41,17 +41,18 @@ public class AbstractCouchbaseEventListener implements ApplicationListener event) { + + E source = (E) event.getSource(); + // Check for matching domain type and invoke callbacks + if (source != null && !domainClass.isAssignableFrom(source.getClass())) { + return; + } + if (event instanceof BeforeDeleteEvent) { - onBeforeDelete(event.getDocument()); + onBeforeDelete(event.getSource(), event.getDocument()); return; } else if (event instanceof AfterDeleteEvent) { - onAfterDelete(event.getDocument()); - return; - } - - E source = (E) event.getSource(); - // Check for matching domain type and invoke callbacks - if (source != null && !domainClass.isAssignableFrom(source.getClass())) { + onAfterDelete(event.getSource(), event.getDocument()); return; } @@ -82,13 +83,13 @@ public class AbstractCouchbaseEventListener implements ApplicationListener private static final Logger LOGGER = LoggerFactory.getLogger(LoggingEventListener.class); @Override - public void onBeforeDelete(CouchbaseDocument doc) { - LOGGER.info("onBeforeDelete: {}", doc); - } + public void onBeforeDelete(Object source, CouchbaseDocument doc) { LOGGER.info("onBeforeDelete: {}, {}", source, doc); } @Override - public void onAfterDelete(CouchbaseDocument doc) { - LOGGER.info("onAfterDelete: {}", doc); - } + public void onAfterDelete(Object source, CouchbaseDocument doc) { LOGGER.info("onAfterDelete: {} {}", source, doc); } @Override public void onAfterSave(Object source, CouchbaseDocument doc) {