Browse Source

DATAMONGO-1419 - Removed deprecated methods of AbstractMongoEventListener.

pull/354/merge
Oliver Gierke 10 years ago
parent
commit
50e37355d4
  1. 105
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/AbstractMongoEventListener.java
  2. 47
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/LoggingEventListener.java
  3. 14
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/ValidatingMongoEventListener.java
  4. 31
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/mapping/event/AbstractMongoEventListenerUnitTests.java

105
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/AbstractMongoEventListener.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2011-2015 by the original author(s). * Copyright 2011-2016 by the original author(s).
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -20,8 +20,6 @@ import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationListener; import org.springframework.context.ApplicationListener;
import org.springframework.core.GenericTypeResolver; import org.springframework.core.GenericTypeResolver;
import com.mongodb.DBObject;
/** /**
* Base class to implement domain class specific {@link ApplicationListener}s. * Base class to implement domain class specific {@link ApplicationListener}s.
* *
@ -95,20 +93,6 @@ public abstract class AbstractMongoEventListener<E> implements ApplicationListen
} }
} }
/**
* Captures source element before conversion.
*
* @param source will never be {@literal null}.
* @deprecated since 1.8. Please use {@link #onBeforeConvert(BeforeConvertEvent)}.
*/
@Deprecated
public void onBeforeConvert(E source) {
if (LOG.isDebugEnabled()) {
LOG.debug("onBeforeConvert({})", source);
}
}
/** /**
* Captures {@link BeforeConvertEvent}. * Captures {@link BeforeConvertEvent}.
* *
@ -116,21 +100,9 @@ public abstract class AbstractMongoEventListener<E> implements ApplicationListen
* @since 1.8 * @since 1.8
*/ */
public void onBeforeConvert(BeforeConvertEvent<E> event) { public void onBeforeConvert(BeforeConvertEvent<E> event) {
onBeforeConvert(event.getSource());
}
/**
* Captures source element and {@link com.mongodb.DBObject} representation before save.
*
* @param source will never be {@literal null}.
* @param dbo can be {@literal null}.
* @deprecated since 1.8. Please use {@link #onBeforeSave(BeforeSaveEvent)}.
*/
@Deprecated
public void onBeforeSave(E source, DBObject dbo) {
if (LOG.isDebugEnabled()) { if (LOG.isDebugEnabled()) {
LOG.debug("onBeforeSave({}, {})", source, dbo); LOG.debug("onBeforeConvert({})", event.getSource());
} }
} }
@ -141,21 +113,9 @@ public abstract class AbstractMongoEventListener<E> implements ApplicationListen
* @since 1.8 * @since 1.8
*/ */
public void onBeforeSave(BeforeSaveEvent<E> event) { public void onBeforeSave(BeforeSaveEvent<E> event) {
onBeforeSave(event.getSource(), event.getDBObject());
}
/**
* Captures source element and {@link com.mongodb.DBObject} representation after save.
*
* @param source will never be {@literal null}.
* @param dbo can be {@literal null}.
* @deprecated since 1.8. Please use {@link #onAfterSave(AfterSaveEvent)}.
*/
@Deprecated
public void onAfterSave(E source, DBObject dbo) {
if (LOG.isDebugEnabled()) { if (LOG.isDebugEnabled()) {
LOG.debug("onAfterSave({}, {})", source, dbo); LOG.debug("onBeforeSave({}, {})", event.getSource(), event.getDBObject());
} }
} }
@ -166,20 +126,9 @@ public abstract class AbstractMongoEventListener<E> implements ApplicationListen
* @since 1.8 * @since 1.8
*/ */
public void onAfterSave(AfterSaveEvent<E> event) { public void onAfterSave(AfterSaveEvent<E> event) {
onAfterSave(event.getSource(), event.getDBObject());
}
/**
* Captures raw {@link com.mongodb.DBObject} when read from MongoDB.
*
* @param dbo can be {@literal null}.
* @deprecated since 1.8. Please use {@link #onAfterLoad(AfterLoadEvent)}.
*/
@Deprecated
public void onAfterLoad(DBObject dbo) {
if (LOG.isDebugEnabled()) { if (LOG.isDebugEnabled()) {
LOG.debug("onAfterLoad({})", dbo); LOG.debug("onAfterSave({}, {})", event.getSource(), event.getDBObject());
} }
} }
@ -190,21 +139,9 @@ public abstract class AbstractMongoEventListener<E> implements ApplicationListen
* @since 1.8 * @since 1.8
*/ */
public void onAfterLoad(AfterLoadEvent<E> event) { public void onAfterLoad(AfterLoadEvent<E> event) {
onAfterLoad(event.getDBObject());
}
/**
* Captures raw {@link com.mongodb.DBObject} and converted domain type after conversion.
*
* @param dbo can be {@literal null}.
* @param source will never be {@literal null}.
* @deprecated since 1.8. Please use {@link #onAfterConvert(AfterConvertEvent)}.
*/
@Deprecated
public void onAfterConvert(DBObject dbo, E source) {
if (LOG.isDebugEnabled()) { if (LOG.isDebugEnabled()) {
LOG.debug("onAfterConvert({}, {})", dbo, source); LOG.debug("onAfterLoad({})", event.getDBObject());
} }
} }
@ -215,21 +152,9 @@ public abstract class AbstractMongoEventListener<E> implements ApplicationListen
* @since 1.8 * @since 1.8
*/ */
public void onAfterConvert(AfterConvertEvent<E> event) { public void onAfterConvert(AfterConvertEvent<E> event) {
onAfterConvert(event.getDBObject(), event.getSource());
}
/**
* Captures {@link com.mongodb.DBObject} after delete.
*
* @param dbo can be {@literal null}.
* @deprecated since 1.8. Please use {@link #onAfterDelete(AfterDeleteEvent)}.
*/
@Deprecated
public void onAfterDelete(DBObject dbo) {
if (LOG.isDebugEnabled()) { if (LOG.isDebugEnabled()) {
LOG.debug("onAfterDelete({})", dbo); LOG.debug("onAfterConvert({}, {})", event.getDBObject(), event.getSource());
} }
} }
@ -240,20 +165,9 @@ public abstract class AbstractMongoEventListener<E> implements ApplicationListen
* @since 1.8 * @since 1.8
*/ */
public void onAfterDelete(AfterDeleteEvent<E> event) { public void onAfterDelete(AfterDeleteEvent<E> event) {
onAfterDelete(event.getDBObject());
}
/**
* Capture {@link com.mongodb.DBObject} before delete.
*
* @param dbo can be {@literal null}.
* @deprecated since 1.8. Please use {@link #onBeforeDelete(BeforeDeleteEvent)}.
*/
@Deprecated
public void onBeforeDelete(DBObject dbo) {
if (LOG.isDebugEnabled()) { if (LOG.isDebugEnabled()) {
LOG.debug("onBeforeDelete({})", dbo); LOG.debug("onAfterDelete({})", event.getDBObject());
} }
} }
@ -264,6 +178,9 @@ public abstract class AbstractMongoEventListener<E> implements ApplicationListen
* @since 1.8 * @since 1.8
*/ */
public void onBeforeDelete(BeforeDeleteEvent<E> event) { public void onBeforeDelete(BeforeDeleteEvent<E> event) {
onBeforeDelete(event.getDBObject());
if (LOG.isDebugEnabled()) {
LOG.debug("onBeforeDelete({})", event.getDBObject());
}
} }
} }

47
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/LoggingEventListener.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2011-2013 the original author or authors. * Copyright 2011-2016 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -19,13 +19,12 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationListener; import org.springframework.context.ApplicationListener;
import com.mongodb.DBObject;
/** /**
* {@link ApplicationListener} for Mongo mapping events logging the events. * {@link ApplicationListener} for Mongo mapping events logging the events.
* *
* @author Jon Brisbin * @author Jon Brisbin
* @author Martin Baumgartner * @author Martin Baumgartner
* @author Oliver Gierke
*/ */
public class LoggingEventListener extends AbstractMongoEventListener<Object> { public class LoggingEventListener extends AbstractMongoEventListener<Object> {
@ -33,64 +32,64 @@ public class LoggingEventListener extends AbstractMongoEventListener<Object> {
/* /*
* (non-Javadoc) * (non-Javadoc)
* @see org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener#onBeforeConvert(java.lang.Object) * @see org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener#onBeforeConvert(org.springframework.data.mongodb.core.mapping.event.BeforeConvertEvent)
*/ */
@Override @Override
public void onBeforeConvert(Object source) { public void onBeforeConvert(BeforeConvertEvent<Object> event) {
LOGGER.info("onBeforeConvert: {}", source); LOGGER.info("onBeforeConvert: {}", event.getSource());
} }
/* /*
* (non-Javadoc) * (non-Javadoc)
* @see org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener#onBeforeSave(java.lang.Object, com.mongodb.DBObject) * @see org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener#onBeforeSave(org.springframework.data.mongodb.core.mapping.event.BeforeSaveEvent)
*/ */
@Override @Override
public void onBeforeSave(Object source, DBObject dbo) { public void onBeforeSave(BeforeSaveEvent<Object> event) {
LOGGER.info("onBeforeSave: {}, {}", source, dbo); LOGGER.info("onBeforeSave: {}, {}", event.getSource(), event.getDBObject());
} }
/* /*
* (non-Javadoc) * (non-Javadoc)
* @see org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener#onAfterSave(java.lang.Object, com.mongodb.DBObject) * @see org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener#onAfterSave(org.springframework.data.mongodb.core.mapping.event.AfterSaveEvent)
*/ */
@Override @Override
public void onAfterSave(Object source, DBObject dbo) { public void onAfterSave(AfterSaveEvent<Object> event) {
LOGGER.info("onAfterSave: {}, {}", source, dbo); LOGGER.info("onAfterSave: {}, {}", event.getSource(), event.getDBObject());
} }
/* /*
* (non-Javadoc) * (non-Javadoc)
* @see org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener#onAfterLoad(com.mongodb.DBObject) * @see org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener#onAfterLoad(org.springframework.data.mongodb.core.mapping.event.AfterLoadEvent)
*/ */
@Override @Override
public void onAfterLoad(DBObject dbo) { public void onAfterLoad(AfterLoadEvent<Object> event) {
LOGGER.info("onAfterLoad: {}", dbo); LOGGER.info("onAfterLoad: {}", event.getDBObject());
} }
/* /*
* (non-Javadoc) * (non-Javadoc)
* @see org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener#onAfterConvert(com.mongodb.DBObject, java.lang.Object) * @see org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener#onAfterConvert(org.springframework.data.mongodb.core.mapping.event.AfterConvertEvent)
*/ */
@Override @Override
public void onAfterConvert(DBObject dbo, Object source) { public void onAfterConvert(AfterConvertEvent<Object> event) {
LOGGER.info("onAfterConvert: {}, {}", dbo, source); LOGGER.info("onAfterConvert: {}, {}", event.getDBObject(), event.getSource());
} }
/* /*
* (non-Javadoc) * (non-Javadoc)
* @see org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener#onAfterDelete(com.mongodb.DBObject) * @see org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener#onAfterDelete(org.springframework.data.mongodb.core.mapping.event.AfterDeleteEvent)
*/ */
@Override @Override
public void onAfterDelete(DBObject dbo) { public void onAfterDelete(AfterDeleteEvent<Object> event) {
LOGGER.info("onAfterDelete: {}", dbo); LOGGER.info("onAfterDelete: {}", event.getDBObject());
} }
/* /*
* (non-Javadoc) * (non-Javadoc)
* @see org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener#onBeforeDelete(com.mongodb.DBObject) * @see org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener#onBeforeDelete(org.springframework.data.mongodb.core.mapping.event.BeforeDeleteEvent)
*/ */
@Override @Override
public void onBeforeDelete(DBObject dbo) { public void onBeforeDelete(BeforeDeleteEvent<Object> event) {
LOGGER.info("onBeforeDelete: {}", dbo); LOGGER.info("onBeforeDelete: {}", event.getDBObject());
} }
} }

14
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapping/event/ValidatingMongoEventListener.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2012 the original author or authors. * Copyright 2012-2016 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -24,13 +24,12 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.util.Assert; import org.springframework.util.Assert;
import com.mongodb.DBObject;
/** /**
* javax.validation dependant entities validator. When it is registered as Spring component its automatically invoked * javax.validation dependant entities validator. When it is registered as Spring component its automatically invoked
* before entities are saved in database. * before entities are saved in database.
* *
* @author Maciej Walkowiak * @author Maciej Walkowiak
* @author Oliver Gierke
*/ */
public class ValidatingMongoEventListener extends AbstractMongoEventListener<Object> { public class ValidatingMongoEventListener extends AbstractMongoEventListener<Object> {
@ -44,17 +43,20 @@ public class ValidatingMongoEventListener extends AbstractMongoEventListener<Obj
* @param validator must not be {@literal null}. * @param validator must not be {@literal null}.
*/ */
public ValidatingMongoEventListener(Validator validator) { public ValidatingMongoEventListener(Validator validator) {
Assert.notNull(validator);
Assert.notNull(validator, "Validator must not be null!");
this.validator = validator; this.validator = validator;
} }
/* /*
* (non-Javadoc) * (non-Javadoc)
* @see org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener#onBeforeSave(java.lang.Object, com.mongodb.DBObject) * @see org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener#onBeforeSave(org.springframework.data.mongodb.core.mapping.event.BeforeSaveEvent)
*/ */
@Override @Override
@SuppressWarnings({ "rawtypes", "unchecked" }) @SuppressWarnings({ "rawtypes", "unchecked" })
public void onBeforeSave(Object source, DBObject dbo) { public void onBeforeSave(BeforeSaveEvent<Object> event) {
Object source = event.getSource();
LOG.debug("Validating object: {}", source); LOG.debug("Validating object: {}", source);
Set violations = validator.validate(source); Set violations = validator.validate(source);

31
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/mapping/event/AbstractMongoEventListenerUnitTests.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2011-2013 by the original author(s). * Copyright 2011-2016 by the original author(s).
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -128,7 +128,7 @@ public class AbstractMongoEventListenerUnitTests {
public void handlesUntypedImplementations() { public void handlesUntypedImplementations() {
UntypedEventListener listener = new UntypedEventListener(); UntypedEventListener listener = new UntypedEventListener();
listener.onApplicationEvent(new MongoMappingEvent(new Object(), new BasicDBObject())); listener.onApplicationEvent(new MongoMappingEvent(new Object(), new BasicDBObject(), "collection"));
} }
/** /**
@ -137,7 +137,8 @@ public class AbstractMongoEventListenerUnitTests {
@Test @Test
public void invokeContactCallbackForPersonEvent() { public void invokeContactCallbackForPersonEvent() {
MongoMappingEvent<DBObject> event = new BeforeDeleteEvent<Person>(new BasicDBObject(), Person.class, "collection-1"); MongoMappingEvent<DBObject> event = new BeforeDeleteEvent<Person>(new BasicDBObject(), Person.class,
"collection-1");
SampleContactEventListener listener = new SampleContactEventListener(); SampleContactEventListener listener = new SampleContactEventListener();
listener.onApplicationEvent(event); listener.onApplicationEvent(event);
@ -150,7 +151,8 @@ public class AbstractMongoEventListenerUnitTests {
@Test @Test
public void invokePersonCallbackForPersonEvent() { public void invokePersonCallbackForPersonEvent() {
MongoMappingEvent<DBObject> event = new BeforeDeleteEvent<Person>(new BasicDBObject(), Person.class, "collection-1"); MongoMappingEvent<DBObject> event = new BeforeDeleteEvent<Person>(new BasicDBObject(), Person.class,
"collection-1");
SamplePersonEventListener listener = new SamplePersonEventListener(); SamplePersonEventListener listener = new SamplePersonEventListener();
listener.onApplicationEvent(event); listener.onApplicationEvent(event);
@ -192,22 +194,22 @@ public class AbstractMongoEventListenerUnitTests {
boolean invokedOnAfterDelete; boolean invokedOnAfterDelete;
@Override @Override
public void onBeforeConvert(Person source) { public void onBeforeConvert(BeforeConvertEvent<Person> event) {
invokedOnBeforeConvert = true; invokedOnBeforeConvert = true;
} }
@Override @Override
public void onAfterLoad(DBObject dbo) { public void onAfterLoad(AfterLoadEvent<Person> event) {
invokedOnAfterLoad = true; invokedOnAfterLoad = true;
} }
@Override @Override
public void onAfterDelete(DBObject dbo) { public void onAfterDelete(AfterDeleteEvent<Person> event) {
invokedOnAfterDelete = true; invokedOnAfterDelete = true;
} }
@Override @Override
public void onBeforeDelete(DBObject dbo) { public void onBeforeDelete(BeforeDeleteEvent<Person> event) {
invokedOnBeforeDelete = true; invokedOnBeforeDelete = true;
} }
} }
@ -220,25 +222,24 @@ public class AbstractMongoEventListenerUnitTests {
boolean invokedOnAfterDelete; boolean invokedOnAfterDelete;
@Override @Override
public void onBeforeConvert(Contact source) { public void onBeforeConvert(BeforeConvertEvent<Contact> event) {
invokedOnBeforeConvert = true; invokedOnBeforeConvert = true;
} }
@Override @Override
public void onAfterLoad(DBObject dbo) { public void onAfterLoad(AfterLoadEvent<Contact> event) {
invokedOnAfterLoad = true; invokedOnAfterLoad = true;
} }
@Override @Override
public void onAfterDelete(DBObject dbo) { public void onAfterDelete(AfterDeleteEvent<Contact> event) {
invokedOnAfterDelete = true; invokedOnAfterDelete = true;
} }
@Override @Override
public void onBeforeDelete(DBObject dbo) { public void onBeforeDelete(BeforeDeleteEvent<Contact> event) {
invokedOnBeforeDelete = true; invokedOnBeforeDelete = true;
} }
} }
class SampleAccountEventListener extends AbstractMongoEventListener<Account> { class SampleAccountEventListener extends AbstractMongoEventListener<Account> {
@ -247,12 +248,12 @@ public class AbstractMongoEventListenerUnitTests {
boolean invokedOnAfterLoad; boolean invokedOnAfterLoad;
@Override @Override
public void onBeforeConvert(Account source) { public void onBeforeConvert(BeforeConvertEvent<Account> event) {
invokedOnBeforeConvert = true; invokedOnBeforeConvert = true;
} }
@Override @Override
public void onAfterLoad(DBObject dbo) { public void onAfterLoad(AfterLoadEvent<Account> event) {
invokedOnAfterLoad = true; invokedOnAfterLoad = true;
} }
} }

Loading…
Cancel
Save