From 2e4547ce4eb3cafa677dafa2faec962d3a3c6477 Mon Sep 17 00:00:00 2001 From: Chris Midgley Date: Fri, 17 Apr 2020 09:30:57 +0100 Subject: [PATCH] DATAREST-1424 - Implement onBeforeLinkDelete and onAfterLinkDelete in ValidatingRepositoryEventListener. Update integration test to verify these methods are called. --- .../ValidatingRepositoryEventListener.java | 19 +++++++++++++++ .../context/ValidatorIntegrationTests.java | 23 +++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/spring-data-rest-core/src/main/java/org/springframework/data/rest/core/event/ValidatingRepositoryEventListener.java b/spring-data-rest-core/src/main/java/org/springframework/data/rest/core/event/ValidatingRepositoryEventListener.java index 67c18dc3e..460ccc817 100644 --- a/spring-data-rest-core/src/main/java/org/springframework/data/rest/core/event/ValidatingRepositoryEventListener.java +++ b/spring-data-rest-core/src/main/java/org/springframework/data/rest/core/event/ValidatingRepositoryEventListener.java @@ -39,6 +39,7 @@ * * @author Jon Brisbin * @author Oliver Gierke + * @author Chris Midgley */ public class ValidatingRepositoryEventListener extends AbstractRepositoryEventListener { @@ -141,6 +142,24 @@ protected void onAfterLinkSave(Object parent, Object linked) { validate("afterLinkSave", parent); } + /* + * (non-Javadoc) + * @see org.springframework.data.rest.core.event.AbstractRepositoryEventListener#onBeforeLinkDelete(java.lang.Object, java.lang.Object) + */ + @Override + protected void onBeforeLinkDelete(Object parent, Object linked) { + validate("beforeLinkDelete", parent); + } + + /* + * (non-Javadoc) + * @see org.springframework.data.rest.core.event.AbstractRepositoryEventListener#onAfterLinkDelete(java.lang.Object, java.lang.Object) + */ + @Override + protected void onAfterLinkDelete(Object parent, Object linked) { + validate("afterLinkDelete", parent); + } + /* * (non-Javadoc) * @see org.springframework.data.rest.core.event.AbstractRepositoryEventListener#onBeforeDelete(java.lang.Object) diff --git a/spring-data-rest-core/src/test/java/org/springframework/data/rest/core/context/ValidatorIntegrationTests.java b/spring-data-rest-core/src/test/java/org/springframework/data/rest/core/context/ValidatorIntegrationTests.java index 45971b594..cdb45f906 100755 --- a/spring-data-rest-core/src/test/java/org/springframework/data/rest/core/context/ValidatorIntegrationTests.java +++ b/spring-data-rest-core/src/test/java/org/springframework/data/rest/core/context/ValidatorIntegrationTests.java @@ -30,6 +30,8 @@ import org.springframework.data.rest.core.domain.JpaRepositoryConfig; import org.springframework.data.rest.core.domain.Person; import org.springframework.data.rest.core.domain.PersonNameValidator; +import org.springframework.data.rest.core.event.AfterLinkDeleteEvent; +import org.springframework.data.rest.core.event.BeforeLinkDeleteEvent; import org.springframework.data.rest.core.event.BeforeSaveEvent; import org.springframework.data.rest.core.event.ValidatingRepositoryEventListener; import org.springframework.test.context.ContextConfiguration; @@ -40,6 +42,7 @@ * * @author Jon Brisbin * @author Oliver Gierke + * @author Chris Midgley */ @RunWith(SpringRunner.class) @ContextConfiguration @@ -54,6 +57,8 @@ public ValidatingRepositoryEventListener validatingListener(ObjectFactory