diff --git a/src/main/java/org/springframework/samples/petclinic/owner/Owner.java b/src/main/java/org/springframework/samples/petclinic/owner/Owner.java index 61083bc8d..5a40819db 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/Owner.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/Owner.java @@ -125,17 +125,13 @@ public class Owner extends Person { * @return true if pet name is already in use */ public Pet getPet(String name, boolean ignoreNew) { - name = name.toLowerCase(); - for (Pet pet : getPetsInternal()) { - if (!ignoreNew || !pet.isNew()) { - String compName = pet.getName(); - compName = compName.toLowerCase(); - if (compName.equals(name)) { - return pet; - } - } + Set pets = getPetsInternal(); + if (ignoreNew) { + // filter only pets that have id + pets = getPetsInternal().stream().filter(pet -> pet.getId() != null).collect(Collectors.toSet()); } - return null; + // Find pet with queried name + return pets.stream().filter(pet -> pet.getName().equalsIgnoreCase(name)).findAny().orElse(null); } @Override