[DOC] update monolith patch
This commit is contained in:
parent
0cfa486c95
commit
ca0d349c04
|
@ -1,6 +1,7 @@
|
||||||
From 0754b05118df8af98963428fe32baf7a81920cb7 Mon Sep 17 00:00:00 2001
|
From 0754b05118df8af98963428fe32baf7a81920cb7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Geno <geno+dev@fireorbit.de>
|
||||||
Date: Thu, 22 Jun 2017 20:15:07 +0200
|
Date: Thu, 22 Jun 2017 20:15:07 +0200
|
||||||
Subject: [PATCH] [TASK] patch for microservice stock
|
Subject: [PATCH 1/2] [TASK] patch for microservice stock
|
||||||
|
|
||||||
---
|
---
|
||||||
.../monolith/domain/DataTransferObjectFactory.java | 2 ++
|
.../monolith/domain/DataTransferObjectFactory.java | 2 ++
|
||||||
|
@ -181,3 +182,131 @@ index 0d7bc31..9b2d0bf 100644
|
||||||
<p class="text-info text-uppercase" th:text="${product.price}">0,00 Euro</p>
|
<p class="text-info text-uppercase" th:text="${product.price}">0,00 Euro</p>
|
||||||
<p class="lead" th:text="${product.description}">Description.</p>
|
<p class="lead" th:text="${product.description}">Description.</p>
|
||||||
<div th:replace="fragments/reviews :: reviews"></div>
|
<div th:replace="fragments/reviews :: reviews"></div>
|
||||||
|
|
||||||
|
From 0aa115e34ca231eefe2003919467fb017d60a7c2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Geno <geno+dev@fireorbit.de>
|
||||||
|
Date: Fri, 23 Jun 2017 12:45:24 +0200
|
||||||
|
Subject: [PATCH 2/2] [TASK] fix for presentation
|
||||||
|
|
||||||
|
---
|
||||||
|
.../de/mstock/monolith/domain/ProductRepository.java | 4 ++++
|
||||||
|
.../java/de/mstock/monolith/service/ShopService.java | 19 ++++++++++++++++---
|
||||||
|
.../de/mstock/monolith/web/ProductController.java | 10 +++++-----
|
||||||
|
src/main/resources/templates/product.html | 4 ++--
|
||||||
|
4 files changed, 27 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/main/java/de/mstock/monolith/domain/ProductRepository.java b/src/main/java/de/mstock/monolith/domain/ProductRepository.java
|
||||||
|
index d72fb53..a807fae 100644
|
||||||
|
--- a/src/main/java/de/mstock/monolith/domain/ProductRepository.java
|
||||||
|
+++ b/src/main/java/de/mstock/monolith/domain/ProductRepository.java
|
||||||
|
@@ -11,6 +11,10 @@
|
||||||
|
+ "where key(i) = ?1 and lower(i.name) = ?2")
|
||||||
|
Product findByI18nName(String language, String name);
|
||||||
|
|
||||||
|
+ @Query("select p from Product p join fetch p.i18n i left join fetch i.reviews r "
|
||||||
|
+ + "where key(i) = ?1 and p.id = ?2")
|
||||||
|
+ Product findByID(String language, Integer id);
|
||||||
|
+
|
||||||
|
@Query("select p from Product p")
|
||||||
|
List<Product> findAll();
|
||||||
|
|
||||||
|
diff --git a/src/main/java/de/mstock/monolith/service/ShopService.java b/src/main/java/de/mstock/monolith/service/ShopService.java
|
||||||
|
index c96f266..4b860d5 100644
|
||||||
|
--- a/src/main/java/de/mstock/monolith/service/ShopService.java
|
||||||
|
+++ b/src/main/java/de/mstock/monolith/service/ShopService.java
|
||||||
|
@@ -30,7 +30,7 @@
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets all categories of the current language.
|
||||||
|
- *
|
||||||
|
+ *
|
||||||
|
* @return A simplified Data Transfer Object.
|
||||||
|
*/
|
||||||
|
public List<CategoryDTO> getCategories(Locale locale) {
|
||||||
|
@@ -44,7 +44,7 @@
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets all products for a category in the current language.
|
||||||
|
- *
|
||||||
|
+ *
|
||||||
|
* @return A simplified Data Transfer Object.
|
||||||
|
*/
|
||||||
|
public List<ProductDTO> getProductsForCategory(Locale locale, String prettyUrlFragment) {
|
||||||
|
@@ -73,7 +73,20 @@
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets a product in the current language.
|
||||||
|
- *
|
||||||
|
+ *
|
||||||
|
+ * @return A simplified Data Transfer Object.
|
||||||
|
+ */
|
||||||
|
+ public ProductDTO getProduct(Locale locale, Integer id) {
|
||||||
|
+ Product product = productRepository.findByID(locale.getLanguage(), id);
|
||||||
|
+ if (product == null) {
|
||||||
|
+ throw new NotFoundException();
|
||||||
|
+ }
|
||||||
|
+ return dtoFactory.createProductDTO(product, locale);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Gets a product in the current language.
|
||||||
|
+ *
|
||||||
|
* @return A simplified Data Transfer Object.
|
||||||
|
*/
|
||||||
|
public ProductDTO getProduct(Locale locale, String prettyUrlFragment) {
|
||||||
|
diff --git a/src/main/java/de/mstock/monolith/web/ProductController.java b/src/main/java/de/mstock/monolith/web/ProductController.java
|
||||||
|
index 5fbcacf..22730c5 100644
|
||||||
|
--- a/src/main/java/de/mstock/monolith/web/ProductController.java
|
||||||
|
+++ b/src/main/java/de/mstock/monolith/web/ProductController.java
|
||||||
|
@@ -31,7 +31,7 @@
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Product page
|
||||||
|
- *
|
||||||
|
+ *
|
||||||
|
* @param prettyUrlFragment Pretty URL fragment
|
||||||
|
* @param model Template model
|
||||||
|
* @param locale Current locale
|
||||||
|
@@ -46,7 +46,7 @@ public String product(@PathVariable String prettyUrlFragment, Model model, Local
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Post a review
|
||||||
|
- *
|
||||||
|
+ *
|
||||||
|
* @param reviewForm Form data
|
||||||
|
* @param bindingResult Form binding result after validation
|
||||||
|
* @param prettyUrlFragment Product context
|
||||||
|
@@ -69,10 +69,10 @@ public String post(@Valid ReviewForm reviewForm, BindingResult bindingResult,
|
||||||
|
return TEMPLATE;
|
||||||
|
}
|
||||||
|
|
||||||
|
- @RequestMapping(value = "/products/{prettyUrlFragment:[\\w-]+}.json", method = RequestMethod.GET)
|
||||||
|
+ @RequestMapping(value = "/products/{id}.json", method = RequestMethod.GET)
|
||||||
|
@ResponseBody
|
||||||
|
- public ProductDTO productJson(@PathVariable String prettyUrlFragment, Locale locale) {
|
||||||
|
- return shopService.getProduct(locale, prettyUrlFragment);
|
||||||
|
+ public ProductDTO productJson(@PathVariable Integer id, Locale locale) {
|
||||||
|
+ return shopService.getProduct(locale, id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/products.json", method = RequestMethod.GET)
|
||||||
|
diff --git a/src/main/resources/templates/product.html b/src/main/resources/templates/product.html
|
||||||
|
index 9b2d0bf..235f690 100644
|
||||||
|
--- a/src/main/resources/templates/product.html
|
||||||
|
+++ b/src/main/resources/templates/product.html
|
||||||
|
@@ -33,7 +33,7 @@
|
||||||
|
<h2 th:text="${product.name}">Product Name</h2>
|
||||||
|
|
||||||
|
<!-- Addition: traffic light food labeling system of the stock microservice -->
|
||||||
|
- <img width="10%" class="icon" th:src="${'https://stock.pub.warehost.de/api/good/availablity/'+product.id}"/>
|
||||||
|
+ <img width="10%" class="icon" th:src="${'http://localhost:8081/api/good/availablity/'+product.id}"/>
|
||||||
|
|
||||||
|
<p class="text-info text-uppercase" th:text="${product.price}">0,00 Euro</p>
|
||||||
|
<p class="lead" th:text="${product.description}">Description.</p>
|
||||||
|
@@ -53,4 +53,4 @@ <h2 th:text="${product.name}">Product Name</h2>
|
||||||
|
<script src="../static/js/bootstrap.min.js"
|
||||||
|
th:src="@{/js/bootstrap.min.js}"></script>
|
||||||
|
</body>
|
||||||
|
-</html>
|
||||||
|
\ No newline at end of file
|
||||||
|
+</html>
|
||||||
|
|
Binary file not shown.
Reference in New Issue