From 8916884ee776126d288db0bc414966e0c9b581ea Mon Sep 17 00:00:00 2001 From: Katrice Williams-Dredden Date: Tue, 3 Apr 2018 23:04:25 -0400 Subject: [PATCH 1/2] on part 3...testing --- .../controller/PollController.java | 25 +++++++++ .../domain/Option.java | 44 ++++++++++++++++ .../domain/Poll.java | 51 +++++++++++++++++++ .../domain/Vote.java | 34 +++++++++++++ .../repositories/OptionRepository.java | 9 ++++ .../repositories/PollRepository.java | 8 +++ .../repositories/VoteRepository.java | 7 +++ 7 files changed, 178 insertions(+) create mode 100644 src/main/java/io/zipcoder/tc_spring_poll_application/controller/PollController.java create mode 100644 src/main/java/io/zipcoder/tc_spring_poll_application/domain/Option.java create mode 100644 src/main/java/io/zipcoder/tc_spring_poll_application/domain/Poll.java create mode 100644 src/main/java/io/zipcoder/tc_spring_poll_application/domain/Vote.java create mode 100644 src/main/java/io/zipcoder/tc_spring_poll_application/repositories/OptionRepository.java create mode 100644 src/main/java/io/zipcoder/tc_spring_poll_application/repositories/PollRepository.java create mode 100644 src/main/java/io/zipcoder/tc_spring_poll_application/repositories/VoteRepository.java diff --git a/src/main/java/io/zipcoder/tc_spring_poll_application/controller/PollController.java b/src/main/java/io/zipcoder/tc_spring_poll_application/controller/PollController.java new file mode 100644 index 0000000..b41625e --- /dev/null +++ b/src/main/java/io/zipcoder/tc_spring_poll_application/controller/PollController.java @@ -0,0 +1,25 @@ +package io.zipcoder.tc_spring_poll_application.controller; + + +import io.zipcoder.tc_spring_poll_application.domain.Poll; +import io.zipcoder.tc_spring_poll_application.repositories.PollRepository; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.InitBinder; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.inject.Inject; + +@RestController +public class PollController { + + @Inject + private PollRepository pollRepository; + + @RequestMapping(value="/polls", method= RequestMethod.GET) + public ResponseEntity> getAllPolls() { + Iterable allPolls = pollRepository.findAll(); + return new ResponseEntity<>(allPolls, HttpStatus.OK); + } diff --git a/src/main/java/io/zipcoder/tc_spring_poll_application/domain/Option.java b/src/main/java/io/zipcoder/tc_spring_poll_application/domain/Option.java new file mode 100644 index 0000000..3781f5d --- /dev/null +++ b/src/main/java/io/zipcoder/tc_spring_poll_application/domain/Option.java @@ -0,0 +1,44 @@ +package io.zipcoder.tc_spring_poll_application.domain; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; + +@Entity +public class Option { + @Id + @GeneratedValue + @Column(name = "OPTION_ID") + private Long id; + + @Column(name="OPTION_VALUE") + private String value; + + public Option(Long id, String value){ + this.id = id; + this.value = value; + + } + + public Long getId(){ + + return id; + } + + public void setId(Long id){ + + this.id = id; + } + + public String getValue(){ + + return value; + } + + public void setValue(String value){ + + this.value = value; + } + +} diff --git a/src/main/java/io/zipcoder/tc_spring_poll_application/domain/Poll.java b/src/main/java/io/zipcoder/tc_spring_poll_application/domain/Poll.java new file mode 100644 index 0000000..d98dbb9 --- /dev/null +++ b/src/main/java/io/zipcoder/tc_spring_poll_application/domain/Poll.java @@ -0,0 +1,51 @@ +package io.zipcoder.tc_spring_poll_application.domain; + +import javax.persistence.*; +import java.util.Set; + +@Entity +public class Poll { + @Id + @GeneratedValue + @Column(name = "POLL_ID") + private Long id; + + @Column(name="QUESTION") + private String question; + + @OneToMany(cascade=CascadeType.ALL) + @JoinColumn(name="POLL_ID") + @OrderBy + private Set