From 76be140c07a4971053836673021f9163c0e9d2ef Mon Sep 17 00:00:00 2001 From: Joel Stevenson Date: Wed, 13 Aug 2014 15:04:34 -0700 Subject: [PATCH] DATACOUCH-102 - Pass event source to onBeforeDelete() and onAfterDelete() event handlers --- .../event/AbstractCouchbaseEventListener.java | 21 ++++++++++--------- .../mapping/event/LoggingEventListener.java | 8 ++----- 2 files changed, 13 insertions(+), 16 deletions(-) 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) {