Refactored OwnerService

This commit is contained in:
Logine Mohamed 2024-12-27 00:27:46 +02:00
parent 78fdf70b98
commit f94528c30a
3 changed files with 56 additions and 1 deletions

View file

@ -0,0 +1,11 @@
package org.springframework.samples.petclinic.owner;
import java.util.Set;
public interface OwnerService {
Owner findOwnerById(Integer id);
Set<Owner> getAllOwners();
Owner saveOwner(Owner owner);
void deleteOwner(Owner owner);
void deleteOwnerById(Integer id);
}

View file

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

View file

@ -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();