From b2cf5cff61fb7936ff64d660cf64082f3db9e9ea Mon Sep 17 00:00:00 2001 From: Cristoffer matlak Date: Mon, 5 Feb 2024 10:39:29 +0100 Subject: [PATCH] fixed errors after update Co-authored-by: robinalfengard --- src/main/java/org/fungover/haze/Main.java | 150 +++++++++++----------- 1 file changed, 74 insertions(+), 76 deletions(-) diff --git a/src/main/java/org/fungover/haze/Main.java b/src/main/java/org/fungover/haze/Main.java index 4100b859..5c4dea05 100644 --- a/src/main/java/org/fungover/haze/Main.java +++ b/src/main/java/org/fungover/haze/Main.java @@ -6,7 +6,6 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; -import java.io.OptionalDataException; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.Socket; @@ -21,7 +20,7 @@ public class Main { public static void main(String[] args) { - Initialize initialize = Initialize.getInitialize(args); + Initialize initialize = Initialize.getInitialize(args); HazeDatabase hazeDatabase = new HazeDatabase(); HazeList hazeList = new HazeList(hazeDatabase); @@ -100,7 +99,6 @@ private static void addHook(HazeDatabase hazeDatabase) { } - private static void shutdown(HazeDatabase hazeDatabase) { SaveFile.writeOnFile(hazeDatabase.copy()); logger.info("Shutting down...."); @@ -112,97 +110,97 @@ private static void printThreadDebug() { } public static String executeCommand(HazeDatabase hazeDatabase, List inputList, HazeList hazeList) { - - - if (inputList.isEmpty() || inputList.getFirst().isEmpty()) { - return "-ERR no command provided\r\n"; + } logger.debug("executeCommand: {} {} ", () -> hazeDatabase, () -> inputList); - - String command = inputList.getFirst().toUpperCase(); - - Command commandEnum = getCommand(inputList); - if (commandEnum == null) - return "-ERR unknown command\r\n"; - - return commandSwitch(hazeDatabase, inputList, hazeList, commandEnum); - } - - private static Command getCommand(List inputList) { - String command = inputList.get(0).toUpperCase(); Command commandEnum; + try { commandEnum = Command.valueOf(command); } catch (IllegalArgumentException ex) { - - return Optional.ofNullable(command).orElse("Default value"); - + return "-ERR unknown command\r\n"; + } + return commandSwitch (hazeDatabase, inputList, hazeList, commandEnum); + } +// private static Command getCommand (List < String > inputList) { +// String command = inputList.getFirst().toUpperCase(); +// Command commandEnum; +// try { +// commandEnum = Command.valueOf(command); +// } catch (IllegalArgumentException ex) { +// return Command.GET; +// } +// return commandEnum; +// } + + private static String commandSwitch (HazeDatabase hazeDatabase, List < String > inputList, HazeList + hazeList, Command commandEnum){ + return switch (commandEnum) { + case SET -> hazeDatabase.set(inputList); + case GET -> hazeDatabase.get(inputList); + case DEL -> hazeDatabase.delete(inputList.subList(1, inputList.size())); + case PING -> hazeDatabase.ping(inputList); + case SETNX -> hazeDatabase.setNX(inputList); + case EXISTS -> hazeDatabase.exists(inputList.subList(1, inputList.size())); + case SAVE -> SaveFile.writeOnFile(hazeDatabase.copy()); + case RPUSH -> hazeList.rPush(inputList); + case LPUSH -> hazeList.lPush(inputList); + case LPOP -> hazeList.callLPop(inputList); + case RPOP -> hazeList.callRPop(inputList); + case LLEN -> hazeList.lLen(inputList); + case LMOVE -> hazeList.lMove(inputList); + case LTRIM -> hazeList.callLtrim(inputList); + case AUTH -> "+OK\r\n"; + }; } - return commandEnum; - } - - private static String commandSwitch(HazeDatabase hazeDatabase, List inputList, HazeList hazeList, Command commandEnum) { - return switch (commandEnum) { - case SET -> hazeDatabase.set(inputList); - case GET -> hazeDatabase.get(inputList); - case DEL -> hazeDatabase.delete(inputList.subList(1, inputList.size())); - case PING -> hazeDatabase.ping(inputList); - case SETNX -> hazeDatabase.setNX(inputList); - case EXISTS -> hazeDatabase.exists(inputList.subList(1, inputList.size())); - case SAVE -> SaveFile.writeOnFile(hazeDatabase.copy()); - case RPUSH -> hazeList.rPush(inputList); - case LPUSH -> hazeList.lPush(inputList); - case LPOP -> hazeList.callLPop(inputList); - case RPOP -> hazeList.callRPop(inputList); - case LLEN -> hazeList.lLen(inputList); - case LMOVE -> hazeList.lMove(inputList); - case LTRIM -> hazeList.callLtrim(inputList); - case AUTH -> "+OK\r\n"; - }; - } - private static void readInputStream(BufferedReader input, List inputList, String firstReading) throws - IOException { - logger.debug("readInputStream: {} {} {}", () -> input, () -> inputList, () -> firstReading); - int size; - if (firstReading.startsWith("*")) { - size = Integer.parseInt(firstReading.substring(1)) * 2; - for (int i = 0; i < size; i++) { - String temp = input.readLine(); - if (!temp.contains("$")) - inputList.add(temp); + private static void readInputStream (BufferedReader input, List < String > inputList, String firstReading) throws + IOException { + logger.debug("readInputStream: {} {} {}", () -> input, () -> inputList, () -> firstReading); + int size; + if (firstReading.startsWith("*")) { + size = Integer.parseInt(firstReading.substring(1)) * 2; + for (int i = 0; i < size; i++) { + String temp = input.readLine(); + if (!temp.contains("$")) + inputList.add(temp); + } + } else { + String[] seperated = firstReading.split("\\s"); + inputList.addAll(Arrays.asList(seperated)); } - } else { - String[] seperated = firstReading.split("\\s"); - inputList.addAll(Arrays.asList(seperated)); } - } - private static void initializeServer(String[] args, Initialize initialize, Auth auth) { - initialize.importCliOptions(args); - auth.setPassword(initialize.getPassword()); - } + private static void initializeServer (String[]args, Initialize initialize, Auth auth){ + initialize.importCliOptions(args); + auth.setPassword(initialize.getPassword()); + } - private static boolean authenticateClient(Auth auth, boolean isPasswordSet, Socket client, List inputList, boolean clientAuthenticated) throws IOException { - if (authCommandReceived(isPasswordSet, inputList, clientAuthenticated)) - return auth.authenticate(inputList.get(1), client); + private static boolean authenticateClient (Auth auth,boolean isPasswordSet, Socket + client, List < String > inputList,boolean clientAuthenticated) throws IOException { + if (authCommandReceived(isPasswordSet, inputList, clientAuthenticated)) + return auth.authenticate(inputList.get(1), client); - shutdownClientIfNotAuthenticated(client, clientAuthenticated, isPasswordSet); - return clientAuthenticated; - } + shutdownClientIfNotAuthenticated(client, clientAuthenticated, isPasswordSet); + return clientAuthenticated; + } - private static void shutdownClientIfNotAuthenticated(Socket client, boolean clientAuthenticated, boolean isPasswordSet) throws IOException { - if (!clientAuthenticated && isPasswordSet) { - client.getOutputStream().write(Auth.printAuthError()); - client.shutdownOutput(); + private static void shutdownClientIfNotAuthenticated (Socket client,boolean clientAuthenticated, + boolean isPasswordSet) throws IOException { + if (!clientAuthenticated && isPasswordSet) { + client.getOutputStream().write(Auth.printAuthError()); + client.shutdownOutput(); + } } - } - private static boolean authCommandReceived(boolean isPasswordSet, List inputList, boolean clientAuthenticated) { - return isPasswordSet && !clientAuthenticated && inputList.size() == 2 && inputList.getFirst().equals("AUTH"); + private static boolean authCommandReceived ( boolean isPasswordSet, List inputList, + boolean clientAuthenticated){ + return isPasswordSet && !clientAuthenticated && inputList.size() == 2 && inputList.getFirst().equals("AUTH"); + } } -} + +