From 759f996e3d0592f6b6b31309d9d32ef42e66fa4a Mon Sep 17 00:00:00 2001 From: kngys Date: Mon, 19 Aug 2024 18:22:35 +0800 Subject: [PATCH 01/45] Level 0. Rename, Greet, Exit --- src/main/java/Duke.java | 10 ---------- src/main/java/Serenity.java | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+), 10 deletions(-) delete mode 100644 src/main/java/Duke.java create mode 100644 src/main/java/Serenity.java diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java deleted file mode 100644 index 5d313334cc..0000000000 --- a/src/main/java/Duke.java +++ /dev/null @@ -1,10 +0,0 @@ -public class Duke { - public static void main(String[] args) { - String logo = " ____ _ \n" - + "| _ \\ _ _| | _____ \n" - + "| | | | | | | |/ / _ \\\n" - + "| |_| | |_| | < __/\n" - + "|____/ \\__,_|_|\\_\\___|\n"; - System.out.println("Hello from\n" + logo); - } -} diff --git a/src/main/java/Serenity.java b/src/main/java/Serenity.java new file mode 100644 index 0000000000..9d9b2bade7 --- /dev/null +++ b/src/main/java/Serenity.java @@ -0,0 +1,18 @@ +public class Serenity { + public static void main(String[] args) { + String horizontalLine = "__________________________________________"; + System.out.println(horizontalLine); + greet(); + System.out.println(horizontalLine); + exit(); + System.out.println(horizontalLine); + } + + public static void greet() { + System.out.println("Hi, I'm Serenity!\n" + "What can I do for you?"); + } + + public static void exit() { + System.out.println("Goodbye. Hope to see you again soon!"); + } +} From 926884163891d3172a95ac7b96a61a94f84b35ba Mon Sep 17 00:00:00 2001 From: kngys Date: Mon, 19 Aug 2024 19:06:45 +0800 Subject: [PATCH 02/45] Level 1. Echo --- src/main/java/Serenity.java | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/main/java/Serenity.java b/src/main/java/Serenity.java index 9d9b2bade7..2d611aeb8f 100644 --- a/src/main/java/Serenity.java +++ b/src/main/java/Serenity.java @@ -1,18 +1,25 @@ +import java.util.Scanner; + public class Serenity { public static void main(String[] args) { + String horizontalLine = "__________________________________________"; System.out.println(horizontalLine); - greet(); - System.out.println(horizontalLine); - exit(); + System.out.println("Hi, I'm Serenity!\n" + "What can I do for you?"); System.out.println(horizontalLine); - } - public static void greet() { - System.out.println("Hi, I'm Serenity!\n" + "What can I do for you?"); - } + Scanner sc = new Scanner(System.in); + String input = sc.next(); + while (!input.equalsIgnoreCase("bye")) { + System.out.println(horizontalLine); + System.out.println(input); + System.out.println(horizontalLine); + input = sc.next(); + } + sc.close(); - public static void exit() { + System.out.println(horizontalLine); System.out.println("Goodbye. Hope to see you again soon!"); + System.out.println(horizontalLine); } } From 0dbc456fb5a15de8abe7fa3f8e7a83b57f98444b Mon Sep 17 00:00:00 2001 From: kngys Date: Mon, 19 Aug 2024 22:46:38 +0800 Subject: [PATCH 03/45] Update to accept user input as a phrase instead of only a single word --- src/main/java/Serenity.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/Serenity.java b/src/main/java/Serenity.java index 2d611aeb8f..4b3be3c91d 100644 --- a/src/main/java/Serenity.java +++ b/src/main/java/Serenity.java @@ -9,12 +9,12 @@ public static void main(String[] args) { System.out.println(horizontalLine); Scanner sc = new Scanner(System.in); - String input = sc.next(); + String input = sc.nextLine(); while (!input.equalsIgnoreCase("bye")) { System.out.println(horizontalLine); System.out.println(input); System.out.println(horizontalLine); - input = sc.next(); + input = sc.nextLine(); } sc.close(); From 62182fd1dd73872070ccf85917c58e52c49713fe Mon Sep 17 00:00:00 2001 From: kngys Date: Mon, 19 Aug 2024 23:02:21 +0800 Subject: [PATCH 04/45] Level 2. Add, List --- src/main/java/Serenity.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main/java/Serenity.java b/src/main/java/Serenity.java index 4b3be3c91d..b4ad26a682 100644 --- a/src/main/java/Serenity.java +++ b/src/main/java/Serenity.java @@ -1,9 +1,12 @@ +import java.util.ArrayList; import java.util.Scanner; public class Serenity { public static void main(String[] args) { + ArrayList list = new ArrayList<>(); String horizontalLine = "__________________________________________"; + System.out.println(horizontalLine); System.out.println("Hi, I'm Serenity!\n" + "What can I do for you?"); System.out.println(horizontalLine); @@ -11,8 +14,16 @@ public static void main(String[] args) { Scanner sc = new Scanner(System.in); String input = sc.nextLine(); while (!input.equalsIgnoreCase("bye")) { - System.out.println(horizontalLine); - System.out.println(input); + if (input.equalsIgnoreCase("list")) { + System.out.println(horizontalLine); + for (int i = 0; i < list.size(); i++) { + System.out.println(i + 1 + ". " + list.get(i)); + } + } else { + list.add(input); + System.out.println(horizontalLine); + System.out.println("added: " + input); + } System.out.println(horizontalLine); input = sc.nextLine(); } From a12e40f4343ab1600d3cacd4b452d92bf8f8855c Mon Sep 17 00:00:00 2001 From: kngys Date: Tue, 20 Aug 2024 16:02:37 +0800 Subject: [PATCH 05/45] Add Task class --- src/main/java/Task.java | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/main/java/Task.java diff --git a/src/main/java/Task.java b/src/main/java/Task.java new file mode 100644 index 0000000000..48b2b210d9 --- /dev/null +++ b/src/main/java/Task.java @@ -0,0 +1,28 @@ +public class Task { + protected String description; + protected boolean isDone; + + public Task(String description) { + this.description = description; + this.isDone = false; + } + + public String getStatusIcon() { + return (isDone ? "X" : " "); // mark done task with X + } + + public void markAsDone() { + this.isDone = true; + } + + public void markAsNotDone() { + this.isDone = false; + } + + @Override + public String toString() { + return "[" + this.getStatusIcon() + "]" + this.description; + } + + +} From badf6e1d359bd0db0e8d7e5febd13a407b645f24 Mon Sep 17 00:00:00 2001 From: kngys Date: Tue, 20 Aug 2024 16:31:28 +0800 Subject: [PATCH 06/45] Level 3. Mark as Done --- src/main/java/Serenity.java | 18 ++++++++++++++++-- src/main/java/Task.java | 2 +- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/main/java/Serenity.java b/src/main/java/Serenity.java index b4ad26a682..78d8faf823 100644 --- a/src/main/java/Serenity.java +++ b/src/main/java/Serenity.java @@ -4,7 +4,7 @@ public class Serenity { public static void main(String[] args) { - ArrayList list = new ArrayList<>(); + ArrayList list = new ArrayList<>(); String horizontalLine = "__________________________________________"; System.out.println(horizontalLine); @@ -16,11 +16,25 @@ public static void main(String[] args) { while (!input.equalsIgnoreCase("bye")) { if (input.equalsIgnoreCase("list")) { System.out.println(horizontalLine); + System.out.println("Here are the tasks in your list:"); for (int i = 0; i < list.size(); i++) { System.out.println(i + 1 + ". " + list.get(i)); } + } else if (input.startsWith("mark")) { + int index = Integer.parseInt(input.substring(5)) - 1; + Task t = list.get(index); + t.markAsDone(); + System.out.println(horizontalLine); + System.out.println("Nice! I've marked this task as done:\n" + t); + } else if (input.startsWith("unmark")) { + int index = Integer.parseInt(input.substring(7)) - 1; + Task t = list.get(index); + t.markAsNotDone(); + System.out.println(horizontalLine); + System.out.println("OK, I've marked this task as not done yet:\n" + t); } else { - list.add(input); + Task t = new Task(input); + list.add(t); System.out.println(horizontalLine); System.out.println("added: " + input); } diff --git a/src/main/java/Task.java b/src/main/java/Task.java index 48b2b210d9..5994e1eba6 100644 --- a/src/main/java/Task.java +++ b/src/main/java/Task.java @@ -21,7 +21,7 @@ public void markAsNotDone() { @Override public String toString() { - return "[" + this.getStatusIcon() + "]" + this.description; + return "[" + this.getStatusIcon() + "] " + this.description; } From 525c06e3202f1299b923c4420fac6f972bf6186b Mon Sep 17 00:00:00 2001 From: kngys Date: Tue, 20 Aug 2024 17:52:29 +0800 Subject: [PATCH 07/45] Add Deadline class --- src/main/java/Deadline.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 src/main/java/Deadline.java diff --git a/src/main/java/Deadline.java b/src/main/java/Deadline.java new file mode 100644 index 0000000000..e4e4b232c6 --- /dev/null +++ b/src/main/java/Deadline.java @@ -0,0 +1,14 @@ +public class Deadline extends Task { + + protected String by; + + public Deadline(String description, String by) { + super(description); + this.by = by; + } + + @Override + public String toString() { + return "[D]" + super.toString() + " (by: " + by + ")"; + } +} From e83758abbfa8947f112ed3d65373dd4e8a3d5ef6 Mon Sep 17 00:00:00 2001 From: kngys Date: Tue, 20 Aug 2024 17:55:22 +0800 Subject: [PATCH 08/45] Add Todo class --- src/main/java/Todo.java | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 src/main/java/Todo.java diff --git a/src/main/java/Todo.java b/src/main/java/Todo.java new file mode 100644 index 0000000000..ff3e58dfcd --- /dev/null +++ b/src/main/java/Todo.java @@ -0,0 +1,11 @@ +public class Todo extends Task { + + public Todo (String description) { + super(description); + } + + @Override + public String toString() { + return "[T]" + super.toString(); + } +} From baf2a151406418d06d99349486091192d3da78ca Mon Sep 17 00:00:00 2001 From: kngys Date: Tue, 20 Aug 2024 18:03:56 +0800 Subject: [PATCH 09/45] Add Event class --- src/main/java/Event.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/main/java/Event.java diff --git a/src/main/java/Event.java b/src/main/java/Event.java new file mode 100644 index 0000000000..60c89a4f75 --- /dev/null +++ b/src/main/java/Event.java @@ -0,0 +1,16 @@ +public class Event extends Task { + + protected String start; + protected String end; + + public Event(String description, String start, String end) { + super(description); + this.start = start; + this.end = end; + } + + @Override + public String toString() { + return "[E]" + super.toString() + " (from: " + start + " to: " + end + ")"; + } +} From 5523e4afdea23c86fdcf2c48a3090031cca6d40e Mon Sep 17 00:00:00 2001 From: kngys Date: Tue, 20 Aug 2024 19:21:12 +0800 Subject: [PATCH 10/45] Level 4. ToDos, Events, Deadlines --- src/main/java/Deadline.java | 2 +- src/main/java/Event.java | 2 +- src/main/java/Serenity.java | 36 ++++++++++++++++++++++++++++++------ 3 files changed, 32 insertions(+), 8 deletions(-) diff --git a/src/main/java/Deadline.java b/src/main/java/Deadline.java index e4e4b232c6..4093f5edcb 100644 --- a/src/main/java/Deadline.java +++ b/src/main/java/Deadline.java @@ -9,6 +9,6 @@ public Deadline(String description, String by) { @Override public String toString() { - return "[D]" + super.toString() + " (by: " + by + ")"; + return "[D]" + super.toString() + "(by:" + by + ")"; } } diff --git a/src/main/java/Event.java b/src/main/java/Event.java index 60c89a4f75..e7d8400289 100644 --- a/src/main/java/Event.java +++ b/src/main/java/Event.java @@ -11,6 +11,6 @@ public Event(String description, String start, String end) { @Override public String toString() { - return "[E]" + super.toString() + " (from: " + start + " to: " + end + ")"; + return "[E]" + super.toString() + "(from:" + start + "to:" + end + ")"; } } diff --git a/src/main/java/Serenity.java b/src/main/java/Serenity.java index 78d8faf823..0d7fef433f 100644 --- a/src/main/java/Serenity.java +++ b/src/main/java/Serenity.java @@ -2,11 +2,11 @@ import java.util.Scanner; public class Serenity { + private static final String horizontalLine = "__________________________________________"; + private static final ArrayList list = new ArrayList<>(); + private static int count = 0; public static void main(String[] args) { - ArrayList list = new ArrayList<>(); - String horizontalLine = "__________________________________________"; - System.out.println(horizontalLine); System.out.println("Hi, I'm Serenity!\n" + "What can I do for you?"); System.out.println(horizontalLine); @@ -32,11 +32,25 @@ public static void main(String[] args) { t.markAsNotDone(); System.out.println(horizontalLine); System.out.println("OK, I've marked this task as not done yet:\n" + t); + } else if (input.startsWith("todo")) { + //remove the type of task + String description = input.split(" ", 2)[1]; + Todo td = new Todo(description); + addTask(td); + } else if (input.startsWith("deadline")) { + String description = input.split(" ", 2)[1]; + String[] parts = description.split("/by"); + Deadline dl = new Deadline(parts[0], parts[1]); + addTask(dl); + } else if (input.startsWith("event")) { + String description = input.split(" ", 2)[1]; + String[] parts = description.split("/from"); + String[] timings = parts[1].split("/to"); + Event e = new Event(parts[0], timings[0], timings[1]); + addTask(e); } else { Task t = new Task(input); - list.add(t); - System.out.println(horizontalLine); - System.out.println("added: " + input); + addTask(t); } System.out.println(horizontalLine); input = sc.nextLine(); @@ -46,5 +60,15 @@ public static void main(String[] args) { System.out.println(horizontalLine); System.out.println("Goodbye. Hope to see you again soon!"); System.out.println(horizontalLine); + + } + + private static void addTask(Task t) { + list.add(t); + count++; + System.out.println(horizontalLine); + System.out.println("Got it. I've added this task:\n" + t); + String numOfTasks = count == 1 ? "task" : "tasks"; + System.out.println("Now you have " + count + " " + numOfTasks + " in the list."); } } From 818719b910c96e413a91cd30fc4fa57c461e2bc2 Mon Sep 17 00:00:00 2001 From: kngys Date: Wed, 21 Aug 2024 18:16:29 +0800 Subject: [PATCH 11/45] A-TextUiTesting --- text-ui-test/EXPECTED.TXT | 53 +++++++++++++++++++++++++++++++++------ text-ui-test/input.txt | 9 +++++++ text-ui-test/runtest.bat | 2 +- 3 files changed, 56 insertions(+), 8 deletions(-) diff --git a/text-ui-test/EXPECTED.TXT b/text-ui-test/EXPECTED.TXT index 657e74f6e7..a1b20c878a 100644 --- a/text-ui-test/EXPECTED.TXT +++ b/text-ui-test/EXPECTED.TXT @@ -1,7 +1,46 @@ -Hello from - ____ _ -| _ \ _ _| | _____ -| | | | | | | |/ / _ \ -| |_| | |_| | < __/ -|____/ \__,_|_|\_\___| - +__________________________________________ +Hi, I'm Serenity! +What can I do for you? +__________________________________________ +__________________________________________ +Got it. I've added this task: +[T][ ] read book +Now you have 1 task in the list. +__________________________________________ +__________________________________________ +Got it. I've added this task: +[D][ ] return book (by: Sunday) +Now you have 2 tasks in the list. +__________________________________________ +__________________________________________ +Got it. I've added this task: +[E][ ] project meeting (from: Mon 2pm to: 4pm) +Now you have 3 tasks in the list. +__________________________________________ +__________________________________________ +Here are the tasks in your list: +1. [T][ ] read book +2. [D][ ] return book (by: Sunday) +3. [E][ ] project meeting (from: Mon 2pm to: 4pm) +__________________________________________ +__________________________________________ +Nice! I've marked this task as done: +[T][X] read book +__________________________________________ +__________________________________________ +Nice! I've marked this task as done: +[E][X] project meeting (from: Mon 2pm to: 4pm) +__________________________________________ +__________________________________________ +OK, I've marked this task as not done yet: +[T][ ] read book +__________________________________________ +__________________________________________ +Here are the tasks in your list: +1. [T][ ] read book +2. [D][ ] return book (by: Sunday) +3. [E][X] project meeting (from: Mon 2pm to: 4pm) +__________________________________________ +__________________________________________ +Goodbye. Hope to see you again soon! +__________________________________________ diff --git a/text-ui-test/input.txt b/text-ui-test/input.txt index e69de29bb2..4a6f96b133 100644 --- a/text-ui-test/input.txt +++ b/text-ui-test/input.txt @@ -0,0 +1,9 @@ +todo read book +deadline return book /by Sunday +event project meeting /from Mon 2pm /to 4pm +list +mark 1 +mark 3 +unmark 1 +list +bye diff --git a/text-ui-test/runtest.bat b/text-ui-test/runtest.bat index 0873744649..ba4fee27fb 100644 --- a/text-ui-test/runtest.bat +++ b/text-ui-test/runtest.bat @@ -15,7 +15,7 @@ IF ERRORLEVEL 1 ( REM no error here, errorlevel == 0 REM run the program, feed commands from input.txt file and redirect the output to the ACTUAL.TXT -java -classpath ..\bin Duke < input.txt > ACTUAL.TXT +java -classpath ..\bin Serenity < input.txt > ACTUAL.TXT REM compare the output to the expected output FC ACTUAL.TXT EXPECTED.TXT From 03c105610f53559c7519f1d8c5f43112b98cf49c Mon Sep 17 00:00:00 2001 From: kngys Date: Thu, 22 Aug 2024 22:40:49 +0800 Subject: [PATCH 12/45] Level 5. Handle Errors --- src/main/java/Serenity.java | 106 +++++++++++++++++++-------- src/main/java/SerenityException.java | 5 ++ 2 files changed, 80 insertions(+), 31 deletions(-) create mode 100644 src/main/java/SerenityException.java diff --git a/src/main/java/Serenity.java b/src/main/java/Serenity.java index 0d7fef433f..982282c049 100644 --- a/src/main/java/Serenity.java +++ b/src/main/java/Serenity.java @@ -20,41 +20,23 @@ public static void main(String[] args) { for (int i = 0; i < list.size(); i++) { System.out.println(i + 1 + ". " + list.get(i)); } - } else if (input.startsWith("mark")) { - int index = Integer.parseInt(input.substring(5)) - 1; - Task t = list.get(index); - t.markAsDone(); - System.out.println(horizontalLine); - System.out.println("Nice! I've marked this task as done:\n" + t); - } else if (input.startsWith("unmark")) { - int index = Integer.parseInt(input.substring(7)) - 1; - Task t = list.get(index); - t.markAsNotDone(); - System.out.println(horizontalLine); - System.out.println("OK, I've marked this task as not done yet:\n" + t); - } else if (input.startsWith("todo")) { - //remove the type of task - String description = input.split(" ", 2)[1]; - Todo td = new Todo(description); - addTask(td); - } else if (input.startsWith("deadline")) { - String description = input.split(" ", 2)[1]; - String[] parts = description.split("/by"); - Deadline dl = new Deadline(parts[0], parts[1]); - addTask(dl); - } else if (input.startsWith("event")) { - String description = input.split(" ", 2)[1]; - String[] parts = description.split("/from"); - String[] timings = parts[1].split("/to"); - Event e = new Event(parts[0], timings[0], timings[1]); - addTask(e); + } else if (input.contains("mark")) { + try { + changeStatus(input); + } catch (SerenityException e){ + System.out.println(e.getMessage()); + } } else { - Task t = new Task(input); - addTask(t); + try { + addTask(input); + } catch (SerenityException e) { + System.out.println(e.getMessage()); + } } System.out.println(horizontalLine); input = sc.nextLine(); } + sc.close(); System.out.println(horizontalLine); @@ -63,7 +45,45 @@ public static void main(String[] args) { } - private static void addTask(Task t) { + private static void addTask(String input) throws SerenityException { + + Task t; + + if (input.startsWith("todo")) { + String[] description = input.split(" "); + if (description.length == 1) { + throw new SerenityException("Error: The description of a todo cannot be empty."); + } else { + //remove the type of task + String taskDescription = input.split(" ", 2)[1]; + Todo td = new Todo(taskDescription); + t = td; + } + } else if (input.startsWith("deadline")) { + String[] description = input.split(" "); + if (description.length == 1) { + throw new SerenityException("Error: The description of a deadline cannot be empty."); + } else { + String taskDescription = input.split(" ", 2)[1]; + String[] parts = taskDescription.split("/by"); + Deadline dl = new Deadline(parts[0], parts[1]); + t = dl; + } + } else if (input.startsWith("event")) { + String[] description = input.split(" "); + if (description.length == 1) { + throw new SerenityException("Error: The description of an event cannot be empty."); + } else { + String taskDescription = input.split(" ", 2)[1]; + String[] parts = taskDescription.split("/from"); + String[] timings = parts[1].split("/to"); + Event e = new Event(parts[0], timings[0], timings[1]); + t = e; + } + } else { + throw new SerenityException("Error: Type of task is not specified."); + } + list.add(t); count++; System.out.println(horizontalLine); @@ -71,4 +91,28 @@ private static void addTask(Task t) { String numOfTasks = count == 1 ? "task" : "tasks"; System.out.println("Now you have " + count + " " + numOfTasks + " in the list."); } + + private static void changeStatus(String input) throws SerenityException { + + String[] parts = input.split(" "); + if (parts.length == 1) { + throw new SerenityException("Error: Missing task index."); + } + + if (input.startsWith("mark")) { + int index = Integer.parseInt(input.substring(5)) - 1; + Task t = list.get(index); + t.markAsDone(); + System.out.println(horizontalLine); + System.out.println("Nice! I've marked this task as done:\n" + t); + } else if (input.startsWith("unmark")) { + int index = Integer.parseInt(input.substring(7)) - 1; + Task t = list.get(index); + t.markAsNotDone(); + System.out.println(horizontalLine); + System.out.println("OK, I've marked this task as not done yet:\n" + t); + } else { + throw new SerenityException("Error: Type of task is not specified."); + } + } } diff --git a/src/main/java/SerenityException.java b/src/main/java/SerenityException.java new file mode 100644 index 0000000000..38b9b1a0ee --- /dev/null +++ b/src/main/java/SerenityException.java @@ -0,0 +1,5 @@ +public class SerenityException extends Exception { + public SerenityException(String msg) { + super(msg); + } +} From 5d9b1a72c96e40af52f9000d9f1f6f200237628f Mon Sep 17 00:00:00 2001 From: kngys Date: Thu, 22 Aug 2024 22:55:29 +0800 Subject: [PATCH 13/45] Level 6. Delete --- src/main/java/Serenity.java | 80 ++++++++++++++++++++++--------------- 1 file changed, 47 insertions(+), 33 deletions(-) diff --git a/src/main/java/Serenity.java b/src/main/java/Serenity.java index 982282c049..7316e2d96e 100644 --- a/src/main/java/Serenity.java +++ b/src/main/java/Serenity.java @@ -14,24 +14,22 @@ public static void main(String[] args) { Scanner sc = new Scanner(System.in); String input = sc.nextLine(); while (!input.equalsIgnoreCase("bye")) { - if (input.equalsIgnoreCase("list")) { - System.out.println(horizontalLine); - System.out.println("Here are the tasks in your list:"); - for (int i = 0; i < list.size(); i++) { - System.out.println(i + 1 + ". " + list.get(i)); - } - } else if (input.contains("mark")) { - try { + try { + if (input.equalsIgnoreCase("list")) { + System.out.println(horizontalLine); + System.out.println("Here are the tasks in your list:"); + for (int i = 0; i < list.size(); i++) { + System.out.println(i + 1 + ". " + list.get(i)); + } + } else if (input.contains("mark")) { changeStatus(input); - } catch (SerenityException e){ - System.out.println(e.getMessage()); + } else if (input.startsWith("delete")) { + deleteTask(input); + } else { + addTask(input); } - } else { - try { - addTask(input); - } catch (SerenityException e) { - System.out.println(e.getMessage()); - } + } catch (SerenityException e) { + System.out.println(e.getMessage()); } System.out.println(horizontalLine); input = sc.nextLine(); @@ -45,6 +43,30 @@ public static void main(String[] args) { } + private static void changeStatus(String input) throws SerenityException { + + String[] parts = input.split(" "); + if (parts.length == 1) { + throw new SerenityException("Error: Missing task index."); + } + + if (input.startsWith("mark")) { + int index = Integer.parseInt(input.substring(5)) - 1; + Task t = list.get(index); + t.markAsDone(); + System.out.println(horizontalLine); + System.out.println("Nice! I've marked this task as done:\n" + t); + } else if (input.startsWith("unmark")) { + int index = Integer.parseInt(input.substring(7)) - 1; + Task t = list.get(index); + t.markAsNotDone(); + System.out.println(horizontalLine); + System.out.println("OK, I've marked this task as not done yet:\n" + t); + } else { + throw new SerenityException("Error: Type of task is not specified."); + } + } + private static void addTask(String input) throws SerenityException { Task t; @@ -92,27 +114,19 @@ private static void addTask(String input) throws SerenityException { System.out.println("Now you have " + count + " " + numOfTasks + " in the list."); } - private static void changeStatus(String input) throws SerenityException { - + private static void deleteTask(String input) throws SerenityException { String[] parts = input.split(" "); if (parts.length == 1) { throw new SerenityException("Error: Missing task index."); } - if (input.startsWith("mark")) { - int index = Integer.parseInt(input.substring(5)) - 1; - Task t = list.get(index); - t.markAsDone(); - System.out.println(horizontalLine); - System.out.println("Nice! I've marked this task as done:\n" + t); - } else if (input.startsWith("unmark")) { - int index = Integer.parseInt(input.substring(7)) - 1; - Task t = list.get(index); - t.markAsNotDone(); - System.out.println(horizontalLine); - System.out.println("OK, I've marked this task as not done yet:\n" + t); - } else { - throw new SerenityException("Error: Type of task is not specified."); - } + int index = Integer.parseInt(input.substring(7)) - 1; + Task t = list.get(index); + list.remove(index); + count --; + System.out.println(horizontalLine); + System.out.println("Noted. I've removed this task:\n" + t); + String numOfTasks = count == 1 ? "task" : "tasks"; + System.out.println("Now you have " + count + " " + numOfTasks + " in the list."); } } From facd46ad673a360535a23fddd55dde53b15b53e1 Mon Sep 17 00:00:00 2001 From: kngys Date: Tue, 27 Aug 2024 22:27:19 +0800 Subject: [PATCH 14/45] Add method to format saving of tasks --- src/main/java/Deadline.java | 7 ++++++- src/main/java/Event.java | 7 ++++++- src/main/java/Task.java | 5 ++++- src/main/java/Todo.java | 5 +++++ 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/main/java/Deadline.java b/src/main/java/Deadline.java index 4093f5edcb..c7f09af50f 100644 --- a/src/main/java/Deadline.java +++ b/src/main/java/Deadline.java @@ -9,6 +9,11 @@ public Deadline(String description, String by) { @Override public String toString() { - return "[D]" + super.toString() + "(by:" + by + ")"; + return "[D]" + super.toString() + " (by: " + by + ")"; + } + + @Override + public String formatData() { + return "D | " + super.formatData() + " | " + this.by; } } diff --git a/src/main/java/Event.java b/src/main/java/Event.java index e7d8400289..1093275373 100644 --- a/src/main/java/Event.java +++ b/src/main/java/Event.java @@ -11,6 +11,11 @@ public Event(String description, String start, String end) { @Override public String toString() { - return "[E]" + super.toString() + "(from:" + start + "to:" + end + ")"; + return "[E]" + super.toString() + " (from: " + start + " to: " + end + ")"; + } + + @Override + public String formatData() { + return "E | " + super.formatData() + " | " + this.start + " | " + this.end; } } diff --git a/src/main/java/Task.java b/src/main/java/Task.java index 5994e1eba6..55f56b0374 100644 --- a/src/main/java/Task.java +++ b/src/main/java/Task.java @@ -24,5 +24,8 @@ public String toString() { return "[" + this.getStatusIcon() + "] " + this.description; } - + public String formatData() { + int i = this.isDone ? 1 : 0; + return i + " | " + this.description; + } } diff --git a/src/main/java/Todo.java b/src/main/java/Todo.java index ff3e58dfcd..1ef4751b90 100644 --- a/src/main/java/Todo.java +++ b/src/main/java/Todo.java @@ -8,4 +8,9 @@ public Todo (String description) { public String toString() { return "[T]" + super.toString(); } + + @Override + public String formatData() { + return "T | " + super.formatData(); + } } From dfe3bbe7d4f449c7c45cf52c998f362fdabb0759 Mon Sep 17 00:00:00 2001 From: kngys Date: Tue, 27 Aug 2024 22:28:43 +0800 Subject: [PATCH 15/45] Add feature to save tasks --- data/serenity.txt | 4 ++ src/main/java/Serenity.java | 106 +++++++++++++++++++++++++++++++++--- 2 files changed, 102 insertions(+), 8 deletions(-) create mode 100644 data/serenity.txt diff --git a/data/serenity.txt b/data/serenity.txt new file mode 100644 index 0000000000..2a715a5760 --- /dev/null +++ b/data/serenity.txt @@ -0,0 +1,4 @@ +T | 0 | borrow book +D | 0 | return book | Sunday +E | 0 | project meeting | Mon 2pm | 4pm +T | 1 | write essay diff --git a/src/main/java/Serenity.java b/src/main/java/Serenity.java index 7316e2d96e..42eb1557c1 100644 --- a/src/main/java/Serenity.java +++ b/src/main/java/Serenity.java @@ -1,12 +1,29 @@ +import java.io.FileNotFoundException; +import java.io.FileWriter; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; import java.util.ArrayList; import java.util.Scanner; +import java.io.File; public class Serenity { private static final String horizontalLine = "__________________________________________"; private static final ArrayList list = new ArrayList<>(); private static int count = 0; + + private static final String filePath = "data/serenity.txt"; public static void main(String[] args) { + File f = new File(filePath); + + try { + setUpFile(); + loadFile(f); + } catch (IOException | SerenityException e) { + System.out.println(e.getMessage()); + } + System.out.println(horizontalLine); System.out.println("Hi, I'm Serenity!\n" + "What can I do for you?"); System.out.println(horizontalLine); @@ -23,6 +40,7 @@ public static void main(String[] args) { } } else if (input.contains("mark")) { changeStatus(input); + writeToFile(); } else if (input.startsWith("delete")) { deleteTask(input); } else { @@ -30,6 +48,8 @@ public static void main(String[] args) { } } catch (SerenityException e) { System.out.println(e.getMessage()); + } catch (IOException e) { + throw new RuntimeException(e); } System.out.println(horizontalLine); input = sc.nextLine(); @@ -43,7 +63,7 @@ public static void main(String[] args) { } - private static void changeStatus(String input) throws SerenityException { + private static void changeStatus(String input) throws SerenityException, IOException { String[] parts = input.split(" "); if (parts.length == 1) { @@ -67,7 +87,7 @@ private static void changeStatus(String input) throws SerenityException { } } - private static void addTask(String input) throws SerenityException { + private static void addTask(String input) throws SerenityException, IOException { Task t; @@ -78,8 +98,7 @@ private static void addTask(String input) throws SerenityException { } else { //remove the type of task String taskDescription = input.split(" ", 2)[1]; - Todo td = new Todo(taskDescription); - t = td; + t = new Todo(taskDescription); } } else if (input.startsWith("deadline")) { String[] description = input.split(" "); @@ -88,8 +107,7 @@ private static void addTask(String input) throws SerenityException { } else { String taskDescription = input.split(" ", 2)[1]; String[] parts = taskDescription.split("/by"); - Deadline dl = new Deadline(parts[0], parts[1]); - t = dl; + t = new Deadline(parts[0].strip(), parts[1].strip()); } } else if (input.startsWith("event")) { String[] description = input.split(" "); @@ -99,8 +117,7 @@ private static void addTask(String input) throws SerenityException { String taskDescription = input.split(" ", 2)[1]; String[] parts = taskDescription.split("/from"); String[] timings = parts[1].split("/to"); - Event e = new Event(parts[0], timings[0], timings[1]); - t = e; + t = new Event(parts[0].strip(), timings[0].strip(), timings[1].strip()); } } else { throw new SerenityException("Error: Type of task is not specified."); @@ -108,6 +125,7 @@ private static void addTask(String input) throws SerenityException { list.add(t); count++; + saveTask(t); System.out.println(horizontalLine); System.out.println("Got it. I've added this task:\n" + t); String numOfTasks = count == 1 ? "task" : "tasks"; @@ -129,4 +147,76 @@ private static void deleteTask(String input) throws SerenityException { String numOfTasks = count == 1 ? "task" : "tasks"; System.out.println("Now you have " + count + " " + numOfTasks + " in the list."); } + + private static void setUpFile() throws IOException { + + //create directory if directory does not exist + Files.createDirectories(Paths.get("data")); + File f = new File(filePath); + + //create file if file does not exist + if (!f.exists()) { + Files.createFile(Paths.get(filePath)); + } + } + + private static void loadFile(File f) throws FileNotFoundException, SerenityException { + Scanner s = new Scanner(f); + while (s.hasNext()) { + list.add(loadTask(s.nextLine())); + count++; + } + } + + private static Task loadTask(String taskDescription) throws SerenityException { + String[] parts = taskDescription.split("\\|"); + Task t; + + for (int i = 0; i < parts.length; i++) { + parts[i] = parts[i].strip(); + } + + String taskType = parts[0]; + + //noinspection EnhancedSwitchMigration + switch (taskType) { + case "T": + t = new Todo(parts[2]); + break; + case "D": + t = new Deadline(parts[2], parts[3]); + break; + case "E": + t = new Event(parts[2], parts[3], parts[4]); + break; + default: + throw new SerenityException("Error: Task cannot be loaded."); + } + + if (parts[1].equals("1")) { + t.markAsDone(); + } + + return t; + } + + private static void appendToFile(String textToAppend) throws IOException { + FileWriter fw = new FileWriter(filePath, true); + fw.write(textToAppend + "\n"); + fw.close(); + } + + private static void saveTask(Task t) throws IOException { + String textToAppend = t.formatData(); + appendToFile(textToAppend); + } + + private static void writeToFile() throws IOException { + FileWriter fw = new FileWriter(filePath); //overwrite + for (Task t: list) { + fw.write(t.formatData() + "\n"); + } + fw.close(); + } + } From df907a2341696f2b1d8e7362d8d276d353fb5dac Mon Sep 17 00:00:00 2001 From: kngys Date: Wed, 28 Aug 2024 19:36:50 +0800 Subject: [PATCH 16/45] Store deadline dates as LocalDate and format date --- data/serenity.txt | 5 ++++- src/main/java/Deadline.java | 16 ++++++++++++---- src/main/java/Serenity.java | 7 ++++++- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/data/serenity.txt b/data/serenity.txt index 2a715a5760..251d3c75c0 100644 --- a/data/serenity.txt +++ b/data/serenity.txt @@ -1,4 +1,7 @@ T | 0 | borrow book -D | 0 | return book | Sunday +D | 0 | return book | 28 Aug 2024 E | 0 | project meeting | Mon 2pm | 4pm T | 1 | write essay +T | 0 | read book +D | 0 | write report | 29 Aug 2024 +D | 0 | submit report | 30 Aug 2024 diff --git a/src/main/java/Deadline.java b/src/main/java/Deadline.java index c7f09af50f..6dde08c4a8 100644 --- a/src/main/java/Deadline.java +++ b/src/main/java/Deadline.java @@ -1,19 +1,27 @@ +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; + public class Deadline extends Task { - protected String by; + //protected String by; + protected LocalDate date; public Deadline(String description, String by) { super(description); - this.by = by; + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("[dd/MM/yyyy]" + "[dd MMM yyyy]"); + LocalDate d = LocalDate.parse(by, formatter); + this.date = d; } @Override public String toString() { - return "[D]" + super.toString() + " (by: " + by + ")"; + String formatDate = date.format(DateTimeFormatter.ofPattern("dd MMM yyyy")); + return "[D]" + super.toString() + " (by: " + formatDate + ")"; } @Override public String formatData() { - return "D | " + super.formatData() + " | " + this.by; + String formatDate = date.format(DateTimeFormatter.ofPattern("dd MMM yyyy")); + return "D | " + super.formatData() + " | " + formatDate; } } diff --git a/src/main/java/Serenity.java b/src/main/java/Serenity.java index 42eb1557c1..dc4be9bc03 100644 --- a/src/main/java/Serenity.java +++ b/src/main/java/Serenity.java @@ -6,6 +6,8 @@ import java.util.ArrayList; import java.util.Scanner; import java.io.File; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; public class Serenity { private static final String horizontalLine = "__________________________________________"; @@ -184,7 +186,10 @@ private static Task loadTask(String taskDescription) throws SerenityException { t = new Todo(parts[2]); break; case "D": - t = new Deadline(parts[2], parts[3]); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd MMM yyyy"); + LocalDate date = LocalDate.parse(parts[3], formatter); + String by = date.format(DateTimeFormatter.ofPattern("dd/MM/yyyy")); + t = new Deadline(parts[2], by); break; case "E": t = new Event(parts[2], parts[3], parts[4]); From 5b160c6d80e61b74c768c5011941c2b4939fa6ae Mon Sep 17 00:00:00 2001 From: kngys Date: Thu, 29 Aug 2024 16:56:48 +0800 Subject: [PATCH 17/45] Add Ui, Storage, Parser and TaskList classes --- src/main/java/Parser.java | 46 ++++++++++++++ src/main/java/Storage.java | 90 ++++++++++++++++++++++++++ src/main/java/TaskList.java | 123 ++++++++++++++++++++++++++++++++++++ src/main/java/Ui.java | 49 ++++++++++++++ 4 files changed, 308 insertions(+) create mode 100644 src/main/java/Parser.java create mode 100644 src/main/java/Storage.java create mode 100644 src/main/java/TaskList.java create mode 100644 src/main/java/Ui.java diff --git a/src/main/java/Parser.java b/src/main/java/Parser.java new file mode 100644 index 0000000000..7778966310 --- /dev/null +++ b/src/main/java/Parser.java @@ -0,0 +1,46 @@ +import java.io.IOException; + +public class Parser { + + public static void parse(String input, TaskList tasks, Ui ui, Storage storage) throws SerenityException, IOException { + String[] parts = input.split(" ", 2); + String command = parts[0].strip(); + String message; + Task t; + + switch (command) { + case "bye": + ui.showGoodbye(); + break; + case "list": + ui.showTaskList(tasks); + break; + case "todo", "deadline", "event": + t = tasks.createTask(input); + message = tasks.addTask(t); + ui.showMessage(message); + storage.saveTask(t); + break; + case "mark", "unmark": + message = tasks.changeStatus(input); + ui.showMessage(message); + storage.writeToFile(tasks); + break; + case "delete": + message = tasks.deleteTask(input); + ui.showMessage(message); + storage.writeToFile(tasks); + break; + default: + ui.showMessage("Error: Invalid task."); + break; + } + + } + + public static boolean isExit (String input) { + return input.startsWith("bye"); + } + + +} diff --git a/src/main/java/Storage.java b/src/main/java/Storage.java new file mode 100644 index 0000000000..1125bb6a2b --- /dev/null +++ b/src/main/java/Storage.java @@ -0,0 +1,90 @@ +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.Scanner; + +public class Storage { + + protected String filePath; + + public Storage(String filePath) { + this.filePath = filePath; + } + + + public ArrayList loadFile() throws IOException, SerenityException { + //create directory if directory does not exist + Files.createDirectories(Paths.get("data")); + File f = new File(filePath); + + //create file if file does not exist + if (!f.exists()) { + Files.createFile(Paths.get(filePath)); + } + + Scanner sc = new Scanner(f); + ArrayList tasks = new ArrayList<>(); + while (sc.hasNext()) { + tasks.add(loadTask(sc.nextLine())); + } + sc.close(); + return tasks; + } + + private static Task loadTask(String taskDescription) throws SerenityException { + String[] parts = taskDescription.split("\\|"); + Task t; + + for (int i = 0; i < parts.length; i++) { + parts[i] = parts[i].strip(); + } + + String taskType = parts[0]; + + switch (taskType) { + case "T": + t = new Todo(parts[2]); + break; + case "D": + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd MMM yyyy"); + LocalDate date = LocalDate.parse(parts[3], formatter); + String by = date.format(DateTimeFormatter.ofPattern("dd/MM/yyyy")); + t = new Deadline(parts[2], by); + break; + case "E": + t = new Event(parts[2], parts[3], parts[4]); + break; + default: + throw new SerenityException("Error: Task cannot be loaded."); + } + + if (parts[1].equals("1")) { + t.markAsDone(); + } + + return t; + } + + public void appendToFile(String textToAppend) throws IOException { + FileWriter fw = new FileWriter(filePath, true); + fw.write(textToAppend + "\n"); + fw.close(); + } + + public void saveTask(Task t) throws IOException { + String textToAppend = t.formatData(); + appendToFile(textToAppend); + } + + public void writeToFile(TaskList tasks) throws IOException { + FileWriter fw = new FileWriter(filePath); //overwrite + fw.write(tasks.toDataFormat()); + fw.close(); + } + +} diff --git a/src/main/java/TaskList.java b/src/main/java/TaskList.java new file mode 100644 index 0000000000..8fe94a2385 --- /dev/null +++ b/src/main/java/TaskList.java @@ -0,0 +1,123 @@ +import java.util.ArrayList; + +public class TaskList { + + protected ArrayList tasks; + + public TaskList() { + this.tasks = new ArrayList<>(); + } + + public TaskList(ArrayList tasks) { + this.tasks = tasks; + } + + public Task createTask(String input) throws SerenityException { + Task t; + + if (input.startsWith("todo")) { + String[] description = input.split(" "); + if (description.length == 1) { + throw new SerenityException("Error: The description of a todo cannot be empty."); + } else { + //remove the type of task + String taskDescription = input.split(" ", 2)[1]; + t = new Todo(taskDescription); + } + } else if (input.startsWith("deadline")) { + String[] description = input.split(" "); + if (description.length == 1) { + throw new SerenityException("Error: The description of a deadline cannot be empty."); + } else { + String taskDescription = input.split(" ", 2)[1]; + String[] parts = taskDescription.split("/by"); + t = new Deadline(parts[0].strip(), parts[1].strip()); + } + } else if (input.startsWith("event")) { + String[] description = input.split(" "); + if (description.length == 1) { + throw new SerenityException("Error: The description of an event cannot be empty."); + } else { + String taskDescription = input.split(" ", 2)[1]; + String[] parts = taskDescription.split("/from"); + String[] timings = parts[1].split("/to"); + t = new Event(parts[0].strip(), timings[0].strip(), timings[1].strip()); + } + } else { + throw new SerenityException("Error: Type of task is not specified."); + } + + return t; + + } + + public String addTask(Task t) { + tasks.add(t); + String numOfTasks = tasks.size() == 1 ? "task" : "tasks"; + return ("Got it. I've added this task:\n" + t + + "\nNow you have " + tasks.size() + " " + numOfTasks + " in the list."); + } + + public String deleteTask(String input) throws SerenityException { + + String[] parts = input.split(" "); + if (parts.length == 1) { + throw new SerenityException("Error: Missing task index."); + } + + int index = Integer.parseInt(input.substring(7)) - 1; + Task t = tasks.get(index); + tasks.remove(index); + + String numOfTasks = tasks.size() == 1 ? "task" : "tasks"; + return ("Noted. I've removed this task:\n" + t + + "\nNow you have " + tasks.size() + " " + numOfTasks + " in the list."); + } + + public String changeStatus(String input) throws SerenityException { + + String[] parts = input.split(" "); + if (parts.length == 1) { + throw new SerenityException("Error: Missing task index."); + } + + String message; + + if (input.startsWith("mark")) { + int index = Integer.parseInt(input.substring(5)) - 1; + Task t = tasks.get(index); + t.markAsDone(); + message = "Nice! I've marked this task as done:\n" + t; + } else if (input.startsWith("unmark")) { + int index = Integer.parseInt(input.substring(7)) - 1; + Task t = tasks.get(index); + t.markAsNotDone(); + message = "OK, I've marked this task as not done yet:\n" + t; + } else { + throw new SerenityException("Error: Type of task is not specified."); + } + + return message; + + } + + @Override + public String toString() { + String message = "Here are the tasks in your list:"; + for (int i = 0; i < tasks.size(); i++) { + int index = i + 1; + message += "\n" + index + ". " + tasks.get(i); + } + return message; + } + + public String toDataFormat() { + String data = ""; + for (Task t: tasks) { + data += t.formatData() + "\n" ; + } + return data; + + } + +} diff --git a/src/main/java/Ui.java b/src/main/java/Ui.java new file mode 100644 index 0000000000..4adaed6adb --- /dev/null +++ b/src/main/java/Ui.java @@ -0,0 +1,49 @@ +import java.util.Scanner; + +public class Ui { + + private static final String horizontalLine = "__________________________________________"; + + protected Scanner sc; + + public Ui () { + this.sc = new Scanner(System.in); + } + + public void showWelcome() { + System.out.println(horizontalLine); + System.out.println("Hi, I'm Serenity!\n" + "What can I do for you?"); + System.out.println(horizontalLine); + } + + public void showGoodbye() { + this.sc.close(); + System.out.println(horizontalLine); + System.out.println("Goodbye. Hope to see you again soon!"); + System.out.println(horizontalLine); + } + + public String readCommand() { + return this.sc.nextLine(); + } + + public void showLoadingError() { + System.out.println("Error: File cannot be loaded."); + } + + public void showMessage(String message) { + System.out.println(horizontalLine); + System.out.println(message); + System.out.println(horizontalLine); + } + + public void showTaskList(TaskList tasks) { + System.out.println(horizontalLine); + System.out.println(tasks.toString()); + System.out.println(horizontalLine); + } + + + + +} From 97c50d767d2c47f84147fdef25b388ca1ffe36c1 Mon Sep 17 00:00:00 2001 From: kngys Date: Thu, 29 Aug 2024 16:59:01 +0800 Subject: [PATCH 18/45] Update logic of main class --- data/serenity.txt | 8 +- src/main/java/Deadline.java | 3 +- src/main/java/Serenity.java | 233 ++++-------------------------------- 3 files changed, 27 insertions(+), 217 deletions(-) diff --git a/data/serenity.txt b/data/serenity.txt index 251d3c75c0..75aeafee57 100644 --- a/data/serenity.txt +++ b/data/serenity.txt @@ -1,7 +1,3 @@ -T | 0 | borrow book -D | 0 | return book | 28 Aug 2024 -E | 0 | project meeting | Mon 2pm | 4pm -T | 1 | write essay +D | 0 | return book | 30 Aug 2024 T | 0 | read book -D | 0 | write report | 29 Aug 2024 -D | 0 | submit report | 30 Aug 2024 +E | 1 | attend meeting | Mon 2pm | 4pm diff --git a/src/main/java/Deadline.java b/src/main/java/Deadline.java index 6dde08c4a8..f247df5261 100644 --- a/src/main/java/Deadline.java +++ b/src/main/java/Deadline.java @@ -9,8 +9,7 @@ public class Deadline extends Task { public Deadline(String description, String by) { super(description); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("[dd/MM/yyyy]" + "[dd MMM yyyy]"); - LocalDate d = LocalDate.parse(by, formatter); - this.date = d; + this.date = LocalDate.parse(by, formatter); } @Override diff --git a/src/main/java/Serenity.java b/src/main/java/Serenity.java index dc4be9bc03..934aa1ec95 100644 --- a/src/main/java/Serenity.java +++ b/src/main/java/Serenity.java @@ -1,227 +1,42 @@ -import java.io.FileNotFoundException; -import java.io.FileWriter; import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.Scanner; -import java.io.File; -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; public class Serenity { - private static final String horizontalLine = "__________________________________________"; - private static final ArrayList list = new ArrayList<>(); - private static int count = 0; - private static final String filePath = "data/serenity.txt"; - public static void main(String[] args) { - - File f = new File(filePath); + private Storage storage; + private TaskList tasks; + private Ui ui; + public Serenity(String filePath) { + ui = new Ui(); + storage = new Storage(filePath); try { - setUpFile(); - loadFile(f); - } catch (IOException | SerenityException e) { - System.out.println(e.getMessage()); - } - - System.out.println(horizontalLine); - System.out.println("Hi, I'm Serenity!\n" + "What can I do for you?"); - System.out.println(horizontalLine); - - Scanner sc = new Scanner(System.in); - String input = sc.nextLine(); - while (!input.equalsIgnoreCase("bye")) { - try { - if (input.equalsIgnoreCase("list")) { - System.out.println(horizontalLine); - System.out.println("Here are the tasks in your list:"); - for (int i = 0; i < list.size(); i++) { - System.out.println(i + 1 + ". " + list.get(i)); - } - } else if (input.contains("mark")) { - changeStatus(input); - writeToFile(); - } else if (input.startsWith("delete")) { - deleteTask(input); - } else { - addTask(input); - } - } catch (SerenityException e) { - System.out.println(e.getMessage()); - } catch (IOException e) { - throw new RuntimeException(e); - } - System.out.println(horizontalLine); - input = sc.nextLine(); - } - - sc.close(); - - System.out.println(horizontalLine); - System.out.println("Goodbye. Hope to see you again soon!"); - System.out.println(horizontalLine); - - } - - private static void changeStatus(String input) throws SerenityException, IOException { - - String[] parts = input.split(" "); - if (parts.length == 1) { - throw new SerenityException("Error: Missing task index."); - } - - if (input.startsWith("mark")) { - int index = Integer.parseInt(input.substring(5)) - 1; - Task t = list.get(index); - t.markAsDone(); - System.out.println(horizontalLine); - System.out.println("Nice! I've marked this task as done:\n" + t); - } else if (input.startsWith("unmark")) { - int index = Integer.parseInt(input.substring(7)) - 1; - Task t = list.get(index); - t.markAsNotDone(); - System.out.println(horizontalLine); - System.out.println("OK, I've marked this task as not done yet:\n" + t); - } else { - throw new SerenityException("Error: Type of task is not specified."); + tasks = new TaskList(storage.loadFile()); + } catch (SerenityException e) { + ui.showLoadingError(); + tasks = new TaskList(); + } catch (IOException e) { + ui.showMessage(e.getMessage()); } } - private static void addTask(String input) throws SerenityException, IOException { + public void run() { - Task t; + ui.showWelcome(); + boolean isExit = false; - if (input.startsWith("todo")) { - String[] description = input.split(" "); - if (description.length == 1) { - throw new SerenityException("Error: The description of a todo cannot be empty."); - } else { - //remove the type of task - String taskDescription = input.split(" ", 2)[1]; - t = new Todo(taskDescription); - } - } else if (input.startsWith("deadline")) { - String[] description = input.split(" "); - if (description.length == 1) { - throw new SerenityException("Error: The description of a deadline cannot be empty."); - } else { - String taskDescription = input.split(" ", 2)[1]; - String[] parts = taskDescription.split("/by"); - t = new Deadline(parts[0].strip(), parts[1].strip()); - } - } else if (input.startsWith("event")) { - String[] description = input.split(" "); - if (description.length == 1) { - throw new SerenityException("Error: The description of an event cannot be empty."); - } else { - String taskDescription = input.split(" ", 2)[1]; - String[] parts = taskDescription.split("/from"); - String[] timings = parts[1].split("/to"); - t = new Event(parts[0].strip(), timings[0].strip(), timings[1].strip()); + while (!isExit) { + try { + String input = ui.readCommand(); + Parser.parse(input, tasks, ui, storage); + isExit = Parser.isExit(input); + } catch (SerenityException | IOException e) { + ui.showMessage(e.getMessage()); } - } else { - throw new SerenityException("Error: Type of task is not specified."); - } - - list.add(t); - count++; - saveTask(t); - System.out.println(horizontalLine); - System.out.println("Got it. I've added this task:\n" + t); - String numOfTasks = count == 1 ? "task" : "tasks"; - System.out.println("Now you have " + count + " " + numOfTasks + " in the list."); - } - - private static void deleteTask(String input) throws SerenityException { - String[] parts = input.split(" "); - if (parts.length == 1) { - throw new SerenityException("Error: Missing task index."); - } - - int index = Integer.parseInt(input.substring(7)) - 1; - Task t = list.get(index); - list.remove(index); - count --; - System.out.println(horizontalLine); - System.out.println("Noted. I've removed this task:\n" + t); - String numOfTasks = count == 1 ? "task" : "tasks"; - System.out.println("Now you have " + count + " " + numOfTasks + " in the list."); - } - - private static void setUpFile() throws IOException { - - //create directory if directory does not exist - Files.createDirectories(Paths.get("data")); - File f = new File(filePath); - - //create file if file does not exist - if (!f.exists()) { - Files.createFile(Paths.get(filePath)); - } - } - - private static void loadFile(File f) throws FileNotFoundException, SerenityException { - Scanner s = new Scanner(f); - while (s.hasNext()) { - list.add(loadTask(s.nextLine())); - count++; - } - } - - private static Task loadTask(String taskDescription) throws SerenityException { - String[] parts = taskDescription.split("\\|"); - Task t; - - for (int i = 0; i < parts.length; i++) { - parts[i] = parts[i].strip(); } - - String taskType = parts[0]; - - //noinspection EnhancedSwitchMigration - switch (taskType) { - case "T": - t = new Todo(parts[2]); - break; - case "D": - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd MMM yyyy"); - LocalDate date = LocalDate.parse(parts[3], formatter); - String by = date.format(DateTimeFormatter.ofPattern("dd/MM/yyyy")); - t = new Deadline(parts[2], by); - break; - case "E": - t = new Event(parts[2], parts[3], parts[4]); - break; - default: - throw new SerenityException("Error: Task cannot be loaded."); - } - - if (parts[1].equals("1")) { - t.markAsDone(); - } - - return t; } - private static void appendToFile(String textToAppend) throws IOException { - FileWriter fw = new FileWriter(filePath, true); - fw.write(textToAppend + "\n"); - fw.close(); - } - - private static void saveTask(Task t) throws IOException { - String textToAppend = t.formatData(); - appendToFile(textToAppend); - } - - private static void writeToFile() throws IOException { - FileWriter fw = new FileWriter(filePath); //overwrite - for (Task t: list) { - fw.write(t.formatData() + "\n"); - } - fw.close(); + public static void main(String[] args) { + new Serenity("data/serenity.txt").run(); } } From 8353048bae445bdafee7801710a852dff14d284a Mon Sep 17 00:00:00 2001 From: kngys Date: Thu, 29 Aug 2024 17:10:54 +0800 Subject: [PATCH 19/45] Put all classes in one package --- src/main/java/{ => serenity}/Deadline.java | 1 + src/main/java/{ => serenity}/Event.java | 1 + src/main/java/{ => serenity}/Parser.java | 1 + src/main/java/{ => serenity}/Serenity.java | 1 + src/main/java/{ => serenity}/SerenityException.java | 2 ++ src/main/java/{ => serenity}/Storage.java | 4 ++++ src/main/java/{ => serenity}/Task.java | 1 + src/main/java/{ => serenity}/TaskList.java | 4 ++++ src/main/java/{ => serenity}/Todo.java | 2 ++ src/main/java/{ => serenity}/Ui.java | 4 ++++ 10 files changed, 21 insertions(+) rename src/main/java/{ => serenity}/Deadline.java (97%) rename src/main/java/{ => serenity}/Event.java (96%) rename src/main/java/{ => serenity}/Parser.java (98%) rename src/main/java/{ => serenity}/Serenity.java (98%) rename src/main/java/{ => serenity}/SerenityException.java (86%) rename src/main/java/{ => serenity}/Storage.java (97%) rename src/main/java/{ => serenity}/Task.java (97%) rename src/main/java/{ => serenity}/TaskList.java (98%) rename src/main/java/{ => serenity}/Todo.java (94%) rename src/main/java/{ => serenity}/Ui.java (96%) diff --git a/src/main/java/Deadline.java b/src/main/java/serenity/Deadline.java similarity index 97% rename from src/main/java/Deadline.java rename to src/main/java/serenity/Deadline.java index f247df5261..b4de80b974 100644 --- a/src/main/java/Deadline.java +++ b/src/main/java/serenity/Deadline.java @@ -1,3 +1,4 @@ +package serenity; import java.time.LocalDate; import java.time.format.DateTimeFormatter; diff --git a/src/main/java/Event.java b/src/main/java/serenity/Event.java similarity index 96% rename from src/main/java/Event.java rename to src/main/java/serenity/Event.java index 1093275373..441652c61b 100644 --- a/src/main/java/Event.java +++ b/src/main/java/serenity/Event.java @@ -1,3 +1,4 @@ +package serenity; public class Event extends Task { protected String start; diff --git a/src/main/java/Parser.java b/src/main/java/serenity/Parser.java similarity index 98% rename from src/main/java/Parser.java rename to src/main/java/serenity/Parser.java index 7778966310..659a14f9fe 100644 --- a/src/main/java/Parser.java +++ b/src/main/java/serenity/Parser.java @@ -1,3 +1,4 @@ +package serenity; import java.io.IOException; public class Parser { diff --git a/src/main/java/Serenity.java b/src/main/java/serenity/Serenity.java similarity index 98% rename from src/main/java/Serenity.java rename to src/main/java/serenity/Serenity.java index 934aa1ec95..aa71300c89 100644 --- a/src/main/java/Serenity.java +++ b/src/main/java/serenity/Serenity.java @@ -1,3 +1,4 @@ +package serenity; import java.io.IOException; public class Serenity { diff --git a/src/main/java/SerenityException.java b/src/main/java/serenity/SerenityException.java similarity index 86% rename from src/main/java/SerenityException.java rename to src/main/java/serenity/SerenityException.java index 38b9b1a0ee..e0b3c3b1a2 100644 --- a/src/main/java/SerenityException.java +++ b/src/main/java/serenity/SerenityException.java @@ -1,3 +1,5 @@ +package serenity; + public class SerenityException extends Exception { public SerenityException(String msg) { super(msg); diff --git a/src/main/java/Storage.java b/src/main/java/serenity/Storage.java similarity index 97% rename from src/main/java/Storage.java rename to src/main/java/serenity/Storage.java index 1125bb6a2b..7ea9d0a578 100644 --- a/src/main/java/Storage.java +++ b/src/main/java/serenity/Storage.java @@ -1,3 +1,7 @@ +package serenity; + +import serenity.SerenityException; + import java.io.File; import java.io.FileWriter; import java.io.IOException; diff --git a/src/main/java/Task.java b/src/main/java/serenity/Task.java similarity index 97% rename from src/main/java/Task.java rename to src/main/java/serenity/Task.java index 55f56b0374..a3b0c45254 100644 --- a/src/main/java/Task.java +++ b/src/main/java/serenity/Task.java @@ -1,3 +1,4 @@ +package serenity; public class Task { protected String description; protected boolean isDone; diff --git a/src/main/java/TaskList.java b/src/main/java/serenity/TaskList.java similarity index 98% rename from src/main/java/TaskList.java rename to src/main/java/serenity/TaskList.java index 8fe94a2385..10acecbd5f 100644 --- a/src/main/java/TaskList.java +++ b/src/main/java/serenity/TaskList.java @@ -1,3 +1,7 @@ +package serenity; + +import serenity.SerenityException; + import java.util.ArrayList; public class TaskList { diff --git a/src/main/java/Todo.java b/src/main/java/serenity/Todo.java similarity index 94% rename from src/main/java/Todo.java rename to src/main/java/serenity/Todo.java index 1ef4751b90..cf3621897c 100644 --- a/src/main/java/Todo.java +++ b/src/main/java/serenity/Todo.java @@ -1,3 +1,5 @@ +package serenity; + public class Todo extends Task { public Todo (String description) { diff --git a/src/main/java/Ui.java b/src/main/java/serenity/Ui.java similarity index 96% rename from src/main/java/Ui.java rename to src/main/java/serenity/Ui.java index 4adaed6adb..189b02d121 100644 --- a/src/main/java/Ui.java +++ b/src/main/java/serenity/Ui.java @@ -1,3 +1,7 @@ +package serenity; + +import serenity.TaskList; + import java.util.Scanner; public class Ui { From 8bc28ff8c6fe9f450f0beb45a585f7560f6c201d Mon Sep 17 00:00:00 2001 From: kngys Date: Thu, 29 Aug 2024 18:34:58 +0800 Subject: [PATCH 20/45] Add Gradle --- build.gradle | 4 ++-- data/serenity.txt | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index c361f9811e..99ea21bfb9 100644 --- a/build.gradle +++ b/build.gradle @@ -28,11 +28,11 @@ test { } application { - mainClass.set("seedu.duke.Duke") + mainClass.set("serenity.Serenity") } shadowJar { - archiveBaseName = "duke" + archiveBaseName = "serenity" archiveClassifier = null } diff --git a/data/serenity.txt b/data/serenity.txt index 75aeafee57..096d32e075 100644 --- a/data/serenity.txt +++ b/data/serenity.txt @@ -1,3 +1,4 @@ D | 0 | return book | 30 Aug 2024 T | 0 | read book E | 1 | attend meeting | Mon 2pm | 4pm +T | 1 | buy book From d07dcc81f7cc2bf15d92e6761f349b38402ca6a4 Mon Sep 17 00:00:00 2001 From: kngys Date: Thu, 29 Aug 2024 21:53:34 +0800 Subject: [PATCH 21/45] Add JUnit tests to test Todo, TaskList and Storage classes --- src/main/java/serenity/Storage.java | 2 +- src/test/java/serenity/StorageTest.java | 31 ++++++++++++++++++ src/test/java/serenity/TaskListTest.java | 40 ++++++++++++++++++++++++ src/test/java/serenity/TodoTest.java | 17 ++++++++++ 4 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 src/test/java/serenity/StorageTest.java create mode 100644 src/test/java/serenity/TaskListTest.java create mode 100644 src/test/java/serenity/TodoTest.java diff --git a/src/main/java/serenity/Storage.java b/src/main/java/serenity/Storage.java index 7ea9d0a578..e8541b1be9 100644 --- a/src/main/java/serenity/Storage.java +++ b/src/main/java/serenity/Storage.java @@ -40,7 +40,7 @@ public ArrayList loadFile() throws IOException, SerenityException { return tasks; } - private static Task loadTask(String taskDescription) throws SerenityException { + public Task loadTask(String taskDescription) throws SerenityException { String[] parts = taskDescription.split("\\|"); Task t; diff --git a/src/test/java/serenity/StorageTest.java b/src/test/java/serenity/StorageTest.java new file mode 100644 index 0000000000..55d95036fd --- /dev/null +++ b/src/test/java/serenity/StorageTest.java @@ -0,0 +1,31 @@ +package serenity; +import org.junit.jupiter.api.Test; +import java.util.ArrayList; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class StorageTest { + + @Test + public void loadTask_validTodo_success() throws SerenityException { + Storage storage = new Storage(""); + String taskDescription = "T | 0 | read book"; + assertEquals(new Todo("read book").toString(), + storage.loadTask(taskDescription).toString()); + } + + @Test + public void loadTask_invalidInput_exceptionThrown() { + Storage storage = new Storage(""); + String taskDescription = "X | 0 | read book"; + try { + storage.loadTask("X | 0 | read book"); + } catch (SerenityException e) { + assertEquals("Error: Task cannot be loaded.", + e.getMessage()); + } + } + + + +} diff --git a/src/test/java/serenity/TaskListTest.java b/src/test/java/serenity/TaskListTest.java new file mode 100644 index 0000000000..911febefde --- /dev/null +++ b/src/test/java/serenity/TaskListTest.java @@ -0,0 +1,40 @@ +package serenity; +import org.junit.jupiter.api.Test; +import java.util.ArrayList; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class TaskListTest { + + @Test + public void createTask_invalidTodo_exceptionThrown() { + ArrayList tasks = new ArrayList<>(); + TaskList taskList = new TaskList(tasks); + try { + taskList.createTask("todo "); + } catch (SerenityException e) { + assertEquals("Error: The description of a todo cannot be empty.", + e.getMessage()); + } + } + @Test + public void createTask_validTodo_success() throws SerenityException { + ArrayList tasks = new ArrayList<>(); + TaskList taskList = new TaskList(tasks); + Task t = taskList.createTask("todo read book"); + assertEquals(new Todo("read book").toString(), t.toString()); + } + + @Test + public void addTask_validDeadline_success() throws SerenityException { + ArrayList tasks = new ArrayList<>(); + TaskList taskList = new TaskList(tasks); + Deadline t = new Deadline("return book", "30/08/2024"); + String expected = "Got it. I've added this task:\n" + + "[D][ ] return book (by: 30 Aug 2024)\n" + + "Now you have 1 task in the list."; + String actual = taskList.addTask(t); + assertEquals(expected, actual); + } + +} diff --git a/src/test/java/serenity/TodoTest.java b/src/test/java/serenity/TodoTest.java new file mode 100644 index 0000000000..5a558e0cfa --- /dev/null +++ b/src/test/java/serenity/TodoTest.java @@ -0,0 +1,17 @@ +package serenity; +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class TodoTest { + + @Test + public void testToString() { + assertEquals("[T][ ] read book", new Todo("read book").toString()); + } + + @Test + public void formatData() { + assertEquals("T | 0 | read book", new Todo("read book").formatData()); + } + +} From 750a6bdcae267f34d25182d1565587a9def1e450 Mon Sep 17 00:00:00 2001 From: kngys Date: Thu, 29 Aug 2024 22:10:40 +0800 Subject: [PATCH 22/45] Package app as JAR file --- build.gradle | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/build.gradle b/build.gradle index 99ea21bfb9..b188e09616 100644 --- a/build.gradle +++ b/build.gradle @@ -11,6 +11,20 @@ repositories { dependencies { testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.10.0' testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.10.0' + String javaFxVersion = '17.0.7' + + implementation group: 'org.openjfx', name: 'javafx-base', version: javaFxVersion, classifier: 'win' + implementation group: 'org.openjfx', name: 'javafx-base', version: javaFxVersion, classifier: 'mac' + implementation group: 'org.openjfx', name: 'javafx-base', version: javaFxVersion, classifier: 'linux' + implementation group: 'org.openjfx', name: 'javafx-controls', version: javaFxVersion, classifier: 'win' + implementation group: 'org.openjfx', name: 'javafx-controls', version: javaFxVersion, classifier: 'mac' + implementation group: 'org.openjfx', name: 'javafx-controls', version: javaFxVersion, classifier: 'linux' + implementation group: 'org.openjfx', name: 'javafx-fxml', version: javaFxVersion, classifier: 'win' + implementation group: 'org.openjfx', name: 'javafx-fxml', version: javaFxVersion, classifier: 'mac' + implementation group: 'org.openjfx', name: 'javafx-fxml', version: javaFxVersion, classifier: 'linux' + implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'win' + implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'mac' + implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'linux' } test { @@ -34,6 +48,7 @@ application { shadowJar { archiveBaseName = "serenity" archiveClassifier = null + archiveFileName = 'serenity.jar' } run{ From b67f73fee39829cc48bc6824c09de76d05370481 Mon Sep 17 00:00:00 2001 From: kngys Date: Thu, 29 Aug 2024 23:53:15 +0800 Subject: [PATCH 23/45] Add JavaDoc comments --- src/main/java/serenity/Deadline.java | 20 ++++++- src/main/java/serenity/Event.java | 23 +++++++- src/main/java/serenity/Parser.java | 25 ++++++++- src/main/java/serenity/Serenity.java | 20 +++++++ src/main/java/serenity/SerenityException.java | 10 ++++ src/main/java/serenity/Storage.java | 44 +++++++++++++-- src/main/java/serenity/Task.java | 30 +++++++++++ src/main/java/serenity/TaskList.java | 54 +++++++++++++++++-- src/main/java/serenity/Todo.java | 18 +++++++ src/main/java/serenity/Ui.java | 37 ++++++++++--- 10 files changed, 264 insertions(+), 17 deletions(-) diff --git a/src/main/java/serenity/Deadline.java b/src/main/java/serenity/Deadline.java index b4de80b974..bee07e53cf 100644 --- a/src/main/java/serenity/Deadline.java +++ b/src/main/java/serenity/Deadline.java @@ -2,23 +2,41 @@ import java.time.LocalDate; import java.time.format.DateTimeFormatter; +/** + * Represents a type of Task that has a deadline. + */ public class Deadline extends Task { - //protected String by; protected LocalDate date; + /** + * Constructs a Deadline. + * + * @param description Description of task. + * @param by Deadline of task. + */ public Deadline(String description, String by) { super(description); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("[dd/MM/yyyy]" + "[dd MMM yyyy]"); this.date = LocalDate.parse(by, formatter); } + /** + * Returns string representation of Deadline. + * + * @return String representation. + */ @Override public String toString() { String formatDate = date.format(DateTimeFormatter.ofPattern("dd MMM yyyy")); return "[D]" + super.toString() + " (by: " + formatDate + ")"; } + /** + * Returns string representation of Deadline to save as data. + * + * @return String representation to save as data. + */ @Override public String formatData() { String formatDate = date.format(DateTimeFormatter.ofPattern("dd MMM yyyy")); diff --git a/src/main/java/serenity/Event.java b/src/main/java/serenity/Event.java index 441652c61b..5da9087d8a 100644 --- a/src/main/java/serenity/Event.java +++ b/src/main/java/serenity/Event.java @@ -1,20 +1,41 @@ package serenity; + +/** + * Represents a type of Task that has start and end timings. + */ public class Event extends Task { protected String start; protected String end; + + /** + * Constructs an Event. + * + * @param description Description of task. + * @param start Start time of task. + * @param end End time of task. + */ public Event(String description, String start, String end) { super(description); this.start = start; this.end = end; } - + /** + * Returns string representation of Event. + * + * @return String representation. + */ @Override public String toString() { return "[E]" + super.toString() + " (from: " + start + " to: " + end + ")"; } + /** + * Returns string representation of Event to save as data. + * + * @return String representation to save as data. + */ @Override public String formatData() { return "E | " + super.formatData() + " | " + this.start + " | " + this.end; diff --git a/src/main/java/serenity/Parser.java b/src/main/java/serenity/Parser.java index 659a14f9fe..0bb9856236 100644 --- a/src/main/java/serenity/Parser.java +++ b/src/main/java/serenity/Parser.java @@ -1,9 +1,25 @@ package serenity; import java.io.IOException; +/** + * Represents a parser that parses user inputs and carries out the actions corresponding to the command. + */ + public class Parser { - public static void parse(String input, TaskList tasks, Ui ui, Storage storage) throws SerenityException, IOException { + /** + * Obtains command from user input and carries out the corresponding actions. + * + * @param input User's input. + * @param tasks List of tasks. + * @param ui User interface. + * @param storage Data storage. + * @throws SerenityException If user input is invalid and task cannot be created. + * @throws IOException If there is an issue writing to file that stores data. + */ + + public static void parse(String input, TaskList tasks, Ui ui, Storage storage) + throws SerenityException, IOException { String[] parts = input.split(" ", 2); String command = parts[0].strip(); String message; @@ -39,6 +55,13 @@ public static void parse(String input, TaskList tasks, Ui ui, Storage storage) t } + /** + * Checks if command is to exit chatbot. + * + * @param input User's input. + * @return True if the command is bye. + */ + public static boolean isExit (String input) { return input.startsWith("bye"); } diff --git a/src/main/java/serenity/Serenity.java b/src/main/java/serenity/Serenity.java index aa71300c89..5d86e1df20 100644 --- a/src/main/java/serenity/Serenity.java +++ b/src/main/java/serenity/Serenity.java @@ -1,12 +1,22 @@ package serenity; import java.io.IOException; +/** + * Represents a chatbot used for task management. + */ + public class Serenity { private Storage storage; private TaskList tasks; private Ui ui; + /** + * Constructs a Serenity object. + * + * @param filePath The path of file where data is stored. + */ + public Serenity(String filePath) { ui = new Ui(); storage = new Storage(filePath); @@ -20,6 +30,10 @@ public Serenity(String filePath) { } } + /** + * Runs the Serenity chatbot + */ + public void run() { ui.showWelcome(); @@ -36,6 +50,12 @@ public void run() { } } + /** + * The main method that runs the Serenity chatbot. + * + * @param args + */ + public static void main(String[] args) { new Serenity("data/serenity.txt").run(); } diff --git a/src/main/java/serenity/SerenityException.java b/src/main/java/serenity/SerenityException.java index e0b3c3b1a2..013a8077d3 100644 --- a/src/main/java/serenity/SerenityException.java +++ b/src/main/java/serenity/SerenityException.java @@ -1,6 +1,16 @@ package serenity; +/** + * Represents a custom exception in the Serenity class. + */ + public class SerenityException extends Exception { + + /** + * Constructs a SerenityException. + * + * @param msg The error message of the exception. + */ public SerenityException(String msg) { super(msg); } diff --git a/src/main/java/serenity/Storage.java b/src/main/java/serenity/Storage.java index e8541b1be9..7a84cb3907 100644 --- a/src/main/java/serenity/Storage.java +++ b/src/main/java/serenity/Storage.java @@ -1,7 +1,5 @@ package serenity; -import serenity.SerenityException; - import java.io.File; import java.io.FileWriter; import java.io.IOException; @@ -12,15 +10,29 @@ import java.util.ArrayList; import java.util.Scanner; +/** + * Handles the storing, loading and saving of tasks to data file. + */ public class Storage { protected String filePath; + /** + * Constructs a Storage object. + * + * @param filePath The path of file where data is stored. + */ public Storage(String filePath) { this.filePath = filePath; } - + /** + * Loads tasks stored in data file to chatbot. + * + * @return ArrayList of tasks loaded from data file. + * @throws IOException If there are issues with creating directory or file + * @throws SerenityException If there are issues with loading a task. + */ public ArrayList loadFile() throws IOException, SerenityException { //create directory if directory does not exist Files.createDirectories(Paths.get("data")); @@ -40,6 +52,14 @@ public ArrayList loadFile() throws IOException, SerenityException { return tasks; } + /** + * Converts string representation of task stored in data file to a Task. + * + * @param taskDescription String representation of task stored in data file. + * @return Task created with the task description. + * @throws SerenityException If task description is invalid and task cannot be created. + */ + public Task loadTask(String taskDescription) throws SerenityException { String[] parts = taskDescription.split("\\|"); Task t; @@ -74,17 +94,35 @@ public Task loadTask(String taskDescription) throws SerenityException { return t; } + /** + * Writes to data file by appending text to existing content. + * + * @param textToAppend Text to be appended. + * @throws IOException If there are issues accessing file. + */ public void appendToFile(String textToAppend) throws IOException { FileWriter fw = new FileWriter(filePath, true); fw.write(textToAppend + "\n"); fw.close(); } + /** + * Saves task to data file. + * + * @param t Task to be saved to file. + * @throws IOException If there are issues appending text to file. + */ public void saveTask(Task t) throws IOException { String textToAppend = t.formatData(); appendToFile(textToAppend); } + /** + * Writes to file by overwriting existing content. + * + * @param tasks Tasks to be saved to file. + * @throws IOException If there are issues writing to file. + */ public void writeToFile(TaskList tasks) throws IOException { FileWriter fw = new FileWriter(filePath); //overwrite fw.write(tasks.toDataFormat()); diff --git a/src/main/java/serenity/Task.java b/src/main/java/serenity/Task.java index a3b0c45254..d574d50e95 100644 --- a/src/main/java/serenity/Task.java +++ b/src/main/java/serenity/Task.java @@ -1,30 +1,60 @@ package serenity; + +/** + * Represents a general task with a description that can be marked done or undone. + */ public class Task { protected String description; protected boolean isDone; + /** + * Constructs a Task. + * + * @param description Description of task. + */ public Task(String description) { this.description = description; this.isDone = false; } + /** + * Returns string representation of status of task. + * + * @return String representation of status of task. + */ public String getStatusIcon() { return (isDone ? "X" : " "); // mark done task with X } + /** + * Marks task as done. + */ public void markAsDone() { this.isDone = true; } + /** + * Marks task as undone. + */ public void markAsNotDone() { this.isDone = false; } + /** + * Returns string representation of a Task. + * + * @return String representation. + */ @Override public String toString() { return "[" + this.getStatusIcon() + "] " + this.description; } + /** + * Returns string representation of Task to save as data. + * + * @return String representation to save as data. + */ public String formatData() { int i = this.isDone ? 1 : 0; return i + " | " + this.description; diff --git a/src/main/java/serenity/TaskList.java b/src/main/java/serenity/TaskList.java index 10acecbd5f..a9d7aade88 100644 --- a/src/main/java/serenity/TaskList.java +++ b/src/main/java/serenity/TaskList.java @@ -1,21 +1,38 @@ package serenity; -import serenity.SerenityException; - import java.util.ArrayList; +/** + * Represents a list of tasks, where tasks can be added, deleted + * and marked as done or undone. + */ public class TaskList { protected ArrayList tasks; + /** + * Constructs a TaskList with no existing tasks. + */ public TaskList() { this.tasks = new ArrayList<>(); } + /** + * Constructs a TaskList with existing tasks. + * + * @param tasks ArrayList of existing tasks. + */ public TaskList(ArrayList tasks) { this.tasks = tasks; } + /** + * Creates task of specified type with given task description. + * + * @param input Task description specifying type of task. + * @return Task of specified type with given task description + * @throws SerenityException If type of task is not specified. + */ public Task createTask(String input) throws SerenityException { Task t; @@ -55,6 +72,12 @@ public Task createTask(String input) throws SerenityException { } + /** + * Adds task to TaskList. + * + * @param t Task to be added. + * @return Message to be displayed when task is added. + */ public String addTask(Task t) { tasks.add(t); String numOfTasks = tasks.size() == 1 ? "task" : "tasks"; @@ -62,6 +85,13 @@ public String addTask(Task t) { + "\nNow you have " + tasks.size() + " " + numOfTasks + " in the list."); } + /** + * Deletes task from TaskList. + * + * @param input Command containing index of task to delete. + * @return Message to be displayed when task is deleted. + * @throws SerenityException If task index is not specified. + */ public String deleteTask(String input) throws SerenityException { String[] parts = input.split(" "); @@ -78,6 +108,13 @@ public String deleteTask(String input) throws SerenityException { + "\nNow you have " + tasks.size() + " " + numOfTasks + " in the list."); } + /** + * Changes status of task. + * + * @param input Command to containing index of task to change status. + * @return Message to be displayed to user when task status is changed. + * @throws SerenityException If task index is not specified. + */ public String changeStatus(String input) throws SerenityException { String[] parts = input.split(" "); @@ -100,11 +137,14 @@ public String changeStatus(String input) throws SerenityException { } else { throw new SerenityException("Error: Type of task is not specified."); } - return message; - } + /** + * Returns string representation of TaskList. + * + * @return String representation. + */ @Override public String toString() { String message = "Here are the tasks in your list:"; @@ -115,6 +155,11 @@ public String toString() { return message; } + /** + * Returns string representation of TaskList to save as data. + * + * @return String representation to save as data. + */ public String toDataFormat() { String data = ""; for (Task t: tasks) { @@ -123,5 +168,4 @@ public String toDataFormat() { return data; } - } diff --git a/src/main/java/serenity/Todo.java b/src/main/java/serenity/Todo.java index cf3621897c..4984ffb519 100644 --- a/src/main/java/serenity/Todo.java +++ b/src/main/java/serenity/Todo.java @@ -1,16 +1,34 @@ package serenity; +/** + * Represents a type of Task with only a basic description. + */ public class Todo extends Task { + /** + * Constructs a Todo. + * + * @param description Description of Task. + */ public Todo (String description) { super(description); } + /** + * Returns string representation of Todo. + * + * @return String representation. + */ @Override public String toString() { return "[T]" + super.toString(); } + /** + * Returns string representation of Todo to save as data. + * + * @return String representation to save as data. + */ @Override public String formatData() { return "T | " + super.formatData(); diff --git a/src/main/java/serenity/Ui.java b/src/main/java/serenity/Ui.java index 189b02d121..5cabfa3878 100644 --- a/src/main/java/serenity/Ui.java +++ b/src/main/java/serenity/Ui.java @@ -1,25 +1,36 @@ package serenity; -import serenity.TaskList; - import java.util.Scanner; +/** + * Represents user interface that handles user interactions. + */ + public class Ui { private static final String horizontalLine = "__________________________________________"; protected Scanner sc; + /** + * Constructs Ui object + */ public Ui () { this.sc = new Scanner(System.in); } + /** + * Display welcome message. + */ public void showWelcome() { System.out.println(horizontalLine); System.out.println("Hi, I'm Serenity!\n" + "What can I do for you?"); System.out.println(horizontalLine); } + /** + * Display goodbye message and close scanner. + */ public void showGoodbye() { this.sc.close(); System.out.println(horizontalLine); @@ -27,27 +38,41 @@ public void showGoodbye() { System.out.println(horizontalLine); } + /** + * Get command from user input. + * @return User's input. + */ public String readCommand() { return this.sc.nextLine(); } + /** + * Display message of loading error. + */ public void showLoadingError() { System.out.println("Error: File cannot be loaded."); } + /** + * Display message to user. + * + * @param message Message to be displayed. + */ + public void showMessage(String message) { System.out.println(horizontalLine); System.out.println(message); System.out.println(horizontalLine); } + /** + * Display TaskList to user. + * + * @param tasks TaskList to be displayed. + */ public void showTaskList(TaskList tasks) { System.out.println(horizontalLine); System.out.println(tasks.toString()); System.out.println(horizontalLine); } - - - - } From 8eddbed7781f4c35918dd1e478a6c819ce32671a Mon Sep 17 00:00:00 2001 From: kngys Date: Fri, 30 Aug 2024 01:54:01 +0800 Subject: [PATCH 24/45] Update to follow coding standard --- src/main/java/serenity/Deadline.java | 2 +- src/main/java/serenity/Event.java | 1 + src/main/java/serenity/Parser.java | 4 ++-- src/main/java/serenity/Serenity.java | 1 + src/main/java/serenity/Storage.java | 8 ++++---- src/main/java/serenity/TaskList.java | 4 ++-- src/main/java/serenity/Ui.java | 25 +++++++++---------------- 7 files changed, 20 insertions(+), 25 deletions(-) diff --git a/src/main/java/serenity/Deadline.java b/src/main/java/serenity/Deadline.java index b4de80b974..e8dae84348 100644 --- a/src/main/java/serenity/Deadline.java +++ b/src/main/java/serenity/Deadline.java @@ -1,10 +1,10 @@ package serenity; + import java.time.LocalDate; import java.time.format.DateTimeFormatter; public class Deadline extends Task { - //protected String by; protected LocalDate date; public Deadline(String description, String by) { diff --git a/src/main/java/serenity/Event.java b/src/main/java/serenity/Event.java index 441652c61b..d9d1286eb1 100644 --- a/src/main/java/serenity/Event.java +++ b/src/main/java/serenity/Event.java @@ -1,4 +1,5 @@ package serenity; + public class Event extends Task { protected String start; diff --git a/src/main/java/serenity/Parser.java b/src/main/java/serenity/Parser.java index 659a14f9fe..e7e15e5dde 100644 --- a/src/main/java/serenity/Parser.java +++ b/src/main/java/serenity/Parser.java @@ -3,7 +3,8 @@ public class Parser { - public static void parse(String input, TaskList tasks, Ui ui, Storage storage) throws SerenityException, IOException { + public static void parse(String input, TaskList tasks, Ui ui, Storage storage) + throws SerenityException, IOException { String[] parts = input.split(" ", 2); String command = parts[0].strip(); String message; @@ -43,5 +44,4 @@ public static boolean isExit (String input) { return input.startsWith("bye"); } - } diff --git a/src/main/java/serenity/Serenity.java b/src/main/java/serenity/Serenity.java index aa71300c89..5947dbf8cb 100644 --- a/src/main/java/serenity/Serenity.java +++ b/src/main/java/serenity/Serenity.java @@ -1,4 +1,5 @@ package serenity; + import java.io.IOException; public class Serenity { diff --git a/src/main/java/serenity/Storage.java b/src/main/java/serenity/Storage.java index e8541b1be9..9450c991d9 100644 --- a/src/main/java/serenity/Storage.java +++ b/src/main/java/serenity/Storage.java @@ -1,14 +1,14 @@ package serenity; -import serenity.SerenityException; - import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; + import java.time.LocalDate; import java.time.format.DateTimeFormatter; + import java.util.ArrayList; import java.util.Scanner; @@ -20,7 +20,6 @@ public Storage(String filePath) { this.filePath = filePath; } - public ArrayList loadFile() throws IOException, SerenityException { //create directory if directory does not exist Files.createDirectories(Paths.get("data")); @@ -86,7 +85,8 @@ public void saveTask(Task t) throws IOException { } public void writeToFile(TaskList tasks) throws IOException { - FileWriter fw = new FileWriter(filePath); //overwrite + //overwrite + FileWriter fw = new FileWriter(filePath); fw.write(tasks.toDataFormat()); fw.close(); } diff --git a/src/main/java/serenity/TaskList.java b/src/main/java/serenity/TaskList.java index 10acecbd5f..8fedb4761e 100644 --- a/src/main/java/serenity/TaskList.java +++ b/src/main/java/serenity/TaskList.java @@ -117,8 +117,8 @@ public String toString() { public String toDataFormat() { String data = ""; - for (Task t: tasks) { - data += t.formatData() + "\n" ; + for (int i = 0; i < tasks.size(); i++) { + data += tasks.get(i).formatData() + "\n" ; } return data; diff --git a/src/main/java/serenity/Ui.java b/src/main/java/serenity/Ui.java index 189b02d121..3bef20e8c4 100644 --- a/src/main/java/serenity/Ui.java +++ b/src/main/java/serenity/Ui.java @@ -1,13 +1,10 @@ package serenity; -import serenity.TaskList; - import java.util.Scanner; public class Ui { - private static final String horizontalLine = "__________________________________________"; - + private static final String HORIZONTAL_LINE = "__________________________________________"; protected Scanner sc; public Ui () { @@ -15,16 +12,16 @@ public Ui () { } public void showWelcome() { - System.out.println(horizontalLine); + System.out.println(HORIZONTAL_LINE); System.out.println("Hi, I'm Serenity!\n" + "What can I do for you?"); - System.out.println(horizontalLine); + System.out.println(HORIZONTAL_LINE); } public void showGoodbye() { this.sc.close(); - System.out.println(horizontalLine); + System.out.println(HORIZONTAL_LINE); System.out.println("Goodbye. Hope to see you again soon!"); - System.out.println(horizontalLine); + System.out.println(HORIZONTAL_LINE); } public String readCommand() { @@ -36,18 +33,14 @@ public void showLoadingError() { } public void showMessage(String message) { - System.out.println(horizontalLine); + System.out.println(HORIZONTAL_LINE); System.out.println(message); - System.out.println(horizontalLine); + System.out.println(HORIZONTAL_LINE); } public void showTaskList(TaskList tasks) { - System.out.println(horizontalLine); + System.out.println(HORIZONTAL_LINE); System.out.println(tasks.toString()); - System.out.println(horizontalLine); + System.out.println(HORIZONTAL_LINE); } - - - - } From 3b93b9a91127aaff9cc66db8072cde74ab4edb31 Mon Sep 17 00:00:00 2001 From: kngys Date: Fri, 30 Aug 2024 02:07:31 +0800 Subject: [PATCH 25/45] Add find function --- src/main/java/serenity/Parser.java | 4 ++++ src/main/java/serenity/TaskList.java | 26 ++++++++++++++++++++++++-- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/src/main/java/serenity/Parser.java b/src/main/java/serenity/Parser.java index 659a14f9fe..cf3cec0372 100644 --- a/src/main/java/serenity/Parser.java +++ b/src/main/java/serenity/Parser.java @@ -32,6 +32,10 @@ public static void parse(String input, TaskList tasks, Ui ui, Storage storage) t ui.showMessage(message); storage.writeToFile(tasks); break; + case "find": + message = tasks.findTask(input); + ui.showMessage(message); + break; default: ui.showMessage("Error: Invalid task."); break; diff --git a/src/main/java/serenity/TaskList.java b/src/main/java/serenity/TaskList.java index 10acecbd5f..dd71290979 100644 --- a/src/main/java/serenity/TaskList.java +++ b/src/main/java/serenity/TaskList.java @@ -1,7 +1,5 @@ package serenity; -import serenity.SerenityException; - import java.util.ArrayList; public class TaskList { @@ -105,6 +103,30 @@ public String changeStatus(String input) throws SerenityException { } + public String findTask(String input) throws SerenityException { + + String[] parts = input.split(" "); + if (parts.length == 1) { + throw new SerenityException("Error: Missing keyword."); + } + + String keyWord = parts[1].strip(); + ArrayList foundTasks = new ArrayList<>(); + + for (int i = 0; i < tasks.size(); i++) { + if (tasks.get(i).toString().contains(keyWord)) { + foundTasks.add(tasks.get(i)); + } + } + + String message = "Here are the matching tasks in your list:"; + for (int j = 0; j < foundTasks.size(); j++) { + int index = j + 1; + message += "\n" + index + ". " + foundTasks.get(j); + } + return message; + } + @Override public String toString() { String message = "Here are the tasks in your list:"; From ca19d4f57c9c8dcf8d8bc3ca179b210c7579f3a6 Mon Sep 17 00:00:00 2001 From: kngys Date: Thu, 5 Sep 2024 00:01:18 +0800 Subject: [PATCH 26/45] Update JavaDoc comments --- src/main/java/serenity/TaskList.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/serenity/TaskList.java b/src/main/java/serenity/TaskList.java index 012202d8ac..56f4cf062c 100644 --- a/src/main/java/serenity/TaskList.java +++ b/src/main/java/serenity/TaskList.java @@ -141,9 +141,12 @@ public String changeStatus(String input) throws SerenityException { } /** - * Returns string representation of TaskList. + * Returns String representation of TaskList of matching tasks. + * Matching tasks are identified by the given keyword. * - * @return String representation. + * @param input keyword to search tasks for + * @return String representation of TaskList of matching tasks + * @throws SerenityException If keyword is missing. */ public String findTask(String input) throws SerenityException { @@ -168,7 +171,12 @@ public String findTask(String input) throws SerenityException { } return message; } - + + /** + * Returns string representation of TaskList. + * + * @return String representation. + */ @Override public String toString() { String message = "Here are the tasks in your list:"; From 43e435aa1a334e3b1795452403efa116c95d349e Mon Sep 17 00:00:00 2001 From: kngys Date: Thu, 5 Sep 2024 00:51:57 +0800 Subject: [PATCH 27/45] Add checkstyle configurations --- build.gradle | 5 + config/checkstyle/checkstyle.xml | 434 +++++++++++++++++++++++++++++ config/checkstyle/suppressions.xml | 10 + 3 files changed, 449 insertions(+) create mode 100644 config/checkstyle/checkstyle.xml create mode 100644 config/checkstyle/suppressions.xml diff --git a/build.gradle b/build.gradle index b188e09616..d680e1425b 100644 --- a/build.gradle +++ b/build.gradle @@ -2,6 +2,7 @@ plugins { id 'java' id 'application' id 'com.github.johnrengelman.shadow' version '7.1.2' + id 'checkstyle' } repositories { @@ -51,6 +52,10 @@ shadowJar { archiveFileName = 'serenity.jar' } +checkstyle { + toolVersion = '10.2' +} + run{ standardInput = System.in } diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml new file mode 100644 index 0000000000..acac1a8e28 --- /dev/null +++ b/config/checkstyle/checkstyle.xml @@ -0,0 +1,434 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/config/checkstyle/suppressions.xml b/config/checkstyle/suppressions.xml new file mode 100644 index 0000000000..135ea49ee0 --- /dev/null +++ b/config/checkstyle/suppressions.xml @@ -0,0 +1,10 @@ + + + + + + + + \ No newline at end of file From 11de21f669f21738b851afc4a3505a867e2b2292 Mon Sep 17 00:00:00 2001 From: kngys Date: Thu, 5 Sep 2024 00:53:20 +0800 Subject: [PATCH 28/45] Update to follow coding standard --- src/main/java/serenity/Parser.java | 2 +- src/main/java/serenity/Storage.java | 2 -- src/main/java/serenity/TaskList.java | 4 ++-- src/main/java/serenity/Todo.java | 2 +- src/main/java/serenity/Ui.java | 2 +- src/test/java/serenity/StorageTest.java | 5 +++-- src/test/java/serenity/TaskListTest.java | 6 ++++-- src/test/java/serenity/TodoTest.java | 4 +++- 8 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/main/java/serenity/Parser.java b/src/main/java/serenity/Parser.java index defae08a0d..d1b132dd36 100644 --- a/src/main/java/serenity/Parser.java +++ b/src/main/java/serenity/Parser.java @@ -65,7 +65,7 @@ public static void parse(String input, TaskList tasks, Ui ui, Storage storage) * @return True if the command is bye. */ - public static boolean isExit (String input) { + public static boolean isExit(String input) { return input.startsWith("bye"); } diff --git a/src/main/java/serenity/Storage.java b/src/main/java/serenity/Storage.java index 003e760152..5796ba16d6 100644 --- a/src/main/java/serenity/Storage.java +++ b/src/main/java/serenity/Storage.java @@ -5,10 +5,8 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; - import java.time.LocalDate; import java.time.format.DateTimeFormatter; - import java.util.ArrayList; import java.util.Scanner; diff --git a/src/main/java/serenity/TaskList.java b/src/main/java/serenity/TaskList.java index 56f4cf062c..5214fbf8d5 100644 --- a/src/main/java/serenity/TaskList.java +++ b/src/main/java/serenity/TaskList.java @@ -142,7 +142,7 @@ public String changeStatus(String input) throws SerenityException { /** * Returns String representation of TaskList of matching tasks. - * Matching tasks are identified by the given keyword. + * Matching tasks are identified by the given keyword. * * @param input keyword to search tasks for * @return String representation of TaskList of matching tasks @@ -195,7 +195,7 @@ public String toString() { public String toDataFormat() { String data = ""; for (int i = 0; i < tasks.size(); i++) { - data += tasks.get(i).formatData() + "\n" ; + data += tasks.get(i).formatData() + "\n"; } return data; diff --git a/src/main/java/serenity/Todo.java b/src/main/java/serenity/Todo.java index 4984ffb519..8ead53f9fd 100644 --- a/src/main/java/serenity/Todo.java +++ b/src/main/java/serenity/Todo.java @@ -10,7 +10,7 @@ public class Todo extends Task { * * @param description Description of Task. */ - public Todo (String description) { + public Todo(String description) { super(description); } diff --git a/src/main/java/serenity/Ui.java b/src/main/java/serenity/Ui.java index 0a47cfbc70..2304f32308 100644 --- a/src/main/java/serenity/Ui.java +++ b/src/main/java/serenity/Ui.java @@ -14,7 +14,7 @@ public class Ui { /** * Constructs Ui object */ - public Ui () { + public Ui() { this.sc = new Scanner(System.in); } diff --git a/src/test/java/serenity/StorageTest.java b/src/test/java/serenity/StorageTest.java index 55d95036fd..fef5f0c5e8 100644 --- a/src/test/java/serenity/StorageTest.java +++ b/src/test/java/serenity/StorageTest.java @@ -1,9 +1,10 @@ package serenity; -import org.junit.jupiter.api.Test; -import java.util.ArrayList; import static org.junit.jupiter.api.Assertions.assertEquals; +import org.junit.jupiter.api.Test; + + public class StorageTest { @Test diff --git a/src/test/java/serenity/TaskListTest.java b/src/test/java/serenity/TaskListTest.java index 911febefde..dbbd832cc9 100644 --- a/src/test/java/serenity/TaskListTest.java +++ b/src/test/java/serenity/TaskListTest.java @@ -1,9 +1,11 @@ package serenity; -import org.junit.jupiter.api.Test; -import java.util.ArrayList; import static org.junit.jupiter.api.Assertions.assertEquals; +import java.util.ArrayList; + +import org.junit.jupiter.api.Test; + public class TaskListTest { @Test diff --git a/src/test/java/serenity/TodoTest.java b/src/test/java/serenity/TodoTest.java index 5a558e0cfa..a4e0b395bf 100644 --- a/src/test/java/serenity/TodoTest.java +++ b/src/test/java/serenity/TodoTest.java @@ -1,7 +1,9 @@ package serenity; -import org.junit.jupiter.api.Test; + import static org.junit.jupiter.api.Assertions.assertEquals; +import org.junit.jupiter.api.Test; + public class TodoTest { @Test From 2df1e737cc24c3bbb49363a9f04c37a923a451ff Mon Sep 17 00:00:00 2001 From: kngys Date: Fri, 6 Sep 2024 19:34:52 +0800 Subject: [PATCH 29/45] Add GUI functionality --- build.gradle | 2 +- data/serenity.txt | 5 +- src/main/java/serenity/Parser.java | 56 ++++++++++++++++ src/main/java/serenity/Serenity.java | 36 ++++++++++- src/main/java/serenity/Storage.java | 12 +++- src/main/java/serenity/Ui.java | 4 ++ src/main/java/serenity/gui/DialogBox.java | 61 ++++++++++++++++++ src/main/java/serenity/gui/Launcher.java | 12 ++++ src/main/java/serenity/gui/Main.java | 35 ++++++++++ src/main/java/serenity/gui/MainWindow.java | 54 ++++++++++++++++ .../java/serenity/{ => task}/Deadline.java | 2 +- src/main/java/serenity/{ => task}/Event.java | 2 +- src/main/java/serenity/{ => task}/Task.java | 2 +- .../java/serenity/{ => task}/TaskList.java | 7 +- src/main/java/serenity/{ => task}/Todo.java | 4 +- src/main/resources/images/DaDuke.png | Bin 0 -> 75553 bytes src/main/resources/images/DaUser.png | Bin 0 -> 266050 bytes src/main/resources/view/DialogBox.fxml | 22 +++++++ src/main/resources/view/MainWindow.fxml | 45 +++++++++++++ src/test/java/serenity/StorageTest.java | 1 + src/test/java/serenity/TaskListTest.java | 4 ++ src/test/java/serenity/TodoTest.java | 1 + 22 files changed, 356 insertions(+), 11 deletions(-) create mode 100644 src/main/java/serenity/gui/DialogBox.java create mode 100644 src/main/java/serenity/gui/Launcher.java create mode 100644 src/main/java/serenity/gui/Main.java create mode 100644 src/main/java/serenity/gui/MainWindow.java rename src/main/java/serenity/{ => task}/Deadline.java (98%) rename src/main/java/serenity/{ => task}/Event.java (97%) rename src/main/java/serenity/{ => task}/Task.java (98%) rename src/main/java/serenity/{ => task}/TaskList.java (99%) rename src/main/java/serenity/{ => task}/Todo.java (93%) create mode 100644 src/main/resources/images/DaDuke.png create mode 100644 src/main/resources/images/DaUser.png create mode 100644 src/main/resources/view/DialogBox.fxml create mode 100644 src/main/resources/view/MainWindow.fxml diff --git a/build.gradle b/build.gradle index d680e1425b..3ff8bec4a1 100644 --- a/build.gradle +++ b/build.gradle @@ -43,7 +43,7 @@ test { } application { - mainClass.set("serenity.Serenity") + mainClass.set("serenity.gui.Launcher") } shadowJar { diff --git a/data/serenity.txt b/data/serenity.txt index 096d32e075..1fbac41854 100644 --- a/data/serenity.txt +++ b/data/serenity.txt @@ -1,4 +1,5 @@ -D | 0 | return book | 30 Aug 2024 +D | 1 | return book | 30 Aug 2024 T | 0 | read book E | 1 | attend meeting | Mon 2pm | 4pm -T | 1 | buy book +T | 0 | write book +T | 0 | watch movie diff --git a/src/main/java/serenity/Parser.java b/src/main/java/serenity/Parser.java index d1b132dd36..a80cbc204f 100644 --- a/src/main/java/serenity/Parser.java +++ b/src/main/java/serenity/Parser.java @@ -1,6 +1,11 @@ package serenity; + import java.io.IOException; +import serenity.task.Task; +import serenity.task.TaskList; + + /** * Represents a parser that parses user inputs and carries out the actions corresponding to the command. */ @@ -17,6 +22,8 @@ public class Parser { * @throws SerenityException If user input is invalid and task cannot be created. * @throws IOException If there is an issue writing to file that stores data. */ + + public static void parse(String input, TaskList tasks, Ui ui, Storage storage) throws SerenityException, IOException { String[] parts = input.split(" ", 2); @@ -58,6 +65,55 @@ public static void parse(String input, TaskList tasks, Ui ui, Storage storage) } + public static String parseToString(String input, TaskList tasks, Ui ui, Storage storage) { + String[] parts = input.split(" ", 2); + String command = parts[0].strip(); + String message; + Task t; + + try { + switch (command) { + case "bye": + message = "Goodbye. Hope to see you again soon!"; + //ui.showGoodbye(); + break; + case "list": + message = tasks.toString(); + //ui.showTaskList(tasks); + break; + case "todo", "deadline", "event": + t = tasks.createTask(input); + message = tasks.addTask(t); + //ui.showMessage(message); + storage.saveTask(t); + break; + case "mark", "unmark": + message = tasks.changeStatus(input); + //ui.showMessage(message); + storage.writeToFile(tasks); + break; + case "delete": + message = tasks.deleteTask(input); + //ui.showMessage(message); + storage.writeToFile(tasks); + break; + case "find": + message = tasks.findTask(input); + //ui.showMessage(message); + break; + default: + message = "Error: Invalid task."; + //ui.showMessage("Error: Invalid task."); + break; + } + } catch (SerenityException | IOException e) { + return e.getMessage(); + } + return message; + } + + + /** * Checks if command is to exit chatbot. * diff --git a/src/main/java/serenity/Serenity.java b/src/main/java/serenity/Serenity.java index 9a8ff4e768..067a78c2e8 100644 --- a/src/main/java/serenity/Serenity.java +++ b/src/main/java/serenity/Serenity.java @@ -2,12 +2,18 @@ import java.io.IOException; +import serenity.task.TaskList; + + + /** * Represents a chatbot used for task management. */ +@SuppressWarnings("checkstyle:Regexp") public class Serenity { + private static final String DEFAULT_FILE_PATH = "./data/serenity.txt"; private Storage storage; private TaskList tasks; private Ui ui; @@ -31,6 +37,32 @@ public Serenity(String filePath) { } } + /** + * Constructs a Serenity object with default file path. + */ + public Serenity() { + ui = new Ui(); + storage = new Storage(DEFAULT_FILE_PATH); + try { + tasks = new TaskList(storage.loadFile()); + } catch (SerenityException e) { + ui.showLoadingError(); + tasks = new TaskList(); + } catch (IOException e) { + ui.showMessage(e.getMessage()); + } + } + + /** + * Generates response to user's input in chat. + * + * @param input User's input + */ + public String getResponse(String input) { + return Parser.parseToString(input, tasks, ui, storage); + } + + /** * Runs the Serenity chatbot */ @@ -51,6 +83,8 @@ public void run() { } } + + /** * The main method that runs the Serenity chatbot. * @@ -58,7 +92,7 @@ public void run() { */ public static void main(String[] args) { - new Serenity("data/serenity.txt").run(); + new Serenity("./data/serenity.txt").run(); } } diff --git a/src/main/java/serenity/Storage.java b/src/main/java/serenity/Storage.java index 5796ba16d6..09cd53d6cc 100644 --- a/src/main/java/serenity/Storage.java +++ b/src/main/java/serenity/Storage.java @@ -10,6 +10,13 @@ import java.util.ArrayList; import java.util.Scanner; +import serenity.task.Deadline; +import serenity.task.Event; +import serenity.task.Task; +import serenity.task.TaskList; +import serenity.task.Todo; + + /** * Handles the storing, loading and saving of tasks to data file. */ @@ -34,9 +41,10 @@ public Storage(String filePath) { * @throws SerenityException If there are issues with loading a task. */ public ArrayList loadFile() throws IOException, SerenityException { - //create directory if directory does not exist - Files.createDirectories(Paths.get("data")); File f = new File(filePath); + //create directory if directory does not exist + File directory = new File(f.getParentFile().getAbsolutePath()); + directory.mkdirs(); //create file if file does not exist if (!f.exists()) { diff --git a/src/main/java/serenity/Ui.java b/src/main/java/serenity/Ui.java index 2304f32308..c011301f1f 100644 --- a/src/main/java/serenity/Ui.java +++ b/src/main/java/serenity/Ui.java @@ -2,6 +2,10 @@ import java.util.Scanner; +import serenity.task.TaskList; + + + /** * Represents user interface that handles user interactions. */ diff --git a/src/main/java/serenity/gui/DialogBox.java b/src/main/java/serenity/gui/DialogBox.java new file mode 100644 index 0000000000..c436978677 --- /dev/null +++ b/src/main/java/serenity/gui/DialogBox.java @@ -0,0 +1,61 @@ +package serenity.gui; + +import java.io.IOException; +import java.util.Collections; + +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; +import javafx.geometry.Pos; +import javafx.scene.Node; +import javafx.scene.control.Label; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; +import javafx.scene.layout.HBox; + +/** + * Represents a dialog box consisting of an ImageView to represent the speaker's face + * and a label containing text from the speaker. + */ +public class DialogBox extends HBox { + @FXML + private Label dialog; + @FXML + private ImageView displayPicture; + + private DialogBox(String text, Image img) { + try { + FXMLLoader fxmlLoader = new FXMLLoader(MainWindow.class.getResource("/view/DialogBox.fxml")); + fxmlLoader.setController(this); + fxmlLoader.setRoot(this); + fxmlLoader.load(); + } catch (IOException e) { + e.printStackTrace(); + } + + dialog.setText(text); + displayPicture.setImage(img); + } + + /** + * Flips the dialog box such that the ImageView is on the left and text on the right. + */ + private void flip() { + ObservableList tmp = FXCollections.observableArrayList(this.getChildren()); + Collections.reverse(tmp); + getChildren().setAll(tmp); + setAlignment(Pos.TOP_LEFT); + } + + public static DialogBox getUserDialog(String text, Image img) { + return new DialogBox(text, img); + } + + public static DialogBox getDukeDialog(String text, Image img) { + var db = new DialogBox(text, img); + db.flip(); + return db; + } +} + diff --git a/src/main/java/serenity/gui/Launcher.java b/src/main/java/serenity/gui/Launcher.java new file mode 100644 index 0000000000..1ec4d42717 --- /dev/null +++ b/src/main/java/serenity/gui/Launcher.java @@ -0,0 +1,12 @@ +package serenity.gui; + +import javafx.application.Application; + +/** + * A launcher class to workaround classpath issues. + */ +public class Launcher { + public static void main(String[] args) { + Application.launch(Main.class, args); + } +} diff --git a/src/main/java/serenity/gui/Main.java b/src/main/java/serenity/gui/Main.java new file mode 100644 index 0000000000..7ac68a56da --- /dev/null +++ b/src/main/java/serenity/gui/Main.java @@ -0,0 +1,35 @@ +package serenity.gui; + +import java.io.IOException; + +import javafx.application.Application; +import javafx.fxml.FXMLLoader; +import javafx.scene.Scene; +import javafx.scene.layout.AnchorPane; +import javafx.stage.Stage; +import serenity.Serenity; + +/** + * A GUI for Duke using FXML. + */ +public class Main extends Application { + + + private Serenity serenity = new Serenity(); + + @Override + public void start(Stage stage) { + try { + FXMLLoader fxmlLoader = new FXMLLoader(Main.class.getResource("/view/MainWindow.fxml")); + AnchorPane ap = fxmlLoader.load(); + Scene scene = new Scene(ap); + stage.setScene(scene); + // inject the serenity instance + fxmlLoader.getController().setSerenity(serenity); + stage.show(); + } catch (IOException e) { + e.printStackTrace(); + } + } +} + diff --git a/src/main/java/serenity/gui/MainWindow.java b/src/main/java/serenity/gui/MainWindow.java new file mode 100644 index 0000000000..6549d57c63 --- /dev/null +++ b/src/main/java/serenity/gui/MainWindow.java @@ -0,0 +1,54 @@ +package serenity.gui; + +import javafx.fxml.FXML; +import javafx.scene.control.Button; +import javafx.scene.control.ScrollPane; +import javafx.scene.control.TextField; +import javafx.scene.image.Image; +import javafx.scene.layout.AnchorPane; +import javafx.scene.layout.VBox; +import serenity.Serenity; + +/** + * Controller for the main GUI. + */ +public class MainWindow extends AnchorPane { + @FXML + private ScrollPane scrollPane; + @FXML + private VBox dialogContainer; + @FXML + private TextField userInput; + @FXML + private Button sendButton; + + private Serenity serenity; + + private Image userImage = new Image(this.getClass().getResourceAsStream("/images/DaUser.png")); + private Image dukeImage = new Image(this.getClass().getResourceAsStream("/images/DaDuke.png")); + + @FXML + public void initialize() { + scrollPane.vvalueProperty().bind(dialogContainer.heightProperty()); + } + + /** Injects the Duke instance */ + public void setSerenity(Serenity s) { + serenity = s; + } + + /** + * 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. + */ + @FXML + private void handleUserInput() { + String input = userInput.getText(); + String response = serenity.getResponse(input); + dialogContainer.getChildren().addAll( + DialogBox.getUserDialog(input, userImage), + DialogBox.getDukeDialog(response, dukeImage) + ); + userInput.clear(); + } +} diff --git a/src/main/java/serenity/Deadline.java b/src/main/java/serenity/task/Deadline.java similarity index 98% rename from src/main/java/serenity/Deadline.java rename to src/main/java/serenity/task/Deadline.java index 28a195a1b5..af6cbca66c 100644 --- a/src/main/java/serenity/Deadline.java +++ b/src/main/java/serenity/task/Deadline.java @@ -1,4 +1,4 @@ -package serenity; +package serenity.task; import java.time.LocalDate; import java.time.format.DateTimeFormatter; diff --git a/src/main/java/serenity/Event.java b/src/main/java/serenity/task/Event.java similarity index 97% rename from src/main/java/serenity/Event.java rename to src/main/java/serenity/task/Event.java index 5da9087d8a..44e404c5af 100644 --- a/src/main/java/serenity/Event.java +++ b/src/main/java/serenity/task/Event.java @@ -1,4 +1,4 @@ -package serenity; +package serenity.task; /** * Represents a type of Task that has start and end timings. diff --git a/src/main/java/serenity/Task.java b/src/main/java/serenity/task/Task.java similarity index 98% rename from src/main/java/serenity/Task.java rename to src/main/java/serenity/task/Task.java index d574d50e95..9a8c359f92 100644 --- a/src/main/java/serenity/Task.java +++ b/src/main/java/serenity/task/Task.java @@ -1,4 +1,4 @@ -package serenity; +package serenity.task; /** * Represents a general task with a description that can be marked done or undone. diff --git a/src/main/java/serenity/TaskList.java b/src/main/java/serenity/task/TaskList.java similarity index 99% rename from src/main/java/serenity/TaskList.java rename to src/main/java/serenity/task/TaskList.java index 5214fbf8d5..9afbcdf577 100644 --- a/src/main/java/serenity/TaskList.java +++ b/src/main/java/serenity/task/TaskList.java @@ -1,7 +1,12 @@ -package serenity; +package serenity.task; import java.util.ArrayList; +import serenity.SerenityException; + + + + /** * Represents a list of tasks, where tasks can be added, deleted * and marked as done or undone. diff --git a/src/main/java/serenity/Todo.java b/src/main/java/serenity/task/Todo.java similarity index 93% rename from src/main/java/serenity/Todo.java rename to src/main/java/serenity/task/Todo.java index 8ead53f9fd..b9fb3e0774 100644 --- a/src/main/java/serenity/Todo.java +++ b/src/main/java/serenity/task/Todo.java @@ -1,4 +1,6 @@ -package serenity; +package serenity.task; + +import serenity.task.Task; /** * Represents a type of Task with only a basic description. diff --git a/src/main/resources/images/DaDuke.png b/src/main/resources/images/DaDuke.png new file mode 100644 index 0000000000000000000000000000000000000000..85df6f1004e5774e9fdca21bc1f5215b4776526a GIT binary patch literal 75553 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�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 literal 0 HcmV?d00001 diff --git a/src/main/resources/view/DialogBox.fxml b/src/main/resources/view/DialogBox.fxml new file mode 100644 index 0000000000..fe672c90ea --- /dev/null +++ b/src/main/resources/view/DialogBox.fxml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml new file mode 100644 index 0000000000..ae1140e358 --- /dev/null +++ b/src/main/resources/view/MainWindow.fxml @@ -0,0 +1,45 @@ + + + + + + + + + + + +