From 8b8ac9ccc0fffeca9077311eddad7cd30965cb98 Mon Sep 17 00:00:00 2001 From: Lars Simon Winzer Date: Mon, 30 Mar 2026 17:41:55 +0200 Subject: [PATCH 01/16] Chore: Move request related files into own folder --- .../casono/server/network/command/CommandHandler.java | 2 +- .../casono/server/network/command/CommandRouter.java | 3 ++- .../cs108/casono/server/network/parser/CommandParser.java | 3 +++ .../server/network/parser/CommandParserDispatcher.java | 3 +++ .../casono/server/network/parser/ProtocolParser.java | 1 + .../cs108/casono/server/network/parser/RawRequest.java | 5 ----- .../{parser => request}/MissingParameterException.java | 2 +- .../{parser => request}/ParameterParseException.java | 2 +- .../network/{parser => request}/PrimitiveRequest.java | 4 +++- .../cs108/casono/server/network/request/RawRequest.java | 7 +++++++ .../server/network/{parser => request}/Request.java | 2 +- .../network/{parser => request}/RequestContext.java | 2 +- .../{parser => request}/RequestParameterAccessor.java | 4 +++- .../network/{parser => request}/ThrowingParser.java | 2 +- .../casono/server/network/sessions/SessionReader.java | 8 ++++---- 15 files changed, 32 insertions(+), 18 deletions(-) delete mode 100644 src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/RawRequest.java rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{parser => request}/MissingParameterException.java (92%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{parser => request}/ParameterParseException.java (92%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{parser => request}/PrimitiveRequest.java (61%) create mode 100644 src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RawRequest.java rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{parser => request}/Request.java (88%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{parser => request}/RequestContext.java (87%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{parser => request}/RequestParameterAccessor.java (96%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{parser => request}/ThrowingParser.java (87%) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/CommandHandler.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/CommandHandler.java index 34228c7..a6cd87c 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/CommandHandler.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/CommandHandler.java @@ -1,6 +1,6 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.command; -import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.Request; +import ch.unibas.dmi.dbis.cs108.casono.server.network.request.Request; public interface CommandHandler { void execute(T request); diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/CommandRouter.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/CommandRouter.java index 0badeff..97b13b4 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/CommandRouter.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/CommandRouter.java @@ -1,9 +1,10 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.command; -import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.Request; import java.util.HashMap; import java.util.Map; +import ch.unibas.dmi.dbis.cs108.casono.server.network.request.Request; + public class CommandRouter { private final Map, CommandHandler> handlers = new HashMap<>(); diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/CommandParser.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/CommandParser.java index ae00bca..d4fbe22 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/CommandParser.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/CommandParser.java @@ -1,5 +1,8 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.parser; +import ch.unibas.dmi.dbis.cs108.casono.server.network.request.PrimitiveRequest; +import ch.unibas.dmi.dbis.cs108.casono.server.network.request.Request; + /** * Parser to convert the PrimitiveRequest to a Request and performing checks for required fields and * data types diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/CommandParserDispatcher.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/CommandParserDispatcher.java index 722815c..dbb5bf8 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/CommandParserDispatcher.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/CommandParserDispatcher.java @@ -3,6 +3,9 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.parser; import java.util.HashMap; import java.util.Map; +import ch.unibas.dmi.dbis.cs108.casono.server.network.request.PrimitiveRequest; +import ch.unibas.dmi.dbis.cs108.casono.server.network.request.Request; + /** Dispatcher all CommandParser are registered in */ public class CommandParserDispatcher { private final Map parsers = new HashMap<>(); diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/ProtocolParser.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/ProtocolParser.java index 8f8b4d4..87a7495 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/ProtocolParser.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/ProtocolParser.java @@ -1,5 +1,6 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.parser; +import ch.unibas.dmi.dbis.cs108.casono.server.network.request.RawRequest; import ch.unibas.dmi.dbis.cs108.casono.server.tokenizer.RawToken; import ch.unibas.dmi.dbis.cs108.casono.server.tokenizer.Token; import ch.unibas.dmi.dbis.cs108.casono.server.tokenizer.TokenClassifier; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/RawRequest.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/RawRequest.java deleted file mode 100644 index fbbc0e5..0000000 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/RawRequest.java +++ /dev/null @@ -1,5 +0,0 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.parser; - -import java.util.List; - -public record RawRequest(String command, List parameters) {} diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/MissingParameterException.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/MissingParameterException.java similarity index 92% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/MissingParameterException.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/MissingParameterException.java index 55e32fa..a13747f 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/MissingParameterException.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/MissingParameterException.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.parser; +package ch.unibas.dmi.dbis.cs108.casono.server.network.request; /** Exception thrown when a required parameter key is not found. */ public class MissingParameterException extends RuntimeException { diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/ParameterParseException.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/ParameterParseException.java similarity index 92% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/ParameterParseException.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/ParameterParseException.java index 97628a6..9f973ec 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/ParameterParseException.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/ParameterParseException.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.parser; +package ch.unibas.dmi.dbis.cs108.casono.server.network.request; /** Exception thrown when a parameter value cannot be converted to the requested type. */ public class ParameterParseException extends RuntimeException { diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/PrimitiveRequest.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/PrimitiveRequest.java similarity index 61% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/PrimitiveRequest.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/PrimitiveRequest.java index 4135e47..d853bab 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/PrimitiveRequest.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/PrimitiveRequest.java @@ -1,7 +1,9 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.parser; +package ch.unibas.dmi.dbis.cs108.casono.server.network.request; import java.util.List; +import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.Parameter; + /** Created by the ProtocolParser to allow easy access to the request contents */ public record PrimitiveRequest( RequestContext context, String command, List parameters) {} diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RawRequest.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RawRequest.java new file mode 100644 index 0000000..f93486a --- /dev/null +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RawRequest.java @@ -0,0 +1,7 @@ +package ch.unibas.dmi.dbis.cs108.casono.server.network.request; + +import java.util.List; + +import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.Parameter; + +public record RawRequest(String command, List parameters) {} diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/Request.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/Request.java similarity index 88% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/Request.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/Request.java index 8b3d70f..f056cb8 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/Request.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/Request.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.parser; +package ch.unibas.dmi.dbis.cs108.casono.server.network.request; import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionId; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/RequestContext.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RequestContext.java similarity index 87% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/RequestContext.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RequestContext.java index 6881885..ff57463 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/RequestContext.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RequestContext.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.parser; +package ch.unibas.dmi.dbis.cs108.casono.server.network.request; import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionId; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/RequestParameterAccessor.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RequestParameterAccessor.java similarity index 96% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/RequestParameterAccessor.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RequestParameterAccessor.java index 0d691e5..bd34c4c 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/RequestParameterAccessor.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RequestParameterAccessor.java @@ -1,9 +1,11 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.parser; +package ch.unibas.dmi.dbis.cs108.casono.server.network.request; import java.util.List; import java.util.Map; import java.util.stream.Collectors; +import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.Parameter; + /** * Provides typed access to a request's parameters by indexing them by key. * diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/ThrowingParser.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/ThrowingParser.java similarity index 87% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/ThrowingParser.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/ThrowingParser.java index af1ec9b..d6d931f 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/ThrowingParser.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/ThrowingParser.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.parser; +package ch.unibas.dmi.dbis.cs108.casono.server.network.request; /** * Functional parser interface used to convert a raw string parameter into a target type. diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java index ad90468..b7c6fec 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java @@ -4,12 +4,12 @@ import ch.unibas.dmi.dbis.cs108.casono.server.network.command.CommandRouter; import ch.unibas.dmi.dbis.cs108.casono.server.network.events.DisconnectEvent; import ch.unibas.dmi.dbis.cs108.casono.server.network.events.EventBus; import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.CommandParserDispatcher; -import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.PrimitiveRequest; import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.ProtocolParser; import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.ProtocolParserException; -import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.RawRequest; -import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.Request; -import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.RequestContext; +import ch.unibas.dmi.dbis.cs108.casono.server.network.request.PrimitiveRequest; +import ch.unibas.dmi.dbis.cs108.casono.server.network.request.RawRequest; +import ch.unibas.dmi.dbis.cs108.casono.server.network.request.Request; +import ch.unibas.dmi.dbis.cs108.casono.server.network.request.RequestContext; import ch.unibas.dmi.dbis.cs108.casono.server.network.transport.RawPacket; import ch.unibas.dmi.dbis.cs108.casono.server.network.transport.TransportLayer; import ch.unibas.dmi.dbis.cs108.casono.server.tokenizer.TokenizerException; From f9519a6eb502819c97897fc5ebff2900cf213887 Mon Sep 17 00:00:00 2001 From: Lars Simon Winzer Date: Mon, 30 Mar 2026 17:43:31 +0200 Subject: [PATCH 02/16] Chore: Move RequestParameterAccessor and related files into subfolder of request --- .../request/{ => accessor}/MissingParameterException.java | 2 +- .../network/request/{ => accessor}/ParameterParseException.java | 2 +- .../request/{ => accessor}/RequestParameterAccessor.java | 2 +- .../server/network/request/{ => accessor}/ThrowingParser.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/{ => accessor}/MissingParameterException.java (91%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/{ => accessor}/ParameterParseException.java (91%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/{ => accessor}/RequestParameterAccessor.java (98%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/{ => accessor}/ThrowingParser.java (85%) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/MissingParameterException.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/MissingParameterException.java similarity index 91% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/MissingParameterException.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/MissingParameterException.java index a13747f..bbc04e7 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/MissingParameterException.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/MissingParameterException.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.request; +package ch.unibas.dmi.dbis.cs108.casono.server.network.request.accessor; /** Exception thrown when a required parameter key is not found. */ public class MissingParameterException extends RuntimeException { diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/ParameterParseException.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/ParameterParseException.java similarity index 91% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/ParameterParseException.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/ParameterParseException.java index 9f973ec..2bb9752 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/ParameterParseException.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/ParameterParseException.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.request; +package ch.unibas.dmi.dbis.cs108.casono.server.network.request.accessor; /** Exception thrown when a parameter value cannot be converted to the requested type. */ public class ParameterParseException extends RuntimeException { diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RequestParameterAccessor.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/RequestParameterAccessor.java similarity index 98% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RequestParameterAccessor.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/RequestParameterAccessor.java index bd34c4c..259883d 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RequestParameterAccessor.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/RequestParameterAccessor.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.request; +package ch.unibas.dmi.dbis.cs108.casono.server.network.request.accessor; import java.util.List; import java.util.Map; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/ThrowingParser.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/ThrowingParser.java similarity index 85% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/ThrowingParser.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/ThrowingParser.java index d6d931f..90b2fcc 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/ThrowingParser.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/ThrowingParser.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.request; +package ch.unibas.dmi.dbis.cs108.casono.server.network.request.accessor; /** * Functional parser interface used to convert a raw string parameter into a target type. From d4b501015829911485c8516db74e8dc618acb288 Mon Sep 17 00:00:00 2001 From: Lars Simon Winzer Date: Mon, 30 Mar 2026 17:45:08 +0200 Subject: [PATCH 03/16] Chore: Rename Parameter to RequestParameter --- .../casono/server/network/parser/ProtocolParser.java | 8 ++++---- .../parser/{Parameter.java => RequestParameter.java} | 2 +- .../casono/server/network/request/PrimitiveRequest.java | 4 ++-- .../cs108/casono/server/network/request/RawRequest.java | 4 ++-- .../request/accessor/RequestParameterAccessor.java | 6 +++--- 5 files changed, 12 insertions(+), 12 deletions(-) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/{Parameter.java => RequestParameter.java} (73%) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/ProtocolParser.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/ProtocolParser.java index 87a7495..ca90162 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/ProtocolParser.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/ProtocolParser.java @@ -25,7 +25,7 @@ public class ProtocolParser { Iterator iterator = tokens.iterator(); String command = readCommand(iterator); - List parameters = readParameters(iterator); + List parameters = readParameters(iterator); return new RawRequest(command, parameters); } @@ -51,8 +51,8 @@ public class ProtocolParser { * @param iterator * @return list containing all parsed parameters */ - private static List readParameters(Iterator iterator) { - List parameters = new ArrayList<>(); + private static List readParameters(Iterator iterator) { + List parameters = new ArrayList<>(); try { while (iterator.hasNext()) { @@ -66,7 +66,7 @@ public class ProtocolParser { readSeperator(iterator.next()); String value = readValue(iterator.next()); - parameters.add(new Parameter(key, value)); + parameters.add(new RequestParameter(key, value)); } } catch (NoSuchElementException e) { throw new ProtocolParserException("Ran out of tokens while reading parameter"); diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/Parameter.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/RequestParameter.java similarity index 73% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/Parameter.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/RequestParameter.java index fb35343..00b8016 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/Parameter.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/RequestParameter.java @@ -1,4 +1,4 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.parser; /** Used in the PrimitiveRequest class to store the key of a parameter with its respective value */ -public record Parameter(String key, String value) {} +public record RequestParameter(String key, String value) {} diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/PrimitiveRequest.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/PrimitiveRequest.java index d853bab..71b35a2 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/PrimitiveRequest.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/PrimitiveRequest.java @@ -2,8 +2,8 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.request; import java.util.List; -import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.Parameter; +import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.RequestParameter; /** Created by the ProtocolParser to allow easy access to the request contents */ public record PrimitiveRequest( - RequestContext context, String command, List parameters) {} + RequestContext context, String command, List parameters) {} diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RawRequest.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RawRequest.java index f93486a..86aee86 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RawRequest.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RawRequest.java @@ -2,6 +2,6 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.request; import java.util.List; -import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.Parameter; +import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.RequestParameter; -public record RawRequest(String command, List parameters) {} +public record RawRequest(String command, List parameters) {} diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/RequestParameterAccessor.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/RequestParameterAccessor.java index 259883d..ed95c84 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/RequestParameterAccessor.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/RequestParameterAccessor.java @@ -4,7 +4,7 @@ import java.util.List; import java.util.Map; import java.util.stream.Collectors; -import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.Parameter; +import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.RequestParameter; /** * Provides typed access to a request's parameters by indexing them by key. @@ -20,10 +20,10 @@ public class RequestParameterAccessor { * * @param parameters to use */ - public RequestParameterAccessor(List parameters) { + public RequestParameterAccessor(List parameters) { this.index = parameters.stream() - .collect(Collectors.toUnmodifiableMap(Parameter::key, Parameter::value)); + .collect(Collectors.toUnmodifiableMap(RequestParameter::key, RequestParameter::value)); } /** From 050b349638f2a883408daf6c228e80fb2c582fc3 Mon Sep 17 00:00:00 2001 From: Lars Simon Winzer Date: Mon, 30 Mar 2026 17:50:30 +0200 Subject: [PATCH 04/16] Chore: Move ProtocolParser to 'protocol' folder for protocol-level processing --- .../server/network/{ => protocol}/parser/ProtocolParser.java | 3 ++- .../{ => protocol}/parser/ProtocolParserException.java | 2 +- .../cs108/casono/server/network/sessions/SessionReader.java | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{ => protocol}/parser/ProtocolParser.java (95%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{ => protocol}/parser/ProtocolParserException.java (67%) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/ProtocolParser.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java similarity index 95% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/ProtocolParser.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java index ca90162..99bd05f 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/ProtocolParser.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java @@ -1,5 +1,6 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.parser; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser; +import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.RequestParameter; import ch.unibas.dmi.dbis.cs108.casono.server.network.request.RawRequest; import ch.unibas.dmi.dbis.cs108.casono.server.tokenizer.RawToken; import ch.unibas.dmi.dbis.cs108.casono.server.tokenizer.Token; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/ProtocolParserException.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParserException.java similarity index 67% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/ProtocolParserException.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParserException.java index e00e960..63e57a9 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/ProtocolParserException.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParserException.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.parser; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser; public class ProtocolParserException extends RuntimeException { public ProtocolParserException(String message) { diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java index b7c6fec..ac4d1bc 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java @@ -4,8 +4,8 @@ import ch.unibas.dmi.dbis.cs108.casono.server.network.command.CommandRouter; import ch.unibas.dmi.dbis.cs108.casono.server.network.events.DisconnectEvent; import ch.unibas.dmi.dbis.cs108.casono.server.network.events.EventBus; import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.CommandParserDispatcher; -import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.ProtocolParser; -import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.ProtocolParserException; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.ProtocolParser; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.ProtocolParserException; import ch.unibas.dmi.dbis.cs108.casono.server.network.request.PrimitiveRequest; import ch.unibas.dmi.dbis.cs108.casono.server.network.request.RawRequest; import ch.unibas.dmi.dbis.cs108.casono.server.network.request.Request; From 52daf4f2e05cb5304081c16010c61e3e40527290 Mon Sep 17 00:00:00 2001 From: Lars Simon Winzer Date: Mon, 30 Mar 2026 17:52:10 +0200 Subject: [PATCH 05/16] Chore: Move CommandRouter and CommandHandler to execution subfolder in command section --- .../java/ch/unibas/dmi/dbis/cs108/casono/server/ServerApp.java | 2 +- .../server/network/command/{ => execution}/CommandHandler.java | 2 +- .../server/network/command/{ => execution}/CommandRouter.java | 2 +- .../command/{ => execution}/UnknownRequestException.java | 2 +- .../dmi/dbis/cs108/casono/server/network/sessions/Session.java | 2 +- .../cs108/casono/server/network/sessions/SessionManager.java | 2 +- .../cs108/casono/server/network/sessions/SessionReader.java | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/{ => execution}/CommandHandler.java (67%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/{ => execution}/CommandRouter.java (93%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/{ => execution}/UnknownRequestException.java (81%) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/ServerApp.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/ServerApp.java index e76e877..6c1f5ec 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/ServerApp.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/ServerApp.java @@ -3,7 +3,7 @@ package ch.unibas.dmi.dbis.cs108.casono.server; import ch.unibas.dmi.dbis.cs108.casono.server.domain.user.UserCleanupJob; import ch.unibas.dmi.dbis.cs108.casono.server.domain.user.UserRegistry; import ch.unibas.dmi.dbis.cs108.casono.server.network.NetworkManager; -import ch.unibas.dmi.dbis.cs108.casono.server.network.command.CommandRouter; +import ch.unibas.dmi.dbis.cs108.casono.server.network.command.execution.CommandRouter; import ch.unibas.dmi.dbis.cs108.casono.server.network.events.DisconnectEvent; import ch.unibas.dmi.dbis.cs108.casono.server.network.events.EventBus; import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.CommandParserDispatcher; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/CommandHandler.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/CommandHandler.java similarity index 67% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/CommandHandler.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/CommandHandler.java index a6cd87c..e0d5524 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/CommandHandler.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/CommandHandler.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.command; +package ch.unibas.dmi.dbis.cs108.casono.server.network.command.execution; import ch.unibas.dmi.dbis.cs108.casono.server.network.request.Request; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/CommandRouter.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/CommandRouter.java similarity index 93% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/CommandRouter.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/CommandRouter.java index 97b13b4..ea8c6ea 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/CommandRouter.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/CommandRouter.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.command; +package ch.unibas.dmi.dbis.cs108.casono.server.network.command.execution; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/UnknownRequestException.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/UnknownRequestException.java similarity index 81% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/UnknownRequestException.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/UnknownRequestException.java index 60c7fa3..1493f25 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/UnknownRequestException.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/UnknownRequestException.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.command; +package ch.unibas.dmi.dbis.cs108.casono.server.network.command.execution; public class UnknownRequestException extends RuntimeException { private final String requestName; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/Session.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/Session.java index 3fc97e5..5e78115 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/Session.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/Session.java @@ -1,6 +1,6 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.sessions; -import ch.unibas.dmi.dbis.cs108.casono.server.network.command.CommandRouter; +import ch.unibas.dmi.dbis.cs108.casono.server.network.command.execution.CommandRouter; import ch.unibas.dmi.dbis.cs108.casono.server.network.events.EventBus; import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.CommandParserDispatcher; import ch.unibas.dmi.dbis.cs108.casono.server.network.response.PrimitiveResponse; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionManager.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionManager.java index 8dae02d..eafc0c7 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionManager.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionManager.java @@ -1,6 +1,6 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.sessions; -import ch.unibas.dmi.dbis.cs108.casono.server.network.command.CommandRouter; +import ch.unibas.dmi.dbis.cs108.casono.server.network.command.execution.CommandRouter; import ch.unibas.dmi.dbis.cs108.casono.server.network.events.DisconnectEvent; import ch.unibas.dmi.dbis.cs108.casono.server.network.events.EventBus; import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.CommandParserDispatcher; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java index ac4d1bc..5cd9bc6 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java @@ -1,6 +1,6 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.sessions; -import ch.unibas.dmi.dbis.cs108.casono.server.network.command.CommandRouter; +import ch.unibas.dmi.dbis.cs108.casono.server.network.command.execution.CommandRouter; import ch.unibas.dmi.dbis.cs108.casono.server.network.events.DisconnectEvent; import ch.unibas.dmi.dbis.cs108.casono.server.network.events.EventBus; import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.CommandParserDispatcher; From ed24ba7214fe9fd4d1313bb37026de76e42c2374 Mon Sep 17 00:00:00 2001 From: Lars Simon Winzer Date: Mon, 30 Mar 2026 17:54:19 +0200 Subject: [PATCH 06/16] Chore: Move command parsing to 'parsing' subfolder in command section --- .../java/ch/unibas/dmi/dbis/cs108/casono/server/ServerApp.java | 2 +- .../network/{parser => command/parsing}/CommandParser.java | 2 +- .../{parser => command/parsing}/CommandParserDispatcher.java | 2 +- .../network/{parser => command/parsing}/RequestParameter.java | 2 +- .../{parser => command/parsing}/UnknownCommandException.java | 2 +- .../casono/server/network/protocol/parser/ProtocolParser.java | 2 +- .../cs108/casono/server/network/request/PrimitiveRequest.java | 2 +- .../dbis/cs108/casono/server/network/request/RawRequest.java | 2 +- .../network/request/accessor/RequestParameterAccessor.java | 2 +- .../dmi/dbis/cs108/casono/server/network/sessions/Session.java | 2 +- .../cs108/casono/server/network/sessions/SessionManager.java | 2 +- .../cs108/casono/server/network/sessions/SessionReader.java | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{parser => command/parsing}/CommandParser.java (87%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{parser => command/parsing}/CommandParserDispatcher.java (94%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{parser => command/parsing}/RequestParameter.java (69%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{parser => command/parsing}/UnknownCommandException.java (78%) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/ServerApp.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/ServerApp.java index 6c1f5ec..5687b5b 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/ServerApp.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/ServerApp.java @@ -4,9 +4,9 @@ import ch.unibas.dmi.dbis.cs108.casono.server.domain.user.UserCleanupJob; import ch.unibas.dmi.dbis.cs108.casono.server.domain.user.UserRegistry; import ch.unibas.dmi.dbis.cs108.casono.server.network.NetworkManager; import ch.unibas.dmi.dbis.cs108.casono.server.network.command.execution.CommandRouter; +import ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing.CommandParserDispatcher; import ch.unibas.dmi.dbis.cs108.casono.server.network.events.DisconnectEvent; import ch.unibas.dmi.dbis.cs108.casono.server.network.events.EventBus; -import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.CommandParserDispatcher; import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionDisconnectJob; import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionManager; import java.time.Duration; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/CommandParser.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/CommandParser.java similarity index 87% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/CommandParser.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/CommandParser.java index d4fbe22..6907ff5 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/CommandParser.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/CommandParser.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.parser; +package ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing; import ch.unibas.dmi.dbis.cs108.casono.server.network.request.PrimitiveRequest; import ch.unibas.dmi.dbis.cs108.casono.server.network.request.Request; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/CommandParserDispatcher.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/CommandParserDispatcher.java similarity index 94% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/CommandParserDispatcher.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/CommandParserDispatcher.java index dbb5bf8..1854400 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/CommandParserDispatcher.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/CommandParserDispatcher.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.parser; +package ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/RequestParameter.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/RequestParameter.java similarity index 69% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/RequestParameter.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/RequestParameter.java index 00b8016..d0ca720 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/RequestParameter.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/RequestParameter.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.parser; +package ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing; /** Used in the PrimitiveRequest class to store the key of a parameter with its respective value */ public record RequestParameter(String key, String value) {} diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/UnknownCommandException.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/UnknownCommandException.java similarity index 78% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/UnknownCommandException.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/UnknownCommandException.java index 5048d70..0b5759b 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/parser/UnknownCommandException.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/UnknownCommandException.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.parser; +package ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing; /** * Exception thrown when the CommandParserDispatcher has no registered handler for the provided diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java index 99bd05f..862e968 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java @@ -1,6 +1,6 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser; -import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.RequestParameter; +import ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing.RequestParameter; import ch.unibas.dmi.dbis.cs108.casono.server.network.request.RawRequest; import ch.unibas.dmi.dbis.cs108.casono.server.tokenizer.RawToken; import ch.unibas.dmi.dbis.cs108.casono.server.tokenizer.Token; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/PrimitiveRequest.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/PrimitiveRequest.java index 71b35a2..17825b2 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/PrimitiveRequest.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/PrimitiveRequest.java @@ -2,7 +2,7 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.request; import java.util.List; -import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.RequestParameter; +import ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing.RequestParameter; /** Created by the ProtocolParser to allow easy access to the request contents */ public record PrimitiveRequest( diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RawRequest.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RawRequest.java index 86aee86..f9293b2 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RawRequest.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RawRequest.java @@ -2,6 +2,6 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.request; import java.util.List; -import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.RequestParameter; +import ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing.RequestParameter; public record RawRequest(String command, List parameters) {} diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/RequestParameterAccessor.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/RequestParameterAccessor.java index ed95c84..f46c15a 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/RequestParameterAccessor.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/RequestParameterAccessor.java @@ -4,7 +4,7 @@ import java.util.List; import java.util.Map; import java.util.stream.Collectors; -import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.RequestParameter; +import ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing.RequestParameter; /** * Provides typed access to a request's parameters by indexing them by key. diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/Session.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/Session.java index 5e78115..ba33dd5 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/Session.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/Session.java @@ -1,8 +1,8 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.sessions; import ch.unibas.dmi.dbis.cs108.casono.server.network.command.execution.CommandRouter; +import ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing.CommandParserDispatcher; import ch.unibas.dmi.dbis.cs108.casono.server.network.events.EventBus; -import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.CommandParserDispatcher; import ch.unibas.dmi.dbis.cs108.casono.server.network.response.PrimitiveResponse; import ch.unibas.dmi.dbis.cs108.casono.server.network.transport.TransportLayer; import java.io.IOException; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionManager.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionManager.java index eafc0c7..ba25cf4 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionManager.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionManager.java @@ -1,9 +1,9 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.sessions; import ch.unibas.dmi.dbis.cs108.casono.server.network.command.execution.CommandRouter; +import ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing.CommandParserDispatcher; import ch.unibas.dmi.dbis.cs108.casono.server.network.events.DisconnectEvent; import ch.unibas.dmi.dbis.cs108.casono.server.network.events.EventBus; -import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.CommandParserDispatcher; import ch.unibas.dmi.dbis.cs108.casono.server.network.transport.TransportLayer; import java.io.IOException; import java.util.Collection; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java index 5cd9bc6..6d941c8 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java @@ -1,9 +1,9 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.sessions; import ch.unibas.dmi.dbis.cs108.casono.server.network.command.execution.CommandRouter; +import ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing.CommandParserDispatcher; import ch.unibas.dmi.dbis.cs108.casono.server.network.events.DisconnectEvent; import ch.unibas.dmi.dbis.cs108.casono.server.network.events.EventBus; -import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.CommandParserDispatcher; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.ProtocolParser; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.ProtocolParserException; import ch.unibas.dmi.dbis.cs108.casono.server.network.request.PrimitiveRequest; From ba6ff36ee2c801a4e99a834a044cfe1027367d89 Mon Sep 17 00:00:00 2001 From: Lars Simon Winzer Date: Mon, 30 Mar 2026 18:00:34 +0200 Subject: [PATCH 07/16] Chore: Move ResponseBodyBuilder to 'builder' subfolder in response section --- .../cs108/casono/server/network/response/ErrorResponse.java | 1 + .../dbis/cs108/casono/server/network/response/OkResponse.java | 1 + .../dbis/cs108/casono/server/network/response/Response.java | 1 + .../cs108/casono/server/network/response/ResponseEncoder.java | 4 ++++ .../cs108/casono/server/network/response/SuccessResponse.java | 1 + .../server/network/response/{ => builder}/ResponseBlock.java | 2 +- .../server/network/response/{ => builder}/ResponseBody.java | 4 +++- .../network/response/{ => builder}/ResponseBodyBuilder.java | 2 +- .../server/network/response/{ => builder}/ResponseNode.java | 2 +- .../network/response/{ => builder}/ResponseParameter.java | 2 +- 10 files changed, 15 insertions(+), 5 deletions(-) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/{ => builder}/ResponseBlock.java (83%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/{ => builder}/ResponseBody.java (87%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/{ => builder}/ResponseBodyBuilder.java (95%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/{ => builder}/ResponseNode.java (73%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/{ => builder}/ResponseParameter.java (90%) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ErrorResponse.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ErrorResponse.java index 602181b..77d7137 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ErrorResponse.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ErrorResponse.java @@ -1,5 +1,6 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.response; +import ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder.ResponseBody; import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionId; /** Response representing an error outcome for a client's request. */ diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/OkResponse.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/OkResponse.java index a3f26c5..0d5288f 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/OkResponse.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/OkResponse.java @@ -1,5 +1,6 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.response; +import ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder.ResponseBody; import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionId; /** diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/Response.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/Response.java index 8a3cf96..5ba94bb 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/Response.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/Response.java @@ -1,5 +1,6 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.response; +import ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder.ResponseBody; import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionId; /** Abstract base class for all server responses sent to clients. */ diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseEncoder.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseEncoder.java index dbe8d12..4f228a5 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseEncoder.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseEncoder.java @@ -1,5 +1,9 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.response; +import ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder.ResponseBlock; +import ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder.ResponseNode; +import ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder.ResponseParameter; + /** * Utility responsible for encoding a {@link Response} into a protocol payload string and wrapping * it into a {@link PrimitiveResponse} suitable for transmission. diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/SuccessResponse.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/SuccessResponse.java index e88913f..b901a82 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/SuccessResponse.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/SuccessResponse.java @@ -1,5 +1,6 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.response; +import ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder.ResponseBody; import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionId; /** diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseBlock.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseBlock.java similarity index 83% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseBlock.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseBlock.java index 075abaf..d0f13f5 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseBlock.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseBlock.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.response; +package ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder; import java.util.List; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseBody.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseBody.java similarity index 87% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseBody.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseBody.java index 8c52ffc..44ad8f6 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseBody.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseBody.java @@ -1,7 +1,9 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.response; +package ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder; import java.util.List; +import ch.unibas.dmi.dbis.cs108.casono.server.network.response.Response; + /** * Immutable container for the structured content of a {@link Response}. * diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseBodyBuilder.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseBodyBuilder.java similarity index 95% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseBodyBuilder.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseBodyBuilder.java index f6491b0..0c78770 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseBodyBuilder.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseBodyBuilder.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.response; +package ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseNode.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseNode.java similarity index 73% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseNode.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseNode.java index c3af815..f9a51aa 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseNode.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseNode.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.response; +package ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder; /** * Marker interface for elements that may appear in a {@link ResponseBody}. diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseParameter.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseParameter.java similarity index 90% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseParameter.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseParameter.java index 87f599a..f537b69 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseParameter.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseParameter.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.response; +package ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder; /** * A parameter node stored in a {@link ResponseBody}. From cf0cd2666cfdae26f0be2c836baf0df2a7d7296a Mon Sep 17 00:00:00 2001 From: Lars Simon Winzer Date: Mon, 30 Mar 2026 18:06:43 +0200 Subject: [PATCH 08/16] Move ResponseDispatcher to 'dispatcher' subfolder in response section --- .../network/response/{ => dispatcher}/ResponseDispatcher.java | 4 +++- .../network/response/{ => dispatcher}/ResponseEncoder.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/{ => dispatcher}/ResponseDispatcher.java (85%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/{ => dispatcher}/ResponseEncoder.java (93%) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseDispatcher.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/dispatcher/ResponseDispatcher.java similarity index 85% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseDispatcher.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/dispatcher/ResponseDispatcher.java index 57b9181..cb2172b 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseDispatcher.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/dispatcher/ResponseDispatcher.java @@ -1,5 +1,7 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.response; +package ch.unibas.dmi.dbis.cs108.casono.server.network.response.dispatcher; +import ch.unibas.dmi.dbis.cs108.casono.server.network.response.PrimitiveResponse; +import ch.unibas.dmi.dbis.cs108.casono.server.network.response.Response; import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.Session; import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionManager; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseEncoder.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/dispatcher/ResponseEncoder.java similarity index 93% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseEncoder.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/dispatcher/ResponseEncoder.java index 4f228a5..f824d00 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ResponseEncoder.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/dispatcher/ResponseEncoder.java @@ -1,5 +1,7 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.response; +package ch.unibas.dmi.dbis.cs108.casono.server.network.response.dispatcher; +import ch.unibas.dmi.dbis.cs108.casono.server.network.response.PrimitiveResponse; +import ch.unibas.dmi.dbis.cs108.casono.server.network.response.Response; import ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder.ResponseBlock; import ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder.ResponseNode; import ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder.ResponseParameter; From e0b791589c499884bafff38fc1478253783306e6 Mon Sep 17 00:00:00 2001 From: Lars Simon Winzer Date: Mon, 30 Mar 2026 18:17:11 +0200 Subject: [PATCH 09/16] Chore: Move 'request' folder into protocol section --- .../server/network/command/execution/CommandHandler.java | 2 +- .../server/network/command/execution/CommandRouter.java | 2 +- .../server/network/command/parsing/CommandParser.java | 4 ++-- .../network/command/parsing/CommandParserDispatcher.java | 4 ++-- .../server/network/protocol/parser/ProtocolParser.java | 2 +- .../network/{ => protocol}/request/PrimitiveRequest.java | 2 +- .../server/network/{ => protocol}/request/RawRequest.java | 2 +- .../server/network/{ => protocol}/request/Request.java | 2 +- .../network/{ => protocol}/request/RequestContext.java | 2 +- .../request/accessor/MissingParameterException.java | 2 +- .../request/accessor/ParameterParseException.java | 2 +- .../request/accessor/RequestParameterAccessor.java | 2 +- .../{ => protocol}/request/accessor/ThrowingParser.java | 2 +- .../casono/server/network/sessions/SessionReader.java | 8 ++++---- 14 files changed, 19 insertions(+), 19 deletions(-) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{ => protocol}/request/PrimitiveRequest.java (81%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{ => protocol}/request/RawRequest.java (72%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{ => protocol}/request/Request.java (87%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{ => protocol}/request/RequestContext.java (86%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{ => protocol}/request/accessor/MissingParameterException.java (90%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{ => protocol}/request/accessor/ParameterParseException.java (91%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{ => protocol}/request/accessor/RequestParameterAccessor.java (97%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{ => protocol}/request/accessor/ThrowingParser.java (84%) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/CommandHandler.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/CommandHandler.java index e0d5524..0fdae3c 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/CommandHandler.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/CommandHandler.java @@ -1,6 +1,6 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.command.execution; -import ch.unibas.dmi.dbis.cs108.casono.server.network.request.Request; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.Request; public interface CommandHandler { void execute(T request); diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/CommandRouter.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/CommandRouter.java index ea8c6ea..2fccfe9 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/CommandRouter.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/CommandRouter.java @@ -3,7 +3,7 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.command.execution; import java.util.HashMap; import java.util.Map; -import ch.unibas.dmi.dbis.cs108.casono.server.network.request.Request; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.Request; public class CommandRouter { private final Map, CommandHandler> handlers = new HashMap<>(); diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/CommandParser.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/CommandParser.java index 6907ff5..3a3b76f 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/CommandParser.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/CommandParser.java @@ -1,7 +1,7 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing; -import ch.unibas.dmi.dbis.cs108.casono.server.network.request.PrimitiveRequest; -import ch.unibas.dmi.dbis.cs108.casono.server.network.request.Request; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.PrimitiveRequest; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.Request; /** * Parser to convert the PrimitiveRequest to a Request and performing checks for required fields and diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/CommandParserDispatcher.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/CommandParserDispatcher.java index 1854400..9031616 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/CommandParserDispatcher.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/CommandParserDispatcher.java @@ -3,8 +3,8 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing; import java.util.HashMap; import java.util.Map; -import ch.unibas.dmi.dbis.cs108.casono.server.network.request.PrimitiveRequest; -import ch.unibas.dmi.dbis.cs108.casono.server.network.request.Request; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.PrimitiveRequest; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.Request; /** Dispatcher all CommandParser are registered in */ public class CommandParserDispatcher { diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java index 862e968..853845f 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java @@ -1,7 +1,7 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser; import ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing.RequestParameter; -import ch.unibas.dmi.dbis.cs108.casono.server.network.request.RawRequest; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.RawRequest; import ch.unibas.dmi.dbis.cs108.casono.server.tokenizer.RawToken; import ch.unibas.dmi.dbis.cs108.casono.server.tokenizer.Token; import ch.unibas.dmi.dbis.cs108.casono.server.tokenizer.TokenClassifier; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/PrimitiveRequest.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/PrimitiveRequest.java similarity index 81% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/PrimitiveRequest.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/PrimitiveRequest.java index 17825b2..c31a91a 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/PrimitiveRequest.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/PrimitiveRequest.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.request; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request; import java.util.List; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RawRequest.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/RawRequest.java similarity index 72% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RawRequest.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/RawRequest.java index f9293b2..ba0be0d 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RawRequest.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/RawRequest.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.request; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request; import java.util.List; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/Request.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/Request.java similarity index 87% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/Request.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/Request.java index f056cb8..1e618ad 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/Request.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/Request.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.request; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request; import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionId; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RequestContext.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/RequestContext.java similarity index 86% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RequestContext.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/RequestContext.java index ff57463..63816f6 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/RequestContext.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/RequestContext.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.request; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request; import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionId; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/MissingParameterException.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/accessor/MissingParameterException.java similarity index 90% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/MissingParameterException.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/accessor/MissingParameterException.java index bbc04e7..bda6e7e 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/MissingParameterException.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/accessor/MissingParameterException.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.request.accessor; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.accessor; /** Exception thrown when a required parameter key is not found. */ public class MissingParameterException extends RuntimeException { diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/ParameterParseException.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/accessor/ParameterParseException.java similarity index 91% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/ParameterParseException.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/accessor/ParameterParseException.java index 2bb9752..e6f9f1f 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/ParameterParseException.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/accessor/ParameterParseException.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.request.accessor; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.accessor; /** Exception thrown when a parameter value cannot be converted to the requested type. */ public class ParameterParseException extends RuntimeException { diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/RequestParameterAccessor.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/accessor/RequestParameterAccessor.java similarity index 97% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/RequestParameterAccessor.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/accessor/RequestParameterAccessor.java index f46c15a..082bf62 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/RequestParameterAccessor.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/accessor/RequestParameterAccessor.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.request.accessor; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.accessor; import java.util.List; import java.util.Map; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/ThrowingParser.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/accessor/ThrowingParser.java similarity index 84% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/ThrowingParser.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/accessor/ThrowingParser.java index 90b2fcc..688304b 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/request/accessor/ThrowingParser.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/accessor/ThrowingParser.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.request.accessor; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.accessor; /** * Functional parser interface used to convert a raw string parameter into a target type. diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java index 6d941c8..824385b 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java @@ -6,10 +6,10 @@ import ch.unibas.dmi.dbis.cs108.casono.server.network.events.DisconnectEvent; import ch.unibas.dmi.dbis.cs108.casono.server.network.events.EventBus; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.ProtocolParser; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.ProtocolParserException; -import ch.unibas.dmi.dbis.cs108.casono.server.network.request.PrimitiveRequest; -import ch.unibas.dmi.dbis.cs108.casono.server.network.request.RawRequest; -import ch.unibas.dmi.dbis.cs108.casono.server.network.request.Request; -import ch.unibas.dmi.dbis.cs108.casono.server.network.request.RequestContext; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.PrimitiveRequest; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.RawRequest; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.Request; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.RequestContext; import ch.unibas.dmi.dbis.cs108.casono.server.network.transport.RawPacket; import ch.unibas.dmi.dbis.cs108.casono.server.network.transport.TransportLayer; import ch.unibas.dmi.dbis.cs108.casono.server.tokenizer.TokenizerException; From 442a846c71bd335dda93d78796a68507d07eba67 Mon Sep 17 00:00:00 2001 From: Lars Simon Winzer Date: Mon, 30 Mar 2026 18:18:22 +0200 Subject: [PATCH 10/16] Chore: Move 'response' into protocol section --- .../{ => protocol}/response/ErrorResponse.java | 4 ++-- .../network/{ => protocol}/response/OkResponse.java | 4 ++-- .../{ => protocol}/response/PrimitiveResponse.java | 2 +- .../network/{ => protocol}/response/Response.java | 4 ++-- .../{ => protocol}/response/SuccessResponse.java | 4 ++-- .../response/builder/ResponseBlock.java | 2 +- .../response/builder/ResponseBody.java | 4 ++-- .../response/builder/ResponseBodyBuilder.java | 2 +- .../response/builder/ResponseNode.java | 2 +- .../response/builder/ResponseParameter.java | 2 +- .../response/dispatcher/ResponseDispatcher.java | 6 +++--- .../response/dispatcher/ResponseEncoder.java | 12 ++++++------ .../casono/server/network/sessions/Session.java | 2 +- .../server/network/sessions/SessionWriter.java | 2 +- 14 files changed, 26 insertions(+), 26 deletions(-) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{ => protocol}/response/ErrorResponse.java (85%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{ => protocol}/response/OkResponse.java (78%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{ => protocol}/response/PrimitiveResponse.java (84%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{ => protocol}/response/Response.java (90%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{ => protocol}/response/SuccessResponse.java (85%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{ => protocol}/response/builder/ResponseBlock.java (81%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{ => protocol}/response/builder/ResponseBody.java (86%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{ => protocol}/response/builder/ResponseBodyBuilder.java (95%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{ => protocol}/response/builder/ResponseNode.java (71%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{ => protocol}/response/builder/ResponseParameter.java (89%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{ => protocol}/response/dispatcher/ResponseDispatcher.java (83%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/{ => protocol}/response/dispatcher/ResponseEncoder.java (85%) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ErrorResponse.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/ErrorResponse.java similarity index 85% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ErrorResponse.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/ErrorResponse.java index 77d7137..1136e11 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/ErrorResponse.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/ErrorResponse.java @@ -1,6 +1,6 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.response; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response; -import ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder.ResponseBody; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.builder.ResponseBody; import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionId; /** Response representing an error outcome for a client's request. */ diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/OkResponse.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/OkResponse.java similarity index 78% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/OkResponse.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/OkResponse.java index 0d5288f..f0d7cd6 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/OkResponse.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/OkResponse.java @@ -1,6 +1,6 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.response; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response; -import ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder.ResponseBody; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.builder.ResponseBody; import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionId; /** diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/PrimitiveResponse.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/PrimitiveResponse.java similarity index 84% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/PrimitiveResponse.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/PrimitiveResponse.java index 1ef7a6a..3f7ce3d 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/PrimitiveResponse.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/PrimitiveResponse.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.response; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response; import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionId; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/Response.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/Response.java similarity index 90% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/Response.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/Response.java index 5ba94bb..d0918fb 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/Response.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/Response.java @@ -1,6 +1,6 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.response; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response; -import ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder.ResponseBody; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.builder.ResponseBody; import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionId; /** Abstract base class for all server responses sent to clients. */ diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/SuccessResponse.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/SuccessResponse.java similarity index 85% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/SuccessResponse.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/SuccessResponse.java index b901a82..3df95b9 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/SuccessResponse.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/SuccessResponse.java @@ -1,6 +1,6 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.response; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response; -import ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder.ResponseBody; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.builder.ResponseBody; import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionId; /** diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseBlock.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/builder/ResponseBlock.java similarity index 81% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseBlock.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/builder/ResponseBlock.java index d0f13f5..e738a27 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseBlock.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/builder/ResponseBlock.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.builder; import java.util.List; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseBody.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/builder/ResponseBody.java similarity index 86% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseBody.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/builder/ResponseBody.java index 44ad8f6..fdd4a02 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseBody.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/builder/ResponseBody.java @@ -1,8 +1,8 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.builder; import java.util.List; -import ch.unibas.dmi.dbis.cs108.casono.server.network.response.Response; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.Response; /** * Immutable container for the structured content of a {@link Response}. diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseBodyBuilder.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/builder/ResponseBodyBuilder.java similarity index 95% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseBodyBuilder.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/builder/ResponseBodyBuilder.java index 0c78770..c05083d 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseBodyBuilder.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/builder/ResponseBodyBuilder.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.builder; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseNode.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/builder/ResponseNode.java similarity index 71% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseNode.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/builder/ResponseNode.java index f9a51aa..b2bb118 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseNode.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/builder/ResponseNode.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.builder; /** * Marker interface for elements that may appear in a {@link ResponseBody}. diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseParameter.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/builder/ResponseParameter.java similarity index 89% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseParameter.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/builder/ResponseParameter.java index f537b69..73ffbf7 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/builder/ResponseParameter.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/builder/ResponseParameter.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.builder; /** * A parameter node stored in a {@link ResponseBody}. diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/dispatcher/ResponseDispatcher.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/dispatcher/ResponseDispatcher.java similarity index 83% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/dispatcher/ResponseDispatcher.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/dispatcher/ResponseDispatcher.java index cb2172b..1be2f27 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/dispatcher/ResponseDispatcher.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/dispatcher/ResponseDispatcher.java @@ -1,7 +1,7 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.response.dispatcher; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.dispatcher; -import ch.unibas.dmi.dbis.cs108.casono.server.network.response.PrimitiveResponse; -import ch.unibas.dmi.dbis.cs108.casono.server.network.response.Response; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.PrimitiveResponse; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.Response; import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.Session; import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionManager; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/dispatcher/ResponseEncoder.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/dispatcher/ResponseEncoder.java similarity index 85% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/dispatcher/ResponseEncoder.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/dispatcher/ResponseEncoder.java index f824d00..013ddd5 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/response/dispatcher/ResponseEncoder.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/dispatcher/ResponseEncoder.java @@ -1,10 +1,10 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.response.dispatcher; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.dispatcher; -import ch.unibas.dmi.dbis.cs108.casono.server.network.response.PrimitiveResponse; -import ch.unibas.dmi.dbis.cs108.casono.server.network.response.Response; -import ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder.ResponseBlock; -import ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder.ResponseNode; -import ch.unibas.dmi.dbis.cs108.casono.server.network.response.builder.ResponseParameter; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.PrimitiveResponse; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.Response; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.builder.ResponseBlock; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.builder.ResponseNode; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.builder.ResponseParameter; /** * Utility responsible for encoding a {@link Response} into a protocol payload string and wrapping diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/Session.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/Session.java index ba33dd5..5f58068 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/Session.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/Session.java @@ -3,7 +3,7 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.sessions; import ch.unibas.dmi.dbis.cs108.casono.server.network.command.execution.CommandRouter; import ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing.CommandParserDispatcher; import ch.unibas.dmi.dbis.cs108.casono.server.network.events.EventBus; -import ch.unibas.dmi.dbis.cs108.casono.server.network.response.PrimitiveResponse; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.PrimitiveResponse; import ch.unibas.dmi.dbis.cs108.casono.server.network.transport.TransportLayer; import java.io.IOException; import java.time.Instant; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionWriter.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionWriter.java index e5c3e78..c59abb3 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionWriter.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionWriter.java @@ -1,6 +1,6 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.sessions; -import ch.unibas.dmi.dbis.cs108.casono.server.network.response.PrimitiveResponse; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.PrimitiveResponse; import ch.unibas.dmi.dbis.cs108.casono.server.network.transport.RawPacket; import ch.unibas.dmi.dbis.cs108.casono.server.network.transport.TransportLayer; import java.io.IOException; From 6e446b665ad550b17bd6f7f804898e61fb31f412 Mon Sep 17 00:00:00 2001 From: Lars Simon Winzer Date: Mon, 30 Mar 2026 18:21:56 +0200 Subject: [PATCH 11/16] Chore: Move 'tokenizer' into protocol section --- .../network/protocol/parser/ProtocolParser.java | 11 ++++++----- .../{ => network/protocol}/tokenizer/RawToken.java | 2 +- .../protocol}/tokenizer/RawTokenType.java | 2 +- .../{ => network/protocol}/tokenizer/State.java | 2 +- .../{ => network/protocol}/tokenizer/Token.java | 2 +- .../protocol}/tokenizer/TokenClassifier.java | 2 +- .../{ => network/protocol}/tokenizer/TokenType.java | 2 +- .../{ => network/protocol}/tokenizer/Tokenizer.java | 2 +- .../protocol}/tokenizer/TokenizerException.java | 2 +- .../casono/server/network/sessions/SessionReader.java | 3 ++- .../dbis/cs108/casono/server/tokenizer/StateTest.java | 2 ++ .../server/tokenizer/TokenizerExceptionTest.java | 2 ++ 12 files changed, 20 insertions(+), 14 deletions(-) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/{ => network/protocol}/tokenizer/RawToken.java (65%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/{ => network/protocol}/tokenizer/RawTokenType.java (53%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/{ => network/protocol}/tokenizer/State.java (90%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/{ => network/protocol}/tokenizer/Token.java (61%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/{ => network/protocol}/tokenizer/TokenClassifier.java (98%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/{ => network/protocol}/tokenizer/TokenType.java (65%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/{ => network/protocol}/tokenizer/Tokenizer.java (98%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/{ => network/protocol}/tokenizer/TokenizerException.java (85%) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java index 853845f..b107ea6 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java @@ -2,11 +2,12 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser; import ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing.RequestParameter; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.RawRequest; -import ch.unibas.dmi.dbis.cs108.casono.server.tokenizer.RawToken; -import ch.unibas.dmi.dbis.cs108.casono.server.tokenizer.Token; -import ch.unibas.dmi.dbis.cs108.casono.server.tokenizer.TokenClassifier; -import ch.unibas.dmi.dbis.cs108.casono.server.tokenizer.TokenType; -import ch.unibas.dmi.dbis.cs108.casono.server.tokenizer.Tokenizer; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer.RawToken; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer.Token; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer.TokenClassifier; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer.TokenType; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer.Tokenizer; + import java.util.ArrayList; import java.util.Iterator; import java.util.List; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/RawToken.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/RawToken.java similarity index 65% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/RawToken.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/RawToken.java index c8bc6bb..d454904 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/RawToken.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/RawToken.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.tokenizer; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer; /** Represents a raw (unclassified) token in the tokenizer. */ public record RawToken(RawTokenType type, String value, int line, int column) {} diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/RawTokenType.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/RawTokenType.java similarity index 53% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/RawTokenType.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/RawTokenType.java index b37d430..309767e 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/RawTokenType.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/RawTokenType.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.tokenizer; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer; public enum RawTokenType { WORD, diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/State.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/State.java similarity index 90% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/State.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/State.java index d130a52..faf7e6f 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/State.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/State.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.tokenizer; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/Token.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/Token.java similarity index 61% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/Token.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/Token.java index 93b9026..f885eba 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/Token.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/Token.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.tokenizer; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer; /** Represents a token in the tokenizer. */ public record Token(TokenType type, String value, int line, int column) {} diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/TokenClassifier.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenClassifier.java similarity index 98% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/TokenClassifier.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenClassifier.java index cb19021..4d5c26a 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/TokenClassifier.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenClassifier.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.tokenizer; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/TokenType.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenType.java similarity index 65% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/TokenType.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenType.java index af52b02..3496607 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/TokenType.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenType.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.tokenizer; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer; /** Enumeration of token types used in the tokenizer. */ public enum TokenType { diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/Tokenizer.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/Tokenizer.java similarity index 98% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/Tokenizer.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/Tokenizer.java index 805d05b..24920f9 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/Tokenizer.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/Tokenizer.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.tokenizer; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer; import java.util.List; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/TokenizerException.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenizerException.java similarity index 85% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/TokenizerException.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenizerException.java index 0975b1d..1e3e9bf 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/TokenizerException.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenizerException.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.tokenizer; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer; /** Exception thrown during tokenization. */ public class TokenizerException extends RuntimeException { diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java index 824385b..33bc224 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java @@ -10,9 +10,10 @@ import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.Primitive import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.RawRequest; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.Request; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.RequestContext; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer.TokenizerException; import ch.unibas.dmi.dbis.cs108.casono.server.network.transport.RawPacket; import ch.unibas.dmi.dbis.cs108.casono.server.network.transport.TransportLayer; -import ch.unibas.dmi.dbis.cs108.casono.server.tokenizer.TokenizerException; + import java.io.EOFException; import java.io.IOException; import org.apache.logging.log4j.LogManager; diff --git a/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/StateTest.java b/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/StateTest.java index fd1717b..b368663 100644 --- a/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/StateTest.java +++ b/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/StateTest.java @@ -6,6 +6,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.Test; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer.State; + class StateTest { @Test void testConstructor() { diff --git a/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/TokenizerExceptionTest.java b/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/TokenizerExceptionTest.java index d161b9b..c2b4178 100644 --- a/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/TokenizerExceptionTest.java +++ b/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/TokenizerExceptionTest.java @@ -4,6 +4,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.Test; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer.TokenizerException; + class TokenizerExceptionTest { @Test void testConstructorAndGetters() { From 86b4a6c191eb832f40c29ab2d4bf8551b3ab941d Mon Sep 17 00:00:00 2001 From: Lars Simon Winzer Date: Mon, 30 Mar 2026 18:23:41 +0200 Subject: [PATCH 12/16] Chore: Remove leftover TODO --- .../dmi/dbis/cs108/casono/server/domain/user/UserRegistry.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/domain/user/UserRegistry.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/domain/user/UserRegistry.java index 6a60877..adb1abe 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/domain/user/UserRegistry.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/domain/user/UserRegistry.java @@ -58,7 +58,6 @@ public class UserRegistry { * * @param sessionId the session ID of the disconnected client */ - // TODO: Add to EventRegistry with DisconnectEvent public synchronized void onDisconnect(SessionId sessionId) { User user = bySessionId.remove(sessionId); if (user == null) { From 0930fbe990b7bfa02126161e9a95b8ff3bddfb08 Mon Sep 17 00:00:00 2001 From: Lars Simon Winzer Date: Mon, 30 Mar 2026 18:26:45 +0200 Subject: [PATCH 13/16] Chore: Reflect changes to folder structure in tests --- .../server/{ => network/protocol}/tokenizer/StateTest.java | 4 +--- .../protocol}/tokenizer/TokenizerExceptionTest.java | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) rename src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/{ => network/protocol}/tokenizer/StateTest.java (91%) rename src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/{ => network/protocol}/tokenizer/TokenizerExceptionTest.java (76%) diff --git a/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/StateTest.java b/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/StateTest.java similarity index 91% rename from src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/StateTest.java rename to src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/StateTest.java index b368663..5f0f8be 100644 --- a/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/StateTest.java +++ b/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/StateTest.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.tokenizer; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -6,8 +6,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.Test; -import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer.State; - class StateTest { @Test void testConstructor() { diff --git a/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/TokenizerExceptionTest.java b/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenizerExceptionTest.java similarity index 76% rename from src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/TokenizerExceptionTest.java rename to src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenizerExceptionTest.java index c2b4178..39ec405 100644 --- a/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/tokenizer/TokenizerExceptionTest.java +++ b/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenizerExceptionTest.java @@ -1,11 +1,9 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.tokenizer; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer; import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.Test; -import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer.TokenizerException; - class TokenizerExceptionTest { @Test void testConstructorAndGetters() { From b588f38cd5354e0b011867bb8012b213ed246ef1 Mon Sep 17 00:00:00 2001 From: Lars Simon Winzer Date: Mon, 30 Mar 2026 18:27:17 +0200 Subject: [PATCH 14/16] Style: Apply Spotless --- .../server/network/command/execution/CommandRouter.java | 3 +-- .../network/command/parsing/CommandParserDispatcher.java | 5 ++--- .../server/network/protocol/parser/ProtocolParser.java | 1 - .../server/network/protocol/request/PrimitiveRequest.java | 3 +-- .../casono/server/network/protocol/request/RawRequest.java | 3 +-- .../request/accessor/RequestParameterAccessor.java | 7 ++++--- .../network/protocol/response/builder/ResponseBody.java | 3 +-- .../casono/server/network/sessions/SessionReader.java | 1 - 8 files changed, 10 insertions(+), 16 deletions(-) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/CommandRouter.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/CommandRouter.java index 2fccfe9..269c6a4 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/CommandRouter.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/CommandRouter.java @@ -1,10 +1,9 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.command.execution; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.Request; import java.util.HashMap; import java.util.Map; -import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.Request; - public class CommandRouter { private final Map, CommandHandler> handlers = new HashMap<>(); diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/CommandParserDispatcher.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/CommandParserDispatcher.java index 9031616..02480ac 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/CommandParserDispatcher.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/parsing/CommandParserDispatcher.java @@ -1,10 +1,9 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing; -import java.util.HashMap; -import java.util.Map; - import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.PrimitiveRequest; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.Request; +import java.util.HashMap; +import java.util.Map; /** Dispatcher all CommandParser are registered in */ public class CommandParserDispatcher { diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java index b107ea6..e5ab65d 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java @@ -7,7 +7,6 @@ import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer.Token; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer.TokenClassifier; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer.TokenType; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer.Tokenizer; - import java.util.ArrayList; import java.util.Iterator; import java.util.List; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/PrimitiveRequest.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/PrimitiveRequest.java index c31a91a..e591a2f 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/PrimitiveRequest.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/PrimitiveRequest.java @@ -1,8 +1,7 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request; -import java.util.List; - import ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing.RequestParameter; +import java.util.List; /** Created by the ProtocolParser to allow easy access to the request contents */ public record PrimitiveRequest( diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/RawRequest.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/RawRequest.java index ba0be0d..f5033a3 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/RawRequest.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/RawRequest.java @@ -1,7 +1,6 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request; +import ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing.RequestParameter; import java.util.List; -import ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing.RequestParameter; - public record RawRequest(String command, List parameters) {} diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/accessor/RequestParameterAccessor.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/accessor/RequestParameterAccessor.java index 082bf62..04071e3 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/accessor/RequestParameterAccessor.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/request/accessor/RequestParameterAccessor.java @@ -1,11 +1,10 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.accessor; +import ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing.RequestParameter; import java.util.List; import java.util.Map; import java.util.stream.Collectors; -import ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing.RequestParameter; - /** * Provides typed access to a request's parameters by indexing them by key. * @@ -23,7 +22,9 @@ public class RequestParameterAccessor { public RequestParameterAccessor(List parameters) { this.index = parameters.stream() - .collect(Collectors.toUnmodifiableMap(RequestParameter::key, RequestParameter::value)); + .collect( + Collectors.toUnmodifiableMap( + RequestParameter::key, RequestParameter::value)); } /** diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/builder/ResponseBody.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/builder/ResponseBody.java index fdd4a02..bb783d7 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/builder/ResponseBody.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/response/builder/ResponseBody.java @@ -1,8 +1,7 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.builder; -import java.util.List; - import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.Response; +import java.util.List; /** * Immutable container for the structured content of a {@link Response}. diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java index 33bc224..aa17e67 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java @@ -13,7 +13,6 @@ import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.RequestCo import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer.TokenizerException; import ch.unibas.dmi.dbis.cs108.casono.server.network.transport.RawPacket; import ch.unibas.dmi.dbis.cs108.casono.server.network.transport.TransportLayer; - import java.io.EOFException; import java.io.IOException; import org.apache.logging.log4j.LogManager; From 059b70648547c7aa7f9db1ac6c44b073a7a97724 Mon Sep 17 00:00:00 2001 From: Lars Simon Winzer Date: Mon, 30 Mar 2026 18:42:05 +0200 Subject: [PATCH 15/16] Chore: Move 'tokenizer' into protocol/parser section --- .../server/network/protocol/parser/ProtocolParser.java | 10 +++++----- .../protocol/{ => parser}/tokenizer/RawToken.java | 2 +- .../protocol/{ => parser}/tokenizer/RawTokenType.java | 2 +- .../network/protocol/{ => parser}/tokenizer/State.java | 2 +- .../network/protocol/{ => parser}/tokenizer/Token.java | 2 +- .../{ => parser}/tokenizer/TokenClassifier.java | 2 +- .../protocol/{ => parser}/tokenizer/TokenType.java | 2 +- .../protocol/{ => parser}/tokenizer/Tokenizer.java | 2 +- .../{ => parser}/tokenizer/TokenizerException.java | 2 +- .../casono/server/network/sessions/SessionReader.java | 2 +- 10 files changed, 14 insertions(+), 14 deletions(-) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/{ => parser}/tokenizer/RawToken.java (92%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/{ => parser}/tokenizer/RawTokenType.java (89%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/{ => parser}/tokenizer/State.java (97%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/{ => parser}/tokenizer/Token.java (91%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/{ => parser}/tokenizer/TokenClassifier.java (99%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/{ => parser}/tokenizer/TokenType.java (91%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/{ => parser}/tokenizer/Tokenizer.java (99%) rename src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/{ => parser}/tokenizer/TokenizerException.java (96%) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java index e5ab65d..b3afd0c 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/ProtocolParser.java @@ -1,12 +1,12 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser; import ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing.RequestParameter; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.tokenizer.RawToken; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.tokenizer.Token; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.tokenizer.TokenClassifier; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.tokenizer.TokenType; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.tokenizer.Tokenizer; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.RawRequest; -import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer.RawToken; -import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer.Token; -import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer.TokenClassifier; -import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer.TokenType; -import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer.Tokenizer; import java.util.ArrayList; import java.util.Iterator; import java.util.List; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/RawToken.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/RawToken.java similarity index 92% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/RawToken.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/RawToken.java index d454904..1a07f35 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/RawToken.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/RawToken.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.tokenizer; /** Represents a raw (unclassified) token in the tokenizer. */ public record RawToken(RawTokenType type, String value, int line, int column) {} diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/RawTokenType.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/RawTokenType.java similarity index 89% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/RawTokenType.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/RawTokenType.java index 309767e..15949a3 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/RawTokenType.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/RawTokenType.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.tokenizer; public enum RawTokenType { WORD, diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/State.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/State.java similarity index 97% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/State.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/State.java index faf7e6f..2848d99 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/State.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/State.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.tokenizer; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/Token.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/Token.java similarity index 91% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/Token.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/Token.java index f885eba..c99d3cd 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/Token.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/Token.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.tokenizer; /** Represents a token in the tokenizer. */ public record Token(TokenType type, String value, int line, int column) {} diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenClassifier.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/TokenClassifier.java similarity index 99% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenClassifier.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/TokenClassifier.java index 4d5c26a..330dcbb 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenClassifier.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/TokenClassifier.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.tokenizer; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenType.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/TokenType.java similarity index 91% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenType.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/TokenType.java index 3496607..5096da9 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenType.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/TokenType.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.tokenizer; /** Enumeration of token types used in the tokenizer. */ public enum TokenType { diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/Tokenizer.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/Tokenizer.java similarity index 99% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/Tokenizer.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/Tokenizer.java index 24920f9..843edf9 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/Tokenizer.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/Tokenizer.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.tokenizer; import java.util.List; diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenizerException.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/TokenizerException.java similarity index 96% rename from src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenizerException.java rename to src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/TokenizerException.java index 1e3e9bf..c514a1e 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenizerException.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/TokenizerException.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.tokenizer; /** Exception thrown during tokenization. */ public class TokenizerException extends RuntimeException { diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java index aa17e67..81589a0 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/sessions/SessionReader.java @@ -6,11 +6,11 @@ import ch.unibas.dmi.dbis.cs108.casono.server.network.events.DisconnectEvent; import ch.unibas.dmi.dbis.cs108.casono.server.network.events.EventBus; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.ProtocolParser; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.ProtocolParserException; +import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.tokenizer.TokenizerException; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.PrimitiveRequest; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.RawRequest; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.Request; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.RequestContext; -import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer.TokenizerException; import ch.unibas.dmi.dbis.cs108.casono.server.network.transport.RawPacket; import ch.unibas.dmi.dbis.cs108.casono.server.network.transport.TransportLayer; import java.io.EOFException; From 2203f804904a0a7f1e20a0c30b9f07c2ecad0f2c Mon Sep 17 00:00:00 2001 From: Lars Simon Winzer Date: Mon, 30 Mar 2026 18:42:19 +0200 Subject: [PATCH 16/16] Chore: Reflect path changes for tests --- .../network/protocol/{ => parser}/tokenizer/StateTest.java | 2 +- .../protocol/{ => parser}/tokenizer/TokenizerExceptionTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/{ => parser}/tokenizer/StateTest.java (98%) rename src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/{ => parser}/tokenizer/TokenizerExceptionTest.java (96%) diff --git a/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/StateTest.java b/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/StateTest.java similarity index 98% rename from src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/StateTest.java rename to src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/StateTest.java index 5f0f8be..19832cc 100644 --- a/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/StateTest.java +++ b/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/StateTest.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.tokenizer; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; diff --git a/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenizerExceptionTest.java b/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/TokenizerExceptionTest.java similarity index 96% rename from src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenizerExceptionTest.java rename to src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/TokenizerExceptionTest.java index 39ec405..bb6bc58 100644 --- a/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/tokenizer/TokenizerExceptionTest.java +++ b/src/test/java/ch/unibas/dmi/dbis/cs108/casono/server/network/protocol/parser/tokenizer/TokenizerExceptionTest.java @@ -1,4 +1,4 @@ -package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.tokenizer; +package ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.parser.tokenizer; import static org.junit.jupiter.api.Assertions.assertEquals;