From 3c83e6bf1d63b9eaf482dda6fac5b9c01458394b Mon Sep 17 00:00:00 2001 From: CONRADO SANTOS BOEIRA <17104100@pucrs.br> Date: Mon, 18 Nov 2019 13:45:54 -0200 Subject: [PATCH] Adicionado campo para email --- .../samples/petclinic/owner/Owner.java | 17 +++++++++++++++- src/main/resources/db/hsqldb/data.sql | 20 +++++++++---------- src/main/resources/db/hsqldb/schema.sql | 3 ++- src/main/resources/db/mysql/data.sql | 20 +++++++++---------- src/main/resources/db/mysql/schema.sql | 1 + .../owners/createOrUpdateOwnerForm.html | 2 ++ .../templates/owners/ownerDetails.html | 4 ++++ .../templates/owners/ownersList.html | 2 ++ .../petclinic/owner/OwnerControllerTests.java | 3 +++ .../petclinic/service/ClinicServiceTests.java | 1 + 10 files changed, 51 insertions(+), 22 deletions(-) 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 5b1b7fb36..cf7a31791 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/Owner.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/Owner.java @@ -58,6 +58,11 @@ public class Owner extends Person { @Digits(fraction = 0, integer = 10) private String telephone; + + @Column(name = "email") + @NotEmpty + private String email; + @OneToMany(cascade = CascadeType.ALL, mappedBy = "owner") private Set pets; @@ -85,6 +90,15 @@ public class Owner extends Person { this.telephone = telephone; } + + public String getEmail() { + return this.email; + } + + public void setEmail(String email) { + this.email = email; + } + protected Set getPetsInternal() { if (this.pets == null) { this.pets = new HashSet<>(); @@ -147,6 +161,7 @@ public class Owner extends Person { .append("id", this.getId()).append("new", this.isNew()) .append("lastName", this.getLastName()) .append("firstName", this.getFirstName()).append("address", this.address) - .append("city", this.city).append("telephone", this.telephone).toString(); + .append("city", this.city).append("telephone", this.telephone) + .append("email", this.email).toString(); } } diff --git a/src/main/resources/db/hsqldb/data.sql b/src/main/resources/db/hsqldb/data.sql index 16dda3e84..06750a1ed 100644 --- a/src/main/resources/db/hsqldb/data.sql +++ b/src/main/resources/db/hsqldb/data.sql @@ -22,16 +22,16 @@ INSERT INTO types VALUES (4, 'snake'); INSERT INTO types VALUES (5, 'bird'); INSERT INTO types VALUES (6, 'hamster'); -INSERT INTO owners VALUES (1, 'George', 'Franklin', '110 W. Liberty St.', 'Madison', '6085551023'); -INSERT INTO owners VALUES (2, 'Betty', 'Davis', '638 Cardinal Ave.', 'Sun Prairie', '6085551749'); -INSERT INTO owners VALUES (3, 'Eduardo', 'Rodriquez', '2693 Commerce St.', 'McFarland', '6085558763'); -INSERT INTO owners VALUES (4, 'Harold', 'Davis', '563 Friendly St.', 'Windsor', '6085553198'); -INSERT INTO owners VALUES (5, 'Peter', 'McTavish', '2387 S. Fair Way', 'Madison', '6085552765'); -INSERT INTO owners VALUES (6, 'Jean', 'Coleman', '105 N. Lake St.', 'Monona', '6085552654'); -INSERT INTO owners VALUES (7, 'Jeff', 'Black', '1450 Oak Blvd.', 'Monona', '6085555387'); -INSERT INTO owners VALUES (8, 'Maria', 'Escobito', '345 Maple St.', 'Madison', '6085557683'); -INSERT INTO owners VALUES (9, 'David', 'Schroeder', '2749 Blackhawk Trail', 'Madison', '6085559435'); -INSERT INTO owners VALUES (10, 'Carlos', 'Estaban', '2335 Independence La.', 'Waunakee', '6085555487'); +INSERT INTO owners VALUES (1, 'George', 'Franklin', '110 W. Liberty St.', 'Madison', '6085551023', 'george@email.com'); +INSERT INTO owners VALUES (2, 'Betty', 'Davis', '638 Cardinal Ave.', 'Sun Prairie', '6085551749', 'betty@email.com'); +INSERT INTO owners VALUES (3, 'Eduardo', 'Rodriquez', '2693 Commerce St.', 'McFarland', '6085558763', 'eduardo@email.com'); +INSERT INTO owners VALUES (4, 'Harold', 'Davis', '563 Friendly St.', 'Windsor', '6085553198', 'harold@email.com'); +INSERT INTO owners VALUES (5, 'Peter', 'McTavish', '2387 S. Fair Way', 'Madison', '6085552765', 'peter@email.com'); +INSERT INTO owners VALUES (6, 'Jean', 'Coleman', '105 N. Lake St.', 'Monona', '6085552654', 'jean@email.com'); +INSERT INTO owners VALUES (7, 'Jeff', 'Black', '1450 Oak Blvd.', 'Monona', '6085555387', 'jeff@email.com'); +INSERT INTO owners VALUES (8, 'Maria', 'Escobito', '345 Maple St.', 'Madison', '6085557683', 'maria@email.com'); +INSERT INTO owners VALUES (9, 'David', 'Schroeder', '2749 Blackhawk Trail', 'Madison', '6085559435', 'david@email.com'); +INSERT INTO owners VALUES (10, 'Carlos', 'Estaban', '2335 Independence La.', 'Waunakee', '6085555487', 'carlos@email.com'); INSERT INTO pets VALUES (1, 'Leo', '2010-09-07', 1, 1); INSERT INTO pets VALUES (2, 'Basil', '2012-08-06', 6, 2); diff --git a/src/main/resources/db/hsqldb/schema.sql b/src/main/resources/db/hsqldb/schema.sql index f3c6947b7..faaae1f26 100644 --- a/src/main/resources/db/hsqldb/schema.sql +++ b/src/main/resources/db/hsqldb/schema.sql @@ -39,7 +39,8 @@ CREATE TABLE owners ( last_name VARCHAR_IGNORECASE(30), address VARCHAR(255), city VARCHAR(80), - telephone VARCHAR(20) + telephone VARCHAR(20), + email VARCHAR(100) ); CREATE INDEX owners_last_name ON owners (last_name); diff --git a/src/main/resources/db/mysql/data.sql b/src/main/resources/db/mysql/data.sql index 3f1dcf8ea..5f2798a36 100644 --- a/src/main/resources/db/mysql/data.sql +++ b/src/main/resources/db/mysql/data.sql @@ -22,16 +22,16 @@ INSERT IGNORE INTO types VALUES (4, 'snake'); INSERT IGNORE INTO types VALUES (5, 'bird'); INSERT IGNORE INTO types VALUES (6, 'hamster'); -INSERT IGNORE INTO owners VALUES (1, 'George', 'Franklin', '110 W. Liberty St.', 'Madison', '6085551023'); -INSERT IGNORE INTO owners VALUES (2, 'Betty', 'Davis', '638 Cardinal Ave.', 'Sun Prairie', '6085551749'); -INSERT IGNORE INTO owners VALUES (3, 'Eduardo', 'Rodriquez', '2693 Commerce St.', 'McFarland', '6085558763'); -INSERT IGNORE INTO owners VALUES (4, 'Harold', 'Davis', '563 Friendly St.', 'Windsor', '6085553198'); -INSERT IGNORE INTO owners VALUES (5, 'Peter', 'McTavish', '2387 S. Fair Way', 'Madison', '6085552765'); -INSERT IGNORE INTO owners VALUES (6, 'Jean', 'Coleman', '105 N. Lake St.', 'Monona', '6085552654'); -INSERT IGNORE INTO owners VALUES (7, 'Jeff', 'Black', '1450 Oak Blvd.', 'Monona', '6085555387'); -INSERT IGNORE INTO owners VALUES (8, 'Maria', 'Escobito', '345 Maple St.', 'Madison', '6085557683'); -INSERT IGNORE INTO owners VALUES (9, 'David', 'Schroeder', '2749 Blackhawk Trail', 'Madison', '6085559435'); -INSERT IGNORE INTO owners VALUES (10, 'Carlos', 'Estaban', '2335 Independence La.', 'Waunakee', '6085555487'); +INSERT IGNORE INTO owners VALUES (1, 'George', 'Franklin', '110 W. Liberty St.', 'Madison', '6085551023', 'george@email.com'); +INSERT IGNORE INTO owners VALUES (2, 'Betty', 'Davis', '638 Cardinal Ave.', 'Sun Prairie', '6085551749', 'betty@email.com'); +INSERT IGNORE INTO owners VALUES (3, 'Eduardo', 'Rodriquez', '2693 Commerce St.', 'McFarland', '6085558763', 'eduardo@email.com'); +INSERT IGNORE INTO owners VALUES (4, 'Harold', 'Davis', '563 Friendly St.', 'Windsor', '6085553198', 'harold@email.com'); +INSERT IGNORE INTO owners VALUES (5, 'Peter', 'McTavish', '2387 S. Fair Way', 'Madison', '6085552765', 'peter@email.com'); +INSERT IGNORE INTO owners VALUES (6, 'Jean', 'Coleman', '105 N. Lake St.', 'Monona', '6085552654', 'jean@email.com'); +INSERT IGNORE INTO owners VALUES (7, 'Jeff', 'Black', '1450 Oak Blvd.', 'Monona', '6085555387', 'jeff@email.com'); +INSERT IGNORE INTO owners VALUES (8, 'Maria', 'Escobito', '345 Maple St.', 'Madison', '6085557683', 'maria@email.com'); +INSERT IGNORE INTO owners VALUES (9, 'David', 'Schroeder', '2749 Blackhawk Trail', 'Madison', '6085559435', 'david@email.com'); +INSERT IGNORE INTO owners VALUES (10, 'Carlos', 'Estaban', '2335 Independence La.', 'Waunakee', '6085555487', 'carlos@email.com'); INSERT IGNORE INTO pets VALUES (1, 'Leo', '2000-09-07', 1, 1); INSERT IGNORE INTO pets VALUES (2, 'Basil', '2002-08-06', 6, 2); diff --git a/src/main/resources/db/mysql/schema.sql b/src/main/resources/db/mysql/schema.sql index 6a9825983..34cc23bd8 100644 --- a/src/main/resources/db/mysql/schema.sql +++ b/src/main/resources/db/mysql/schema.sql @@ -42,6 +42,7 @@ CREATE TABLE IF NOT EXISTS owners ( address VARCHAR(255), city VARCHAR(80), telephone VARCHAR(20), + email VARCHAR(100), INDEX(last_name) ) engine=InnoDB; diff --git a/src/main/resources/templates/owners/createOrUpdateOwnerForm.html b/src/main/resources/templates/owners/createOrUpdateOwnerForm.html index c835f8ccb..7f904f246 100644 --- a/src/main/resources/templates/owners/createOrUpdateOwnerForm.html +++ b/src/main/resources/templates/owners/createOrUpdateOwnerForm.html @@ -16,6 +16,8 @@ th:replace="~{fragments/inputField :: input ('City', 'city', 'text')}" /> +
diff --git a/src/main/resources/templates/owners/ownerDetails.html b/src/main/resources/templates/owners/ownerDetails.html index fa2b71ee9..8dd9c07df 100644 --- a/src/main/resources/templates/owners/ownerDetails.html +++ b/src/main/resources/templates/owners/ownerDetails.html @@ -26,6 +26,10 @@ Telephone + + Email + + Edit diff --git a/src/main/resources/templates/owners/ownersList.html b/src/main/resources/templates/owners/ownersList.html index cf489b59b..f05614e4e 100644 --- a/src/main/resources/templates/owners/ownersList.html +++ b/src/main/resources/templates/owners/ownersList.html @@ -13,6 +13,7 @@ Address City Telephone + Email Pets @@ -24,6 +25,7 @@ + diff --git a/src/test/java/org/springframework/samples/petclinic/owner/OwnerControllerTests.java b/src/test/java/org/springframework/samples/petclinic/owner/OwnerControllerTests.java index 1956e2a24..afce38076 100644 --- a/src/test/java/org/springframework/samples/petclinic/owner/OwnerControllerTests.java +++ b/src/test/java/org/springframework/samples/petclinic/owner/OwnerControllerTests.java @@ -73,6 +73,7 @@ class OwnerControllerTests { george.setAddress("110 W. Liberty St."); george.setCity("Madison"); george.setTelephone("6085551023"); + george.setEmail("george@email.com"); Pet max = new Pet(); PetType dog = new PetType(); dog.setName("dog"); @@ -103,6 +104,7 @@ class OwnerControllerTests { .param("address", "123 Caramel Street") .param("city", "London") .param("telephone", "01316761638") + .param("email", "joe@email.com") ) .andExpect(status().is3xxRedirection()); } @@ -179,6 +181,7 @@ class OwnerControllerTests { .param("address", "123 Caramel Street") .param("city", "London") .param("telephone", "01616291589") + .param("email", "joe@email.com") ) .andExpect(status().is3xxRedirection()) .andExpect(view().name("redirect:/owners/{ownerId}")); diff --git a/src/test/java/org/springframework/samples/petclinic/service/ClinicServiceTests.java b/src/test/java/org/springframework/samples/petclinic/service/ClinicServiceTests.java index f11f98373..dd1e71c3b 100644 --- a/src/test/java/org/springframework/samples/petclinic/service/ClinicServiceTests.java +++ b/src/test/java/org/springframework/samples/petclinic/service/ClinicServiceTests.java @@ -102,6 +102,7 @@ class ClinicServiceTests { owner.setAddress("4, Evans Street"); owner.setCity("Wollongong"); owner.setTelephone("4444444444"); + owner.setEmail("sam@email.com"); this.owners.save(owner); assertThat(owner.getId().longValue()).isNotEqualTo(0);