From f95d9174f1d1df665aa4d89932c906e76b93f8a2 Mon Sep 17 00:00:00 2001 From: Lars Simon Winzer Date: Thu, 2 Apr 2026 13:44:51 +0200 Subject: [PATCH 1/2] Add: Handle MissingParameterException in SessionReader and respond to request --- .../cs108/casono/server/network/sessions/SessionReader.java | 5 +++++ 1 file changed, 5 insertions(+) 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 6fb4378..e199e0e 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 @@ -12,6 +12,7 @@ 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.request.accessor.MissingParameterException; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.ErrorResponse; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.PrimitiveResponse; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.dispatcher.ResponseDispatchException; @@ -94,6 +95,10 @@ public class SessionReader implements Runnable { "Unexpected ResponseDispatchException exception while dispatching request", e); + } catch (MissingParameterException e) { + logger.error("Recieved request for command '{}' was missing the '{}' parameter", rawRequest.command(), e.getParameterKey()); + sendErrorResponse(new ErrorResponse(requestContext, "MISSING_PARAMETER", e.getMessage())); + } catch (IOException e) { logger.error("Unexpected IO exception while reading from transport", e); From 528a40b39433c1324a1b5bb6dd9c4a2b9cb722b8 Mon Sep 17 00:00:00 2001 From: Lars Simon Winzer Date: Thu, 2 Apr 2026 13:45:14 +0200 Subject: [PATCH 2/2] Style: Apply Spotless --- .../casono/server/network/sessions/SessionReader.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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 e199e0e..78ffbfd 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 @@ -96,8 +96,12 @@ public class SessionReader implements Runnable { e); } catch (MissingParameterException e) { - logger.error("Recieved request for command '{}' was missing the '{}' parameter", rawRequest.command(), e.getParameterKey()); - sendErrorResponse(new ErrorResponse(requestContext, "MISSING_PARAMETER", e.getMessage())); + logger.error( + "Recieved request for command '{}' was missing the '{}' parameter", + rawRequest.command(), + e.getParameterKey()); + sendErrorResponse( + new ErrorResponse(requestContext, "MISSING_PARAMETER", e.getMessage())); } catch (IOException e) { logger.error("Unexpected IO exception while reading from transport", e);