diff --git a/pom.xml b/pom.xml index 477aece277e070781245de137cdca9d122d39005..6896d7c5d3390e84f2928236c9ad362deef4c22a 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 @@ -31,13 +31,11 @@ spring-boot-starter-data-jpa - org.postgresql 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 1c783c20feb9dd20488382bc78a64e0b12a2be72..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..ee5b5a8b961335f9444331f5688b01dbde05367f --- /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 78% rename from src/main/java/de/hftstuttgart/middleware/ShoppingAPI.java rename to src/main/java/de/kebidge/middleware/ShoppingAPI.java index f07d0f868831aae451e7082f0b2a0146fca11846..1e6659ea443c5b987fff9c4a8e3faeca1b662a78 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()){ @@ -71,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){ @@ -128,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); @@ -187,11 +230,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); @@ -208,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/hftstuttgart/middleware/ShoppingItem.java b/src/main/java/de/kebidge/middleware/ShoppingItem.java similarity index 80% rename from src/main/java/de/hftstuttgart/middleware/ShoppingItem.java rename to src/main/java/de/kebidge/middleware/ShoppingItem.java index 1f801158e6f42107cfb9bb8f62d135471e4258c7..dddf9aef550e51be12a85d93ab16d4ed02e90d80 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; @@ -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/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 dd4f573f23201bfd3ae6292eab28481d335bd48c..ed0b6fa96543bce0656b1b7ad9ed9d1806017485 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-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 72e222172f4fd2be12cb2fa5d070c46076c8bc2d..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/kevindb -spring.datasource.username=kevin -spring.datasource.password=password - spring.jpa.hibernate.ddl-auto=update +spring.jpa.show-sql=true server.port = 8181 -logging.level.de.hftstuttgart=INFO \ No newline at end of file +logging.level.de.kebidge=INFO + +spring.profiles.active=prod \ 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 89cecbde351af75fe95f6c8e755cff20f0ef4ab7..491bd464c3404d2924ee35e60a853a8f8506c38a 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;