From 64374bf53f78d5ec4f1be2acbd0cd6ba7f1ca17b Mon Sep 17 00:00:00 2001 From: laura Date: Sat, 14 Aug 2021 18:01:05 -0400 Subject: [PATCH 1/7] more of person controller --- .../java/io/zipcoder/persistenceapp/Home.java | 47 ++++++++ .../persistenceapp/HomeController.java | 62 ++++++++++ .../persistenceapp/HomeRepository.java | 15 +++ .../zipcoder/persistenceapp/HomeService.java | 85 ++++++++++++++ .../io/zipcoder/persistenceapp/Person.java | 80 +++++++++++++ .../persistenceapp/PersonController.java | 106 +++++++++++++++++ .../persistenceapp/PersonRepository.java | 19 +++ .../persistenceapp/PersonService.java | 110 ++++++++++++++++++ src/main/resources/application.properties | 7 +- src/main/resources/collections.json | 54 +++++++++ src/main/resources/schema-h2.sql | 7 ++ src/main/resources/script.sql | 27 +++++ 12 files changed, 618 insertions(+), 1 deletion(-) create mode 100644 src/main/java/io/zipcoder/persistenceapp/Home.java create mode 100644 src/main/java/io/zipcoder/persistenceapp/HomeController.java create mode 100644 src/main/java/io/zipcoder/persistenceapp/HomeRepository.java create mode 100644 src/main/java/io/zipcoder/persistenceapp/HomeService.java create mode 100644 src/main/java/io/zipcoder/persistenceapp/Person.java create mode 100644 src/main/java/io/zipcoder/persistenceapp/PersonController.java create mode 100644 src/main/java/io/zipcoder/persistenceapp/PersonRepository.java create mode 100644 src/main/java/io/zipcoder/persistenceapp/PersonService.java create mode 100644 src/main/resources/collections.json create mode 100644 src/main/resources/script.sql diff --git a/src/main/java/io/zipcoder/persistenceapp/Home.java b/src/main/java/io/zipcoder/persistenceapp/Home.java new file mode 100644 index 0000000..14ccbad --- /dev/null +++ b/src/main/java/io/zipcoder/persistenceapp/Home.java @@ -0,0 +1,47 @@ +package io.zipcoder.persistenceapp; + +import javax.persistence.*; + +@Entity +@Table(name = "HOME") +public class Home { + + @Id + @GeneratedValue(strategy= GenerationType.AUTO) + private Long id; + private String address; + private int homeNumber; + + public Home() { + } + + public Home(Long id, String address, int homeNumber) { + this.id = id; + this.address = address; + this.homeNumber = homeNumber; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public int getHomeNumber() { + return homeNumber; + } + + public void setHomeNumber(int homeNumber) { + this.homeNumber = homeNumber; + } +} diff --git a/src/main/java/io/zipcoder/persistenceapp/HomeController.java b/src/main/java/io/zipcoder/persistenceapp/HomeController.java new file mode 100644 index 0000000..d83f9f2 --- /dev/null +++ b/src/main/java/io/zipcoder/persistenceapp/HomeController.java @@ -0,0 +1,62 @@ +package io.zipcoder.persistenceapp; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +public class HomeController { + + + private HomeService homeService; + + @Autowired + public HomeController(HomeService homeService) { + this.homeService = homeService; + } + + @RequestMapping(value = "/homes", method = RequestMethod.POST) + public ResponseEntity createPerson(@RequestBody Home home) { + return new ResponseEntity<>(this.homeService.insertHome(home), HttpStatus.CREATED); + } + + @RequestMapping(value = "/homeUp", method = RequestMethod.PUT) + public ResponseEntity updateHome(@RequestBody Home homeUpdated) { + return new ResponseEntity<>(this.homeService.updateHome(homeUpdated), HttpStatus.OK); + } + + @RequestMapping(value = "/home/{id}", method = RequestMethod.DELETE) + public ResponseEntity deletePerson(@PathVariable Long id) { + this.homeService.removeHome(id); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @RequestMapping(value = "/home/delete-list", method = RequestMethod.DELETE) + public ResponseEntity> deleteManyHomes(@RequestBody List homes) { + this.homeService.removeHomes(homes); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @RequestMapping(value = "/home/id/{id}", method = RequestMethod.GET) + public ResponseEntity findHomeById(@PathVariable Long id) { + return new ResponseEntity<>(this.homeService.findHomeById(id), HttpStatus.OK); + } + + @RequestMapping(value = "/home", method = RequestMethod.GET) + public ResponseEntity> findAllHomes() { + return new ResponseEntity<>(this.homeService.findAllHomes(), HttpStatus.OK); + } + + @RequestMapping(value = "/home/home-number/{homeNumber}", method = RequestMethod.GET) + public ResponseEntity findHomeByHomeNumber(@PathVariable String homeNumber) { + return new ResponseEntity<>(this.homeService.findHomeByHomeNumber(homeNumber), HttpStatus.OK); + } + + @RequestMapping(value = "/home/address/{address}", method = RequestMethod.GET) + public ResponseEntity findHomeByAddress(@PathVariable String address) { + return new ResponseEntity<>(this.homeService.findHomeByAddress(address), HttpStatus.OK); + } +} diff --git a/src/main/java/io/zipcoder/persistenceapp/HomeRepository.java b/src/main/java/io/zipcoder/persistenceapp/HomeRepository.java new file mode 100644 index 0000000..6d874da --- /dev/null +++ b/src/main/java/io/zipcoder/persistenceapp/HomeRepository.java @@ -0,0 +1,15 @@ +package io.zipcoder.persistenceapp; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface HomeRepository extends JpaRepository { + + Home findById(Long Id); + Home findByHomeNumber(String homeNumber); + Home findByAddress(String address); + + + +} diff --git a/src/main/java/io/zipcoder/persistenceapp/HomeService.java b/src/main/java/io/zipcoder/persistenceapp/HomeService.java new file mode 100644 index 0000000..63cee6d --- /dev/null +++ b/src/main/java/io/zipcoder/persistenceapp/HomeService.java @@ -0,0 +1,85 @@ +package io.zipcoder.persistenceapp; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class HomeService { + + @Autowired + private HomeRepository homeRepository; + + + public HomeService(HomeRepository homeRepository) { + this.homeRepository = homeRepository; + } + + public List findAllHomes() { + return this.homeRepository.findAll(); + } + + public Home insertHome(Home home) { + return this.homeRepository.save(home); + } + + public void removeHome(Long id) { + this.homeRepository.delete(id); + } + + public void removeHomes(List homes) { + this.homeRepository.delete(homes); + } + + public Home updateHome(Home home) { + Home toUpdate = this.homeRepository.getOne(home.getId());// findById(home.getId()); + toUpdate.setAddress(home.getAddress()); + toUpdate.setHomeNumber(home.getHomeNumber()); + return this.homeRepository.save(toUpdate); + } + + public Home findHomeById(Long id) { + return this.homeRepository.findById(id); + } + + public Home findHomeByHomeNumber(String homeNumber) { + return this.homeRepository.findByHomeNumber(homeNumber); + } + + public Home findHomeByAddress(String address) { + return this.homeRepository.findByAddress(address); + } + +} + +// public Person create(Person person) { +// return repository.save(person); +// } +// +// public Person findById(Long id) { +// return repository.findOne(id); +// } +// +// public List readAll() { +// Iterable personIterable = repository.findAll(); +// List result = new ArrayList<>(); +// personIterable.forEach(result::add); +// return result; +// } +// +// public Person update(Long id, Person newPersonData) { +// Person personInDatabase = findById(id); +// newPersonData.setId(personInDatabase.getId()); +// return repository.save(newPersonData); +// } +// +// public Person delete(Person person) { +// repository.delete(person); +// return person; +// } +// +// public Person delete(Long id) { +// return delete(findById(id)); +// } + diff --git a/src/main/java/io/zipcoder/persistenceapp/Person.java b/src/main/java/io/zipcoder/persistenceapp/Person.java new file mode 100644 index 0000000..3038a02 --- /dev/null +++ b/src/main/java/io/zipcoder/persistenceapp/Person.java @@ -0,0 +1,80 @@ +package io.zipcoder.persistenceapp; + + +import javax.persistence.*; +import java.util.Date; + +@Entity +@Table(name = "PERSON") +public class Person { + + @Id + @GeneratedValue(strategy= GenerationType.SEQUENCE) + private Long id; + private Long homeId; + private String firstName; + private String lastName; + private Date birthday; + private String mobile; + + public Person() { + } + + public Person(Long id, Long homeId, String firstName, String lastName, Date birthday, String mobile) { + this.id = id; + this.homeId = homeId; + this.firstName = firstName; + this.lastName = lastName; + this.birthday = birthday; + this.mobile = mobile; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getHomeId() { + return homeId; + } + + public void setHomeId(Long homeId) { + this.homeId = homeId; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public Date getBirthday() { + return birthday; + } + + public void setBirthday(Date birthday) { + this.birthday = birthday; + } + + public String getMobile() { + return mobile; + } + + public void setMobile(String mobile) { + this.mobile = mobile; + } + +} diff --git a/src/main/java/io/zipcoder/persistenceapp/PersonController.java b/src/main/java/io/zipcoder/persistenceapp/PersonController.java new file mode 100644 index 0000000..7ac628e --- /dev/null +++ b/src/main/java/io/zipcoder/persistenceapp/PersonController.java @@ -0,0 +1,106 @@ +package io.zipcoder.persistenceapp; + + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +@RestController +//@RequestMapping(value = "/person-controller") +public class PersonController { + + private PersonService personService; + + @Autowired + public PersonController(PersonService personService) { + this.personService = personService; + } + +// @RequestMapping(method = RequestMethod.POST, value = "/create") +// public ResponseEntity create(@RequestBody Person person) { +// return new ResponseEntity<>(personService.create(person), HttpStatus.CREATED); +// } + + @RequestMapping(value = "/create", method = RequestMethod.POST) + public ResponseEntity createPerson(@RequestBody Person person) { + return new ResponseEntity<>(this.personService.insertPerson(person), HttpStatus.CREATED); + } + + @RequestMapping(value = "/all", method = RequestMethod.GET) + public ResponseEntity> findAllPeople() { + return new ResponseEntity<>(this.personService.findAllPeople(), HttpStatus.OK); + } + + @RequestMapping(value = "/read/id/{id}", method = RequestMethod.GET) + public ResponseEntity findPerson(@PathVariable Long id) { + return new ResponseEntity<>(this.personService.findPerson(id), HttpStatus.OK); + } + + @RequestMapping(value = "/delete/id/{id}", method = RequestMethod.DELETE) + public ResponseEntity deletePerson(@PathVariable Long id) { + this.personService.deletePerson(id); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + + + + + @RequestMapping(value = "/people/{id}", method = RequestMethod.PUT) + public ResponseEntity updatePerson(@PathVariable Long id, @RequestBody Person personUpdated) { + return new ResponseEntity<>(this.personService.updatePerson(id, personUpdated), HttpStatus.OK); + } + + + + @RequestMapping(value = "/people/reverse-lookup/{mobileNumber}", method = RequestMethod.GET) + public ResponseEntity> findByMobileNumber(@PathVariable String mobileNumber) { + return new ResponseEntity<>(this.personService.findPersonByMobileNumber(mobileNumber), HttpStatus.OK); + } + + @RequestMapping(value = "/people/surname/{lastName}", method = RequestMethod.GET) + public ResponseEntity> findPeopleWithLastName(@PathVariable String lastName) { + return new ResponseEntity<>(this.personService.findPersonByLastName(lastName), HttpStatus.OK); + } + + @RequestMapping(value = "/people/surname", method = RequestMethod.GET) + public ResponseEntity>> getSurnameReport() { + return new ResponseEntity<>(this.personService.getMapLastNamesToPeopleList(), HttpStatus.OK); + } + + @RequestMapping(value = "/people/firstname/stats", method = RequestMethod.GET) + public ResponseEntity> getFirstNamesReport() { + return new ResponseEntity<>(this.personService.getMapFirstNamesToOccurrences(), HttpStatus.OK); + } + + @RequestMapping(value = "/people/firstname/{firstName}", method = RequestMethod.GET) + public ResponseEntity> findPersonByFirstName(@PathVariable String firstName) { + return new ResponseEntity<>(this.personService.findPersonByFirstName(firstName), HttpStatus.OK); + } + + @RequestMapping(value = "/people/delete-list", method = RequestMethod.DELETE) + public ResponseEntity> deleteManyPeople(@RequestBody List people) { + this.personService.deletePeople(people); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @RequestMapping(value = "/people/{personId}/home/{homeId}", method = RequestMethod.PUT) + public ResponseEntity addPersonToAHome(@PathVariable Long personId, @PathVariable Long homeId) { + return new ResponseEntity<>(this.personService.addPersonToHome(homeId, personId), HttpStatus.OK); + } + + @RequestMapping(value = "/people/{personId}/home", method = RequestMethod.GET) + public ResponseEntity findHomeByPerson(@PathVariable Long personId) { + return new ResponseEntity<>(this.personService.findHomeByPersonId(personId), HttpStatus.OK); + } + + @RequestMapping(value = "/people/all/home/{homeId}", method = RequestMethod.GET) + public ResponseEntity> findPeopleInAHome(@PathVariable Long homeId) { + return new ResponseEntity<>(this.personService.getListPeopleInAHome(homeId), HttpStatus.OK); + } + +} diff --git a/src/main/java/io/zipcoder/persistenceapp/PersonRepository.java b/src/main/java/io/zipcoder/persistenceapp/PersonRepository.java new file mode 100644 index 0000000..677e9c1 --- /dev/null +++ b/src/main/java/io/zipcoder/persistenceapp/PersonRepository.java @@ -0,0 +1,19 @@ +package io.zipcoder.persistenceapp; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import java.util.Date; +import java.util.List; + +@Repository +public interface PersonRepository extends JpaRepository { + + List findAllByFirstName(String firstName); + List findAllByLastName(String lastName); + List findAllByBirthday(Date birthday); + List findAllByMobile(String mobile); + List findAllByHomeId(Long homeId); + +} + diff --git a/src/main/java/io/zipcoder/persistenceapp/PersonService.java b/src/main/java/io/zipcoder/persistenceapp/PersonService.java new file mode 100644 index 0000000..f60de7d --- /dev/null +++ b/src/main/java/io/zipcoder/persistenceapp/PersonService.java @@ -0,0 +1,110 @@ +package io.zipcoder.persistenceapp; + + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class PersonService { + + private PersonRepository personRepository; + + @Autowired + public PersonService(PersonRepository personRepository) { + this.personRepository = personRepository; + } + + public Person create(Person person) { + return personRepository.save(person); + } + + + public Person addPersonToHome(Long homeId, Long personId) { + Person p = this.personRepository.getOne(personId); + p.setHomeId(homeId); + return this.personRepository.save(p); + } + + public Person insertPerson(Person person) { + return this.personRepository.save(person); + } + + public void deletePerson(Long id) { + this.personRepository.delete(id); + } + + public void deletePeople(List people) { + this.personRepository.delete(people); + } + + public List findAllPeople() { + return this.personRepository.findAll(); + } + + public Person findPerson(Long id) { + return this.personRepository.findOne(id); + } + + public Person updatePerson(Long id, Person person) { + Person toUpdate = this.personRepository.findOne(id); + toUpdate.setFirstName(person.getFirstName()); + toUpdate.setLastName(person.getLastName()); + toUpdate.setMobile(person.getMobile()); + toUpdate.setHomeId(person.getHomeId()); + return this.personRepository.save(toUpdate); + } + + public List findPersonByFirstName(String firstName) { + return this.personRepository.findAllByFirstName(firstName); + } + + public List findPersonByLastName(String lastName) { + return this.personRepository.findAllByLastName(lastName); + } + + public List findPersonByMobileNumber(String mobile) { + return this.personRepository.findAllByMobile(mobile); + } + + public Map> getMapLastNamesToPeopleList() { + List people = this.personRepository.findAll(); + HashMap> map = new HashMap<>(); + for (Person p : people) { + if (map.containsKey(p.getLastName())) { + map.get(p.getLastName()).add(p); + } else { + List value = new ArrayList(); + value.add(p); + map.put(p.getLastName(), value); + } + } + return map; + } + + public Map getMapFirstNamesToOccurrences() { + List people = this.personRepository.findAll(); + HashMap map = new HashMap<>(); + for (Person p : people) { + if (map.containsKey(p.getFirstName())) { + map.put(p.getFirstName(), map.get(p.getFirstName()) + 1); + } else { + map.put(p.getFirstName(), 1); + } + } + return map; + } + + public Long findHomeByPersonId(Long personId) { + Person p = this.personRepository.getOne(personId); + return p.getHomeId(); + } + + public List getListPeopleInAHome(Long homeId) { + return this.personRepository.findAllByHomeId(homeId); + } +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 7d4dc6f..608f1bd 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,3 +1,8 @@ spring.profiles.active=h2 logging.level.org.springframework.boot.context.embedded=INFO -spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect \ No newline at end of file +spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect +spring.datasource.initialization-mode=embedded + +logging.level.org.hibernate.SQL=debug +logging.level.org.hibernate.type.descriptor.sql=trace +spring.jpa.show-sql=true \ No newline at end of file diff --git a/src/main/resources/collections.json b/src/main/resources/collections.json new file mode 100644 index 0000000..6f6e38b --- /dev/null +++ b/src/main/resources/collections.json @@ -0,0 +1,54 @@ +{ + "info": { + "_postman_id": "1fd82683-c8da-40e7-8a19-5823fb30a4c3", + "name": "my-first-postman-collection", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" + }, + "item": [ + { + "name": "create", + "request": { + "method": "GET", + "header": [], + "url": null + }, + "response": [] + }, + { + "name": "read", + "request": { + "method": "GET", + "header": [], + "url": null + }, + "response": [] + }, + { + "name": "readAll", + "request": { + "method": "GET", + "header": [], + "url": null + }, + "response": [] + }, + { + "name": "update", + "request": { + "method": "GET", + "header": [], + "url": null + }, + "response": [] + }, + { + "name": "delete", + "request": { + "method": "GET", + "header": [], + "url": null + }, + "response": [] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/schema-h2.sql b/src/main/resources/schema-h2.sql index 39c2c27..e8d0f77 100644 --- a/src/main/resources/schema-h2.sql +++ b/src/main/resources/schema-h2.sql @@ -9,6 +9,10 @@ CREATE TABLE PERSON ( HOME_ID SMALLINT DEFAULT NULL, PRIMARY KEY (ID)); + INSERT INTO PERSON ( LAST_NAME, FIRST_NAME, MOBILE, BIRTHDAY, HOME_ID ) VALUES ('Martinez', 'Gabby', '443-4233', '1992-04-06', 2); + INSERT INTO PERSON ( LAST_NAME, FIRST_NAME, MOBILE, BIRTHDAY, HOME_ID ) VALUES ('Aguilar', 'Marta', '125-4334', '1995-14-02', 3); + + ALTER TABLE PERSON ADD FOREIGN KEY (HOME_ID) REFERENCES HOME(ID); @@ -23,6 +27,9 @@ CREATE TABLE HOME ( PRIMARY KEY (ID) ); +INSERT INTO HOME (ADDRESS, HOMENUMBER) VALUES ('12 chicken Street, NJ 19159 ', '987-3942'); +INSERT INTO HOME (ADDRESS, HOMENUMBER) VALUES ('87 rosa Street, KM 24159 ', '654-4567'); + DROP TABLE IF EXISTS movies; CREATE TABLE movies ( diff --git a/src/main/resources/script.sql b/src/main/resources/script.sql new file mode 100644 index 0000000..f035a83 --- /dev/null +++ b/src/main/resources/script.sql @@ -0,0 +1,27 @@ +INSERT INTO movies (title, runtime, genre, imdb_score, rating) +VALUES ('Howard the Duck', 110, 'Sci-Fi', 4.6, 'PG'), + ('Lavalantula', 83, 'Horror', 4.7, 'TV-14'), + ('Starship Troopers', 129, 'Sci-Fi', 7.2, 'PG-13'), + ('Waltz With Bashir', 90, 'Documentary', 8.0, 'R'), + ('Spaceballs', 96, 'Comedy', 7.1, 'PG'), + ('Monsters Inc.', 92, 'Animation', 8.1, 'G'); + + + +SELECT * FROM movies + +SELECT * FROM MOVIES WHERE imdb_score >= 6. + +SELECT * FROM movie WHERE (rating = 'G' OR rating = 'PG') AND runtime < 100; + +SELECT AVG(RUNTIME) AS AVG_RUNTIME, genre FROM MOVIES WHERE imdb_score < 7.5 GROUP BY genre; + +UPDATE movies SET rating = 'R' WHERE runtime=129; + +SELECT id, rating FROM movies WHERE genre = 'Horror' OR genre = 'Documentary'; + +SELECT rating, AVG(imdb_score), MIN(imdb_score), MAX(imdb_score) from movies GROUP BY rating; + +SELECT rating, AVG(imdb_score), MIN(imdb_score), MAX(imdb_score) from movies GROUP BY rating HAVING COUNT(*) > 1; + +DELETE FROM movie where rating = 'R'; \ No newline at end of file From 326fd21116a44a5d6dd573b47cd7583065468dcb Mon Sep 17 00:00:00 2001 From: laura Date: Sat, 14 Aug 2021 18:58:21 -0400 Subject: [PATCH 2/7] one more --- src/main/java/io/zipcoder/persistenceapp/PersonController.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/io/zipcoder/persistenceapp/PersonController.java b/src/main/java/io/zipcoder/persistenceapp/PersonController.java index 7ac628e..99a126c 100644 --- a/src/main/java/io/zipcoder/persistenceapp/PersonController.java +++ b/src/main/java/io/zipcoder/persistenceapp/PersonController.java @@ -104,3 +104,5 @@ public ResponseEntity> findPeopleInAHome(@PathVariable Long homeId) } } + +// From 095416b8aad0371101426a9d734a1eaa33052d5f Mon Sep 17 00:00:00 2001 From: laura Date: Sat, 14 Aug 2021 19:07:09 -0400 Subject: [PATCH 3/7] more --- src/main/java/io/zipcoder/persistenceapp/PersonController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/persistenceapp/PersonController.java b/src/main/java/io/zipcoder/persistenceapp/PersonController.java index 99a126c..392fc6f 100644 --- a/src/main/java/io/zipcoder/persistenceapp/PersonController.java +++ b/src/main/java/io/zipcoder/persistenceapp/PersonController.java @@ -105,4 +105,4 @@ public ResponseEntity> findPeopleInAHome(@PathVariable Long homeId) } -// +//n From af37edab48631c09a2c99fad1ea655826f90ad33 Mon Sep 17 00:00:00 2001 From: laura Date: Sat, 14 Aug 2021 21:27:44 -0400 Subject: [PATCH 4/7] one --- src/main/java/io/zipcoder/persistenceapp/PersonController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/io/zipcoder/persistenceapp/PersonController.java b/src/main/java/io/zipcoder/persistenceapp/PersonController.java index 392fc6f..bbca222 100644 --- a/src/main/java/io/zipcoder/persistenceapp/PersonController.java +++ b/src/main/java/io/zipcoder/persistenceapp/PersonController.java @@ -106,3 +106,4 @@ public ResponseEntity> findPeopleInAHome(@PathVariable Long homeId) } //n +// \ No newline at end of file From 7b72a906644396197132c3792d79f640e70a82b3 Mon Sep 17 00:00:00 2001 From: laura Date: Sat, 14 Aug 2021 21:31:27 -0400 Subject: [PATCH 5/7] two --- src/main/java/io/zipcoder/persistenceapp/PersonController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/persistenceapp/PersonController.java b/src/main/java/io/zipcoder/persistenceapp/PersonController.java index bbca222..831d15e 100644 --- a/src/main/java/io/zipcoder/persistenceapp/PersonController.java +++ b/src/main/java/io/zipcoder/persistenceapp/PersonController.java @@ -106,4 +106,4 @@ public ResponseEntity> findPeopleInAHome(@PathVariable Long homeId) } //n -// \ No newline at end of file +//// \ No newline at end of file From bd9d916bee3602d48d15188b235a197d344d7b55 Mon Sep 17 00:00:00 2001 From: laura Date: Sat, 14 Aug 2021 21:50:40 -0400 Subject: [PATCH 6/7] one --- src/main/java/io/zipcoder/persistenceapp/PersonController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/persistenceapp/PersonController.java b/src/main/java/io/zipcoder/persistenceapp/PersonController.java index 831d15e..2c38dd9 100644 --- a/src/main/java/io/zipcoder/persistenceapp/PersonController.java +++ b/src/main/java/io/zipcoder/persistenceapp/PersonController.java @@ -106,4 +106,4 @@ public ResponseEntity> findPeopleInAHome(@PathVariable Long homeId) } //n -//// \ No newline at end of file +////// \ No newline at end of file From 9f8b0482bf44939b3e5e9358b2a0f09adceb2824 Mon Sep 17 00:00:00 2001 From: laura Date: Sun, 15 Aug 2021 11:41:04 -0400 Subject: [PATCH 7/7] fixed the controller --- .../persistenceapp/PersonController.java | 16 ++++++++-------- .../zipcoder/persistenceapp/PersonService.java | 8 ++++---- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/main/java/io/zipcoder/persistenceapp/PersonController.java b/src/main/java/io/zipcoder/persistenceapp/PersonController.java index 2c38dd9..17f591b 100644 --- a/src/main/java/io/zipcoder/persistenceapp/PersonController.java +++ b/src/main/java/io/zipcoder/persistenceapp/PersonController.java @@ -57,24 +57,24 @@ public ResponseEntity updatePerson(@PathVariable Long id, @RequestBody P - @RequestMapping(value = "/people/reverse-lookup/{mobileNumber}", method = RequestMethod.GET) + @RequestMapping(value = "/people/mobil/{mobileNumber}", method = RequestMethod.GET) public ResponseEntity> findByMobileNumber(@PathVariable String mobileNumber) { - return new ResponseEntity<>(this.personService.findPersonByMobileNumber(mobileNumber), HttpStatus.OK); + return new ResponseEntity<>(this.personService.findPersonByMobile(mobileNumber), HttpStatus.OK); } - @RequestMapping(value = "/people/surname/{lastName}", method = RequestMethod.GET) + @RequestMapping(value = "/people/lastName/{lastName}", method = RequestMethod.GET) public ResponseEntity> findPeopleWithLastName(@PathVariable String lastName) { return new ResponseEntity<>(this.personService.findPersonByLastName(lastName), HttpStatus.OK); } @RequestMapping(value = "/people/surname", method = RequestMethod.GET) public ResponseEntity>> getSurnameReport() { - return new ResponseEntity<>(this.personService.getMapLastNamesToPeopleList(), HttpStatus.OK); + return new ResponseEntity<>(this.personService.getMapSortByLastName(), HttpStatus.OK); } - @RequestMapping(value = "/people/firstname/stats", method = RequestMethod.GET) + @RequestMapping(value = "/names/occur", method = RequestMethod.GET) public ResponseEntity> getFirstNamesReport() { - return new ResponseEntity<>(this.personService.getMapFirstNamesToOccurrences(), HttpStatus.OK); + return new ResponseEntity<>(this.personService.getFirstNamesOccur(), HttpStatus.OK); } @RequestMapping(value = "/people/firstname/{firstName}", method = RequestMethod.GET) @@ -100,10 +100,10 @@ public ResponseEntity findHomeByPerson(@PathVariable Long personId) { @RequestMapping(value = "/people/all/home/{homeId}", method = RequestMethod.GET) public ResponseEntity> findPeopleInAHome(@PathVariable Long homeId) { - return new ResponseEntity<>(this.personService.getListPeopleInAHome(homeId), HttpStatus.OK); + return new ResponseEntity<>(this.personService.getAllPeopleInAHome(homeId), HttpStatus.OK); } } //n -////// \ No newline at end of file +////// diff --git a/src/main/java/io/zipcoder/persistenceapp/PersonService.java b/src/main/java/io/zipcoder/persistenceapp/PersonService.java index f60de7d..37a7742 100644 --- a/src/main/java/io/zipcoder/persistenceapp/PersonService.java +++ b/src/main/java/io/zipcoder/persistenceapp/PersonService.java @@ -67,11 +67,11 @@ public List findPersonByLastName(String lastName) { return this.personRepository.findAllByLastName(lastName); } - public List findPersonByMobileNumber(String mobile) { + public List findPersonByMobile(String mobile) { return this.personRepository.findAllByMobile(mobile); } - public Map> getMapLastNamesToPeopleList() { + public Map> getMapSortByLastName() { List people = this.personRepository.findAll(); HashMap> map = new HashMap<>(); for (Person p : people) { @@ -86,7 +86,7 @@ public Map> getMapLastNamesToPeopleList() { return map; } - public Map getMapFirstNamesToOccurrences() { + public Map getFirstNamesOccur() { List people = this.personRepository.findAll(); HashMap map = new HashMap<>(); for (Person p : people) { @@ -104,7 +104,7 @@ public Long findHomeByPersonId(Long personId) { return p.getHomeId(); } - public List getListPeopleInAHome(Long homeId) { + public List getAllPeopleInAHome(Long homeId) { return this.personRepository.findAllByHomeId(homeId); } }