diff --git a/pet-clinic-data/src/main/java/guru/springframework/sfgpetclinic/repositories/OwnerRepository.java b/pet-clinic-data/src/main/java/guru/springframework/sfgpetclinic/repositories/OwnerRepository.java index 2eeebba00..d7ccd36d2 100644 --- a/pet-clinic-data/src/main/java/guru/springframework/sfgpetclinic/repositories/OwnerRepository.java +++ b/pet-clinic-data/src/main/java/guru/springframework/sfgpetclinic/repositories/OwnerRepository.java @@ -12,5 +12,5 @@ public interface OwnerRepository extends CrudRepository { Owner findByLastName(String lastName); - List findAllByLastNameLike(String lastName); + List findAllByLastNameLikeIgnoreCase(String lastName); } diff --git a/pet-clinic-data/src/main/java/guru/springframework/sfgpetclinic/services/map/OwnerMapService.java b/pet-clinic-data/src/main/java/guru/springframework/sfgpetclinic/services/map/OwnerMapService.java index 8bbd7a6b4..f6f414811 100644 --- a/pet-clinic-data/src/main/java/guru/springframework/sfgpetclinic/services/map/OwnerMapService.java +++ b/pet-clinic-data/src/main/java/guru/springframework/sfgpetclinic/services/map/OwnerMapService.java @@ -10,6 +10,7 @@ import java.util.List; import java.util.Set; +import java.util.stream.Collectors; /** * Created by jt on 7/21/18. @@ -85,8 +86,9 @@ public Owner findByLastName(String lastName) { @Override public List findAllByLastNameLike(String lastName) { - - //todo - impl - return null; + return this.findAll() + .stream() + .filter(owner -> owner.getLastName().toLowerCase().contains(lastName.toLowerCase())) + .collect(Collectors.toList()); } } diff --git a/pet-clinic-data/src/main/java/guru/springframework/sfgpetclinic/services/springdatajpa/OwnerSDJpaService.java b/pet-clinic-data/src/main/java/guru/springframework/sfgpetclinic/services/springdatajpa/OwnerSDJpaService.java index fffdf1200..96d77e5d8 100644 --- a/pet-clinic-data/src/main/java/guru/springframework/sfgpetclinic/services/springdatajpa/OwnerSDJpaService.java +++ b/pet-clinic-data/src/main/java/guru/springframework/sfgpetclinic/services/springdatajpa/OwnerSDJpaService.java @@ -2,16 +2,15 @@ import guru.springframework.sfgpetclinic.model.Owner; import guru.springframework.sfgpetclinic.repositories.OwnerRepository; -import guru.springframework.sfgpetclinic.repositories.PetRepository; -import guru.springframework.sfgpetclinic.repositories.PetTypeRepository; import guru.springframework.sfgpetclinic.services.OwnerService; -import org.springframework.context.annotation.Profile; -import org.springframework.stereotype.Service; import java.util.HashSet; import java.util.List; import java.util.Set; +import org.springframework.context.annotation.Profile; +import org.springframework.stereotype.Service; + /** * Created by jt on 8/5/18. */ @@ -20,14 +19,9 @@ public class OwnerSDJpaService implements OwnerService { private final OwnerRepository ownerRepository; - private final PetRepository petRepository; - private final PetTypeRepository petTypeRepository; - public OwnerSDJpaService(OwnerRepository ownerRepository, PetRepository petRepository, - PetTypeRepository petTypeRepository) { + public OwnerSDJpaService(OwnerRepository ownerRepository) { this.ownerRepository = ownerRepository; - this.petRepository = petRepository; - this.petTypeRepository = petTypeRepository; } @Override @@ -37,7 +31,7 @@ public Owner findByLastName(String lastName) { @Override public List findAllByLastNameLike(String lastName) { - return ownerRepository.findAllByLastNameLike(lastName); + return ownerRepository.findAllByLastNameLikeIgnoreCase("%" + lastName + "%"); } @Override diff --git a/pet-clinic-web/src/main/java/guru/springframework/sfgpetclinic/controllers/OwnerController.java b/pet-clinic-web/src/main/java/guru/springframework/sfgpetclinic/controllers/OwnerController.java index 394432160..1fd9b4fe7 100644 --- a/pet-clinic-web/src/main/java/guru/springframework/sfgpetclinic/controllers/OwnerController.java +++ b/pet-clinic-web/src/main/java/guru/springframework/sfgpetclinic/controllers/OwnerController.java @@ -32,7 +32,7 @@ public void setAllowedFields(WebDataBinder dataBinder) { } - @RequestMapping("/find") + @GetMapping("/find") public String findOwners(Model model){ model.addAttribute("owner", Owner.builder().build()); return "owners/findOwners"; @@ -46,7 +46,7 @@ public String processFindForm(Owner owner, BindingResult result, Model model){ } // find owners by last name - List results = ownerService.findAllByLastNameLike("%"+ owner.getLastName() + "%"); + List results = ownerService.findAllByLastNameLike(owner.getLastName()); if (results.isEmpty()) { // no owners found