diff --git a/build.gradle b/build.gradle index bacf656410..f157fa3718 100644 --- a/build.gradle +++ b/build.gradle @@ -41,7 +41,7 @@ test { } application { - mainClass.set("duke.Launcher") + mainClass.set("socrates.Launcher") } checkstyle { @@ -49,7 +49,7 @@ checkstyle { } shadowJar { - archiveBaseName = "duke" + archiveBaseName = "socrates" archiveClassifier = null dependsOn("distZip", "distTar") } diff --git a/docs/README.md b/docs/README.md index ba115f2c9a..35e099e71f 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,6 +1,6 @@ # User Guide -Duke is a **desktop app for managing tasks, optimized for use via a Command Line Interface** (CLI) while still having the benefits of a Graphical User Interface (GUI). +SoCrates is a **desktop app for managing tasks, optimized for use via a Command Line Interface** (CLI) while still having the benefits of a Graphical User Interface (GUI). - [Quick start](#quick-start) - [Features](#features) @@ -20,9 +20,9 @@ Duke is a **desktop app for managing tasks, optimized for use via a Command Line ## Quick start 1. Ensure you have Java `11` or above installed in your computer. -2. Download the latest `duke.jar` from [here](https://github.com/samuelim01/ip/releases). +2. Download the latest `socrates.jar` from [here](https://github.com/samuelim01/ip/releases). 3. Copy the file to the folder you want to use as the _home folder_ for your chatbot. -4. Open a command terminal, `cd` into the folder you put the jar file in, and use the `java -jar duke.jar` commmand to run the application. +4. Open a command terminal, `cd` into the folder you put the jar file in, and use the `java -jar socrates.jar` commmand to run the application. 5. Type the command in the command box and press Enter to execute it. You may refer to the [Features](#features) below for the details of each command. diff --git a/docs/Ui.png b/docs/Ui.png index 89c49fa146..9b6243c853 100644 Binary files a/docs/Ui.png and b/docs/Ui.png differ diff --git a/src/main/java/duke/data/exception/DukeException.java b/src/main/java/duke/data/exception/DukeException.java deleted file mode 100644 index 00da2f04bb..0000000000 --- a/src/main/java/duke/data/exception/DukeException.java +++ /dev/null @@ -1,16 +0,0 @@ -package duke.data.exception; - -/** - * Represents an exception with the duke chatbot. - */ -public class DukeException extends Exception { - - /** - * Returns an instance of {@code DukeException} with the given error message. - * - * @param message The error message of the exception. - */ - public DukeException(String message) { - super(message); - } -} diff --git a/src/main/java/duke/Launcher.java b/src/main/java/socrates/Launcher.java similarity index 64% rename from src/main/java/duke/Launcher.java rename to src/main/java/socrates/Launcher.java index b6962d1a1d..8012d9a9fc 100644 --- a/src/main/java/duke/Launcher.java +++ b/src/main/java/socrates/Launcher.java @@ -1,14 +1,14 @@ -package duke; +package socrates; import javafx.application.Application; /** - * Represents a launcher for the Duke chatbot. + * Represents a launcher for the SoCrates chatbot. */ public class Launcher { /** - * Launches the Duke chatbot application. + * Launches the SoCrates chatbot application. * * @param args */ diff --git a/src/main/java/duke/Main.java b/src/main/java/socrates/Main.java similarity index 73% rename from src/main/java/duke/Main.java rename to src/main/java/socrates/Main.java index 7ce49a48a1..bd3c331c93 100644 --- a/src/main/java/duke/Main.java +++ b/src/main/java/socrates/Main.java @@ -1,20 +1,20 @@ -package duke; +package socrates; import java.io.IOException; -import duke.gui.MainWindow; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Scene; import javafx.scene.layout.AnchorPane; import javafx.stage.Stage; +import socrates.gui.MainWindow; /** - * Represents a GUI for Duke + * Represents a GUI for Socrates */ public class Main extends Application { - private final Duke duke = new Duke(); + private final Socrates socrates = new Socrates(); @Override public void start(Stage stage) { @@ -23,10 +23,10 @@ public void start(Stage stage) { AnchorPane ap = fxmlLoader.load(); Scene scene = new Scene(ap); stage.setScene(scene); - fxmlLoader.getController().setDuke(duke); + fxmlLoader.getController().setSocrates(socrates); stage.show(); - stage.setTitle("Duke"); + stage.setTitle("SoCrates"); stage.setResizable(false); } catch (IOException e) { e.printStackTrace(); diff --git a/src/main/java/duke/Duke.java b/src/main/java/socrates/Socrates.java similarity index 69% rename from src/main/java/duke/Duke.java rename to src/main/java/socrates/Socrates.java index 530b8505c2..a049d2cfa4 100644 --- a/src/main/java/duke/Duke.java +++ b/src/main/java/socrates/Socrates.java @@ -1,20 +1,20 @@ -package duke; +package socrates; -import duke.command.Command; -import duke.command.CommandResult; -import duke.data.exception.DukeException; -import duke.data.exception.StorageLoadException; -import duke.data.task.TaskList; -import duke.parser.Parser; -import duke.storage.Storage; +import socrates.command.Command; +import socrates.command.CommandResult; +import socrates.data.exception.SocratesException; +import socrates.data.exception.StorageLoadException; +import socrates.data.task.TaskList; +import socrates.parser.Parser; +import socrates.storage.Storage; /** * Represents a chatbot. This initializes the chatbot application and is * the entry point to interaction with the user. */ -public class Duke { +public class Socrates { - public static final String WELCOME_MESSAGE = "Hello! I'm Duke. What would you like to do today?"; + public static final String WELCOME_MESSAGE = "Hello! I'm SoCrates. What would you like to do today?"; /** The file path where the data of the chatbot is stored */ private static final String FILE_PATH = "data/tasks.txt"; @@ -28,7 +28,7 @@ public class Duke { * Loads up the data from the storage file, and shows the welcome message. * */ - public Duke() { + public Socrates() { storage = new Storage(FILE_PATH); try { tasks = new TaskList(storage.load()); @@ -46,7 +46,7 @@ public Duke() { * @param input The input by the user. * @return The response by the chatbot. */ - public CommandResult getResponse(String input) throws DukeException { + public CommandResult getResponse(String input) throws SocratesException { Command command = Parser.parse(input); return command.execute(tasks, storage); } diff --git a/src/main/java/duke/command/AddDeadlineCommand.java b/src/main/java/socrates/command/AddDeadlineCommand.java similarity index 75% rename from src/main/java/duke/command/AddDeadlineCommand.java rename to src/main/java/socrates/command/AddDeadlineCommand.java index 16b737699b..34a6edab77 100644 --- a/src/main/java/duke/command/AddDeadlineCommand.java +++ b/src/main/java/socrates/command/AddDeadlineCommand.java @@ -1,11 +1,11 @@ -package duke.command; +package socrates.command; import java.time.LocalDate; import java.time.format.DateTimeParseException; -import duke.data.exception.DukeException; -import duke.data.exception.InvalidDateException; -import duke.data.task.Deadline; +import socrates.data.exception.InvalidDateException; +import socrates.data.exception.SocratesException; +import socrates.data.task.Deadline; /** * Represents a command to add a new deadline to the list of tasks. @@ -18,13 +18,13 @@ public class AddDeadlineCommand extends AddTaskCommand { /** * Returns an instance of {@code AddDeadlineCommand} with the given description, by dates. - * If there is an error in parsing the date, throws a {@code DukeException}. + * If there is an error in parsing the date, throws a {@code SocratesException}. * * @param description The description of the deadline. * @param by The due date of the event in \'yyyy-mm-dd\' format. - * @throws DukeException If there is an error in parsing the by field as a date. + * @throws SocratesException If there is an error in parsing the by field as a date. */ - public AddDeadlineCommand(String description, String by) throws DukeException { + public AddDeadlineCommand(String description, String by) throws SocratesException { try { this.toAdd = new Deadline(description, LocalDate.parse(by)); } catch (DateTimeParseException e) { diff --git a/src/main/java/duke/command/AddEventCommand.java b/src/main/java/socrates/command/AddEventCommand.java similarity index 77% rename from src/main/java/duke/command/AddEventCommand.java rename to src/main/java/socrates/command/AddEventCommand.java index 6fb2a1bab6..0b511a29b8 100644 --- a/src/main/java/duke/command/AddEventCommand.java +++ b/src/main/java/socrates/command/AddEventCommand.java @@ -1,11 +1,11 @@ -package duke.command; +package socrates.command; import java.time.LocalDate; import java.time.format.DateTimeParseException; -import duke.data.exception.DukeException; -import duke.data.exception.InvalidDateException; -import duke.data.task.Event; +import socrates.data.exception.InvalidDateException; +import socrates.data.exception.SocratesException; +import socrates.data.task.Event; /** * Represents a command to add a new event to the list of tasks. @@ -17,14 +17,14 @@ public class AddEventCommand extends AddTaskCommand { /** * Returns an instance of {@code AddEventCommand} with the given description, from and to dates. - * If there is an error in parsing the date, throws a {@code DukeException}. + * If there is an error in parsing the date, throws a {@code SocratesException}. * * @param description The description of the event. * @param from The start date of the event in \'yyyy-mm-dd\' format. * @param to The end date of the event in \'yyyy-mm-dd\' format. - * @throws DukeException If there is an error in parsing from and to as dates. + * @throws SocratesException If there is an error in parsing from and to as dates. */ - public AddEventCommand(String description, String from, String to) throws DukeException { + public AddEventCommand(String description, String from, String to) throws SocratesException { try { this.toAdd = new Event(description, LocalDate.parse(from), LocalDate.parse(to)); } catch (DateTimeParseException e) { diff --git a/src/main/java/duke/command/AddTaskCommand.java b/src/main/java/socrates/command/AddTaskCommand.java similarity index 75% rename from src/main/java/duke/command/AddTaskCommand.java rename to src/main/java/socrates/command/AddTaskCommand.java index f754480004..b0f7b7aec2 100644 --- a/src/main/java/duke/command/AddTaskCommand.java +++ b/src/main/java/socrates/command/AddTaskCommand.java @@ -1,9 +1,9 @@ -package duke.command; +package socrates.command; -import duke.data.exception.DukeException; -import duke.data.task.Task; -import duke.data.task.TaskList; -import duke.storage.Storage; +import socrates.data.exception.SocratesException; +import socrates.data.task.Task; +import socrates.data.task.TaskList; +import socrates.storage.Storage; /** * Represents a command to add a new task. @@ -20,7 +20,7 @@ protected String getCommandResponse(TaskList tasks) { } @Override - public CommandResult execute(TaskList tasks, Storage storage) throws DukeException { + public CommandResult execute(TaskList tasks, Storage storage) throws SocratesException { tasks.add(toAdd); storage.save(tasks); return new CommandResult(getCommandResponse(tasks)); diff --git a/src/main/java/duke/command/AddTodoCommand.java b/src/main/java/socrates/command/AddTodoCommand.java similarity index 86% rename from src/main/java/duke/command/AddTodoCommand.java rename to src/main/java/socrates/command/AddTodoCommand.java index f53a4528a7..7f807523b1 100644 --- a/src/main/java/duke/command/AddTodoCommand.java +++ b/src/main/java/socrates/command/AddTodoCommand.java @@ -1,6 +1,6 @@ -package duke.command; +package socrates.command; -import duke.data.task.Todo; +import socrates.data.task.Todo; /** * Represents a command to add a new todo to the list of tasks. diff --git a/src/main/java/duke/command/ClearCommand.java b/src/main/java/socrates/command/ClearCommand.java similarity index 75% rename from src/main/java/duke/command/ClearCommand.java rename to src/main/java/socrates/command/ClearCommand.java index 4fa4263371..1553bc26ba 100644 --- a/src/main/java/duke/command/ClearCommand.java +++ b/src/main/java/socrates/command/ClearCommand.java @@ -1,8 +1,8 @@ -package duke.command; +package socrates.command; -import duke.data.exception.DukeException; -import duke.data.task.TaskList; -import duke.storage.Storage; +import socrates.data.exception.SocratesException; +import socrates.data.task.TaskList; +import socrates.storage.Storage; /** * Represents a command to clear the task list. @@ -14,7 +14,7 @@ public class ClearCommand extends Command { private static final String COMMAND_RESPONSE = "Got it. I've cleared all tasks."; @Override - public CommandResult execute(TaskList tasks, Storage storage) throws DukeException { + public CommandResult execute(TaskList tasks, Storage storage) throws SocratesException { tasks.clear(); storage.save(tasks); return new CommandResult(COMMAND_RESPONSE); diff --git a/src/main/java/duke/command/Command.java b/src/main/java/socrates/command/Command.java similarity index 65% rename from src/main/java/duke/command/Command.java rename to src/main/java/socrates/command/Command.java index c2011dea9b..b84032435c 100644 --- a/src/main/java/duke/command/Command.java +++ b/src/main/java/socrates/command/Command.java @@ -1,8 +1,8 @@ -package duke.command; +package socrates.command; -import duke.data.exception.DukeException; -import duke.data.task.TaskList; -import duke.storage.Storage; +import socrates.data.exception.SocratesException; +import socrates.data.task.TaskList; +import socrates.storage.Storage; /** * Represents a command given by the user. @@ -17,8 +17,8 @@ public abstract class Command { * @param tasks The list of tasks in the application. * @param storage The storage file of the application. * @return The response by the bot. - * @throws DukeException If there is any issue with the constructed command. + * @throws SocratesException If there is any issue with the constructed command. */ - public abstract CommandResult execute(TaskList tasks, Storage storage) throws DukeException; + public abstract CommandResult execute(TaskList tasks, Storage storage) throws SocratesException; } diff --git a/src/main/java/duke/command/CommandResult.java b/src/main/java/socrates/command/CommandResult.java similarity index 96% rename from src/main/java/duke/command/CommandResult.java rename to src/main/java/socrates/command/CommandResult.java index 9a33cd931c..a3f75b7d9c 100644 --- a/src/main/java/duke/command/CommandResult.java +++ b/src/main/java/socrates/command/CommandResult.java @@ -1,4 +1,4 @@ -package duke.command; +package socrates.command; //@@author samuelim01-reused // Reused from Addressbook Level 3 with minor modifications. diff --git a/src/main/java/duke/command/DeleteCommand.java b/src/main/java/socrates/command/DeleteCommand.java similarity index 76% rename from src/main/java/duke/command/DeleteCommand.java rename to src/main/java/socrates/command/DeleteCommand.java index 10d58bd80b..29f8fb2fdb 100644 --- a/src/main/java/duke/command/DeleteCommand.java +++ b/src/main/java/socrates/command/DeleteCommand.java @@ -1,9 +1,9 @@ -package duke.command; +package socrates.command; -import duke.data.exception.DukeException; -import duke.data.task.Task; -import duke.data.task.TaskList; -import duke.storage.Storage; +import socrates.data.exception.SocratesException; +import socrates.data.task.Task; +import socrates.data.task.TaskList; +import socrates.storage.Storage; /** * Represents a command to delete the specified task. @@ -19,7 +19,7 @@ public DeleteCommand(String taskIndex) { } @Override - public CommandResult execute(TaskList tasks, Storage storage) throws DukeException { + public CommandResult execute(TaskList tasks, Storage storage) throws SocratesException { Task task = tasks.remove(taskIndex); storage.save(tasks); return new CommandResult(COMMAND_RESPONSE_SUCCESS + task); diff --git a/src/main/java/duke/command/ExitCommand.java b/src/main/java/socrates/command/ExitCommand.java similarity index 83% rename from src/main/java/duke/command/ExitCommand.java rename to src/main/java/socrates/command/ExitCommand.java index 9e0c017fb7..35bc7995ed 100644 --- a/src/main/java/duke/command/ExitCommand.java +++ b/src/main/java/socrates/command/ExitCommand.java @@ -1,7 +1,7 @@ -package duke.command; +package socrates.command; -import duke.data.task.TaskList; -import duke.storage.Storage; +import socrates.data.task.TaskList; +import socrates.storage.Storage; /** * Represents a command to exit the chatbot application. diff --git a/src/main/java/duke/command/FindCommand.java b/src/main/java/socrates/command/FindCommand.java similarity index 92% rename from src/main/java/duke/command/FindCommand.java rename to src/main/java/socrates/command/FindCommand.java index 01b23bb0db..3168ec39f6 100644 --- a/src/main/java/duke/command/FindCommand.java +++ b/src/main/java/socrates/command/FindCommand.java @@ -1,7 +1,7 @@ -package duke.command; +package socrates.command; -import duke.data.task.TaskList; -import duke.storage.Storage; +import socrates.data.task.TaskList; +import socrates.storage.Storage; /** * Represents a command to find tasks that match the keyword provided. diff --git a/src/main/java/duke/command/HelpCommand.java b/src/main/java/socrates/command/HelpCommand.java similarity index 91% rename from src/main/java/duke/command/HelpCommand.java rename to src/main/java/socrates/command/HelpCommand.java index 7282ad847a..a5dc425741 100644 --- a/src/main/java/duke/command/HelpCommand.java +++ b/src/main/java/socrates/command/HelpCommand.java @@ -1,7 +1,7 @@ -package duke.command; +package socrates.command; -import duke.data.task.TaskList; -import duke.storage.Storage; +import socrates.data.task.TaskList; +import socrates.storage.Storage; /** * Represents a command to list all existing commands diff --git a/src/main/java/duke/command/ListCommand.java b/src/main/java/socrates/command/ListCommand.java similarity index 84% rename from src/main/java/duke/command/ListCommand.java rename to src/main/java/socrates/command/ListCommand.java index 6b9b446b6c..1bdb1ecb14 100644 --- a/src/main/java/duke/command/ListCommand.java +++ b/src/main/java/socrates/command/ListCommand.java @@ -1,7 +1,7 @@ -package duke.command; +package socrates.command; -import duke.data.task.TaskList; -import duke.storage.Storage; +import socrates.data.task.TaskList; +import socrates.storage.Storage; /** * Represents a command to list all existing tasks. diff --git a/src/main/java/duke/command/MarkCommand.java b/src/main/java/socrates/command/MarkCommand.java similarity index 76% rename from src/main/java/duke/command/MarkCommand.java rename to src/main/java/socrates/command/MarkCommand.java index 966ab500ef..6ea8953317 100644 --- a/src/main/java/duke/command/MarkCommand.java +++ b/src/main/java/socrates/command/MarkCommand.java @@ -1,9 +1,9 @@ -package duke.command; +package socrates.command; -import duke.data.exception.DukeException; -import duke.data.task.Task; -import duke.data.task.TaskList; -import duke.storage.Storage; +import socrates.data.exception.SocratesException; +import socrates.data.task.Task; +import socrates.data.task.TaskList; +import socrates.storage.Storage; /** * Represents a command to mark the specified task as done. @@ -19,7 +19,7 @@ public MarkCommand(String taskIndex) { } @Override - public CommandResult execute(TaskList tasks, Storage storage) throws DukeException { + public CommandResult execute(TaskList tasks, Storage storage) throws SocratesException { Task task = tasks.mark(taskIndex); storage.save(tasks); return new CommandResult(COMMAND_RESPONSE + task); diff --git a/src/main/java/duke/command/ModifyTaskCommand.java b/src/main/java/socrates/command/ModifyTaskCommand.java similarity index 95% rename from src/main/java/duke/command/ModifyTaskCommand.java rename to src/main/java/socrates/command/ModifyTaskCommand.java index 77d1ea097f..85f3c82265 100644 --- a/src/main/java/duke/command/ModifyTaskCommand.java +++ b/src/main/java/socrates/command/ModifyTaskCommand.java @@ -1,4 +1,4 @@ -package duke.command; +package socrates.command; /** * Represents a command to modify an existing task. diff --git a/src/main/java/duke/command/UnmarkCommand.java b/src/main/java/socrates/command/UnmarkCommand.java similarity index 77% rename from src/main/java/duke/command/UnmarkCommand.java rename to src/main/java/socrates/command/UnmarkCommand.java index b2efcccd3a..0bbaac698c 100644 --- a/src/main/java/duke/command/UnmarkCommand.java +++ b/src/main/java/socrates/command/UnmarkCommand.java @@ -1,9 +1,9 @@ -package duke.command; +package socrates.command; -import duke.data.exception.DukeException; -import duke.data.task.Task; -import duke.data.task.TaskList; -import duke.storage.Storage; +import socrates.data.exception.SocratesException; +import socrates.data.task.Task; +import socrates.data.task.TaskList; +import socrates.storage.Storage; /** * Represents a command to mark the specified task as not done yet. @@ -19,7 +19,7 @@ public UnmarkCommand(String taskIndex) { } @Override - public CommandResult execute(TaskList tasks, Storage storage) throws DukeException { + public CommandResult execute(TaskList tasks, Storage storage) throws SocratesException { Task task = tasks.unmark(taskIndex); storage.save(tasks); return new CommandResult(COMMAND_RESPONSE + task); diff --git a/src/main/java/duke/data/exception/InvalidCommandException.java b/src/main/java/socrates/data/exception/InvalidCommandException.java similarity index 50% rename from src/main/java/duke/data/exception/InvalidCommandException.java rename to src/main/java/socrates/data/exception/InvalidCommandException.java index f2c750268c..a16224f9a1 100644 --- a/src/main/java/duke/data/exception/InvalidCommandException.java +++ b/src/main/java/socrates/data/exception/InvalidCommandException.java @@ -1,11 +1,11 @@ -package duke.data.exception; +package socrates.data.exception; /** * Repesents an exception due to an invalid command. */ -public class InvalidCommandException extends DukeException { +public class InvalidCommandException extends SocratesException { /** - * Returns an instance of {@code DukeException} with the given error message. + * Returns an instance of {@code SocratesException} with the given error message. */ public InvalidCommandException() { super("I'm sorry, but I don't know what that means :-("); diff --git a/src/main/java/duke/data/exception/InvalidDateException.java b/src/main/java/socrates/data/exception/InvalidDateException.java similarity index 52% rename from src/main/java/duke/data/exception/InvalidDateException.java rename to src/main/java/socrates/data/exception/InvalidDateException.java index c0be1efffa..beafd85a24 100644 --- a/src/main/java/duke/data/exception/InvalidDateException.java +++ b/src/main/java/socrates/data/exception/InvalidDateException.java @@ -1,12 +1,12 @@ -package duke.data.exception; +package socrates.data.exception; /** * Represents an exception due to an invalid date. */ -public class InvalidDateException extends DukeException { +public class InvalidDateException extends SocratesException { /** - * Returns an instance of {@code DukeException} with the given error message. + * Returns an instance of {@code SocratesException} with the given error message. * */ public InvalidDateException() { diff --git a/src/main/java/duke/data/exception/InvalidKeywordException.java b/src/main/java/socrates/data/exception/InvalidKeywordException.java similarity index 52% rename from src/main/java/duke/data/exception/InvalidKeywordException.java rename to src/main/java/socrates/data/exception/InvalidKeywordException.java index d12649b8c9..0590bb19d3 100644 --- a/src/main/java/duke/data/exception/InvalidKeywordException.java +++ b/src/main/java/socrates/data/exception/InvalidKeywordException.java @@ -1,11 +1,11 @@ -package duke.data.exception; +package socrates.data.exception; /** * Represents an invalid keyword for a {@code FindCommand}. */ -public class InvalidKeywordException extends DukeException { +public class InvalidKeywordException extends SocratesException { /** - * Returns an instance of {@code DukeException} with the given error message. + * Returns an instance of {@code SocratesException} with the given error message. * */ public InvalidKeywordException() { diff --git a/src/main/java/duke/data/exception/InvalidTaskArgumentException.java b/src/main/java/socrates/data/exception/InvalidTaskArgumentException.java similarity index 55% rename from src/main/java/duke/data/exception/InvalidTaskArgumentException.java rename to src/main/java/socrates/data/exception/InvalidTaskArgumentException.java index 9104b053a8..eeac675605 100644 --- a/src/main/java/duke/data/exception/InvalidTaskArgumentException.java +++ b/src/main/java/socrates/data/exception/InvalidTaskArgumentException.java @@ -1,11 +1,11 @@ -package duke.data.exception; +package socrates.data.exception; /** * Represents an exception due to invalid task arguments. */ -public class InvalidTaskArgumentException extends DukeException { +public class InvalidTaskArgumentException extends SocratesException { /** - * Returns an instance of {@code DukeException} with the given error message. + * Returns an instance of {@code SocratesException} with the given error message. * * @param message The error message of the exception. */ diff --git a/src/main/java/duke/data/exception/InvalidTaskIndexException.java b/src/main/java/socrates/data/exception/InvalidTaskIndexException.java similarity index 55% rename from src/main/java/duke/data/exception/InvalidTaskIndexException.java rename to src/main/java/socrates/data/exception/InvalidTaskIndexException.java index a025b41fd6..18e48f41d2 100644 --- a/src/main/java/duke/data/exception/InvalidTaskIndexException.java +++ b/src/main/java/socrates/data/exception/InvalidTaskIndexException.java @@ -1,12 +1,12 @@ -package duke.data.exception; +package socrates.data.exception; /** * Represents an exception due to an invalid task index. */ -public class InvalidTaskIndexException extends DukeException { +public class InvalidTaskIndexException extends SocratesException { /** - * Returns an instance of {@code DukeException} with the given error message. + * Returns an instance of {@code SocratesException} with the given error message. * * @param message The error message of the exception. */ diff --git a/src/main/java/socrates/data/exception/SocratesException.java b/src/main/java/socrates/data/exception/SocratesException.java new file mode 100644 index 0000000000..a1fc178bee --- /dev/null +++ b/src/main/java/socrates/data/exception/SocratesException.java @@ -0,0 +1,16 @@ +package socrates.data.exception; + +/** + * Represents an exception with the SoCrates chatbot. + */ +public class SocratesException extends Exception { + + /** + * Returns an instance of {@code SocratesException} with the given error message. + * + * @param message The error message of the exception. + */ + public SocratesException(String message) { + super(message); + } +} diff --git a/src/main/java/duke/data/exception/StorageLoadException.java b/src/main/java/socrates/data/exception/StorageLoadException.java similarity index 55% rename from src/main/java/duke/data/exception/StorageLoadException.java rename to src/main/java/socrates/data/exception/StorageLoadException.java index d5fa75027b..7393c8b7ad 100644 --- a/src/main/java/duke/data/exception/StorageLoadException.java +++ b/src/main/java/socrates/data/exception/StorageLoadException.java @@ -1,12 +1,12 @@ -package duke.data.exception; +package socrates.data.exception; /** * Represents an exception due to invalid storage data. */ -public class StorageLoadException extends DukeException { +public class StorageLoadException extends SocratesException { /** - * Returns an instance of {@code DukeException} with the given error message. + * Returns an instance of {@code SocratesException} with the given error message. * * @param message The error message of the exception. */ diff --git a/src/main/java/duke/data/exception/StorageSaveException.java b/src/main/java/socrates/data/exception/StorageSaveException.java similarity index 57% rename from src/main/java/duke/data/exception/StorageSaveException.java rename to src/main/java/socrates/data/exception/StorageSaveException.java index 71f3bd429c..5785cf89bb 100644 --- a/src/main/java/duke/data/exception/StorageSaveException.java +++ b/src/main/java/socrates/data/exception/StorageSaveException.java @@ -1,12 +1,12 @@ -package duke.data.exception; +package socrates.data.exception; /** * Represents an exception while trying to save data to the storage file. */ -public class StorageSaveException extends DukeException { +public class StorageSaveException extends SocratesException { /** - * Returns an instance of {@code DukeException} with the given error message. + * Returns an instance of {@code SocratesException} with the given error message. * * @param message The error message of the exception. */ diff --git a/src/main/java/duke/data/task/Deadline.java b/src/main/java/socrates/data/task/Deadline.java similarity index 98% rename from src/main/java/duke/data/task/Deadline.java rename to src/main/java/socrates/data/task/Deadline.java index 403e73d352..be5ae1e9c2 100644 --- a/src/main/java/duke/data/task/Deadline.java +++ b/src/main/java/socrates/data/task/Deadline.java @@ -1,4 +1,4 @@ -package duke.data.task; +package socrates.data.task; import java.time.LocalDate; import java.time.format.DateTimeFormatter; diff --git a/src/main/java/duke/data/task/Event.java b/src/main/java/socrates/data/task/Event.java similarity index 98% rename from src/main/java/duke/data/task/Event.java rename to src/main/java/socrates/data/task/Event.java index 2b2a0df55e..75bdb81c4f 100644 --- a/src/main/java/duke/data/task/Event.java +++ b/src/main/java/socrates/data/task/Event.java @@ -1,4 +1,4 @@ -package duke.data.task; +package socrates.data.task; import java.time.LocalDate; import java.time.format.DateTimeFormatter; diff --git a/src/main/java/duke/data/task/Task.java b/src/main/java/socrates/data/task/Task.java similarity index 97% rename from src/main/java/duke/data/task/Task.java rename to src/main/java/socrates/data/task/Task.java index a317facea6..caa98f1d03 100644 --- a/src/main/java/duke/data/task/Task.java +++ b/src/main/java/socrates/data/task/Task.java @@ -1,4 +1,4 @@ -package duke.data.task; +package socrates.data.task; /** * Represents a task to be done. diff --git a/src/main/java/duke/data/task/TaskList.java b/src/main/java/socrates/data/task/TaskList.java similarity index 97% rename from src/main/java/duke/data/task/TaskList.java rename to src/main/java/socrates/data/task/TaskList.java index c9055d3211..a55bfcfa76 100644 --- a/src/main/java/duke/data/task/TaskList.java +++ b/src/main/java/socrates/data/task/TaskList.java @@ -1,10 +1,10 @@ -package duke.data.task; +package socrates.data.task; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import duke.data.exception.InvalidTaskIndexException; +import socrates.data.exception.InvalidTaskIndexException; /** * Represents a collection of tasks within the chatbot application. diff --git a/src/main/java/duke/data/task/Todo.java b/src/main/java/socrates/data/task/Todo.java similarity index 96% rename from src/main/java/duke/data/task/Todo.java rename to src/main/java/socrates/data/task/Todo.java index e0e821b9ad..58a8394053 100644 --- a/src/main/java/duke/data/task/Todo.java +++ b/src/main/java/socrates/data/task/Todo.java @@ -1,4 +1,4 @@ -package duke.data.task; +package socrates.data.task; /** * Represents a todo item to be done. diff --git a/src/main/java/duke/gui/DialogBox.java b/src/main/java/socrates/gui/DialogBox.java similarity index 82% rename from src/main/java/duke/gui/DialogBox.java rename to src/main/java/socrates/gui/DialogBox.java index 9e04683780..2da1855e88 100644 --- a/src/main/java/duke/gui/DialogBox.java +++ b/src/main/java/socrates/gui/DialogBox.java @@ -1,4 +1,4 @@ -package duke.gui; +package socrates.gui; import java.io.IOException; @@ -15,7 +15,7 @@ public class DialogBox extends HBox { private static final String USER_RESOURCE = "/view/UserDialogBox.fxml"; - private static final String DUKE_RESOURCE = "/view/DukeDialogBox.fxml"; + private static final String SOCRATES_RESOURCE = "/view/SocratesDialogBox.fxml"; @FXML private Label dialog; @@ -36,7 +36,7 @@ public static DialogBox getUserDialog(String text) { return new DialogBox(text, USER_RESOURCE); } - public static DialogBox getDukeDialog(String text) { - return new DialogBox(text, DUKE_RESOURCE); + public static DialogBox getSocratesDialog(String text) { + return new DialogBox(text, SOCRATES_RESOURCE); } } diff --git a/src/main/java/duke/gui/MainWindow.java b/src/main/java/socrates/gui/MainWindow.java similarity index 63% rename from src/main/java/duke/gui/MainWindow.java rename to src/main/java/socrates/gui/MainWindow.java index 88cb10c8e5..28f7e95255 100644 --- a/src/main/java/duke/gui/MainWindow.java +++ b/src/main/java/socrates/gui/MainWindow.java @@ -1,16 +1,16 @@ -package duke.gui; +package socrates.gui; -import static duke.Duke.WELCOME_MESSAGE; +import static socrates.Socrates.WELCOME_MESSAGE; -import duke.Duke; -import duke.command.CommandResult; -import duke.data.exception.DukeException; import javafx.fxml.FXML; import javafx.scene.control.Button; import javafx.scene.control.ScrollPane; import javafx.scene.control.TextField; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.VBox; +import socrates.Socrates; +import socrates.command.CommandResult; +import socrates.data.exception.SocratesException; /** * Controller for MainWindow. Provides the layout for the other controls. @@ -25,7 +25,7 @@ public class MainWindow extends AnchorPane { @FXML private Button sendButton; - private Duke duke; + private Socrates socrates; /** * Initializes the main window with the given welcome message. @@ -33,16 +33,16 @@ public class MainWindow extends AnchorPane { @FXML public void initialize() { scrollPane.vvalueProperty().bind(dialogContainer.heightProperty()); - addDukeDialog(WELCOME_MESSAGE); + addSocratesDialog(WELCOME_MESSAGE); } - public void setDuke(Duke d) { - duke = d; + public void setSocrates(Socrates d) { + socrates = d; } /** - * Creates two dialog boxes, one echoing user input and the other containing Duke's reply and then appends them to - * the dialog container. Clears the user input after processing. + * Creates two dialog boxes, one echoing user input and the other containing Socrates's reply and then + * appends them to the dialog container. Clears the user input after processing. */ @FXML private void handleUserInput() { @@ -54,14 +54,14 @@ private void handleUserInput() { addUserDialog(input); try { - CommandResult commandResult = duke.getResponse(input); - addDukeDialog(commandResult.getResponseToUser()); + CommandResult commandResult = socrates.getResponse(input); + addSocratesDialog(commandResult.getResponseToUser()); if (commandResult.isExit()) { handleExit(); } - } catch (DukeException e) { - addDukeDialog(e.getMessage()); + } catch (SocratesException e) { + addSocratesDialog(e.getMessage()); } } @@ -69,8 +69,8 @@ private void addUserDialog(String message) { dialogContainer.getChildren().add(DialogBox.getUserDialog(message)); } - private void addDukeDialog(String message) { - dialogContainer.getChildren().add(DialogBox.getDukeDialog(message)); + private void addSocratesDialog(String message) { + dialogContainer.getChildren().add(DialogBox.getSocratesDialog(message)); } private void handleExit() { diff --git a/src/main/java/duke/parser/Parser.java b/src/main/java/socrates/parser/Parser.java similarity index 84% rename from src/main/java/duke/parser/Parser.java rename to src/main/java/socrates/parser/Parser.java index bb0b79de4e..4832dbaee7 100644 --- a/src/main/java/duke/parser/Parser.java +++ b/src/main/java/socrates/parser/Parser.java @@ -1,25 +1,25 @@ -package duke.parser; +package socrates.parser; import java.util.regex.Matcher; import java.util.regex.Pattern; -import duke.command.AddDeadlineCommand; -import duke.command.AddEventCommand; -import duke.command.AddTodoCommand; -import duke.command.ClearCommand; -import duke.command.Command; -import duke.command.DeleteCommand; -import duke.command.ExitCommand; -import duke.command.FindCommand; -import duke.command.HelpCommand; -import duke.command.ListCommand; -import duke.command.MarkCommand; -import duke.command.UnmarkCommand; -import duke.data.exception.DukeException; -import duke.data.exception.InvalidCommandException; -import duke.data.exception.InvalidKeywordException; -import duke.data.exception.InvalidTaskArgumentException; -import duke.data.exception.InvalidTaskIndexException; +import socrates.command.AddDeadlineCommand; +import socrates.command.AddEventCommand; +import socrates.command.AddTodoCommand; +import socrates.command.ClearCommand; +import socrates.command.Command; +import socrates.command.DeleteCommand; +import socrates.command.ExitCommand; +import socrates.command.FindCommand; +import socrates.command.HelpCommand; +import socrates.command.ListCommand; +import socrates.command.MarkCommand; +import socrates.command.UnmarkCommand; +import socrates.data.exception.InvalidCommandException; +import socrates.data.exception.InvalidKeywordException; +import socrates.data.exception.InvalidTaskArgumentException; +import socrates.data.exception.InvalidTaskIndexException; +import socrates.data.exception.SocratesException; /** * Represents the parser of user-given commands. @@ -41,19 +41,19 @@ public class Parser { /** * Returns a command from the given user input. If no such command matches * the user input, or there was an error with the command arguments, - * throws a {@code DukeException}. + * throws a {@code SocratesException}. * * @param fullCommand The given user input. * @return The command represented by the user input. - * @throws DukeException If no such command exists or there was an error with + * @throws SocratesException If no such command exists or there was an error with * the command arguments. */ - public static Command parse(String fullCommand) throws DukeException { + public static Command parse(String fullCommand) throws SocratesException { //@author samuelim01-reused // Reused from Addressbook Level 2 with minor modifications. final Matcher matcher = BASIC_COMMAND_FORMAT.matcher(fullCommand.trim()); if (!matcher.matches()) { - throw new DukeException("I'm sorry, but I don't know what that means :-("); + throw new SocratesException("I'm sorry, but I don't know what that means :-("); } final String commandWord = matcher.group("commandWord"); @@ -94,7 +94,7 @@ public static Command parse(String fullCommand) throws DukeException { * @return An instance of {@code AddTodoCommand} with the given arguments. * @throws InvalidTaskArgumentException If the arguments were invalid. */ - private static Command prepareTodo(String arguments) throws DukeException { + private static Command prepareTodo(String arguments) throws SocratesException { final Matcher matcher = TODO_DATA_ARGS_FORMAT.matcher(arguments.trim()); if (!matcher.matches()) { throw new InvalidTaskArgumentException("The description of a todo must be specified."); @@ -109,7 +109,7 @@ private static Command prepareTodo(String arguments) throws DukeException { * @return An instance of {@code AddDeadlineCommand} with the given arguments. * @throws InvalidTaskArgumentException If the arguments were invalid. */ - private static Command prepareDeadline(String arguments) throws DukeException { + private static Command prepareDeadline(String arguments) throws SocratesException { final Matcher matcher = DEADLINE_DATA_ARGS_FORMAT.matcher(arguments.trim()); if (!matcher.matches()) { throw new InvalidTaskArgumentException("The description and the /by field must be specified."); @@ -124,7 +124,7 @@ private static Command prepareDeadline(String arguments) throws DukeException { * @return An instance of {@code AddEventCommand} with the given arguments. * @throws InvalidTaskArgumentException If the arguments were invalid. */ - private static Command prepareEvent(String arguments) throws DukeException { + private static Command prepareEvent(String arguments) throws SocratesException { final Matcher matcher = EVENT_DATA_ARGS_FORMAT.matcher(arguments.trim()); if (!matcher.matches()) { throw new InvalidTaskArgumentException("The description and the /from and /to fields must be specified."); @@ -144,7 +144,7 @@ private static Command prepareEvent(String arguments) throws DukeException { * @return An instance of {@code MarkCommand} or {@code UnmarkCommand} with the given arguments. * @throws InvalidTaskIndexException If the task was not specified or invalid. */ - private static Command prepareMark(String arguments, boolean isMarked) throws DukeException { + private static Command prepareMark(String arguments, boolean isMarked) throws SocratesException { final Matcher matcher = TASK_INDEX_ARGS_FORMAT.matcher(arguments.trim()); if (!matcher.matches()) { throw new InvalidTaskIndexException("The task must be specified."); @@ -161,9 +161,9 @@ private static Command prepareMark(String arguments, boolean isMarked) throws Du * Returns an {@code DeleteCommand} from the given arguments. * @param arguments The user arguments to the command. * @return An instance of {@code DeleteCommand} with the given arguments. - * @throws DukeException If the task was not specified or invalid. + * @throws SocratesException If the task was not specified or invalid. */ - private static Command prepareDelete(String arguments) throws DukeException { + private static Command prepareDelete(String arguments) throws SocratesException { final Matcher matcher = TASK_INDEX_ARGS_FORMAT.matcher(arguments.trim()); if (!matcher.matches()) { throw new InvalidTaskIndexException("The task must be specified."); diff --git a/src/main/java/duke/storage/Storage.java b/src/main/java/socrates/storage/Storage.java similarity index 91% rename from src/main/java/duke/storage/Storage.java rename to src/main/java/socrates/storage/Storage.java index 400fc31f5c..08afd6bb65 100644 --- a/src/main/java/duke/storage/Storage.java +++ b/src/main/java/socrates/storage/Storage.java @@ -1,4 +1,4 @@ -package duke.storage; +package socrates.storage; import java.io.BufferedReader; import java.io.File; @@ -9,13 +9,13 @@ import java.util.ArrayList; import java.util.List; -import duke.data.exception.StorageLoadException; -import duke.data.exception.StorageSaveException; -import duke.data.task.Deadline; -import duke.data.task.Event; -import duke.data.task.Task; -import duke.data.task.TaskList; -import duke.data.task.Todo; +import socrates.data.exception.StorageLoadException; +import socrates.data.exception.StorageSaveException; +import socrates.data.task.Deadline; +import socrates.data.task.Event; +import socrates.data.task.Task; +import socrates.data.task.TaskList; +import socrates.data.task.Todo; /** * Represents the file used to store task data. diff --git a/src/main/resources/images/DaDuke.png b/src/main/resources/images/DaSocrates.png similarity index 100% rename from src/main/resources/images/DaDuke.png rename to src/main/resources/images/DaSocrates.png diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index e8ab75d567..e00184d326 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -4,7 +4,7 @@ - +