diff --git a/src/main/data/duke.txt b/src/main/data/duke.txt index fdba33c5f8..e69de29bb2 100644 --- a/src/main/data/duke.txt +++ b/src/main/data/duke.txt @@ -1,7 +0,0 @@ -T | 1 | read book -D | 0 | return book | 2019-10-10 -T | 0 | join sports club -T | 1 | test this -T | 1 | this thing -D | 0 | homework | 2020-10-02 -E | 0 | birthday | 2020-12-05 13:00 diff --git a/src/main/java/duke/AddCommand.java b/src/main/java/duke/Command/AddCommand.java similarity index 95% rename from src/main/java/duke/AddCommand.java rename to src/main/java/duke/Command/AddCommand.java index d60f04c8be..40444c8307 100644 --- a/src/main/java/duke/AddCommand.java +++ b/src/main/java/duke/Command/AddCommand.java @@ -1,5 +1,9 @@ -package duke; +package duke.Command; +import duke.DukeException; +import duke.Storage; +import duke.TaskList; +import duke.Ui; import duke.task.Deadline; import duke.task.Event; import duke.task.Task; diff --git a/src/main/java/duke/Command.java b/src/main/java/duke/Command/Command.java similarity index 61% rename from src/main/java/duke/Command.java rename to src/main/java/duke/Command/Command.java index ffe2166d0c..e496025325 100644 --- a/src/main/java/duke/Command.java +++ b/src/main/java/duke/Command/Command.java @@ -1,4 +1,9 @@ -package duke; +package duke.Command; + +import duke.DukeException; +import duke.Storage; +import duke.TaskList; +import duke.Ui; public abstract class Command { public abstract void runCommand(TaskList taskList, Ui ui, Storage storage) throws DukeException; diff --git a/src/main/java/duke/DeleteCommand.java b/src/main/java/duke/Command/DeleteCommand.java similarity index 86% rename from src/main/java/duke/DeleteCommand.java rename to src/main/java/duke/Command/DeleteCommand.java index 8b00ebb2f8..21e244abf6 100644 --- a/src/main/java/duke/DeleteCommand.java +++ b/src/main/java/duke/Command/DeleteCommand.java @@ -1,4 +1,9 @@ -package duke; +package duke.Command; + +import duke.DukeException; +import duke.Storage; +import duke.TaskList; +import duke.Ui; public class DeleteCommand extends Command { private int index; diff --git a/src/main/java/duke/DoneCommand.java b/src/main/java/duke/Command/DoneCommand.java similarity index 85% rename from src/main/java/duke/DoneCommand.java rename to src/main/java/duke/Command/DoneCommand.java index 9d32382c9b..1581f58ba0 100644 --- a/src/main/java/duke/DoneCommand.java +++ b/src/main/java/duke/Command/DoneCommand.java @@ -1,4 +1,9 @@ -package duke; +package duke.Command; + +import duke.DukeException; +import duke.Storage; +import duke.TaskList; +import duke.Ui; public class DoneCommand extends Command { private int index; diff --git a/src/main/java/duke/ExitCommand.java b/src/main/java/duke/Command/ExitCommand.java similarity index 57% rename from src/main/java/duke/ExitCommand.java rename to src/main/java/duke/Command/ExitCommand.java index dc53494e87..4b2b991b60 100644 --- a/src/main/java/duke/ExitCommand.java +++ b/src/main/java/duke/Command/ExitCommand.java @@ -1,6 +1,12 @@ -package duke; +package duke.Command; -public class ExitCommand extends Command{ +import duke.Command.Command; +import duke.DukeException; +import duke.Storage; +import duke.TaskList; +import duke.Ui; + +public class ExitCommand extends Command { @Override public void runCommand(TaskList taskList, Ui ui, Storage storage) throws DukeException { diff --git a/src/main/java/duke/ListCommand.java b/src/main/java/duke/Command/ListCommand.java similarity index 65% rename from src/main/java/duke/ListCommand.java rename to src/main/java/duke/Command/ListCommand.java index 52dd4a3193..547925426e 100644 --- a/src/main/java/duke/ListCommand.java +++ b/src/main/java/duke/Command/ListCommand.java @@ -1,4 +1,10 @@ -package duke; +package duke.Command; + +import duke.Command.Command; +import duke.DukeException; +import duke.Storage; +import duke.TaskList; +import duke.Ui; public class ListCommand extends Command { diff --git a/src/main/java/duke/Duke.java b/src/main/java/duke/Duke.java index 0cd57c68e4..8d3d2393ca 100644 --- a/src/main/java/duke/Duke.java +++ b/src/main/java/duke/Duke.java @@ -1,23 +1,6 @@ package duke; -import duke.task.Deadline; -import duke.task.Event; -import duke.task.Task; -import duke.task.Todo; - -import java.io.FileNotFoundException; -import java.io.File; -import java.io.FileWriter; -import java.nio.file.Files; - -import java.io.IOException; -import java.nio.file.Path; -import java.nio.file.Paths; - -import java.time.format.DateTimeParseException; - -import java.util.ArrayList; -import java.util.Scanner; +import duke.Command.Command; public class Duke { private Storage storage; diff --git a/src/main/java/duke/Parser.java b/src/main/java/duke/Parser.java index 84217c0dfe..2d3d8a3ad2 100644 --- a/src/main/java/duke/Parser.java +++ b/src/main/java/duke/Parser.java @@ -1,7 +1,6 @@ package duke; -import java.io.IOException; -import java.util.Scanner; +import duke.Command.*; public class Parser { diff --git a/src/main/java/duke/TaskList.java b/src/main/java/duke/TaskList.java index 2abff1cc5b..520fdf8171 100644 --- a/src/main/java/duke/TaskList.java +++ b/src/main/java/duke/TaskList.java @@ -23,8 +23,12 @@ public int getSize() { return tasks.size(); } - public Task getTask(int index) { - return tasks.get(index); + public Task getTask(int index) throws DukeException { + try { + return tasks.get(index); + } catch (IndexOutOfBoundsException e) { + throw new DukeException("Invalid Task. Please try again."); + } } public void addTask(Task task) {