diff --git a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/GameStatisticsServlet.java b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/GameStatisticsServlet.java index f3d00ad..4580d06 100644 --- a/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/GameStatisticsServlet.java +++ b/S2/DevWeb/Projet/src/main/java/uppa/project/web/servlet/GameStatisticsServlet.java @@ -6,6 +6,7 @@ import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; +import java.util.ArrayList; import uppa.project.database.dao.DAO; import uppa.project.database.dao.jpa.Game_JPA_DAO_Factory; import uppa.project.database.pojo.Game; @@ -22,12 +23,19 @@ public class GameStatisticsServlet extends HttpServlet { try { DAO gameDAO = new Game_JPA_DAO_Factory().getDAOGame(); game = gameDAO.findById(Integer.parseInt(request.getParameter("id"))); - request.removeAttribute("id"); - game.sortPlayersByScoreAndRapidity(); + ArrayList players = new ArrayList<>(); + for (Player player : game.getPlayers()) players.add(player); + request.setAttribute("players", players); + + System.out.println("GameStatisticsServlet.doGet() : game = " + game); + System.out.println("GameStatisticsServlet.doGet() : players = " + players); + +// request.removeAttribute("id"); +// game.sortPlayersByScoreAndRapidity(); request.setAttribute("game", game); request.getRequestDispatcher("/WEB-INF/pages/game-statistics.jsp").forward(request, response); } catch (Exception e) { - response.sendRedirect(request.getContextPath() + "/profile"); + throw new RuntimeException(e); } } } diff --git a/S2/DevWeb/Projet/src/main/webapp/WEB-INF/tags/components/game-statistics.tag b/S2/DevWeb/Projet/src/main/webapp/WEB-INF/tags/components/game-statistics.tag index 4e963b5..52e6cb4 100644 --- a/S2/DevWeb/Projet/src/main/webapp/WEB-INF/tags/components/game-statistics.tag +++ b/S2/DevWeb/Projet/src/main/webapp/WEB-INF/tags/components/game-statistics.tag @@ -1,15 +1,29 @@ <%@ tag import="uppa.project.database.pojo.Player" %> <%@ tag import="uppa.project.database.pojo.Game" %> +<%@ tag import="java.util.List" %> +<%@ tag import="java.util.ArrayList" %> +<%@ tag import="java.text.SimpleDateFormat" %> +<%@ tag import="java.util.Date" %> <%@tag description="component/statistics" pageEncoding="UTF-8" %> - + +<% + // Get game from request + Game game = (Game) request.getAttribute("game"); + ArrayList players = (ArrayList) request.getAttribute("players"); +%> + +<%----%>

Information sur la partie

- <% String date = game.getCreatedAt().toLocaleString(); - System.out.println(date); - String day = date.substring(0,8) + date.substring(10,12); - String hour = date.substring(14,16) + "h" + date.substring(17,19); + <% Date date = game.getCreatedAt(); + + SimpleDateFormat sdfDay = new SimpleDateFormat("dd/MM/yyyy"); + SimpleDateFormat sdfHour = new SimpleDateFormat("HH:mm"); + + String day = sdfDay.format(date); + String hour = sdfHour.format(date); %>

Date de jeu

<%= day %>

@@ -20,34 +34,34 @@

Difficulté

<% if (game.getDifficulty().equals(Game.Difficulty.EASY)){%> -

Facile

+

Facile

<% } else {%> -

Difficile

+

Difficile

<% } %>

Nombre de rounds

-

${game.nbRounds}

+

<%= game.getNbRounds() %>

Nombre de couleurs

-

${game.nbColors}

+

<%= game.getNbColors()%>

Nombre de valeurs

-

${game.nbValuesPerColor}

+

<%= game.getNbValuesPerColor()%>

Nombre de joueurs

-

${game.nbPlayers}

+

<%= game.getNbPlayers()%>

@@ -64,14 +78,17 @@ - - <% for (Player player : game.getPlayers()) { %> + <% + for (Player player : players) { %> <%= player.getUser().getUsername() %> <%= player.getScore() %> <%= player.getRightClickCount() %> (<%= player.getRatioRightClick() %>%) <%= player.getRapidClickCount() %> (<%= player.getRatioRapidClick()%>%) - <% if (player.getUser().getUsername().equals(game.getWinner().getUser().getUsername())){ %> <% } %> + + <% if (player.getUser().getUsername().equals(game.getWinner().getUser().getUsername())){ %> + + <% } %> <% } %>