From 423a3375434eb90d1631a47849fd5e56700585f7 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Wed, 5 Jan 2022 09:32:03 +0000 Subject: [PATCH] Move Visit to owner package (it's aggregate root) --- .../org/springframework/samples/petclinic/owner/Pet.java | 1 - .../org/springframework/samples/petclinic/owner/Visit.java | 2 +- .../samples/petclinic/owner/VisitController.java | 5 ++--- .../samples/petclinic/owner/OwnerControllerTests.java | 1 - .../samples/petclinic/service/ClinicServiceTests.java | 2 +- 5 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/springframework/samples/petclinic/owner/Pet.java b/src/main/java/org/springframework/samples/petclinic/owner/Pet.java index 5aa038eb3..8fa1bd6eb 100755 --- a/src/main/java/org/springframework/samples/petclinic/owner/Pet.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/Pet.java @@ -32,7 +32,6 @@ import javax.persistence.Table; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.samples.petclinic.model.NamedEntity; -import org.springframework.samples.petclinic.visit.Visit; /** * Simple business object representing a pet. diff --git a/src/main/java/org/springframework/samples/petclinic/owner/Visit.java b/src/main/java/org/springframework/samples/petclinic/owner/Visit.java index 5266f6137..c09aa810e 100755 --- a/src/main/java/org/springframework/samples/petclinic/owner/Visit.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/Visit.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.samples.petclinic.visit; +package org.springframework.samples.petclinic.owner; import java.time.LocalDate; diff --git a/src/main/java/org/springframework/samples/petclinic/owner/VisitController.java b/src/main/java/org/springframework/samples/petclinic/owner/VisitController.java index 508fde6ee..6fcae57da 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/VisitController.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/VisitController.java @@ -19,7 +19,6 @@ import java.util.Map; import javax.validation.Valid; -import org.springframework.samples.petclinic.visit.Visit; import org.springframework.stereotype.Controller; import org.springframework.validation.BindingResult; import org.springframework.web.bind.WebDataBinder; @@ -63,6 +62,7 @@ class VisitController { Owner owner = this.owners.findById(ownerId); Pet pet = owner.getPet(petId); model.put("pet", pet); + model.put("owner", owner); Visit visit = new Visit(); pet.addVisit(visit); return visit; @@ -78,12 +78,11 @@ class VisitController { // Spring MVC calls method loadPetWithVisit(...) before processNewVisitForm is // called @PostMapping("/owners/{ownerId}/pets/{petId}/visits/new") - public String processNewVisitForm(@PathVariable("ownerId") int ownerId, @Valid Visit visit, BindingResult result) { + public String processNewVisitForm(@ModelAttribute Owner owner, @Valid Visit visit, BindingResult result) { if (result.hasErrors()) { return "pets/createOrUpdateVisitForm"; } else { - Owner owner = this.owners.findById(ownerId); owner.getPet(visit.getPetId()).addVisit(visit); this.owners.save(owner); return "redirect:/owners/{ownerId}"; diff --git a/src/test/java/org/springframework/samples/petclinic/owner/OwnerControllerTests.java b/src/test/java/org/springframework/samples/petclinic/owner/OwnerControllerTests.java index def9efbc1..56c65b89a 100644 --- a/src/test/java/org/springframework/samples/petclinic/owner/OwnerControllerTests.java +++ b/src/test/java/org/springframework/samples/petclinic/owner/OwnerControllerTests.java @@ -46,7 +46,6 @@ import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.Pageable; -import org.springframework.samples.petclinic.visit.Visit; import org.springframework.test.web.servlet.MockMvc; /** diff --git a/src/test/java/org/springframework/samples/petclinic/service/ClinicServiceTests.java b/src/test/java/org/springframework/samples/petclinic/service/ClinicServiceTests.java index 236cd19a9..870daa184 100644 --- a/src/test/java/org/springframework/samples/petclinic/service/ClinicServiceTests.java +++ b/src/test/java/org/springframework/samples/petclinic/service/ClinicServiceTests.java @@ -33,9 +33,9 @@ import org.springframework.samples.petclinic.owner.Owner; import org.springframework.samples.petclinic.owner.OwnerRepository; import org.springframework.samples.petclinic.owner.Pet; import org.springframework.samples.petclinic.owner.PetType; +import org.springframework.samples.petclinic.owner.Visit; import org.springframework.samples.petclinic.vet.Vet; import org.springframework.samples.petclinic.vet.VetRepository; -import org.springframework.samples.petclinic.visit.Visit; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional;