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/05 12:42:38 UTC

[isis-app-demo] tag tags/04-09-optional created (now a282aad)

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

danhaywood pushed a change to tag tags/04-09-optional
in repository https://gitbox.apache.org/repos/asf/isis-app-demo.git.


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

     new a282aad  refactors removePet to removePets, usiing choicesFrom

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.


[isis-app-demo] 01/01: refactors removePet to removePets, usiing choicesFrom

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

danhaywood pushed a commit to tag tags/04-09-optional
in repository https://gitbox.apache.org/repos/asf/isis-app-demo.git

commit a282aad5e8185f765692b29f261dd9a25039b04c
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Oct 5 13:41:34 2021 +0100

    refactors removePet to removePets, usiing choicesFrom
---
 ...Owner_removePet.java => PetOwner_removePets.java} | 20 +++++---------------
 1 file changed, 5 insertions(+), 15 deletions(-)

diff --git a/module-pets/src/main/java/petclinic/modules/pets/dom/petowner/PetOwner_removePet.java b/module-pets/src/main/java/petclinic/modules/pets/dom/petowner/PetOwner_removePets.java
similarity index 62%
rename from module-pets/src/main/java/petclinic/modules/pets/dom/petowner/PetOwner_removePet.java
rename to module-pets/src/main/java/petclinic/modules/pets/dom/petowner/PetOwner_removePets.java
index bba2eac..9ed1710 100644
--- a/module-pets/src/main/java/petclinic/modules/pets/dom/petowner/PetOwner_removePet.java
+++ b/module-pets/src/main/java/petclinic/modules/pets/dom/petowner/PetOwner_removePets.java
@@ -19,32 +19,22 @@ import petclinic.modules.pets.types.PetName;
 @Action(
         semantics = SemanticsOf.IDEMPOTENT,
         commandPublishing = Publishing.ENABLED,
-        executionPublishing = Publishing.ENABLED
+        executionPublishing = Publishing.ENABLED,
+        choicesFrom = "pets"
 )
 @ActionLayout(associateWith = "pets", sequence = "2")
 @RequiredArgsConstructor
-public class PetOwner_removePet {
+public class PetOwner_removePets {
 
     private final PetOwner petOwner;
 
-    public PetOwner act(@PetName final String name) {
-        petRepository.findByPetOwnerAndName(petOwner, name)
-                .ifPresent(pet -> repositoryService.remove(pet));
+    public PetOwner act(final List<Pet> pets) {
+        pets.forEach(repositoryService::remove);
         return petOwner;
     }
     public String disableAct() {
         return petRepository.findByPetOwner(petOwner).isEmpty() ? "No pets" : null;
     }
-    public List<String> choices0Act() {
-        return petRepository.findByPetOwner(petOwner)
-                .stream()
-                .map(Pet::getName)
-                .collect(Collectors.toList());
-    }
-    public String default0Act() {
-        List<String> names = choices0Act();
-        return names.size() == 1 ? names.get(0) : null;
-    }
 
     @Inject PetRepository petRepository;
     @Inject RepositoryService repositoryService;