From e8c0a0069d71ca48ed9f22fd13da2dd98f8d1b66 Mon Sep 17 00:00:00 2001 From: Kevin Kutzner Date: Thu, 25 Nov 2021 23:41:14 +0100 Subject: [PATCH 1/2] delete item --- pom.xml | 8 ++--- .../middleware/MiddlewareApplication.java | 36 ------------------- .../middleware/MiddlewareApplication.java | 12 +++++++ .../middleware/ShoppingAPI.java | 18 +++++----- .../middleware/ShoppingItem.java | 2 +- .../middleware/ShoppingItemRepository.java | 2 +- src/main/resources/application.properties | 6 ++-- .../MiddlewareApplicationTests.java | 2 +- 8 files changed, 30 insertions(+), 56 deletions(-) delete mode 100644 src/main/java/de/hftstuttgart/middleware/MiddlewareApplication.java create mode 100644 src/main/java/de/kebidge/middleware/MiddlewareApplication.java rename src/main/java/de/{hftstuttgart => kebidge}/middleware/ShoppingAPI.java (95%) rename src/main/java/de/{hftstuttgart => kebidge}/middleware/ShoppingItem.java (96%) rename src/main/java/de/{hftstuttgart => kebidge}/middleware/ShoppingItemRepository.java (87%) rename src/test/java/de/{hftstuttgart => kebidge}/middleware/MiddlewareApplicationTests.java (83%) diff --git a/pom.xml b/pom.xml index 477aece..061bb1d 100644 --- a/pom.xml +++ b/pom.xml @@ -8,11 +8,11 @@ 2.5.6 - de.hft-stuttgart - middleware + de.kebidge.middleware + shopping-app 0.0.1-SNAPSHOT - middleware - Demo project for Spring Boot + ShoppingApp + Shopping List Application 11 diff --git a/src/main/java/de/hftstuttgart/middleware/MiddlewareApplication.java b/src/main/java/de/hftstuttgart/middleware/MiddlewareApplication.java deleted file mode 100644 index 1c783c2..0000000 --- a/src/main/java/de/hftstuttgart/middleware/MiddlewareApplication.java +++ /dev/null @@ -1,36 +0,0 @@ -package de.hftstuttgart.middleware; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -//import org.springframework.web.bind.annotation.GetMapping; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.web.bind.annotation.RestController; - -@SpringBootApplication -public class MiddlewareApplication { - - public static void main(String[] args) { - SpringApplication.run(MiddlewareApplication.class, args); - } - - /* - @RestController - class Hello { - - @GetMapping("/") - public String sayHello() { - return "Hello Kevin"; - } - - @GetMapping("/hello") - public String sayHelloAgain() { - return "Hello Kevin, from another REST Endpoint"; - } - - @GetMapping("/hello/{parameter}") - public String sayHelloWithParameter(@PathVariable String parameter) { - return "Hello Kevin, from another REST Endpoint " + parameter; - } - } - */ -} \ No newline at end of file diff --git a/src/main/java/de/kebidge/middleware/MiddlewareApplication.java b/src/main/java/de/kebidge/middleware/MiddlewareApplication.java new file mode 100644 index 0000000..ee5b5a8 --- /dev/null +++ b/src/main/java/de/kebidge/middleware/MiddlewareApplication.java @@ -0,0 +1,12 @@ +package de.kebidge.middleware; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class MiddlewareApplication { + + public static void main(String[] args) { + SpringApplication.run(MiddlewareApplication.class, args); + } +} \ No newline at end of file diff --git a/src/main/java/de/hftstuttgart/middleware/ShoppingAPI.java b/src/main/java/de/kebidge/middleware/ShoppingAPI.java similarity index 95% rename from src/main/java/de/hftstuttgart/middleware/ShoppingAPI.java rename to src/main/java/de/kebidge/middleware/ShoppingAPI.java index f07d0f8..f7da15c 100644 --- a/src/main/java/de/hftstuttgart/middleware/ShoppingAPI.java +++ b/src/main/java/de/kebidge/middleware/ShoppingAPI.java @@ -1,4 +1,4 @@ -package de.hftstuttgart.middleware; +package de.kebidge.middleware; import java.util.ArrayList; import java.util.Iterator; @@ -24,11 +24,6 @@ public class ShoppingAPI { Logger logger = LoggerFactory.getLogger(ShoppingAPI.class); - /*public ShoppingAPI(ShoppingItemRepository shoppingItemRepository) { - this.shoppingItemRepository = shoppingItemRepository; - }*/ - - @GetMapping("/shoppingItem") public ArrayList> getShoppingItems() { @@ -40,9 +35,6 @@ public class ShoppingAPI { Iterator itemTerator = iterableItems.iterator(); - // TODO: That should be work - //Iterator> optionalItemTerator = optionalItemList.iterator(); - logger.info("----- GET Item -----"); while(itemTerator.hasNext()){ @@ -187,11 +179,17 @@ public class ShoppingAPI { if(itemAmount > 1) { + /**************************************************** + * ID bring nix da automatisch generiert !!!!!!! + * is aber nich schlimm + * amount ist ja richtig + */ + ShoppingItem newItem = new ShoppingItem(item); newItem.setAmount(itemAmount - 1); newItem.setId(itemId); - shoppingItemRepository.delete(tempItem); + //shoppingItemRepository.delete(tempItem); logger.info("----- DELETE Item (Amount) -----"); logger.info("id = {}", newItem.id); diff --git a/src/main/java/de/hftstuttgart/middleware/ShoppingItem.java b/src/main/java/de/kebidge/middleware/ShoppingItem.java similarity index 96% rename from src/main/java/de/hftstuttgart/middleware/ShoppingItem.java rename to src/main/java/de/kebidge/middleware/ShoppingItem.java index 1f80115..135090c 100644 --- a/src/main/java/de/hftstuttgart/middleware/ShoppingItem.java +++ b/src/main/java/de/kebidge/middleware/ShoppingItem.java @@ -1,4 +1,4 @@ -package de.hftstuttgart.middleware; +package de.kebidge.middleware; import javax.persistence.Entity; import javax.persistence.GeneratedValue; diff --git a/src/main/java/de/hftstuttgart/middleware/ShoppingItemRepository.java b/src/main/java/de/kebidge/middleware/ShoppingItemRepository.java similarity index 87% rename from src/main/java/de/hftstuttgart/middleware/ShoppingItemRepository.java rename to src/main/java/de/kebidge/middleware/ShoppingItemRepository.java index dd4f573..ed0b6fa 100644 --- a/src/main/java/de/hftstuttgart/middleware/ShoppingItemRepository.java +++ b/src/main/java/de/kebidge/middleware/ShoppingItemRepository.java @@ -1,4 +1,4 @@ -package de.hftstuttgart.middleware; +package de.kebidge.middleware; import org.springframework.data.repository.CrudRepository; diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 72e2221..da3ef5c 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,9 +1,9 @@ -spring.datasource.url=jdbc:postgresql://localhost:5432/kevindb -spring.datasource.username=kevin +spring.datasource.url=jdbc:postgresql://localhost:5432/kebidgedata +spring.datasource.username=kebidge spring.datasource.password=password spring.jpa.hibernate.ddl-auto=update server.port = 8181 -logging.level.de.hftstuttgart=INFO \ No newline at end of file +logging.level.de.kebidge=INFO \ No newline at end of file diff --git a/src/test/java/de/hftstuttgart/middleware/MiddlewareApplicationTests.java b/src/test/java/de/kebidge/middleware/MiddlewareApplicationTests.java similarity index 83% rename from src/test/java/de/hftstuttgart/middleware/MiddlewareApplicationTests.java rename to src/test/java/de/kebidge/middleware/MiddlewareApplicationTests.java index 89cecbd..491bd46 100644 --- a/src/test/java/de/hftstuttgart/middleware/MiddlewareApplicationTests.java +++ b/src/test/java/de/kebidge/middleware/MiddlewareApplicationTests.java @@ -1,4 +1,4 @@ -package de.hftstuttgart.middleware; +package de.kebidge.middleware; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; -- GitLab From b07169793ff7bedfbbca5abeb8397d77a4fd4804 Mon Sep 17 00:00:00 2001 From: Kevin Kutzner Date: Sat, 22 Jan 2022 19:09:59 +0100 Subject: [PATCH 2/2] add prod and dev mode --- pom.xml | 2 - .../de/kebidge/middleware/ShoppingAPI.java | 53 ++++++++++++++++++- .../de/kebidge/middleware/ShoppingItem.java | 10 ++++ src/main/resources/application-dev.properties | 2 + .../resources/application-prod.properties | 5 ++ src/main/resources/application.properties | 9 ++-- 6 files changed, 73 insertions(+), 8 deletions(-) create mode 100644 src/main/resources/application-dev.properties create mode 100644 src/main/resources/application-prod.properties diff --git a/pom.xml b/pom.xml index 061bb1d..6896d7c 100644 --- a/pom.xml +++ b/pom.xml @@ -31,13 +31,11 @@ spring-boot-starter-data-jpa - org.postgresql diff --git a/src/main/java/de/kebidge/middleware/ShoppingAPI.java b/src/main/java/de/kebidge/middleware/ShoppingAPI.java index f7da15c..1e6659e 100644 --- a/src/main/java/de/kebidge/middleware/ShoppingAPI.java +++ b/src/main/java/de/kebidge/middleware/ShoppingAPI.java @@ -63,6 +63,54 @@ public class ShoppingAPI { return item; } + @PostMapping(path = "/shoppingItem/{item}/{amount}", produces = "application/json") + public ShoppingItem addShoppingItemJSON(@PathVariable String item, @PathVariable int amount){ + + ShoppingItem newItem = new ShoppingItem(item); + + + Iterable iterableItems = shoppingItemRepository.findAll(); + Iterator itemTerator = iterableItems.iterator(); + + while(itemTerator.hasNext()){ + + ShoppingItem tempItem = itemTerator.next(); + + if (tempItem.item.equals(item)) { + + logger.info("----- ADD Item with Amount-----"); + + int newAmount = tempItem.amount + amount; + + newItem.setId(tempItem.id); + newItem.setAmount(newAmount); + shoppingItemRepository.save(newItem); + + logger.info("new id = {}", tempItem.id); + logger.info("new item = {}", tempItem.item); + logger.info("amount = {}", newAmount); + + //return "Increased Amount (from " + (tempItem.amount - amount) + " to " + newItem.amount + ") of " + newItem.item + " successfully in shoppingItemRepository"; + return newItem; + } + + } + + + newItem.setAmount(amount); + + shoppingItemRepository.save(newItem); + + logger.info("----- ADD Item with Amount-----"); + logger.info("new id = {}", newItem.id); + logger.info("new item = {}", newItem.item); + logger.info("amount = {}", amount); + + //return "Added " + newItem.item + " with an Amount of " + amount + " successfully to shoppingItemRepository"; + return newItem; + + } + @PostMapping("/shoppingItem/{item}") public String addShoppingItem(@PathVariable String item){ @@ -120,12 +168,15 @@ public class ShoppingAPI { logger.info("----- UPDATE Item -----"); logger.info("old id = {}", tempItem.id); logger.info("old item = {}", tempItem.item); + logger.info("old amount = {}", tempItem.amount); myNewItem.setId(tempItem.id); myNewItem.setItem(new_item); + myNewItem.setAmount(tempItem.amount); logger.info("new id ={}", myNewItem.id); logger.info("new item ={}", myNewItem.item); + logger.info("new amount ={}", myNewItem.amount); shoppingItemRepository.save(myNewItem); @@ -206,7 +257,7 @@ public class ShoppingAPI { logger.info("----- DELETE Item-----"); logger.info("delete id = {}", tempItem.id); logger.info("delete item = {}", tempItem.item); - logger.info("delete amount = {}", tempItem.item); + logger.info("delete amount = {}", tempItem.amount); shoppingItemRepository.delete(tempItem); return "Deleted " + tempItem.item + " sucessfully"; diff --git a/src/main/java/de/kebidge/middleware/ShoppingItem.java b/src/main/java/de/kebidge/middleware/ShoppingItem.java index 135090c..dddf9ae 100644 --- a/src/main/java/de/kebidge/middleware/ShoppingItem.java +++ b/src/main/java/de/kebidge/middleware/ShoppingItem.java @@ -21,6 +21,16 @@ public class ShoppingItem { item = itemName; } + + public ShoppingItem(String itemName, int itemAmount){ + + amount = itemAmount; + } + + public ShoppingItem(long itemId, String itemName, int itemAmount){ + + id = itemId; + } /* ********** *********** ********** */ diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties new file mode 100644 index 0000000..7c6a579 --- /dev/null +++ b/src/main/resources/application-dev.properties @@ -0,0 +1,2 @@ +spring.datasource.url=jdbc:h2:mem:testdb +spring.datasource.driver-class-name=org.h2.Driver \ No newline at end of file diff --git a/src/main/resources/application-prod.properties b/src/main/resources/application-prod.properties new file mode 100644 index 0000000..8df787c --- /dev/null +++ b/src/main/resources/application-prod.properties @@ -0,0 +1,5 @@ +spring.datasource.url=jdbc:postgresql://localhost:5432/kebidgedata +spring.datasource.username=kebidge +spring.datasource.password=password + +spring.jpa.show-sql=false \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index da3ef5c..a7e1339 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,9 +1,8 @@ -spring.datasource.url=jdbc:postgresql://localhost:5432/kebidgedata -spring.datasource.username=kebidge -spring.datasource.password=password - spring.jpa.hibernate.ddl-auto=update +spring.jpa.show-sql=true server.port = 8181 -logging.level.de.kebidge=INFO \ No newline at end of file +logging.level.de.kebidge=INFO + +spring.profiles.active=prod \ No newline at end of file -- GitLab