diff --git a/src/main/java/org/springframework/samples/petclinic/owner/OwnerService.java b/src/main/java/org/springframework/samples/petclinic/owner/OwnerService.java new file mode 100644 index 000000000..e51e146d7 --- /dev/null +++ b/src/main/java/org/springframework/samples/petclinic/owner/OwnerService.java @@ -0,0 +1,11 @@ +package org.springframework.samples.petclinic.owner; + +import java.util.Set; + +public interface OwnerService { + Owner findOwnerById(Integer id); + Set getAllOwners(); + Owner saveOwner(Owner owner); + void deleteOwner(Owner owner); + void deleteOwnerById(Integer id); +} diff --git a/src/main/java/org/springframework/samples/petclinic/owner/OwnerServiceMap.java b/src/main/java/org/springframework/samples/petclinic/owner/OwnerServiceMap.java new file mode 100644 index 000000000..77cd05f88 --- /dev/null +++ b/src/main/java/org/springframework/samples/petclinic/owner/OwnerServiceMap.java @@ -0,0 +1,45 @@ +package org.springframework.samples.petclinic.owner; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.HashSet; +import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.StreamSupport; + +@Service +public class OwnerServiceMap implements OwnerService { + private final OwnerRepository ownerRepository; + + @Autowired + public OwnerServiceMap(OwnerRepository ownerRepository) { + this.ownerRepository = ownerRepository; + } + + @Override + public Owner findOwnerById(Integer id) { + return ownerRepository.findById(id).orElse(null); // Handle Optional with null or custom logic + } + + @Override + public Set getAllOwners() { + return StreamSupport.stream(ownerRepository.findAll().spliterator(), false) + .collect(Collectors.toSet()); + } + + @Override + public Owner saveOwner(Owner owner) { + return ownerRepository.save(owner); + } + + @Override + public void deleteOwner(Owner owner) { + ownerRepository.delete(owner); + } + + @Override + public void deleteOwnerById(Integer id) { + ownerRepository.deleteById(id); + } +} diff --git a/src/main/java/org/springframework/samples/petclinic/owner/PetController.java b/src/main/java/org/springframework/samples/petclinic/owner/PetController.java index 8feb8ece2..2aef52ad5 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/PetController.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/PetController.java @@ -87,7 +87,6 @@ class PetController { private void setAllowedFields(WebDataBinder dataBinder) { dataBinder.setDisallowedFields("id"); } - @GetMapping("/pets/new") public String initCreationForm(Owner owner, ModelMap model) { Pet pet = new Pet();