diff --git a/pom.xml b/pom.xml index 061bb1d462378ca1c050f2d957a310c3d5808ce1..6896d7c5d3390e84f2928236c9ad362deef4c22a 100644 --- a/pom.xml +++ b/pom.xml @@ -31,13 +31,11 @@ <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> - <!-- <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency> - --> <dependency> <groupId>org.postgresql</groupId> diff --git a/src/main/java/de/kebidge/middleware/ShoppingAPI.java b/src/main/java/de/kebidge/middleware/ShoppingAPI.java index f7da15c0b255a5499470ebc91d9f40a56c13677e..1e6659ea443c5b987fff9c4a8e3faeca1b662a78 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<ShoppingItem> iterableItems = shoppingItemRepository.findAll(); + Iterator<ShoppingItem> 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 135090c8baad5faa9a4d211e5863391ae11e65ce..dddf9aef550e51be12a85d93ab16d4ed02e90d80 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 0000000000000000000000000000000000000000..7c6a579085bbcc88b0da034b7e28e8afae9d1043 --- /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 0000000000000000000000000000000000000000..8df787c8a0fc5eb8025ac8013ed97e8dd39acc31 --- /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 da3ef5c8a543c65e01ef132a828f67d0ef291be3..a7e133991463bdd0f67a00484c992faa07f0b00c 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