diff --git a/src/main/java/org/springframework/samples/petclinic/product/Product.java b/src/main/java/org/springframework/samples/petclinic/product/Product.java index bdf5957e0..6e9bd4e66 100644 --- a/src/main/java/org/springframework/samples/petclinic/product/Product.java +++ b/src/main/java/org/springframework/samples/petclinic/product/Product.java @@ -1,9 +1,17 @@ package org.springframework.samples.petclinic.product; -public class Product { +import org.springframework.samples.petclinic.model.BaseEntity; + +import javax.persistence.Entity; +import javax.persistence.Table; + + +@Entity +@Table(name="products") +public class Product extends BaseEntity { private String description; - public Product(String description){ + public void setDescription(String description){ this.description = description; } diff --git a/src/main/java/org/springframework/samples/petclinic/product/ProductController.java b/src/main/java/org/springframework/samples/petclinic/product/ProductController.java index 7f29d6ae1..9990f1322 100644 --- a/src/main/java/org/springframework/samples/petclinic/product/ProductController.java +++ b/src/main/java/org/springframework/samples/petclinic/product/ProductController.java @@ -6,17 +6,22 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; +import java.util.Collection; import java.util.List; @Controller public class ProductController { + private final ProductRepository products; + + public ProductController(ProductRepository products) { + this.products = products; + } + @GetMapping("/products") public String showProductList(Model model){ - List prods = new ArrayList(); + Collection prods = products.findAll(); model.addAttribute("products", prods); - prods.add(new Product("p1")); - prods.add(new Product("p2")); return "products/productsList"; } diff --git a/src/main/java/org/springframework/samples/petclinic/product/ProductRepository.java b/src/main/java/org/springframework/samples/petclinic/product/ProductRepository.java new file mode 100644 index 000000000..c1c833423 --- /dev/null +++ b/src/main/java/org/springframework/samples/petclinic/product/ProductRepository.java @@ -0,0 +1,9 @@ +package org.springframework.samples.petclinic.product; + +import org.springframework.data.repository.Repository; + +import java.util.Collection; + +public interface ProductRepository extends Repository { + Collection findAll(); +} diff --git a/src/main/resources/db/hsqldb/data.sql b/src/main/resources/db/hsqldb/data.sql index 16dda3e84..d18879a78 100644 --- a/src/main/resources/db/hsqldb/data.sql +++ b/src/main/resources/db/hsqldb/data.sql @@ -51,3 +51,6 @@ INSERT INTO visits VALUES (1, 7, '2013-01-01', 'rabies shot'); INSERT INTO visits VALUES (2, 8, '2013-01-02', 'rabies shot'); INSERT INTO visits VALUES (3, 8, '2013-01-03', 'neutered'); INSERT INTO visits VALUES (4, 7, '2013-01-04', 'spayed'); + +INSERT INTO products VALUES (1, 'product p1'); +INSERT INTO products VALUES (2, 'product p2'); diff --git a/src/main/resources/db/hsqldb/schema.sql b/src/main/resources/db/hsqldb/schema.sql index f3c6947b7..96fb6d8dc 100644 --- a/src/main/resources/db/hsqldb/schema.sql +++ b/src/main/resources/db/hsqldb/schema.sql @@ -5,7 +5,7 @@ DROP TABLE visits IF EXISTS; DROP TABLE pets IF EXISTS; DROP TABLE types IF EXISTS; DROP TABLE owners IF EXISTS; - +DROP TABLE products IF EXISTS; CREATE TABLE vets ( id INTEGER IDENTITY PRIMARY KEY, @@ -62,3 +62,8 @@ CREATE TABLE visits ( ); ALTER TABLE visits ADD CONSTRAINT fk_visits_pets FOREIGN KEY (pet_id) REFERENCES pets (id); CREATE INDEX visits_pet_id ON visits (pet_id); + +CREATE TABLE products( + id INTEGER IDENTITY PRIMARY KEY, + description VARCHAR(80) +); diff --git a/src/main/resources/templates/fragments/layout.html b/src/main/resources/templates/fragments/layout.html index 85a124dd2..4df611f40 100755 --- a/src/main/resources/templates/fragments/layout.html +++ b/src/main/resources/templates/fragments/layout.html @@ -59,7 +59,7 @@ Veterinarians -
  • +
  • Products