diff --git a/build.gradle b/build.gradle index a2fbd4160c..ba17ca0853 100644 --- a/build.gradle +++ b/build.gradle @@ -35,7 +35,7 @@ application { shadowJar { archiveBaseName = "convobot" archiveClassifier = null - dependsOn("distZip", "distTar") + dependsOn("distZip", "distTar"); } // Configure run task settings diff --git a/src/main/java/cvb/commands/CommandParser.java b/src/main/java/cvb/commands/CommandParser.java index 13a488bf8e..7dc5bbc2b6 100755 --- a/src/main/java/cvb/commands/CommandParser.java +++ b/src/main/java/cvb/commands/CommandParser.java @@ -37,6 +37,7 @@ private static void enforceArgumentCount(int a, int b) throws ConvoBotException * @throws ConvoBotException if the input is invalid or cannot be parsed */ public static Command parse(String userInput) throws ConvoBotException { + userInput = userInput.trim(); // remove leading and trailing spaces ArrayList inputList = new ArrayList<>(Arrays.asList(userInput.split(" "))); if (inputList.isEmpty()) { throw new ConvoBotException("Invalid input. Input must not be empty."); diff --git a/src/main/java/cvb/tasks/TaskParser.java b/src/main/java/cvb/tasks/TaskParser.java index f6be3d9024..10d191a5d3 100755 --- a/src/main/java/cvb/tasks/TaskParser.java +++ b/src/main/java/cvb/tasks/TaskParser.java @@ -21,6 +21,7 @@ public static Task parse(String line) throws IllegalArgumentException { final IllegalArgumentException invalidLineException = new IllegalArgumentException("Invalid line format: " + line); + line = line.trim(); // remove leading and trailing spaces String[] parts = line.split(" \\| "); if (parts.length < minPartsLength || parts.length > maxPartsLength) { throw invalidLineException; diff --git a/src/main/java/cvb/utils/Storage.java b/src/main/java/cvb/utils/Storage.java index ca3c7b499a..1312266cf3 100755 --- a/src/main/java/cvb/utils/Storage.java +++ b/src/main/java/cvb/utils/Storage.java @@ -39,12 +39,17 @@ public ArrayList read() { BufferedReader reader = new BufferedReader(new FileReader(filePath)); String line; while ((line = reader.readLine()) != null) { - Task task = TaskParser.parse(line); + Task task; + try { + task = TaskParser.parse(line); + } catch (IllegalArgumentException e) { + continue; // skip this line + } taskList.add(task); } reader.close(); } catch (IOException e) { - // ignored as taskList will be returned empty + return taskList; } return taskList; }