Browse Source

Ajout generation bouton parametrage espace

Arthur Brandao 5 years ago
parent
commit
2b8478d4b7

+ 16 - 13
WebContent/settings/index.jsp

@@ -2,6 +2,13 @@
 	pageEncoding="utf-8"%>
 <%@ taglib prefix="s" uri="/struts-tags"%>
 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
+<%@ page import="java.util.List" %>
+<%@ page import="microfolie.service.EspaceService" %>
+<%@ page import="microfolie.service.dto.EspaceDTO" %>
+<%
+	EspaceService espaceService = EspaceService.getInstance();
+	List<EspaceDTO> espaces = espaceService.getAll();
+%>
 
 <!DOCTYPE html>
 <html>
@@ -64,15 +71,11 @@
             </div>
         </div>
         <div class="row center-align">
-            <div class="col l4 m6 s12">
-                <a href="<c:url value="/settings/configure?espace=accueil"/>" class="waves-effect waves-light btn-large red">Accueil</a>
-            </div>
-            <div class="col l4 m6 s12">
-                <a href="<c:url value="/settings/configure?espace=imprimante3D"/>" class="waves-effect waves-light btn-large red">Imprimante 3D</a>
-            </div>
-            <div class="col l4 m6 s12">
-                <a href="<c:url value="/settings/configure?espace=jeux-video"/>" class="waves-effect waves-light btn-large red">Jeux vid&eacute;os</a>
-            </div>
+        	<c:forEach items="<%= espaces %>" var="espace">
+	        	<div class="col l4 m6 s12 mbot-5">
+	                <a href="<c:url value="/settings/configure?espace=${espace.code}&nom=${espace.libelle}"/>" class="waves-effect waves-light btn-large red">${espace.libelle}</a>
+	            </div>
+        	</c:forEach>
         </div>
     </main>
 
@@ -87,7 +90,7 @@
                 <div class="col l4 offset-l2 s12">
                     <h5 class="white-text">Liens utiles</h5>
                     <ul>
-                        <li><a class="grey-text text-lighten-3" href="../">Accueil</a></li>
+                        <li><a class="grey-text text-lighten-3" href="<c:url value="/"/>">Accueil</a></li>
                         <li><a class="grey-text text-lighten-3" href="#apropos">Qui somme nous</a></li>
                         <li><a class="grey-text text-lighten-3" href="#mention">Mentions l&eacute;gales</a></li>
                         <li><a class="grey-text text-lighten-3" href="#contact">Contact</a></li>
@@ -105,9 +108,9 @@
     </footer>
 
     <!-- Script -->
-    <script type="text/javascript" src="../js/jquery.min.js"></script>
-    <script type="text/javascript" src="../js/materialize.min.js"></script>
-    <script type="text/javascript" src="../js/script.js"></script>
+    <script type="text/javascript" src="<c:url value="/js/jquery.min.js"/>"></script>
+    <script type="text/javascript" src="<c:url value="/js/materialize.min.js"/>"></script>
+    <script type="text/javascript" src="<c:url value="/js/script.js"/>"></script>
 </body>
 
 </html>

+ 29 - 0
src/microfolie/entry/rest/EspaceController.java

@@ -0,0 +1,29 @@
+package microfolie.entry.rest;
+
+import java.util.List;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+
+import org.json.JSONArray;
+
+import microfolie.service.EspaceService;
+import microfolie.service.dto.EspaceDTO;
+import microfolie.utils.JsonUtils;
+
+@Path("/espace")
+@Produces("application/json")
+public class EspaceController {
+	
+	private EspaceService service = EspaceService.getInstance();
+	
+	@GET
+	@Path("/list/all")
+	public String listAll() {
+		List<EspaceDTO> espaces = service.getAll();
+		JSONArray data = new JSONArray(espaces);
+		return JsonUtils.success(data).toString();
+	}
+
+}

+ 2 - 2
src/microfolie/persistance/MicrofolieDatabase.java

@@ -73,8 +73,8 @@ public class MicrofolieDatabase extends DatabaseManager {
 	
 	private static void iniMock() {
 		mock.add("Insert into Espace(LIBELLE, CODE) Values('Accueil', 'accueil')");
-		mock.add("Insert into Espace(LIBELLE, CODE) Values('Jeux Vidéo', 'jeux-video')");
-		mock.add("Insert into Espace(LIBELLE, CODE) Values('Vidéo', 'video')");
+		mock.add("Insert into Espace(LIBELLE, CODE) Values('Jeux Vid&eacute;o', 'jeux-video')");
+		mock.add("Insert into Espace(LIBELLE, CODE) Values('Vid&eacute;o', 'video')");
 		mock.add("Insert into Espace(LIBELLE, CODE) Values('Imprimante 3D', 'imprimante-3d')");
 		mock.add("Insert into Ville(LIBELLE, CODEPOSTAL) Values('Troyes', '10000')");
 		mock.add("Insert into Ville(LIBELLE, CODEPOSTAL) Values('Reims', '51000')");

+ 10 - 0
src/microfolie/service/EspaceService.java

@@ -1,6 +1,11 @@
 package microfolie.service;
 
+import java.util.List;
+
+import microfolie.persistance.entity.Espace;
 import microfolie.persistance.table.EspaceTable;
+import microfolie.service.dto.EspaceDTO;
+import microfolie.service.transformer.EspaceTransformer;
 
 public class EspaceService {
 	
@@ -16,6 +21,11 @@ public class EspaceService {
 		return table.findByCode(code).isPresent();
 	}
 	
+	public List<EspaceDTO> getAll() {
+		List<Espace> espaces = table.getAll();
+		return EspaceTransformer.entityToDto(espaces);
+	}
+	
 	public static EspaceService getInstance() {
 		if (instance == null) {
 			instance = new EspaceService();

+ 34 - 0
src/microfolie/service/dto/EspaceDTO.java

@@ -0,0 +1,34 @@
+package microfolie.service.dto;
+
+public class EspaceDTO {
+	
+	private String libelle;
+	private String code;
+	
+	public EspaceDTO() {
+		// Constructeur par defaut pour contruire un objet vide
+	}
+	
+	public EspaceDTO(String libelle, String code) {
+		super();
+		this.libelle = libelle;
+		this.code = code;
+	}
+
+	public String getLibelle() {
+		return libelle;
+	}
+
+	public void setLibelle(String libelle) {
+		this.libelle = libelle;
+	}
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+}

+ 37 - 0
src/microfolie/service/transformer/EspaceTransformer.java

@@ -0,0 +1,37 @@
+package microfolie.service.transformer;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import microfolie.persistance.entity.Espace;
+import microfolie.service.dto.EspaceDTO;
+
+public class EspaceTransformer {
+	
+	public static Espace dtoToEntity(EspaceDTO dto) {
+		Espace espace = new Espace();
+		espace.code = dto.getCode();
+		espace.libelle = dto.getLibelle();
+		return espace;
+	}
+	
+	public static List<Espace> dtoToEntity(List<EspaceDTO> dto) {
+		List<Espace> result = new ArrayList<>();
+		dto.forEach(elt -> result.add(dtoToEntity(elt)));
+		return result;
+	}
+	
+	public static EspaceDTO entityToDto(Espace espace) {
+		EspaceDTO dto = new EspaceDTO();
+		dto.setCode(espace.code);
+		dto.setLibelle(espace.libelle);
+		return dto;
+	}
+	
+	public static List<EspaceDTO> entityToDto(List<Espace> espace) {
+		List<EspaceDTO> result = new ArrayList<>();
+		espace.forEach(elt -> result.add(entityToDto(elt)));
+		return result;
+	}
+
+}

+ 8 - 0
src/microfolie/utils/JsonUtils.java

@@ -1,5 +1,6 @@
 package microfolie.utils;
 
+import org.json.JSONArray;
 import org.json.JSONObject;
 
 public class JsonUtils {
@@ -17,5 +18,12 @@ public class JsonUtils {
 		json.put("data", data);
 		return json;
 	}
+	
+	public static JSONObject success(JSONArray data) {
+		JSONObject json = new JSONObject();
+		json.put("success", true);
+		json.put("data", data);
+		return json;
+	}
 
 }