Chore: Move request related files into own folder
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
package ch.unibas.dmi.dbis.cs108.casono.server.network.command;
|
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<T extends Request> {
|
public interface CommandHandler<T extends Request> {
|
||||||
void execute(T request);
|
void execute(T request);
|
||||||
|
|||||||
+2
-1
@@ -1,9 +1,10 @@
|
|||||||
package ch.unibas.dmi.dbis.cs108.casono.server.network.command;
|
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.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import ch.unibas.dmi.dbis.cs108.casono.server.network.request.Request;
|
||||||
|
|
||||||
public class CommandRouter {
|
public class CommandRouter {
|
||||||
private final Map<Class<? extends Request>, CommandHandler<?>> handlers = new HashMap<>();
|
private final Map<Class<? extends Request>, CommandHandler<?>> handlers = new HashMap<>();
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
package ch.unibas.dmi.dbis.cs108.casono.server.network.parser;
|
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
|
* Parser to convert the PrimitiveRequest to a Request and performing checks for required fields and
|
||||||
* data types
|
* data types
|
||||||
|
|||||||
+3
@@ -3,6 +3,9 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.parser;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
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 */
|
/** Dispatcher all CommandParser are registered in */
|
||||||
public class CommandParserDispatcher {
|
public class CommandParserDispatcher {
|
||||||
private final Map<String, CommandParser> parsers = new HashMap<>();
|
private final Map<String, CommandParser> parsers = new HashMap<>();
|
||||||
|
|||||||
+1
@@ -1,5 +1,6 @@
|
|||||||
package ch.unibas.dmi.dbis.cs108.casono.server.network.parser;
|
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.RawToken;
|
||||||
import ch.unibas.dmi.dbis.cs108.casono.server.tokenizer.Token;
|
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.TokenClassifier;
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
package ch.unibas.dmi.dbis.cs108.casono.server.network.parser;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public record RawRequest(String command, List<Parameter> parameters) {}
|
|
||||||
+1
-1
@@ -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. */
|
/** Exception thrown when a required parameter key is not found. */
|
||||||
public class MissingParameterException extends RuntimeException {
|
public class MissingParameterException extends RuntimeException {
|
||||||
+1
-1
@@ -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. */
|
/** Exception thrown when a parameter value cannot be converted to the requested type. */
|
||||||
public class ParameterParseException extends RuntimeException {
|
public class ParameterParseException extends RuntimeException {
|
||||||
+3
-1
@@ -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 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 */
|
/** Created by the ProtocolParser to allow easy access to the request contents */
|
||||||
public record PrimitiveRequest(
|
public record PrimitiveRequest(
|
||||||
RequestContext context, String command, List<Parameter> parameters) {}
|
RequestContext context, String command, List<Parameter> parameters) {}
|
||||||
@@ -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<Parameter> parameters) {}
|
||||||
+1
-1
@@ -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;
|
import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionId;
|
||||||
|
|
||||||
+1
-1
@@ -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;
|
import ch.unibas.dmi.dbis.cs108.casono.server.network.sessions.SessionId;
|
||||||
|
|
||||||
+3
-1
@@ -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.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
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.
|
* Provides typed access to a request's parameters by indexing them by key.
|
||||||
*
|
*
|
||||||
+1
-1
@@ -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.
|
* Functional parser interface used to convert a raw string parameter into a target type.
|
||||||
+4
-4
@@ -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.DisconnectEvent;
|
||||||
import ch.unibas.dmi.dbis.cs108.casono.server.network.events.EventBus;
|
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.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.ProtocolParser;
|
||||||
import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.ProtocolParserException;
|
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.request.PrimitiveRequest;
|
||||||
import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.Request;
|
import ch.unibas.dmi.dbis.cs108.casono.server.network.request.RawRequest;
|
||||||
import ch.unibas.dmi.dbis.cs108.casono.server.network.parser.RequestContext;
|
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.RawPacket;
|
||||||
import ch.unibas.dmi.dbis.cs108.casono.server.network.transport.TransportLayer;
|
import ch.unibas.dmi.dbis.cs108.casono.server.network.transport.TransportLayer;
|
||||||
import ch.unibas.dmi.dbis.cs108.casono.server.tokenizer.TokenizerException;
|
import ch.unibas.dmi.dbis.cs108.casono.server.tokenizer.TokenizerException;
|
||||||
|
|||||||
Reference in New Issue
Block a user