From 7e192d52e2ab53f3e0b552a43a03c52e76fa8397 Mon Sep 17 00:00:00 2001 From: Daniel Adi Date: Fri, 18 Sep 2020 18:33:59 +0800 Subject: [PATCH] Handle reserved symbols in commands --- src/main/java/duke/logic/CommandParser.java | 5 +++++ src/main/java/duke/ui/Ui.java | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/duke/logic/CommandParser.java b/src/main/java/duke/logic/CommandParser.java index 356c41a615..34d3ab5314 100644 --- a/src/main/java/duke/logic/CommandParser.java +++ b/src/main/java/duke/logic/CommandParser.java @@ -22,6 +22,11 @@ public class CommandParser { * @throws DukeException If command is not on the recognised list of commands. */ public static Command parse(String command) throws DukeException { + // Disallow use of escape characters and symbols used internally by Storage class + if (command.contains("|") || command.contains("\\")) { + throw new DukeException("The characters \\ and | are forbidden!"); + } + String[] extractedCommand = command.split(" ", 2); switch(extractedCommand[0]) { case("bye"): diff --git a/src/main/java/duke/ui/Ui.java b/src/main/java/duke/ui/Ui.java index b7fe0092fb..8462544aee 100644 --- a/src/main/java/duke/ui/Ui.java +++ b/src/main/java/duke/ui/Ui.java @@ -43,6 +43,8 @@ public String buildTaskList(ArrayList taskList) { * Prints error message from failing to load save file. */ public void showLoadingError() { - System.out.println("Unable to load or find save file. Initiating new instance."); + System.out.println("Unable to load or find save file. " + + "Save file is either not found or corrupted. " + + "Initiating new instance."); } }