Commit Graph

477 Commits

Author SHA1 Message Date
Mathis Ginkel 79831b046c Fix: small changes in ClientService 2026-04-07 22:11:20 +02:00
Mathis Ginkel 61e54f282e Resolve Conflicts 2026-04-07 22:11:20 +02:00
Lars Simon Winzer 160ad8f2bb Docs: Write JavaDoc for components related to LOGIN command 2026-04-07 20:12:22 +02:00
Lars Simon Winzer d4722989d9 Add: Prevent multiple logins by checking for existing user session 2026-04-07 14:22:09 +02:00
Lars Simon Winzer 7c9cf3e00d Style: Variable naming 2026-04-07 14:09:35 +02:00
Lars Simon Winzer 5ab29a3337 Docs: Write JavaDoc for added components 2026-04-07 14:02:44 +02:00
Lars Simon Winzer 4789273d8f Add: Send ErrorResponse with 'NO_USER_ASSOCIATED' code when no user is associated with the session 2026-04-07 14:02:18 +02:00
Lars Simon Winzer 4c10bc7ab0 Refactor: Use removeBySessionId method instead of onDisconnect handler 2026-04-07 13:39:44 +02:00
Lars Simon Winzer dfbaaac4f0 Merge branch 'main' into 'feat/41-add-serverside-logout-command' 2026-04-07 13:36:07 +02:00
Lars Simon Winzer 822dfe778d Style: Apply Spotless 2026-04-07 13:31:26 +02:00
Lars Simon Winzer ee694b8168 Docs: Write JavaDoc for newly added methods 2026-04-07 13:30:09 +02:00
Lars Simon Winzer 36f07880e5 Refactor: Use internal remove method 2026-04-07 13:28:12 +02:00
Lars Simon Winzer 22dc2c7e54 Add: Methods to remove user by UserId, SessionId and Username from SessionRegistry 2026-04-07 13:27:12 +02:00
Lars Simon Winzer 9a7b1c4dea Add: LOGOUT command in composition root 2026-04-07 12:45:52 +02:00
Lars Simon Winzer 8376f681b1 Add: LogoutHandler for processing logout commands 2026-04-07 12:40:51 +02:00
Lars Simon Winzer fa0ac684f1 Add: LogoutParser for parsing logout requests 2026-04-07 12:31:48 +02:00
Lars Simon Winzer 4ff28932b4 Add: LogoutRequest for handling logout commands 2026-04-07 12:30:40 +02:00
Lars Simon Winzer 708f6c5773 Add: Integrate LOGIN command in composition root 2026-04-07 12:12:33 +02:00
Lars Simon Winzer be173f2847 Add: LoginHandler to execute and respond to LoginRequest 2026-04-07 12:10:45 +02:00
Lars Simon Winzer 7eda64b5c3 Add: LoginResponse containing assigned username and UserId 2026-04-07 11:58:43 +02:00
Lars Simon Winzer 8580a2803c Add: LoginParser to check for required parameter and construct LoginRequest 2026-04-07 11:54:54 +02:00
Lars Simon Winzer 68a69b865e Add: LoginRequest storing requested username for login 2026-04-07 11:51:39 +02:00
Julian Kropff 6693d57688 Merge remote-tracking branch 'origin/main' into feat/gameui 2026-04-05 13:36:22 +02:00
Julian Kropff 828e2f3131 Fix: checkstyle issues 2026-04-05 11:21:27 +02:00
Julian Kropff bf7ac4fc34 Fix: formatting and checkstyle issues 2026-04-05 11:15:26 +02:00
Julian Kropff d4e69d26d7 Merge remote-tracking branch 'origin/main' into feat/game-engine 2026-04-05 11:04:19 +02:00
Julian Kropff 769105b87d Add: rule system for game engine 2026-04-04 23:38:19 +02:00
Julian Kropff a20ba7cef5 Add: hand evaluation for game engine 2026-04-04 23:37:32 +02:00
Julian Kropff fb71c6de7b Add: game engine and flow control 2026-04-04 23:35:43 +02:00
Julian Kropff 041a5f135a Add: player actions for game engine 2026-04-04 23:34:01 +02:00
Julian Kropff 700e8de39d Add: core domain models for game engine 2026-04-04 23:31:34 +02:00
Jona Walpert 76e62b3cff Feat: Accept ClientService and delegate to LobbyClient
Add constructor overload that accepts ClientService and constructs a LobbyClient.
Avoids implicit host/port lookup in UI code; caller controls network config.
Keeps rendering/status behavior unchanged (async updates, deterministic ordering).
2026-04-02 22:26:14 +02:00
Jona Walpert 1070b5d4b9 Chore(startup): Propagate server ip:port to UI via system properties
ClientApp.start parses <ip>:<port>, sets `casono.server.host` / `casono.server.port` and forwards the original launch arg to the JavaFX launcher.
Casinomainui reads JavaFX launch args and exposes the same system properties.
CasinomainuiController reads those properties and constructs `ClientService(host, port)` (no hardcoded defaults)."
2026-04-02 22:12:48 +02:00
Jona Walpert 4daf6ff4a2 Fix: Sort button IDs before iterating map for deterministic rendering
Copy mapping.keySet() to a List and call Collections.sort(...) before iterating.
Ensures stable button placement and reproducible image updates (render + update)
2026-04-02 22:00:18 +02:00
Jona Walpert 3153f7027d fix: temporyy fix for NPE and wrong naming 2026-04-02 18:50:20 +02:00
Jona Walpert b5d19d915b Add: first (non functioning) modified version of lobby button controlelr with abckend conenction 2026-04-02 16:31:27 +02:00
Julian Kropff 77c7f7c0a5 Add: initial client structure for game and network 2026-04-02 16:08:24 +02:00
Lars Simon Winzer 93dba00a4d Style: Apply Spotless 2026-04-02 15:02:58 +02:00
Lars Simon Winzer de11d673dc Docs: Write JavaDoc for added components 2026-04-02 15:02:00 +02:00
Lars Simon Winzer 72e3d257ff Add: Register CheckUsernameHandler in composition root 2026-04-02 14:35:56 +02:00
Lars Simon Winzer 5ef2fa5df1 Refactor: Change UsernameAvailability from public to package-private access 2026-04-02 14:34:24 +02:00
Lars Simon Winzer 5fa478c440 Add: CheckUsernameHandler getting User from UserRegistry and determining availablity 2026-04-02 14:33:59 +02:00
Lars Simon Winzer 9087f009d3 Add: CheckUsernameResponse containing username availability field 2026-04-02 14:33:26 +02:00
Lars Simon Winzer bfbf4b2015 Add: UsernameAvailability enum with availability states 2026-04-02 14:28:56 +02:00
Lars Simon Winzer ea26e371c2 Merge branch 'main' into 'feat/39-add-serverside-check-nick-command' 2026-04-02 14:24:32 +02:00
Lars Simon Winzer 415ad754df Style: Apply Spotless 2026-04-02 14:18:09 +02:00
Lars Simon Winzer a9878da3f2 Docs: Write JavaDoc for changed components 2026-04-02 14:17:45 +02:00
Lars Simon Winzer f91fa698f3 Refactor: Rename user lookup methods from 'find' to 'get' prefix 2026-04-02 14:12:13 +02:00
Lars Simon Winzer 5b70fb89ef Add: Implement methods to find users by UserId and username 2026-04-02 14:11:14 +02:00
Lars Simon Winzer 7a9114045f Merge branch 'main' into 'feat/39-add-serverside-check-nick-command' 2026-04-02 13:50:39 +02:00