Commit Graph

227 Commits

Author SHA1 Message Date
Lars Simon Winzer 0d8f1ac4f7 Merge branch 'feat/messages-serverside' into 'main'
Add MessageManager to broadcast Message storing content and sender to all connected users

See merge request cs108-fs26/Gruppe-13!35
milestone-2
2026-03-15 20:44:08 +01:00
Lars Simon Winzer 54fd43142b Add: MessagesManager to easily distribute messages to all users (Broadcast) 2026-03-15 20:33:55 +01:00
Lars Simon Winzer 5bd88445d2 Add: Modify User to store pending incoming messages 2026-03-15 20:33:24 +01:00
Lars Simon Winzer e6c9c12e3b Add: Message send by user 2026-03-15 20:24:17 +01:00
Julian Kropff be124f4a05 Merge branch 'docs/meeting-notes' into 'main'
Add: meeting notes for 14.03.2026

See merge request cs108-fs26/Gruppe-13!34
2026-03-15 19:14:15 +00:00
Julian Kropff 85d604b978 Add: meeting notes for 14.03.2026 2026-03-15 20:03:56 +01:00
Lars Simon Winzer 47544c4f1b Merge branch 'feat/user-serverside' into 'main'
Add UserRegistry to store all existing users and UserCleanupJob to periodicly remove expired user

See merge request cs108-fs26/Gruppe-13!33
2026-03-15 20:00:58 +01:00
Lars Simon Winzer 46b1388cad Add: Create UserRegistry and schedule UserCleanupJob 2026-03-15 19:51:03 +01:00
Lars Simon Winzer 68827e177e Add: Move logger creation in CleanupJob to constructor 2026-03-15 19:49:23 +01:00
Lars Simon Winzer 0a5eb5d11c Chore: JavaDoc Docstrings 2026-03-15 19:48:55 +01:00
Lars Simon Winzer 8fae4789ad Add: Make UserRegistry use multiple Maps to accelerate lookups 2026-03-15 19:37:43 +01:00
Lars Simon Winzer 8dd99726ce Add: UserCleanupJob as runnable to remove all expired users 2026-03-15 19:29:25 +01:00
Lars Simon Winzer 1223e1a4a9 Add: Extend UserRegistry to remove Disconnected User, reassign User to new session and get all users 2026-03-15 19:27:41 +01:00
Lars Simon Winzer 9d9b6ae2c7 Add: Handler for DisconnectEvent to SessionRegistry 2026-03-15 18:57:38 +01:00
Lars Simon Winzer a7cdf995c4 Add: Timestamp to User to store time of disconnect 2026-03-15 18:44:03 +01:00
Lars Simon Winzer 82582dae83 Add: UserFactory to create new users and resolve name conflicts 2026-03-15 18:41:57 +01:00
Lars Simon Winzer 7c5a4675dd Add: UserRegistry to store all active users and grand synchronized access 2026-03-15 18:35:25 +01:00
Lars Simon Winzer 2979c91ee0 Add: User to link network to domain 2026-03-15 18:25:48 +01:00
Lars Simon Winzer 8263a1355a Add: UserId to uniquely identify user 2026-03-15 18:22:11 +01:00
Lars Simon Winzer 118869f461 Merge branch 'feat/command-parser' into 'main'
Add CommandParserDispatcher to dispatch PrimitiveRequest to matching CommandHandler

See merge request cs108-fs26/Gruppe-13!32
2026-03-15 17:21:08 +01:00
Lars Simon Winzer f7f570638b Style: Correct JavaDoc comments and remove trailing whitespaces 2026-03-15 17:06:19 +01:00
Lars Simon Winzer 80c7e1c25d Add: CommandParserDispatcher to dispatch PrimitiveRequest to match CommandParser 2026-03-15 17:04:41 +01:00
Lars Simon Winzer 135e6a5327 Add: Exception to be thrown if no matching CommandParser is found 2026-03-15 16:53:29 +01:00
Lars Simon Winzer 4e853cf35f Add: Interfaces used by the CommandParserDispatcher 2026-03-15 16:53:03 +01:00
Lars Simon Winzer f6c889c250 Merge branch 'feat/protocol-parser' into 'main'
Add ProtocolParser to parse RawPacket into PrimitiveRequest using the Tokenizer

See merge request cs108-fs26/Gruppe-13!31
2026-03-15 16:19:04 +01:00
Lars Simon Winzer 8f7c92684b Add: Use ProtocolParser in Session 2026-03-15 16:12:14 +01:00
Lars Simon Winzer a5f2ac635d Add: RequestId to PrimitiveRequest 2026-03-15 16:08:48 +01:00
Lars Simon Winzer 7ca0bcc3e0 Add: Implement ProtocolParser to parse RawPacket into PrimitiveRequest 2026-03-15 16:06:04 +01:00
Lars Simon Winzer aa508dfd6c Add: Exception thrown while parsing tokens 2026-03-15 16:00:00 +01:00
Lars Simon Winzer 9c3f62db24 Add: PrimitiveRequest created by ProtocolParser containing a list of Parameter objects 2026-03-15 15:18:38 +01:00
Lars Simon Winzer 99a7154701 Merge branch 'main' into 'feat/protocol-parser' 2026-03-15 15:01:21 +01:00
Lars Simon Winzer 2d2bdddfa8 Merge branch 'feat/server-transport-rawpacket' into 'main'
Encapsulate read data by transport layer into RawPacket

See merge request cs108-fs26/Gruppe-13!30
2026-03-15 15:00:50 +01:00
Lars Simon Winzer 0bfcbe95b0 Style: Line length of JavaDoc comment 2026-03-15 14:55:43 +01:00
Lars Simon Winzer 94a2e1f977 Add: Make interface and implementation use RawPacket 2026-03-15 14:55:29 +01:00
Lars Simon Winzer 1bfbb5c75d Add: RawPacket record to store raw data about the incomming request 2026-03-15 14:49:39 +01:00
Lars Simon Winzer 61f0a23bfa Merge branch 'feat/tokenizer' into 'main'
Add server-side tokenizer

See merge request cs108-fs26/Gruppe-13!29
2026-03-15 13:52:51 +01:00
Lars Simon Winzer 08dc94b4b0 Style: Comply with Spotless
Created issue #2 regarding this issue
2026-03-15 13:38:59 +01:00
Lars Simon Winzer ca11c135f1 Style: Bracket after 'if' and record in one-line 2026-03-15 13:28:06 +01:00
Lars Simon Winzer 60f59e03d4 Add: TokenClassifier to perform more extensive syntax verification and classify tokens 2026-03-15 13:26:59 +01:00
Lars Simon Winzer 1e794337b5 Remove: 'NEWLINE' member from TokenType enum as commands dont span over multiple lines 2026-03-15 13:08:23 +01:00
Lars Simon Winzer 3509a967a6 Add: Tokenizer does no longer classify tokens and instead returns 'RawToken's 2026-03-15 12:21:56 +01:00
Lars Simon Winzer 4c0e6aeb36 Delete: Falsly added file for rudimentary quick testing 2026-03-15 12:20:37 +01:00
Lars Simon Winzer 3e138ab84e Add: State to use RawToken 2026-03-15 12:11:59 +01:00
Lars Simon Winzer 45fd696fec Add: RawToken and RawTokenType for token representation 2026-03-15 12:08:32 +01:00
Lars Simon Winzer b898357d76 Merge branch 'main' into 'feat/tokenizer' 2026-03-14 18:24:03 +01:00
Jona Walpert 830c04a706 Merge branch 'chore/conform-ui-to-checkstyle' into 'main'
Chore/conform ui to checkstyle

See merge request cs108-fs26/Gruppe-13!28
2026-03-14 17:21:28 +00:00
Lars Simon Winzer d242aeef7c Merge branch 'main' into 'chore/conform-ui-to-checkstyle' 2026-03-14 17:58:13 +01:00
Lars Simon Winzer 71d6ac9ecc Merge branch 'issue/1-increase-allowed-method-length' into 'main'
Increase allowed MethodLength checked by Checkstyle to 60

Closes #1

See merge request cs108-fs26/Gruppe-13!27
2026-03-14 17:56:15 +01:00
Lars Simon Winzer 8415e3f155 Add: Increase allowed MethodLength to 60 2026-03-14 17:53:19 +01:00
Jona Walpert a15a0a0044 Style: apply Checkstyle fixes on client side 2026-03-14 17:35:47 +01:00