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

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

commit 54436b6f28784a9f5641eec1db73413eb05d7644
Author: Dan Haywood <[email protected]>
AuthorDate: Sat May 25 13:36:19 2024 +0100

    Updates PetOwners#create to specify additional details.
---
 .../modules/petowner/dom/petowner/PetOwners.java   | 24 ++++++++++++++++++++--
 1 file changed, 22 insertions(+), 2 deletions(-)

diff --git 
a/module-petowner/src/main/java/domainapp/modules/petowner/dom/petowner/PetOwners.java
 
b/module-petowner/src/main/java/domainapp/modules/petowner/dom/petowner/PetOwners.java
index 38fbb47..c9b73dc 100644
--- 
a/module-petowner/src/main/java/domainapp/modules/petowner/dom/petowner/PetOwners.java
+++ 
b/module-petowner/src/main/java/domainapp/modules/petowner/dom/petowner/PetOwners.java
@@ -5,23 +5,33 @@ import java.util.List;
 import javax.annotation.Priority;
 import javax.inject.Inject;
 import javax.inject.Named;
+import javax.persistence.Column;
 import javax.persistence.TypedQuery;
 
 import org.apache.causeway.applib.annotation.Action;
 import org.apache.causeway.applib.annotation.ActionLayout;
 import org.apache.causeway.applib.annotation.DomainService;
+import org.apache.causeway.applib.annotation.Editing;
+import org.apache.causeway.applib.annotation.Optionality;
+import org.apache.causeway.applib.annotation.Parameter;
 import org.apache.causeway.applib.annotation.PriorityPrecedence;
 import org.apache.causeway.applib.annotation.PromptStyle;
+import org.apache.causeway.applib.annotation.Property;
+import org.apache.causeway.applib.annotation.PropertyLayout;
 import org.apache.causeway.applib.annotation.SemanticsOf;
+import org.apache.causeway.applib.layout.LayoutConstants;
 import org.apache.causeway.applib.query.Query;
 import org.apache.causeway.applib.services.repository.RepositoryService;
 import org.apache.causeway.persistence.jpa.applib.services.JpaSupportService;
 
+import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 
 import domainapp.modules.petowner.PetOwnerModule;
 import domainapp.modules.petowner.types.Name;
 
+import lombok.Setter;
+
 @Named(PetOwnerModule.NAMESPACE + ".PetOwners")
 @DomainService
 @Priority(PriorityPrecedence.EARLY)
@@ -36,8 +46,18 @@ public class PetOwners {
     @Action(semantics = SemanticsOf.NON_IDEMPOTENT)
     @ActionLayout(promptStyle = PromptStyle.DIALOG_SIDEBAR)
     public PetOwner create(
-            @Name final String name) {
-        return repositoryService.persist(PetOwner.withName(name));
+            @Name final String name,
+            @Parameter(maxLength = 40, optionality = Optionality.OPTIONAL)
+            final String knownAs,
+            @Parameter(maxLength = 40, optionality = Optionality.OPTIONAL)
+            final String telephoneNumber,
+            @Parameter(maxLength = 40, optionality = Optionality.OPTIONAL)
+            final String emailAddress) {
+        final var petOwner = PetOwner.withName(name);
+        petOwner.setKnownAs(knownAs);
+        petOwner.setTelephoneNumber(telephoneNumber);
+        petOwner.setEmailAddress(emailAddress);
+        return repositoryService.persist(petOwner);
     }
 
 

Reply via email to