genofire/hs_monolith
genofire
/
hs_monolith
Archived
1
0
Fork 0

[Task]: Add Changes to Documentation

This commit is contained in:
mlabusch 2017-06-16 11:49:47 +02:00
parent 1c041ef410
commit e3c9676425
3 changed files with 13 additions and 63 deletions

View File

@ -0,0 +1,2 @@
\section{Anpassung Monolith}
\label{changes}

View File

@ -126,66 +126,4 @@ Neben den bisherigen Packages, die bereits Whitebox-Tests umfassen, ist in dem P
\subsection{Anpassung des Monolithen}
\label{subsec: Anpassung des Monolithen}
Damit der Microservice Warenwirtschaft durch den bestehenden Monolithen des Webshops Mosh genutzt werden kann, wurden hier die nachfolgend aufgeführten Änderungen vorgenommen.
\begin{itemize}
\item Anpassung der \texttt{HomepageController.java}, sodass der Microservice Warenwirtschaft über die URL des Monolithen mit der Erweiterung \texttt{/stockadmin} aufgerufen werden kann
\item Einfügen der Ampeldarstellung für die Verfügbarkeit auf den Produktseiten unter \texttt{products.html}
\item Anpassung der \texttt{ProductDTO.java} um die Rückgabe der Produkt-ID, sodass diese für die Ampeldarstellung abgerufen werden kann
\item Anpassung der \texttt{DataTransferObjectFactory.java} um die Rückgabe der Produkt-ID, sodass diese für die Ampeldarstellung abgerufen werden kann
\item Anpassung der \texttt{ProductController.java} um eine JSON-Schnittstelle
\end{itemize}
\begin{lstlisting}[caption=Anpassung in HomepageController.java, language=Java]
private final String STOCKADMINFRONTENDTEMPLATE = "https://stock.pub.warehost.de/index.html";
@RequestMapping(value = "/stockadmin", method = RequestMethod.GET)
public String redirect(Model model) {return "redirect:"+ this.STOCKADMINFRONTENDTEMPLATE;
}
}
\end{lstlisting}
\texttt{ProductDTO.java} um die Rückgabe der Produkt-ID erweitert.
\begin{lstlisting}[caption=Anpassung products.html, language=HTML]
<div class="col-md-8">
<h2 th:text="${product.name}">Product Name</h2>
<img class="icon" th:src="${'https://stock.pub.warehost.de/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>
<div th:replace="fragments/reviews :: reviews"></div>
</div>
\end{lstlisting}
\begin{lstlisting}[caption=Anpassung ProductDTO.java, language=Java]
public class ProductDTO {
private int id;
[...]
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
\end{lstlisting}
\begin{lstlisting}[caption=Anpassung DataTransferObjectFactory.java, language=Java]
private ProductDTO createProductWithoutReviewsDTO(Product product, Locale locale,
[...]
productDTO.setId(product.getId());
[...]
}\end{lstlisting}
\begin{lstlisting}[caption=Anpassung ProductControlle.java, language=Java]
@RequestMapping(value = "/products/{prettyUrlFragment:[\\w-]+}.json", method = RequestMethod.GET)
@ResponseBody
public ProductDTO productJson(@PathVariable String prettyUrlFragment, Locale locale) {
return shopService.getProduct(locale, prettyUrlFragment);
}
}\end{lstlisting}
Damit der Microservice Warenwirtschaft durch den bestehenden Monolithen des Webshops Mosh genutzt werden kann, wurden hier die unter dem Anhang \ref{changes} aufgeführten Änderungen vorgenommen.

View File

@ -31,4 +31,14 @@
\input{./chapter/Implementierungsregeln}\newpage
\input{./chapter/GettingStarted}
%------------------------------------------------------------------------------------------------------------
% ---- Anhang --------------------------------------------------------------------------------------------
%------------------------------------------------------------------------------------------------------------
\clearpage
\appendix
\phantomsection
\addcontentsline{toc}{section}{\appendixname}
\input{./chapter/Anpassung}
\end{document}