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 2022/04/22 17:07:13 UTC

[isis-app-demo] branch main-graphql-SNAPSHOT updated: removes workaround

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

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


The following commit(s) were added to refs/heads/main-graphql-SNAPSHOT by this push:
     new d89aef1  removes workaround
d89aef1 is described below

commit d89aef16fd9df858997eeb4410a7a95c1d62642a
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Apr 22 18:07:06 2022 +0100

    removes workaround
---
 .../homepage/HomePageViewModel_bookVisit.java      | 29 ++++++++++++++--------
 1 file changed, 18 insertions(+), 11 deletions(-)

diff --git a/webapp/src/main/java/petclinic/webapp/application/services/homepage/HomePageViewModel_bookVisit.java b/webapp/src/main/java/petclinic/webapp/application/services/homepage/HomePageViewModel_bookVisit.java
index 0322f04..82edb3a 100644
--- a/webapp/src/main/java/petclinic/webapp/application/services/homepage/HomePageViewModel_bookVisit.java
+++ b/webapp/src/main/java/petclinic/webapp/application/services/homepage/HomePageViewModel_bookVisit.java
@@ -13,6 +13,9 @@ import org.apache.isis.applib.services.factory.FactoryService;
 import org.apache.isis.applib.services.wrapper.WrapperFactory;
 
 import lombok.RequiredArgsConstructor;
+import lombok.Value;
+
+import lombok.experimental.Accessors;
 
 import petclinic.modules.pets.dom.pet.Pet;
 import petclinic.modules.pets.dom.pet.PetRepository;
@@ -27,6 +30,15 @@ public class HomePageViewModel_bookVisit {
 
     final HomePageViewModel homePageViewModel;
 
+    @Value @Accessors(fluent = true)
+    public static class Parameters {
+        PetOwner petOwner;
+        Pet pet;
+        LocalDateTime visitAt;
+        String reason;
+        boolean showVisit;
+    }
+
     public Object act(PetOwner petOwner, Pet pet, LocalDateTime visitAt, String reason, boolean showVisit) {
         Visit visit = wrapperFactory.wrapMixin(Pet_bookVisit.class, pet).act(visitAt, reason);
         return showVisit ? visit : homePageViewModel;
@@ -38,18 +50,13 @@ public class HomePageViewModel_bookVisit {
         if(petOwner == null) return Collections.emptyList();
         return petRepository.findByPetOwner(petOwner);
     }
-    public LocalDateTime default2Act(PetOwner petOwner, Pet pet) {
-        if(pet == null) return null;
-        return factoryService.mixin(Pet_bookVisit.class, pet).default0Act();
+    public LocalDateTime default2Act(Parameters p) {
+        if(p.pet == null) return null;
+        return factoryService.mixin(Pet_bookVisit.class, p.pet).default0Act();
+    }
+    public String validate2Act(Parameters p){
+         return factoryService.mixin(Pet_bookVisit.class, p.pet).validate0Act(p.visitAt);
     }
-
-    // TODO: regression #2 - adding @Domain.Exclude didn't work, same error thrown.
-//    @Domain.Exclude // TODO - regression #1:
-//                    //  [ERROR] Failures:
-//                    //  [ERROR]   ValidateDomainModel_IntegTest.validate:18 petclinic.webapp.application.services.homepage.HomePageViewModel_bookVisit#validate2Act(petclinic.modules.pets.dom.petowner.PetOwner, petclinic.modules.pets.dom.pet.Pet, java.time.LocalDateTime): is public, but orphaned (was not picked up by the framework); reporting orphans, because the class is setup for member introspection, without enforcing annotations
-//    public String validate2Act(PetOwner petOwner, Pet pet, LocalDateTime visitAt){
-//         return factoryService.mixin(Pet_bookVisit.class, pet).validate0Act(visitAt);
-//    }
 
     @Inject PetRepository petRepository;
     @Inject PetOwnerRepository petOwnerRepository;