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 89aad2c2c..f464b58ba 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/Owner.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/Owner.java @@ -149,4 +149,7 @@ public class Owner extends Person { .append("firstName", this.getFirstName()).append("address", this.address) .append("city", this.city).append("telephone", this.telephone).toString(); } + + // for testing + public Owner() {} } diff --git a/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java b/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java index e0f45b396..4cb4a0299 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java @@ -90,13 +90,6 @@ class OwnerController { // find owners by last name Collection results = this.owners.findByLastName(owner.getLastName()); - for (Owner o : results) - System.out.println(o.toString()); - - // Shadow Read - compareResults(results, owner.getLastName()); - - if (results.isEmpty()) { // no owners found result.rejectValue("lastName", "notFound", "not found"); @@ -112,32 +105,6 @@ class OwnerController { } } - private void compareResults(Collection results, String lastName) { - - String pattern = lastName + "*"; - - NewOwnerStore newStore = NewOwnerStore.getInstance(owners); - newStore.populateStore(); - - HashMap storeMap = newStore.getStore(); - - ArrayList newOwners = new ArrayList<>(); - - for (StaticOwner owner : storeMap.values()) { - if (!Pattern.compile(pattern).matcher(owner.getLastName()).find()) - newOwners.add(owner); - } - - for (Owner owner : results) { - if (newOwners.contains(owner)) - System.out.println("Found. Good"); - else { - System.out.println("Not Found. Bad"); - newStore.findAndReplace(owner); - } - } - } - @GetMapping("/owners/{ownerId}/edit") public String initUpdateOwnerForm(@PathVariable("ownerId") int ownerId, Model model) { Owner owner = this.owners.findById(ownerId); diff --git a/src/main/java/org/springframework/samples/petclinic/owner/StaticOwner.java b/src/main/java/org/springframework/samples/petclinic/owner/StaticOwner.java index 2d8af32e3..2c56080f5 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/StaticOwner.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/StaticOwner.java @@ -27,6 +27,13 @@ public class StaticOwner { this.setTelephone(telephone); } + public StaticOwner(Integer id, String firstName, String lastName) + { + this.setId(id); + this.setLastName(lastName); + this.setFirstName(firstName); + } + public void setAddress(String address) { this.address = address; } @@ -98,5 +105,4 @@ public class StaticOwner { return new StaticOwner(owner.getId(), owner.getLastName(), owner.getFirstName(), owner.getAddress(), owner.getCity(), owner.getTelephone()); } - } diff --git a/src/test/java/org/springframework/samples/petclinic/newDataStore/NewOwnerStoreTest.java b/src/test/java/org/springframework/samples/petclinic/newDataStore/NewOwnerStoreTest.java index cda2d2aa9..31b59ed88 100644 --- a/src/test/java/org/springframework/samples/petclinic/newDataStore/NewOwnerStoreTest.java +++ b/src/test/java/org/springframework/samples/petclinic/newDataStore/NewOwnerStoreTest.java @@ -68,17 +68,25 @@ public class NewOwnerStoreTest { int inconsistencies = compareResults(results, ""); assertEquals(inconsistencies, 0); + + // Introduce inconsistency + testOwnerStore.getStore().put(1, new StaticOwner(1, "First", "Last")); + inconsistencies = compareResults(results, ""); + assertEquals(inconsistencies, 1); + + + // Inconsistency should be gone + inconsistencies = compareResults(results, ""); + assertEquals(inconsistencies, 0); } private int compareResults(Collection results, String lastName) { String pattern = "/^" + lastName + "/"; - HashMap storeMap = testOwnerStore.getStore(); - ArrayList staticOwners = new ArrayList<>(); - for (StaticOwner owner : storeMap.values()) { + for (StaticOwner owner : ownerStore.values()) { if (!Pattern.compile(pattern, Pattern.CASE_INSENSITIVE).matcher(owner.getLastName()).find()) staticOwners.add(owner); }