From 8598b5c638bfb1f6ead28f464e8fe6a05cbfc40f Mon Sep 17 00:00:00 2001 From: Jens Schauder Date: Thu, 14 Jan 2021 17:22:03 +0100 Subject: [PATCH 1/2] gh-910 - Prepare branch --- pom.xml | 2 +- spring-data-jdbc-distribution/pom.xml | 2 +- spring-data-jdbc/pom.xml | 4 ++-- spring-data-relational/pom.xml | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index b230bbb69e..ef63359507 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.springframework.data spring-data-relational-parent - 2.2.0-SNAPSHOT + 2.2.0-gh-910-SNAPSHOT pom Spring Data Relational Parent diff --git a/spring-data-jdbc-distribution/pom.xml b/spring-data-jdbc-distribution/pom.xml index a922ef00a2..58685fb13e 100644 --- a/spring-data-jdbc-distribution/pom.xml +++ b/spring-data-jdbc-distribution/pom.xml @@ -14,7 +14,7 @@ org.springframework.data spring-data-relational-parent - 2.2.0-SNAPSHOT + 2.2.0-gh-910-SNAPSHOT ../pom.xml diff --git a/spring-data-jdbc/pom.xml b/spring-data-jdbc/pom.xml index 6f04d6b4b0..27be96e253 100644 --- a/spring-data-jdbc/pom.xml +++ b/spring-data-jdbc/pom.xml @@ -6,7 +6,7 @@ 4.0.0 spring-data-jdbc - 2.2.0-SNAPSHOT + 2.2.0-gh-910-SNAPSHOT Spring Data JDBC Spring Data module for JDBC repositories. @@ -15,7 +15,7 @@ org.springframework.data spring-data-relational-parent - 2.2.0-SNAPSHOT + 2.2.0-gh-910-SNAPSHOT diff --git a/spring-data-relational/pom.xml b/spring-data-relational/pom.xml index 6b2507aabe..5742d7f7ec 100644 --- a/spring-data-relational/pom.xml +++ b/spring-data-relational/pom.xml @@ -6,7 +6,7 @@ 4.0.0 spring-data-relational - 2.2.0-SNAPSHOT + 2.2.0-gh-910-SNAPSHOT Spring Data Relational Spring Data Relational support @@ -14,7 +14,7 @@ org.springframework.data spring-data-relational-parent - 2.2.0-SNAPSHOT + 2.2.0-gh-910-SNAPSHOT From f6ce91e59ec82b689517c072da74ebae404ffb97 Mon Sep 17 00:00:00 2001 From: Jens Schauder Date: Thu, 14 Jan 2021 17:23:46 +0100 Subject: [PATCH 2/2] Trigger BeforeConvertEvent when saving an aggregate. Closes: #910 --- .../data/jdbc/core/JdbcAggregateTemplate.java | 3 +++ .../repository/SimpleJdbcRepositoryEventsUnitTests.java | 4 ++++ .../relational/core/mapping/event/BeforeConvertEvent.java | 6 +++--- .../event/AbstractRelationalEventListenerUnitTests.java | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/JdbcAggregateTemplate.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/JdbcAggregateTemplate.java index 2826332979..6755d8a364 100644 --- a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/JdbcAggregateTemplate.java +++ b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/JdbcAggregateTemplate.java @@ -404,6 +404,9 @@ private T triggerAfterLoad(T entity) { } private T triggerBeforeConvert(T aggregateRoot) { + + publisher.publishEvent(new BeforeConvertEvent<>(aggregateRoot)); + return entityCallbacks.callback(BeforeConvertCallback.class, aggregateRoot); } diff --git a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/SimpleJdbcRepositoryEventsUnitTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/SimpleJdbcRepositoryEventsUnitTests.java index 61564f8c33..671eb161f9 100644 --- a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/SimpleJdbcRepositoryEventsUnitTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/SimpleJdbcRepositoryEventsUnitTests.java @@ -54,6 +54,7 @@ import org.springframework.data.relational.core.mapping.event.AfterDeleteEvent; import org.springframework.data.relational.core.mapping.event.AfterLoadEvent; import org.springframework.data.relational.core.mapping.event.AfterSaveEvent; +import org.springframework.data.relational.core.mapping.event.BeforeConvertEvent; import org.springframework.data.relational.core.mapping.event.BeforeDeleteEvent; import org.springframework.data.relational.core.mapping.event.BeforeSaveEvent; import org.springframework.data.relational.core.mapping.event.Identifier; @@ -115,6 +116,7 @@ public void publishesEventsOnSave() { assertThat(publisher.events) // .extracting(e -> (Class) e.getClass()) // .containsExactly( // + BeforeConvertEvent.class, // BeforeSaveEvent.class, // AfterSaveEvent.class // ); @@ -132,8 +134,10 @@ public void publishesEventsOnSaveMany() { assertThat(publisher.events) // .extracting(e -> (Class) e.getClass()) // .containsExactly( // + BeforeConvertEvent.class, // BeforeSaveEvent.class, // AfterSaveEvent.class, // + BeforeConvertEvent.class, // BeforeSaveEvent.class, // AfterSaveEvent.class // ); diff --git a/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/BeforeConvertEvent.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/BeforeConvertEvent.java index 12615cd8e2..807ab5bb7f 100644 --- a/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/BeforeConvertEvent.java +++ b/spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/event/BeforeConvertEvent.java @@ -23,7 +23,7 @@ * @since 1.1 * @author Jens Schauder */ -public class BeforeConvertEvent extends RelationalSaveEvent { +public class BeforeConvertEvent extends RelationalEventWithEntity { private static final long serialVersionUID = -5716795164911939224L; @@ -33,7 +33,7 @@ public class BeforeConvertEvent extends RelationalSaveEvent { * this event is fired before the conversion the change is actually empty, but contains information if the * aggregate is considered new in {@link AggregateChange#getKind()}. Must not be {@literal null}. */ - public BeforeConvertEvent(E instance, AggregateChange change) { - super(instance, change); + public BeforeConvertEvent(E instance) { + super(instance); } } diff --git a/spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/event/AbstractRelationalEventListenerUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/event/AbstractRelationalEventListenerUnitTests.java index 5e1c554e71..b242965a21 100644 --- a/spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/event/AbstractRelationalEventListenerUnitTests.java +++ b/spring-data-relational/src/test/java/org/springframework/data/relational/core/mapping/event/AbstractRelationalEventListenerUnitTests.java @@ -46,7 +46,7 @@ public void afterLoad() { @Test // DATAJDBC-454 public void beforeConvert() { - listener.onApplicationEvent(new BeforeConvertEvent<>(dummyEntity, MutableAggregateChange.forDelete(dummyEntity))); + listener.onApplicationEvent(new BeforeConvertEvent<>(dummyEntity)); assertThat(events).containsExactly("beforeConvert"); }