DATAJDBC-454 - Adds generics to events.
Events now have a type parameter for the type of aggregate root they relate to. In order to utilize this an react to only events relating to a specific type of entity `AbstractRelationalEventListener` was added. Original pull request: #199.
This commit is contained in:
committed by
Mark Paluch
parent
22f9eded60
commit
5fdfd3a9dc
@@ -401,7 +401,7 @@ public class JdbcAggregateTemplate implements JdbcAggregateOperations {
|
||||
|
||||
private <T> T triggerAfterLoad(T entity) {
|
||||
|
||||
publisher.publishEvent(new AfterLoadEvent(entity));
|
||||
publisher.publishEvent(new AfterLoadEvent<>(entity));
|
||||
|
||||
return entityCallbacks.callback(AfterLoadCallback.class, entity);
|
||||
}
|
||||
@@ -412,25 +412,21 @@ public class JdbcAggregateTemplate implements JdbcAggregateOperations {
|
||||
|
||||
private <T> T triggerBeforeSave(T aggregateRoot, AggregateChange<T> change) {
|
||||
|
||||
publisher.publishEvent(new BeforeSaveEvent( //
|
||||
//
|
||||
aggregateRoot, //
|
||||
//
|
||||
change));
|
||||
publisher.publishEvent(new BeforeSaveEvent<>(aggregateRoot, change));
|
||||
|
||||
return entityCallbacks.callback(BeforeSaveCallback.class, aggregateRoot, change);
|
||||
}
|
||||
|
||||
private <T> T triggerAfterSave(T aggregateRoot, AggregateChange<T> change) {
|
||||
|
||||
publisher.publishEvent(new AfterSaveEvent(aggregateRoot, change));
|
||||
publisher.publishEvent(new AfterSaveEvent<>(aggregateRoot, change));
|
||||
|
||||
return entityCallbacks.callback(AfterSaveCallback.class, aggregateRoot);
|
||||
}
|
||||
|
||||
private <T> void triggerAfterDelete(@Nullable T aggregateRoot, Object id, AggregateChange<?> change) {
|
||||
private <T> void triggerAfterDelete(@Nullable T aggregateRoot, Object id, AggregateChange<T> change) {
|
||||
|
||||
publisher.publishEvent(new AfterDeleteEvent(Identifier.of(id), aggregateRoot, change));
|
||||
publisher.publishEvent(new AfterDeleteEvent<>(Identifier.of(id), aggregateRoot, change));
|
||||
|
||||
if (aggregateRoot != null) {
|
||||
entityCallbacks.callback(AfterDeleteCallback.class, aggregateRoot);
|
||||
@@ -438,9 +434,9 @@ public class JdbcAggregateTemplate implements JdbcAggregateOperations {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private <T> T triggerBeforeDelete(@Nullable T aggregateRoot, Object id, AggregateChange<?> change) {
|
||||
private <T> T triggerBeforeDelete(@Nullable T aggregateRoot, Object id, AggregateChange<T> change) {
|
||||
|
||||
publisher.publishEvent(new BeforeDeleteEvent(Identifier.of(id), aggregateRoot, change));
|
||||
publisher.publishEvent(new BeforeDeleteEvent<>(Identifier.of(id), aggregateRoot, change));
|
||||
|
||||
if (aggregateRoot != null) {
|
||||
return entityCallbacks.callback(BeforeDeleteCallback.class, aggregateRoot, change);
|
||||
|
||||
Reference in New Issue
Block a user