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/05/25 12:48:38 UTC
(causeway-app-petclinic) 23/24: Updates PetOwners#create to specify additional details.
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 <da...@haywood-associates.co.uk>
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);
}