You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2021/10/06 17:45:29 UTC

[isis-app-demo] 01/19: reworks PetOwner_delete to emit domain events.

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/isis-app-demo.git

commit 80928551f258229e598fedcf9f193a05da20981d
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Oct 5 18:30:49 2021 +0100

    reworks PetOwner_delete to emit domain events.
---
 .../modules/pets/dom/petowner/PetOwner_delete.java         | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/module-pets/src/main/java/petclinic/modules/pets/dom/petowner/PetOwner_delete.java b/module-pets/src/main/java/petclinic/modules/pets/dom/petowner/PetOwner_delete.java
index c7bb58a..57bd75f 100644
--- a/module-pets/src/main/java/petclinic/modules/pets/dom/petowner/PetOwner_delete.java
+++ b/module-pets/src/main/java/petclinic/modules/pets/dom/petowner/PetOwner_delete.java
@@ -6,14 +6,13 @@ import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.applib.annotation.SemanticsOf;
+import org.apache.isis.applib.events.domain.ActionDomainEvent;
 import org.apache.isis.applib.services.repository.RepositoryService;
-import org.apache.isis.applib.services.xactn.TransactionService;
 
 import lombok.RequiredArgsConstructor;
 
-import petclinic.modules.pets.dom.pet.PetRepository;
-
 @Action(
+        domainEvent = PetOwner_delete.ActionEvent.class,
         semantics = SemanticsOf.NON_IDEMPOTENT_ARE_YOU_SURE,
         commandPublishing = Publishing.ENABLED,
         executionPublishing = Publishing.ENABLED
@@ -24,17 +23,14 @@ import petclinic.modules.pets.dom.pet.PetRepository;
 @RequiredArgsConstructor
 public class PetOwner_delete {
 
+    public static class ActionEvent extends ActionDomainEvent<PetOwner_delete>{}
+
     private final PetOwner petOwner;
 
-    public void act(
-            ) {
-        petRepository.findByPetOwner(petOwner).forEach(repositoryService::remove);
-        transactionService.flushTransaction();
+    public void act() {
         repositoryService.remove(petOwner);
         return;
     }
 
-    @Inject PetRepository petRepository;
     @Inject RepositoryService repositoryService;
-    @Inject TransactionService transactionService;
 }