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;