You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by da...@apache.org on 2024/09/16 15:54:42 UTC

(causeway-app-petclinic) tag demo-2 created (now 3c60ea3)

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

danhaywood pushed a change to tag demo-2
in repository https://gitbox.apache.org/repos/asf/causeway-app-petclinic.git


      at 3c60ea3  (commit)
This tag includes the following new commits:

     new 3c60ea3  adds a Visit#cancel

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(causeway-app-petclinic) 01/01: adds a Visit#cancel

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to tag demo-2
in repository https://gitbox.apache.org/repos/asf/causeway-app-petclinic.git

commit 3c60ea3ebdb3b280ac348968fc66a620d02e4628
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Jun 27 16:32:46 2024 +0100

    adds a Visit#cancel
---
 .../main/java/domainapp/modules/visit/dom/visit/Visit.java  | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/module-visit/src/main/java/domainapp/modules/visit/dom/visit/Visit.java b/module-visit/src/main/java/domainapp/modules/visit/dom/visit/Visit.java
index 337bc41..170d0e1 100644
--- a/module-visit/src/main/java/domainapp/modules/visit/dom/visit/Visit.java
+++ b/module-visit/src/main/java/domainapp/modules/visit/dom/visit/Visit.java
@@ -2,6 +2,7 @@ package domainapp.modules.visit.dom.visit;
 
 import domainapp.modules.petowner.dom.pet.Pet;
 
+import domainapp.modules.petowner.dom.petowner.PetOwner;
 import domainapp.modules.visit.VisitModule;
 
 import lombok.AccessLevel;
@@ -30,12 +31,15 @@ import jakarta.persistence.UniqueConstraint;
 import jakarta.persistence.Version;
 import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
+import org.apache.causeway.applib.annotation.Action;
 import org.apache.causeway.applib.annotation.DomainObject;
 import org.apache.causeway.applib.annotation.DomainObjectLayout;
 import org.apache.causeway.applib.annotation.ObjectSupport;
 import org.apache.causeway.applib.annotation.PropertyLayout;
 import org.apache.causeway.applib.annotation.Publishing;
+import org.apache.causeway.applib.annotation.SemanticsOf;
 import org.apache.causeway.applib.jaxb.PersistentEntityAdapter;
+import org.apache.causeway.applib.services.repository.RepositoryService;
 import org.apache.causeway.applib.services.title.TitleService;
 import org.apache.causeway.persistence.jpa.applib.integration.CausewayEntityListener;
 
@@ -100,4 +104,13 @@ public class Visit implements Comparable<Visit> {
     }
 
     @Inject @Transient TitleService titleService;
+
+    @Action(semantics = SemanticsOf.IDEMPOTENT_ARE_YOU_SURE)
+    public PetOwner cancel() {
+        PetOwner petOwner = getPet().getPetOwner();
+        repositoryService.remove(this);
+        return petOwner;
+    }
+
+    @Inject @Transient RepositoryService repositoryService;
 }