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); }
