From 1aff264cc5b34b86c6ccdcfca8610b75fdb4dbca Mon Sep 17 00:00:00 2001 From: rubenpirreram Date: Tue, 26 May 2026 19:26:01 +0200 Subject: [PATCH] Added: ErrorType.toString --- .../it/polimi/ingsw/gc14/ClientLauncherTUI.java | 4 ++-- .../java/it/polimi/ingsw/gc14/ErrorType.java | 17 ++++++++++++++++- .../Network/NetworkEvents/ApplyNextRound.java | 2 +- .../NetworkEvents/DrawLowerBuildingCard.java | 2 +- .../NetworkEvents/DrawLowerTribeCard.java | 2 +- .../NetworkEvents/DrawUpperBuildingCard.java | 2 +- .../NetworkEvents/DrawUpperTribeCard.java | 2 +- .../gc14/Network/NetworkEvents/SkipTurn.java | 2 +- .../gc14/Network/NetworkEvents/SlotChoice.java | 2 +- .../gc14/Network/NetworkEvents/TotemChoice.java | 2 +- .../Network/RMI/Client/ClientCallbackImpl.java | 2 +- .../gc14/Network/RMI/Client/RMIClient.java | 2 +- .../gc14/Network/TCP/Client/TCPClient.java | 8 ++++++-- .../java/it/polimi/ingsw/gc14/View/GUI/GUI.java | 2 +- .../java/it/polimi/ingsw/gc14/View/IView.java | 2 +- .../java/it/polimi/ingsw/gc14/View/TUI/TUI.java | 4 ++-- 16 files changed, 38 insertions(+), 19 deletions(-) diff --git a/src/main/java/it/polimi/ingsw/gc14/ClientLauncherTUI.java b/src/main/java/it/polimi/ingsw/gc14/ClientLauncherTUI.java index 2b3016a..c79908c 100644 --- a/src/main/java/it/polimi/ingsw/gc14/ClientLauncherTUI.java +++ b/src/main/java/it/polimi/ingsw/gc14/ClientLauncherTUI.java @@ -83,7 +83,7 @@ public class ClientLauncherTUI { System.out.println("Succesfully connected to RMI server\n\n"); } else { System.out.println("RMI connection refused\n\n"); - controller.view.showError(serverResponse); + controller.view.showError(serverResponse,serverResponse.toString()); return; } controller.setClient(client); @@ -99,7 +99,7 @@ public class ClientLauncherTUI { System.out.println("Succesfully connected to TCP server\n\n"); } else { System.out.println("TCP connection refused\n\n"); - controller.view.showError(serverResponse); + controller.view.showError(serverResponse,serverResponse.toString()); return; } controller.setClient(client); diff --git a/src/main/java/it/polimi/ingsw/gc14/ErrorType.java b/src/main/java/it/polimi/ingsw/gc14/ErrorType.java index 789988d..c751c35 100644 --- a/src/main/java/it/polimi/ingsw/gc14/ErrorType.java +++ b/src/main/java/it/polimi/ingsw/gc14/ErrorType.java @@ -1,5 +1,20 @@ package it.polimi.ingsw.gc14; public enum ErrorType { - USER_NOT_FOUND, USERNAME_ALREADY_USED,USER_ALREADY_CONNECTED,WRONG_PLAYER_NUMBER,WRONG_GAME_ACTION,SERVER_CRASHED,GENERIC_ERROR, GAME_ALREADY_STARTED + USER_NOT_FOUND("User not found"), + USERNAME_ALREADY_USED("Username is already in use"), + USER_ALREADY_CONNECTED("User is already connected"), + WRONG_PLAYER_NUMBER("Wrong player number"), + SERVER_CRASHED("Server crashed"), + GENERIC_ERROR("Generic error"), + GAME_ALREADY_STARTED("Game already started"), + WRONG_ACTION("Wrong action"); + private String description; + ErrorType(String description) { + this.description = description; + } + @Override + public String toString() { + return description; + } } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/ApplyNextRound.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/ApplyNextRound.java index 23ea0ff..e4bf4c7 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/ApplyNextRound.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/ApplyNextRound.java @@ -39,7 +39,7 @@ public class ApplyNextRound extends NetworkEvent implements Serializable{ * @param players the list of players in the game. */ public ApplyNextRound(Map slotPlayerMap, OrderLogicCard orderLogicCard, CurrentState currentState, List players, ArrayList upperListTribeCards, ArrayListlowerListTribeCards, ArrayList upperListBuildingCards, ArrayListlowerListBuildingCards) { - super("SERVER",EventType.NEXT_ROUND,false, ErrorType.WRONG_GAME_ACTION); + super("SERVER",EventType.NEXT_ROUND,false, ErrorType.WRONG_ACTION); this.upperListBuildingCards = upperListBuildingCards; this.lowerListBuildingCards = lowerListBuildingCards; this.upperListTribeCards = upperListTribeCards; diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerBuildingCard.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerBuildingCard.java index 5fd64fe..33a796f 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerBuildingCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerBuildingCard.java @@ -23,7 +23,7 @@ public class DrawLowerBuildingCard extends NetworkEvent implements Serializable * @param pos the index of the card to draw */ public DrawLowerBuildingCard(String username, int pos){ - super(username, EventType.DRAW_LOWER_BUILD, false, ErrorType.WRONG_GAME_ACTION); + super(username, EventType.DRAW_LOWER_BUILD, false, ErrorType.WRONG_ACTION); this.pos = pos; } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerTribeCard.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerTribeCard.java index 072724c..f6c29bf 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerTribeCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerTribeCard.java @@ -24,7 +24,7 @@ public class DrawLowerTribeCard extends NetworkEvent implements Serializable{ * @param pos the index of the card to draw */ public DrawLowerTribeCard(String username, int pos){ - super(username, EventType.DRAW_LOWER_TRIBE, false, ErrorType.WRONG_GAME_ACTION); + super(username, EventType.DRAW_LOWER_TRIBE, false, ErrorType.WRONG_ACTION); this.pos = pos; } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperBuildingCard.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperBuildingCard.java index b646bd5..63ab87f 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperBuildingCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperBuildingCard.java @@ -24,7 +24,7 @@ public class DrawUpperBuildingCard extends NetworkEvent implements Serializable * @param pos the index of the card to draw */ public DrawUpperBuildingCard(String username, int pos){ - super(username, EventType.DRAW_UPPER_BUILD, false, ErrorType.WRONG_GAME_ACTION); + super(username, EventType.DRAW_UPPER_BUILD, false, ErrorType.WRONG_ACTION); this.pos = pos; } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperTribeCard.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperTribeCard.java index 4e19124..016dbf5 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperTribeCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperTribeCard.java @@ -24,7 +24,7 @@ public class DrawUpperTribeCard extends NetworkEvent implements Serializable{ * @param pos the index of the card to draw */ public DrawUpperTribeCard(String username, int pos){ - super(username, EventType.DRAW_UPPER_TRIBE, false, ErrorType.WRONG_GAME_ACTION); + super(username, EventType.DRAW_UPPER_TRIBE, false, ErrorType.WRONG_ACTION); this.pos = pos; } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipTurn.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipTurn.java index 20bd0cc..82fec74 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipTurn.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SkipTurn.java @@ -19,7 +19,7 @@ public class SkipTurn extends NetworkEvent implements Serializable{ * @param username the name of the player requesting the event */ public SkipTurn(String username){ - super(username, EventType.SKIP_TURN, false, ErrorType.WRONG_GAME_ACTION); + super(username, EventType.SKIP_TURN, false, ErrorType.WRONG_ACTION); } /** diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SlotChoice.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SlotChoice.java index 76643cc..642205c 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SlotChoice.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SlotChoice.java @@ -24,7 +24,7 @@ public class SlotChoice extends NetworkEvent implements Serializable { * @param pos the index of the card to draw */ public SlotChoice(String username, int pos) { - super(username, EventType.SLOT_CHOICE, false, ErrorType.WRONG_GAME_ACTION); + super(username, EventType.SLOT_CHOICE, false, ErrorType.WRONG_ACTION); this.pos = pos; } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/TotemChoice.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/TotemChoice.java index fcb19b2..a25d75f 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/TotemChoice.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/TotemChoice.java @@ -41,7 +41,7 @@ public class TotemChoice extends NetworkEvent implements Serializable { * @param totem the name of the selected totem. */ public TotemChoice(String username, String totem) { - super(username, EventType.TOTEM_CHOICE, false, ErrorType.WRONG_GAME_ACTION); + super(username, EventType.TOTEM_CHOICE, false, ErrorType.WRONG_ACTION); this.totem = totem; } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/RMI/Client/ClientCallbackImpl.java b/src/main/java/it/polimi/ingsw/gc14/Network/RMI/Client/ClientCallbackImpl.java index 5a8c110..7cdb902 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/RMI/Client/ClientCallbackImpl.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/RMI/Client/ClientCallbackImpl.java @@ -55,7 +55,7 @@ public class ClientCallbackImpl extends UnicastRemoteObject implements IClientCa @Override public void onAction(NetworkEvent event) throws RemoteException { if(event.getIsError()) { - clientController.view.showError(event.getErrorType()); + clientController.view.showError(event.getErrorType(),event.toString()); } else { event.apply(clientController.miniModel); clientController.view.render(); diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/RMI/Client/RMIClient.java b/src/main/java/it/polimi/ingsw/gc14/Network/RMI/Client/RMIClient.java index 174710d..a2f2d5d 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/RMI/Client/RMIClient.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/RMI/Client/RMIClient.java @@ -126,7 +126,7 @@ public class RMIClient implements IClient { if (!running) return; running = false; if (pingSender != null) pingSender.shutdownNow(); - controller.view.showError(ErrorType.SERVER_CRASHED); + controller.view.showError(ErrorType.SERVER_CRASHED,ErrorType.SERVER_CRASHED.toString()); } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/TCP/Client/TCPClient.java b/src/main/java/it/polimi/ingsw/gc14/Network/TCP/Client/TCPClient.java index 8dd69ed..bdc4070 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/TCP/Client/TCPClient.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/TCP/Client/TCPClient.java @@ -153,7 +153,7 @@ public class TCPClient implements IClient { running = false; try { communicationSocket.close(); } catch (IOException ignored) {} try { heartbeatSocket.close(); } catch (IOException ignored) {} - controller.view.showError(ErrorType.SERVER_CRASHED); + controller.view.showError(ErrorType.SERVER_CRASHED,ErrorType.SERVER_CRASHED.toString()); } @@ -176,7 +176,11 @@ public class TCPClient implements IClient { if (read instanceof NetworkEvent event) { if (event.getIsError()) { - controller.view.showError(event.getErrorType()); + if(event.getErrorType() == ErrorType.WRONG_ACTION) { + controller.view.showError(ErrorType.WRONG_ACTION,event.toString()); + } + else + controller.view.showError(event.getErrorType(),event.getErrorType().toString()); } else { event.apply(controller.miniModel); controller.view.render(); diff --git a/src/main/java/it/polimi/ingsw/gc14/View/GUI/GUI.java b/src/main/java/it/polimi/ingsw/gc14/View/GUI/GUI.java index 8ca78e5..3bcaa72 100644 --- a/src/main/java/it/polimi/ingsw/gc14/View/GUI/GUI.java +++ b/src/main/java/it/polimi/ingsw/gc14/View/GUI/GUI.java @@ -135,7 +135,7 @@ public class GUI extends Application implements IView { } @Override - public void showError(ErrorType error) { + public void showError(ErrorType error,String message) { Platform.runLater(() -> { synchronized (miniModel) { controllerMain.isError = true; diff --git a/src/main/java/it/polimi/ingsw/gc14/View/IView.java b/src/main/java/it/polimi/ingsw/gc14/View/IView.java index 38caaa9..d6bb9b0 100644 --- a/src/main/java/it/polimi/ingsw/gc14/View/IView.java +++ b/src/main/java/it/polimi/ingsw/gc14/View/IView.java @@ -11,6 +11,6 @@ public interface IView { void showMessage(String message); - public void showError(ErrorType error); + public void showError(ErrorType error,String message); } diff --git a/src/main/java/it/polimi/ingsw/gc14/View/TUI/TUI.java b/src/main/java/it/polimi/ingsw/gc14/View/TUI/TUI.java index e91ff69..846b6d2 100644 --- a/src/main/java/it/polimi/ingsw/gc14/View/TUI/TUI.java +++ b/src/main/java/it/polimi/ingsw/gc14/View/TUI/TUI.java @@ -234,10 +234,10 @@ public class TUI implements IView { * * @param error the error message to display */ - public void showError(ErrorType error) { + public void showError(ErrorType error,String message) { clearTerminal(); render(); - System.out.println(error); + System.out.println(message); } /**