From a0828cbce97d2a1f02de383fa816151de288ad3e Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Thu, 20 Aug 2020 22:11:49 +0800 Subject: [PATCH 01/51] Added features for Greet, Echo and Exit --- src/main/java/Duke.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index 5d313334cc..46ef94d98b 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -1,10 +1,25 @@ +import java.util.Scanner; + public class Duke { public static void main(String[] args) { + Scanner sc = new Scanner(System.in); String logo = " ____ _ \n" + "| _ \\ _ _| | _____ \n" + "| | | | | | | |/ / _ \\\n" + "| |_| | |_| | < __/\n" + "|____/ \\__,_|_|\\_\\___|\n"; System.out.println("Hello from\n" + logo); + System.out.println("\n\n"); + System.out.println("Hello! I'm Duke\nWhat can I do for you?\n\n"); + String input = sc.next(); + + while (!input.equals(("bye"))) { + System.out.println("\n" + input + "\n"); + input = sc.next(); + if (input.equals("bye")) { + System.out.println("Bye. Hope to see you again soon!\n"); + return; + } + } } } From 2a955ed228b711ac22f8eaf1044479c6e0a72a5b Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Thu, 20 Aug 2020 22:35:29 +0800 Subject: [PATCH 02/51] Added features of Level-2, Add and List --- src/main/java/Duke.java | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index 46ef94d98b..d3fd9a6683 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -11,15 +11,30 @@ public static void main(String[] args) { System.out.println("Hello from\n" + logo); System.out.println("\n\n"); System.out.println("Hello! I'm Duke\nWhat can I do for you?\n\n"); - String input = sc.next(); - while (!input.equals(("bye"))) { - System.out.println("\n" + input + "\n"); - input = sc.next(); + String[] store = new String[100]; + int count = 0; + String input = sc.nextLine(); + + while (true) { if (input.equals("bye")) { System.out.println("Bye. Hope to see you again soon!\n"); return; } + + if (input.equals("list")) { + for (int i = 0; i < count; i++) { + System.out.println(Integer.toString(i + 1) + "." + store[i]); + } + System.out.println("\n"); + input = sc.nextLine(); + } else { + + System.out.println("\n added: " + input + "\n"); + store[count] = input; + count++; + input = sc.nextLine(); + } } } } From 2960cdbc1b1b5bd6db3f002846b2cdb3240572f8 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Thu, 20 Aug 2020 23:36:45 +0800 Subject: [PATCH 03/51] Added done feature, but not achieved --- src/main/java/Duke.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index d3fd9a6683..711cef286a 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -13,6 +13,7 @@ public static void main(String[] args) { System.out.println("Hello! I'm Duke\nWhat can I do for you?\n\n"); String[] store = new String[100]; + boolean[] flag = new boolean[100]; int count = 0; String input = sc.nextLine(); @@ -22,6 +23,10 @@ public static void main(String[] args) { return; } + if (input.equals("done")) { + + } + if (input.equals("list")) { for (int i = 0; i < count; i++) { System.out.println(Integer.toString(i + 1) + "." + store[i]); @@ -32,6 +37,7 @@ public static void main(String[] args) { System.out.println("\n added: " + input + "\n"); store[count] = input; + flag[count] = false; count++; input = sc.nextLine(); } From e6f5a1bea56a1c90fefa93e43dbec934349062d1 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Sun, 30 Aug 2020 15:13:23 +0800 Subject: [PATCH 04/51] Add package main.java --- src/main/java/Duke.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index 711cef286a..2ea5e305b5 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -1,3 +1,5 @@ +package main.java; + import java.util.Scanner; public class Duke { From d619ffa72ba71928a781832c420d242058f019e6 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Sun, 30 Aug 2020 15:25:03 +0800 Subject: [PATCH 05/51] Adjusted the robot's responding style --- src/main/java/Duke.java | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index 2ea5e305b5..b29350b46c 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -11,8 +11,9 @@ public static void main(String[] args) { + "| |_| | |_| | < __/\n" + "|____/ \\__,_|_|\\_\\___|\n"; System.out.println("Hello from\n" + logo); - System.out.println("\n\n"); - System.out.println("Hello! I'm Duke\nWhat can I do for you?\n\n"); + System.out.println(" ____________________________________________________________"); + System.out.println(" Hello! I'm Duke\nWhat can I do for you?"); + System.out.println(" ____________________________________________________________\n"); String[] store = new String[100]; boolean[] flag = new boolean[100]; @@ -21,7 +22,9 @@ public static void main(String[] args) { while (true) { if (input.equals("bye")) { - System.out.println("Bye. Hope to see you again soon!\n"); + System.out.println(" ____________________________________________________________"); + System.out.println(" Bye. Hope to see you again soon!"); + System.out.println(" ____________________________________________________________\n"); return; } @@ -30,19 +33,20 @@ public static void main(String[] args) { } if (input.equals("list")) { + System.out.println(" ____________________________________________________________"); for (int i = 0; i < count; i++) { - System.out.println(Integer.toString(i + 1) + "." + store[i]); + System.out.println(" " + Integer.toString(i + 1) + "." + store[i]); } - System.out.println("\n"); - input = sc.nextLine(); + System.out.println(" ____________________________________________________________\n"); } else { - - System.out.println("\n added: " + input + "\n"); + System.out.println(" ____________________________________________________________"); + System.out.println(" added: " + input); + System.out.println(" ____________________________________________________________\n"); store[count] = input; flag[count] = false; count++; - input = sc.nextLine(); } + input = sc.nextLine(); } } } From 7a01956aa4a1fa17f17cf51c25098f622f401845 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Sun, 30 Aug 2020 15:36:01 +0800 Subject: [PATCH 06/51] Added a Task class, but did not merge it with the main class Duke.java --- src/main/java/Task.java | 19 +++++++++++++++++++ 1 file changed, 19 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..65f862ba37 --- /dev/null +++ b/src/main/java/Task.java @@ -0,0 +1,19 @@ +package main.java; + +public class Task { + protected String description; + protected boolean isDone; + + public Task(String description) { + this.description = description; + this.isDone = false; + } + + public String getStatusIcon() { + return (isDone ? "\u2713" : "\u2718"); + } + + public void markAsDone() { + this.isDone = true; + } +} From 23ff51e617e30ef4a9117d908c0620aa4c1b98b1 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Sun, 30 Aug 2020 16:24:46 +0800 Subject: [PATCH 07/51] added printDescription() method to Task class --- src/main/java/Task.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/Task.java b/src/main/java/Task.java index 65f862ba37..9df0f1c6b0 100644 --- a/src/main/java/Task.java +++ b/src/main/java/Task.java @@ -16,4 +16,8 @@ public String getStatusIcon() { public void markAsDone() { this.isDone = true; } + + public void printDescription() { + System.out.println(" [" + getStatusIcon() + "] " + description); + } } From aaf0db0de1ea055eb86ec66db0d9e7ab50e73aee Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Sun, 30 Aug 2020 16:46:52 +0800 Subject: [PATCH 08/51] Merged Task.java class with Duke.java class, completed features for level-3 --- src/main/java/Duke.java | 64 ++++++++++++++++++++++------------------- 1 file changed, 34 insertions(+), 30 deletions(-) diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index b29350b46c..14e0eaf01c 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -1,6 +1,7 @@ package main.java; import java.util.Scanner; +import java.util.ArrayList; public class Duke { public static void main(String[] args) { @@ -12,41 +13,44 @@ public static void main(String[] args) { + "|____/ \\__,_|_|\\_\\___|\n"; System.out.println("Hello from\n" + logo); System.out.println(" ____________________________________________________________"); - System.out.println(" Hello! I'm Duke\nWhat can I do for you?"); + System.out.println(" Hello! I'm Duke\n What can I do for you?"); System.out.println(" ____________________________________________________________\n"); - String[] store = new String[100]; - boolean[] flag = new boolean[100]; - int count = 0; - String input = sc.nextLine(); + ArrayList taskList = new ArrayList(); while (true) { - if (input.equals("bye")) { - System.out.println(" ____________________________________________________________"); - System.out.println(" Bye. Hope to see you again soon!"); - System.out.println(" ____________________________________________________________\n"); - return; + String command = sc.next(); + switch(command) { + case "bye": + System.out.println(" ____________________________________________________________"); + System.out.println(" Bye. Hope to see you again soon!"); + System.out.println(" ____________________________________________________________\n"); + return; + case "list": + System.out.println(" ____________________________________________________________"); + System.out.println(" Here are the tasks in your list:"); + for (Task task: taskList) { + task.printDescription(); + } + System.out.println(" ____________________________________________________________\n"); + break; + case "done": + int index = sc.nextInt(); + Task currentTask = taskList.get(index - 1); + currentTask.markAsDone(); + System.out.println(" ____________________________________________________________"); + System.out.println(" Nice! I've marked this task as done: "); + currentTask.printDescription(); + System.out.println(" ____________________________________________________________\n"); + break; + default: + String event = sc.nextLine(); + taskList.add(new Task(command + event)); + System.out.println(" ____________________________________________________________"); + System.out.println(" added: " + command + event); + System.out.println(" ____________________________________________________________\n"); + break; } - - if (input.equals("done")) { - - } - - if (input.equals("list")) { - System.out.println(" ____________________________________________________________"); - for (int i = 0; i < count; i++) { - System.out.println(" " + Integer.toString(i + 1) + "." + store[i]); - } - System.out.println(" ____________________________________________________________\n"); - } else { - System.out.println(" ____________________________________________________________"); - System.out.println(" added: " + input); - System.out.println(" ____________________________________________________________\n"); - store[count] = input; - flag[count] = false; - count++; - } - input = sc.nextLine(); } } } From b98931506b12fa1ee71a1f3bf761e5b674713afe Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Sun, 30 Aug 2020 18:04:26 +0800 Subject: [PATCH 09/51] Added classes Todo, Deadline, Event. Allowed task with deadlines and date/time. Achieved level-4 --- src/main/java/Deadline.java | 16 +++++++++++ src/main/java/Duke.java | 57 +++++++++++++++++++++++++++++++++---- src/main/java/Event.java | 16 +++++++++++ src/main/java/Task.java | 2 +- src/main/java/Todo.java | 12 ++++++++ 5 files changed, 97 insertions(+), 6 deletions(-) create mode 100644 src/main/java/Deadline.java create mode 100644 src/main/java/Event.java create mode 100644 src/main/java/Todo.java diff --git a/src/main/java/Deadline.java b/src/main/java/Deadline.java new file mode 100644 index 0000000000..c219576652 --- /dev/null +++ b/src/main/java/Deadline.java @@ -0,0 +1,16 @@ +package main.java; + +public class Deadline extends Task { + protected String deadline; + + public Deadline(String description, String deadline) { + super(description); + this.deadline = deadline; + } + + @Override + public void printDescription() { + System.out.println("[D][" + getStatusIcon() + + "] " + description + "(by:" + deadline + ")"); + } +} diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index 14e0eaf01c..76be0f89c6 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -29,8 +29,9 @@ public static void main(String[] args) { case "list": System.out.println(" ____________________________________________________________"); System.out.println(" Here are the tasks in your list:"); - for (Task task: taskList) { - task.printDescription(); + for (int i = 0; i < taskList.size(); i++) { + System.out.print(" " + (i + 1) + "."); + taskList.get(i).printDescription(); } System.out.println(" ____________________________________________________________\n"); break; @@ -40,14 +41,60 @@ public static void main(String[] args) { currentTask.markAsDone(); System.out.println(" ____________________________________________________________"); System.out.println(" Nice! I've marked this task as done: "); + System.out.print(" "); currentTask.printDescription(); System.out.println(" ____________________________________________________________\n"); break; + case "todo": + String todoDescription = sc.nextLine(); + Todo todo = new Todo(todoDescription); + taskList.add(todo); + System.out.println(" ____________________________________________________________"); + System.out.println(" Got it. I've added this task: "); + System.out.print(" "); + todo.printDescription(); + System.out.println(" Now you have " + taskList.size() + " tasks in the list."); + System.out.println(" ____________________________________________________________\n"); + break; + case "deadline": + String deadlineDescription = ""; + while (!sc.hasNext("/by")) { + deadlineDescription += sc.next(); + deadlineDescription += " "; + } + sc.next("/by"); + String time = sc.nextLine(); + Deadline deadline = new Deadline(deadlineDescription, time); + taskList.add(deadline); + System.out.println(" ____________________________________________________________"); + System.out.println(" Got it. I've added this task: "); + System.out.print(" "); + deadline.printDescription(); + System.out.println(" Now you have " + taskList.size() + " tasks in the list."); + System.out.println(" ____________________________________________________________\n"); + break; + case "event": + String eventDescription = ""; + while (!sc.hasNext("/at")) { + eventDescription += sc.next(); + eventDescription += " "; + } + sc.next("/at"); + String date = sc.nextLine(); + Event event = new Event(eventDescription, date); + taskList.add(event); + System.out.println(" ____________________________________________________________"); + System.out.println(" Got it. I've added this task: "); + System.out.print(" "); + event.printDescription(); + System.out.println(" Now you have " + taskList.size() + " tasks in the list."); + System.out.println(" ____________________________________________________________\n"); + break; default: - String event = sc.nextLine(); - taskList.add(new Task(command + event)); + String task = sc.nextLine(); + taskList.add(new Task(command + task)); System.out.println(" ____________________________________________________________"); - System.out.println(" added: " + command + event); + System.out.println(" added: " + command + task); System.out.println(" ____________________________________________________________\n"); break; } diff --git a/src/main/java/Event.java b/src/main/java/Event.java new file mode 100644 index 0000000000..f1aae64de8 --- /dev/null +++ b/src/main/java/Event.java @@ -0,0 +1,16 @@ +package main.java; + +public class Event extends Task { + protected String time; + + public Event(String description, String time) { + super(description); + this.time = time; + } + + @Override + public void printDescription() { + System.out.println("[E][" + getStatusIcon() + + "] " + description + "(at:" + time + ")"); + } +} diff --git a/src/main/java/Task.java b/src/main/java/Task.java index 9df0f1c6b0..24c96ca8e5 100644 --- a/src/main/java/Task.java +++ b/src/main/java/Task.java @@ -18,6 +18,6 @@ public void markAsDone() { } public void printDescription() { - System.out.println(" [" + getStatusIcon() + "] " + description); + System.out.println("[" + getStatusIcon() + "] " + description); } } diff --git a/src/main/java/Todo.java b/src/main/java/Todo.java new file mode 100644 index 0000000000..dc68721a3e --- /dev/null +++ b/src/main/java/Todo.java @@ -0,0 +1,12 @@ +package main.java; + +public class Todo extends Task { + public Todo(String description) { + super(description); + } + + @Override + public void printDescription() { + System.out.println("[T][" + getStatusIcon() + "]" + description); + } +} From 46c1cf5c53abeb1e71c376069cd49217ccc5f129 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Sun, 30 Aug 2020 21:20:57 +0800 Subject: [PATCH 10/51] Added feature for Automated Text UI Testing --- src/main/java/Duke.java | 10 +++--- text-ui-test/EXPECTED.TXT | 67 ++++++++++++++++++++++++++++++++++++++- text-ui-test/input.txt | 19 +++++++++++ text-ui-test/runtest.sh | 4 +-- 4 files changed, 92 insertions(+), 8 deletions(-) diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index 76be0f89c6..dddd452cd0 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -7,7 +7,7 @@ public class Duke { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String logo = " ____ _ \n" - + "| _ \\ _ _| | _____ \n" + + "| _ \\ _ _| | _____\n" + "| | | | | | | |/ / _ \\\n" + "| |_| | |_| | < __/\n" + "|____/ \\__,_|_|\\_\\___|\n"; @@ -40,7 +40,7 @@ public static void main(String[] args) { Task currentTask = taskList.get(index - 1); currentTask.markAsDone(); System.out.println(" ____________________________________________________________"); - System.out.println(" Nice! I've marked this task as done: "); + System.out.println(" Nice! I've marked this task as done:"); System.out.print(" "); currentTask.printDescription(); System.out.println(" ____________________________________________________________\n"); @@ -50,7 +50,7 @@ public static void main(String[] args) { Todo todo = new Todo(todoDescription); taskList.add(todo); System.out.println(" ____________________________________________________________"); - System.out.println(" Got it. I've added this task: "); + System.out.println(" Got it. I've added this task:"); System.out.print(" "); todo.printDescription(); System.out.println(" Now you have " + taskList.size() + " tasks in the list."); @@ -67,7 +67,7 @@ public static void main(String[] args) { Deadline deadline = new Deadline(deadlineDescription, time); taskList.add(deadline); System.out.println(" ____________________________________________________________"); - System.out.println(" Got it. I've added this task: "); + System.out.println(" Got it. I've added this task:"); System.out.print(" "); deadline.printDescription(); System.out.println(" Now you have " + taskList.size() + " tasks in the list."); @@ -84,7 +84,7 @@ public static void main(String[] args) { Event event = new Event(eventDescription, date); taskList.add(event); System.out.println(" ____________________________________________________________"); - System.out.println(" Got it. I've added this task: "); + System.out.println(" Got it. I've added this task:"); System.out.print(" "); event.printDescription(); System.out.println(" Now you have " + taskList.size() + " tasks in the list."); diff --git a/text-ui-test/EXPECTED.TXT b/text-ui-test/EXPECTED.TXT index 657e74f6e7..a7d7361081 100644 --- a/text-ui-test/EXPECTED.TXT +++ b/text-ui-test/EXPECTED.TXT @@ -1,7 +1,72 @@ Hello from ____ _ -| _ \ _ _| | _____ +| _ \ _ _| | _____ | | | | | | | |/ / _ \ | |_| | |_| | < __/ |____/ \__,_|_|\_\___| + ____________________________________________________________ + Hello! I'm Duke + What can I do for you? + ____________________________________________________________ + + ____________________________________________________________ + Got it. I've added this task: + [T][?] read book + Now you have 1 tasks in the list. + ____________________________________________________________ + + ____________________________________________________________ + Got it. I've added this task: + [D][?] return book (by: June 6th) + Now you have 2 tasks in the list. + ____________________________________________________________ + + ____________________________________________________________ + Got it. I've added this task: + [E][?] project meeting (at: Aug 6th 2-4pm) + Now you have 3 tasks in the list. + ____________________________________________________________ + + ____________________________________________________________ + Nice! I've marked this task as done: + [T][?] read book + ____________________________________________________________ + + ____________________________________________________________ + Here are the tasks in your list: + 1.[T][?] read book + 2.[D][?] return book (by: June 6th) + 3.[E][?] project meeting (at: Aug 6th 2-4pm) + ____________________________________________________________ + + ____________________________________________________________ + Nice! I've marked this task as done: + [E][?] project meeting (at: Aug 6th 2-4pm) + ____________________________________________________________ + + ____________________________________________________________ + Here are the tasks in your list: + 1.[T][?] read book + 2.[D][?] return book (by: June 6th) + 3.[E][?] project meeting (at: Aug 6th 2-4pm) + ____________________________________________________________ + + ____________________________________________________________ + Got it. I've added this task: + [T][?] buy bread + Now you have 4 tasks in the list. + ____________________________________________________________ + + ____________________________________________________________ + Here are the tasks in your list: + 1.[T][?] read book + 2.[D][?] return book (by: June 6th) + 3.[E][?] project meeting (at: Aug 6th 2-4pm) + 4.[T][?] buy bread + ____________________________________________________________ + + ____________________________________________________________ + Bye. Hope to see you again soon! + ____________________________________________________________ + diff --git a/text-ui-test/input.txt b/text-ui-test/input.txt index e69de29bb2..a2764ed013 100644 --- a/text-ui-test/input.txt +++ b/text-ui-test/input.txt @@ -0,0 +1,19 @@ +todo read book + +deadline return book /by June 6th + +event project meeting /at Aug 6th 2-4pm + +done 1 + +list + +done 3 + +list + +todo buy bread + +list + +bye \ No newline at end of file diff --git a/text-ui-test/runtest.sh b/text-ui-test/runtest.sh index e169618a34..99dc061d83 100644 --- a/text-ui-test/runtest.sh +++ b/text-ui-test/runtest.sh @@ -20,7 +20,7 @@ then fi # 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 main.java.Duke < input.txt > ACTUAL.TXT # convert to UNIX format cp EXPECTED.TXT EXPECTED-UNIX.TXT @@ -35,4 +35,4 @@ then else echo "Test result: FAILED" exit 1 -fi \ No newline at end of file +fi From bf028615722ddadab27df5b40c054b1e55b4a077 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Wed, 2 Sep 2020 23:44:58 +0800 Subject: [PATCH 11/51] Added feature for Exception handling simplified the main class --- src/main/java/CommandHandler.java | 137 ++++++++++++++++++++++++++++++ src/main/java/Duke.java | 92 +------------------- src/main/java/DukeException.java | 7 ++ 3 files changed, 148 insertions(+), 88 deletions(-) create mode 100644 src/main/java/CommandHandler.java create mode 100644 src/main/java/DukeException.java diff --git a/src/main/java/CommandHandler.java b/src/main/java/CommandHandler.java new file mode 100644 index 0000000000..d081fec542 --- /dev/null +++ b/src/main/java/CommandHandler.java @@ -0,0 +1,137 @@ +package main.java; + +import java.util.ArrayList; +import java.util.Scanner; + +public class CommandHandler { + Scanner sc; + ArrayList taskList; + + public CommandHandler() { + this.sc = new Scanner(System.in); + this.taskList = new ArrayList<>(); + } + + public void handleCommand() { + while (true) { + String command = sc.next(); + switch (command) { + case "bye": + handleBye(); + return; + case "list": + handleList(); + break; + case "done": + handleDone(); + break; + case "todo": + try { + handleTodo(); + } catch (DukeException e) { + System.out.println(" ____________________________________________________________"); + System.out.println(" " + e.getMessage()); + System.out.println(" ____________________________________________________________\n"); + } + break; + case "deadline": + handleDeadline(); + break; + case "event": + handleEvent(); + break; + default: + try { + handleDefault(); + } catch (DukeException e) { + System.out.println(" ____________________________________________________________"); + System.out.println(" " + e.getMessage()); + System.out.println(" ____________________________________________________________\n"); + } + } + } + } + + public void handleBye() { + System.out.println(" ____________________________________________________________"); + System.out.println(" Bye. Hope to see you again soon!"); + System.out.println(" ____________________________________________________________\n"); + return; + } + + public void handleList() { + System.out.println(" ____________________________________________________________"); + System.out.println(" Here are the tasks in your list:"); + for (int i = 0; i < taskList.size(); i++) { + System.out.print(" " + (i + 1) + "."); + taskList.get(i).printDescription(); + } + System.out.println(" ____________________________________________________________\n"); + } + + public void handleDone() { + int index = sc.nextInt(); + Task currentTask = taskList.get(index - 1); + currentTask.markAsDone(); + System.out.println(" ____________________________________________________________"); + System.out.println(" Nice! I've marked this task as done:"); + System.out.print(" "); + currentTask.printDescription(); + System.out.println(" ____________________________________________________________\n"); + } + + public void handleTodo() throws DukeException { + String todoDescription = sc.nextLine(); + if (todoDescription.isEmpty()) { + throw new DukeException("\u2639 OOPS!!! The description of a todo cannot be empty."); + } + Todo todo = new Todo(todoDescription); + taskList.add(todo); + System.out.println(" ____________________________________________________________"); + System.out.println(" Got it. I've added this task:"); + System.out.print(" "); + todo.printDescription(); + System.out.println(" Now you have " + taskList.size() + " tasks in the list."); + System.out.println(" ____________________________________________________________\n"); + } + + public void handleDeadline() { + String deadlineDescription = ""; + while (!sc.hasNext("/by")) { + deadlineDescription += sc.next(); + deadlineDescription += " "; + } + sc.next("/by"); + String time = sc.nextLine(); + Deadline deadline = new Deadline(deadlineDescription, time); + taskList.add(deadline); + System.out.println(" ____________________________________________________________"); + System.out.println(" Got it. I've added this task:"); + System.out.print(" "); + deadline.printDescription(); + System.out.println(" Now you have " + taskList.size() + " tasks in the list."); + System.out.println(" ____________________________________________________________\n"); + } + + public void handleEvent() { + String eventDescription = ""; + while (!sc.hasNext("/at")) { + eventDescription += sc.next(); + eventDescription += " "; + } + sc.next("/at"); + String date = sc.nextLine(); + Event event = new Event(eventDescription, date); + taskList.add(event); + System.out.println(" ____________________________________________________________"); + System.out.println(" Got it. I've added this task:"); + System.out.print(" "); + event.printDescription(); + System.out.println(" Now you have " + taskList.size() + " tasks in the list."); + System.out.println(" ____________________________________________________________\n"); + } + + public void handleDefault() throws DukeException { + throw new DukeException("\u2639 OOPS!!! I'm sorry, but I don't know what that means :-("); + } +} \ No newline at end of file diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index dddd452cd0..944c7b835e 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -1,11 +1,7 @@ package main.java; -import java.util.Scanner; -import java.util.ArrayList; - public class Duke { - public static void main(String[] args) { - Scanner sc = new Scanner(System.in); + public static void main(String[] args){ String logo = " ____ _ \n" + "| _ \\ _ _| | _____\n" + "| | | | | | | |/ / _ \\\n" @@ -16,88 +12,8 @@ public static void main(String[] args) { System.out.println(" Hello! I'm Duke\n What can I do for you?"); System.out.println(" ____________________________________________________________\n"); - ArrayList taskList = new ArrayList(); - - while (true) { - String command = sc.next(); - switch(command) { - case "bye": - System.out.println(" ____________________________________________________________"); - System.out.println(" Bye. Hope to see you again soon!"); - System.out.println(" ____________________________________________________________\n"); - return; - case "list": - System.out.println(" ____________________________________________________________"); - System.out.println(" Here are the tasks in your list:"); - for (int i = 0; i < taskList.size(); i++) { - System.out.print(" " + (i + 1) + "."); - taskList.get(i).printDescription(); - } - System.out.println(" ____________________________________________________________\n"); - break; - case "done": - int index = sc.nextInt(); - Task currentTask = taskList.get(index - 1); - currentTask.markAsDone(); - System.out.println(" ____________________________________________________________"); - System.out.println(" Nice! I've marked this task as done:"); - System.out.print(" "); - currentTask.printDescription(); - System.out.println(" ____________________________________________________________\n"); - break; - case "todo": - String todoDescription = sc.nextLine(); - Todo todo = new Todo(todoDescription); - taskList.add(todo); - System.out.println(" ____________________________________________________________"); - System.out.println(" Got it. I've added this task:"); - System.out.print(" "); - todo.printDescription(); - System.out.println(" Now you have " + taskList.size() + " tasks in the list."); - System.out.println(" ____________________________________________________________\n"); - break; - case "deadline": - String deadlineDescription = ""; - while (!sc.hasNext("/by")) { - deadlineDescription += sc.next(); - deadlineDescription += " "; - } - sc.next("/by"); - String time = sc.nextLine(); - Deadline deadline = new Deadline(deadlineDescription, time); - taskList.add(deadline); - System.out.println(" ____________________________________________________________"); - System.out.println(" Got it. I've added this task:"); - System.out.print(" "); - deadline.printDescription(); - System.out.println(" Now you have " + taskList.size() + " tasks in the list."); - System.out.println(" ____________________________________________________________\n"); - break; - case "event": - String eventDescription = ""; - while (!sc.hasNext("/at")) { - eventDescription += sc.next(); - eventDescription += " "; - } - sc.next("/at"); - String date = sc.nextLine(); - Event event = new Event(eventDescription, date); - taskList.add(event); - System.out.println(" ____________________________________________________________"); - System.out.println(" Got it. I've added this task:"); - System.out.print(" "); - event.printDescription(); - System.out.println(" Now you have " + taskList.size() + " tasks in the list."); - System.out.println(" ____________________________________________________________\n"); - break; - default: - String task = sc.nextLine(); - taskList.add(new Task(command + task)); - System.out.println(" ____________________________________________________________"); - System.out.println(" added: " + command + task); - System.out.println(" ____________________________________________________________\n"); - break; - } - } + CommandHandler commandHandler = new CommandHandler(); + commandHandler.handleCommand(); } } + diff --git a/src/main/java/DukeException.java b/src/main/java/DukeException.java new file mode 100644 index 0000000000..38e4326f66 --- /dev/null +++ b/src/main/java/DukeException.java @@ -0,0 +1,7 @@ +package main.java; + +public class DukeException extends Exception { + public DukeException(String ErrorMessage) { + super(ErrorMessage); + } +} From 9ed888d2c7fcbba66c6a2772aebf12638894e371 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Thu, 3 Sep 2020 08:28:36 +0800 Subject: [PATCH 12/51] Handled exceptions for deadline updated testcases --- src/main/java/CommandHandler.java | 26 ++++++++++++++++++-------- src/main/java/Deadline.java | 2 +- text-ui-test/EXPECTED.TXT | 16 ++++++++++++++++ text-ui-test/input.txt | 8 ++++++++ 4 files changed, 43 insertions(+), 9 deletions(-) diff --git a/src/main/java/CommandHandler.java b/src/main/java/CommandHandler.java index d081fec542..580e47352c 100644 --- a/src/main/java/CommandHandler.java +++ b/src/main/java/CommandHandler.java @@ -35,7 +35,13 @@ public void handleCommand() { } break; case "deadline": - handleDeadline(); + try { + handleDeadline(); + } catch (DukeException e) { + System.out.println(" ____________________________________________________________"); + System.out.println(" " + e.getMessage()); + System.out.println(" ____________________________________________________________\n"); + } break; case "event": handleEvent(); @@ -95,14 +101,18 @@ public void handleTodo() throws DukeException { System.out.println(" ____________________________________________________________\n"); } - public void handleDeadline() { - String deadlineDescription = ""; - while (!sc.hasNext("/by")) { - deadlineDescription += sc.next(); - deadlineDescription += " "; + public void handleDeadline() throws DukeException { + + String deadlineCommand = sc.nextLine(); + if (deadlineCommand.isEmpty()) { + throw new DukeException("\u2639 OOPS!!! The description of a deadline cannot be empty."); + } + if (!deadlineCommand.contains("/by")) { + throw new DukeException("\u2639 OOPS!!! The timing of a deadline cannot be empty."); } - sc.next("/by"); - String time = sc.nextLine(); + String[] strings = deadlineCommand.split("/by"); + String deadlineDescription = strings[0]; + String time = strings[1]; Deadline deadline = new Deadline(deadlineDescription, time); taskList.add(deadline); System.out.println(" ____________________________________________________________"); diff --git a/src/main/java/Deadline.java b/src/main/java/Deadline.java index c219576652..269cff2eb3 100644 --- a/src/main/java/Deadline.java +++ b/src/main/java/Deadline.java @@ -11,6 +11,6 @@ public Deadline(String description, String deadline) { @Override public void printDescription() { System.out.println("[D][" + getStatusIcon() - + "] " + description + "(by:" + deadline + ")"); + + "]" + description + "(by:" + deadline + ")"); } } diff --git a/text-ui-test/EXPECTED.TXT b/text-ui-test/EXPECTED.TXT index a7d7361081..5d1988c921 100644 --- a/text-ui-test/EXPECTED.TXT +++ b/text-ui-test/EXPECTED.TXT @@ -66,6 +66,22 @@ Hello from 4.[T][?] buy bread ____________________________________________________________ + ____________________________________________________________ + ? OOPS!!! The description of a todo cannot be empty. + ____________________________________________________________ + + ____________________________________________________________ + ? OOPS!!! I'm sorry, but I don't know what that means :-( + ____________________________________________________________ + + ____________________________________________________________ + ? OOPS!!! The description of a deadline cannot be empty. + ____________________________________________________________ + + ____________________________________________________________ + ? OOPS!!! The timing of a deadline cannot be empty. + ____________________________________________________________ + ____________________________________________________________ Bye. Hope to see you again soon! ____________________________________________________________ diff --git a/text-ui-test/input.txt b/text-ui-test/input.txt index a2764ed013..81e2f30611 100644 --- a/text-ui-test/input.txt +++ b/text-ui-test/input.txt @@ -16,4 +16,12 @@ todo buy bread list +todo + +blah + +deadline + +deadline take a nap + bye \ No newline at end of file From 46300502332a007040014b10f9206e7c273fbbdb Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Thu, 3 Sep 2020 08:36:16 +0800 Subject: [PATCH 13/51] updated exceptions handling for event --- src/main/java/CommandHandler.java | 25 +++++++++++++++++-------- src/main/java/Event.java | 2 +- text-ui-test/EXPECTED.TXT | 8 ++++++++ text-ui-test/input.txt | 4 ++++ 4 files changed, 30 insertions(+), 9 deletions(-) diff --git a/src/main/java/CommandHandler.java b/src/main/java/CommandHandler.java index 580e47352c..436abdd2de 100644 --- a/src/main/java/CommandHandler.java +++ b/src/main/java/CommandHandler.java @@ -44,7 +44,13 @@ public void handleCommand() { } break; case "event": - handleEvent(); + try { + handleEvent(); + } catch (DukeException e) { + System.out.println(" ____________________________________________________________"); + System.out.println(" " + e.getMessage()); + System.out.println(" ____________________________________________________________\n"); + } break; default: try { @@ -123,14 +129,17 @@ public void handleDeadline() throws DukeException { System.out.println(" ____________________________________________________________\n"); } - public void handleEvent() { - String eventDescription = ""; - while (!sc.hasNext("/at")) { - eventDescription += sc.next(); - eventDescription += " "; + public void handleEvent() throws DukeException{ + String eventCommand = sc.nextLine(); + if (eventCommand.isEmpty()) { + throw new DukeException("\u2639 OOPS!!! The description of an event cannot be empty."); + } + if (!eventCommand.contains("/at")) { + throw new DukeException("\u2639 OOPS!!! The timing of an event cannot be empty."); } - sc.next("/at"); - String date = sc.nextLine(); + String[] strings = eventCommand.split("/at"); + String eventDescription = strings[0]; + String date = strings[1]; Event event = new Event(eventDescription, date); taskList.add(event); System.out.println(" ____________________________________________________________"); diff --git a/src/main/java/Event.java b/src/main/java/Event.java index f1aae64de8..f225ca4fff 100644 --- a/src/main/java/Event.java +++ b/src/main/java/Event.java @@ -11,6 +11,6 @@ public Event(String description, String time) { @Override public void printDescription() { System.out.println("[E][" + getStatusIcon() - + "] " + description + "(at:" + time + ")"); + + "]" + description + "(at:" + time + ")"); } } diff --git a/text-ui-test/EXPECTED.TXT b/text-ui-test/EXPECTED.TXT index 5d1988c921..1cf59c67e3 100644 --- a/text-ui-test/EXPECTED.TXT +++ b/text-ui-test/EXPECTED.TXT @@ -82,6 +82,14 @@ Hello from ? OOPS!!! The timing of a deadline cannot be empty. ____________________________________________________________ + ____________________________________________________________ + ? OOPS!!! The description of an event cannot be empty. + ____________________________________________________________ + + ____________________________________________________________ + ? OOPS!!! The timing of an event cannot be empty. + ____________________________________________________________ + ____________________________________________________________ Bye. Hope to see you again soon! ____________________________________________________________ diff --git a/text-ui-test/input.txt b/text-ui-test/input.txt index 81e2f30611..05d78e8390 100644 --- a/text-ui-test/input.txt +++ b/text-ui-test/input.txt @@ -24,4 +24,8 @@ deadline deadline take a nap +event + +event have dinner + bye \ No newline at end of file From eccd4bda1caf0cadee7f7c0d44cf50abecaceb40 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Thu, 3 Sep 2020 08:45:54 +0800 Subject: [PATCH 14/51] Finished delete function --- src/main/java/CommandHandler.java | 15 +++++++++++++++ text-ui-test/EXPECTED.TXT | 13 +++++++++++++ text-ui-test/input.txt | 4 ++++ 3 files changed, 32 insertions(+) diff --git a/src/main/java/CommandHandler.java b/src/main/java/CommandHandler.java index 436abdd2de..7734951e80 100644 --- a/src/main/java/CommandHandler.java +++ b/src/main/java/CommandHandler.java @@ -25,6 +25,9 @@ public void handleCommand() { case "done": handleDone(); break; + case "delete": + handleDelete(); + break; case "todo": try { handleTodo(); @@ -92,6 +95,18 @@ public void handleDone() { System.out.println(" ____________________________________________________________\n"); } + public void handleDelete() { + int index = sc.nextInt(); + Task currentTask = taskList.get(index - 1); + taskList.remove(index - 1); + System.out.println(" ____________________________________________________________"); + System.out.println(" Noted! I've removed this task:"); + System.out.print(" "); + currentTask.printDescription(); + System.out.println(" Now you have " + taskList.size() + " tasks in the list."); + System.out.println(" ____________________________________________________________\n"); + } + public void handleTodo() throws DukeException { String todoDescription = sc.nextLine(); if (todoDescription.isEmpty()) { diff --git a/text-ui-test/EXPECTED.TXT b/text-ui-test/EXPECTED.TXT index 1cf59c67e3..42ab00069c 100644 --- a/text-ui-test/EXPECTED.TXT +++ b/text-ui-test/EXPECTED.TXT @@ -90,6 +90,19 @@ Hello from ? OOPS!!! The timing of an event cannot be empty. ____________________________________________________________ + ____________________________________________________________ + Noted! I've removed this task: + [E][?] project meeting (at: Aug 6th 2-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: June 6th) + 3.[T][?] buy bread + ____________________________________________________________ + ____________________________________________________________ Bye. Hope to see you again soon! ____________________________________________________________ diff --git a/text-ui-test/input.txt b/text-ui-test/input.txt index 05d78e8390..2d677a6fbe 100644 --- a/text-ui-test/input.txt +++ b/text-ui-test/input.txt @@ -28,4 +28,8 @@ event event have dinner +delete 3 + +list + bye \ No newline at end of file From 518a798455188b8421a361a8758f14c42bc5276f Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Thu, 3 Sep 2020 11:27:39 +0800 Subject: [PATCH 15/51] Handled exception for Done --- src/main/java/CommandHandler.java | 27 ++++++++++++++++++++++++--- text-ui-test/EXPECTED.TXT | 12 ++++++++++++ text-ui-test/input.txt | 6 ++++++ 3 files changed, 42 insertions(+), 3 deletions(-) diff --git a/src/main/java/CommandHandler.java b/src/main/java/CommandHandler.java index 7734951e80..495b031e16 100644 --- a/src/main/java/CommandHandler.java +++ b/src/main/java/CommandHandler.java @@ -23,7 +23,13 @@ public void handleCommand() { handleList(); break; case "done": - handleDone(); + try { + handleDone(); + } catch (DukeException e) { + System.out.println(" ____________________________________________________________"); + System.out.println(" " + e.getMessage()); + System.out.println(" ____________________________________________________________\n"); + } break; case "delete": handleDelete(); @@ -84,8 +90,23 @@ public void handleList() { System.out.println(" ____________________________________________________________\n"); } - public void handleDone() { - int index = sc.nextInt(); + public void handleDone() throws DukeException { + String doneCommand = sc.nextLine(); + int index = 0; + if (doneCommand.isEmpty()) { + throw new DukeException("\u2639 OOPS!!! I need to know the index of the task to be done!"); + } + try { + index = Integer.parseInt(doneCommand.stripLeading()); + } catch (NumberFormatException e) { + System.out.println(" ____________________________________________________________"); + System.out.println(" \u2639 Please enter a valid integer!!"); + System.out.println(" ____________________________________________________________\n"); + return; + } + if (index > taskList.size()) { + throw new DukeException("\u2639 Your number is too large!!"); + } Task currentTask = taskList.get(index - 1); currentTask.markAsDone(); System.out.println(" ____________________________________________________________"); diff --git a/text-ui-test/EXPECTED.TXT b/text-ui-test/EXPECTED.TXT index 42ab00069c..0ccc8da004 100644 --- a/text-ui-test/EXPECTED.TXT +++ b/text-ui-test/EXPECTED.TXT @@ -103,6 +103,18 @@ Hello from 3.[T][?] buy bread ____________________________________________________________ + ____________________________________________________________ + ? OOPS!!! I need to know the index of the task to be done! + ____________________________________________________________ + + ____________________________________________________________ + ? Your number is too large!! + ____________________________________________________________ + + ____________________________________________________________ + ? Please enter a valid integer!! + ____________________________________________________________ + ____________________________________________________________ Bye. Hope to see you again soon! ____________________________________________________________ diff --git a/text-ui-test/input.txt b/text-ui-test/input.txt index 2d677a6fbe..2ef05f2552 100644 --- a/text-ui-test/input.txt +++ b/text-ui-test/input.txt @@ -32,4 +32,10 @@ delete 3 list +done + +done 5 + +done this + bye \ No newline at end of file From 3d92ca22c5e0978e2bfbf50d02dfaeff17698f08 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Thu, 3 Sep 2020 11:33:11 +0800 Subject: [PATCH 16/51] Updated exception handling for delete operation --- src/main/java/CommandHandler.java | 27 ++++++++++++++++++++++++--- text-ui-test/EXPECTED.TXT | 12 ++++++++++++ text-ui-test/input.txt | 6 ++++++ 3 files changed, 42 insertions(+), 3 deletions(-) diff --git a/src/main/java/CommandHandler.java b/src/main/java/CommandHandler.java index 495b031e16..fc77442ad6 100644 --- a/src/main/java/CommandHandler.java +++ b/src/main/java/CommandHandler.java @@ -32,7 +32,13 @@ public void handleCommand() { } break; case "delete": - handleDelete(); + try { + handleDelete(); + } catch (DukeException e) { + System.out.println(" ____________________________________________________________"); + System.out.println(" " + e.getMessage()); + System.out.println(" ____________________________________________________________\n"); + } break; case "todo": try { @@ -116,8 +122,23 @@ public void handleDone() throws DukeException { System.out.println(" ____________________________________________________________\n"); } - public void handleDelete() { - int index = sc.nextInt(); + public void handleDelete() throws DukeException { + String deleteCommand = sc.nextLine(); + int index = 0; + if (deleteCommand.isEmpty()) { + throw new DukeException("\u2639 OOPS!!! I need to know the index of the task to be deleted!"); + } + try { + index = Integer.parseInt(deleteCommand.stripLeading()); + } catch (NumberFormatException e) { + System.out.println(" ____________________________________________________________"); + System.out.println(" \u2639 Please enter a valid integer!!"); + System.out.println(" ____________________________________________________________\n"); + return; + } + if (index > taskList.size()) { + throw new DukeException("\u2639 Your number is too large!!"); + } Task currentTask = taskList.get(index - 1); taskList.remove(index - 1); System.out.println(" ____________________________________________________________"); diff --git a/text-ui-test/EXPECTED.TXT b/text-ui-test/EXPECTED.TXT index 0ccc8da004..31fa5e8f51 100644 --- a/text-ui-test/EXPECTED.TXT +++ b/text-ui-test/EXPECTED.TXT @@ -115,6 +115,18 @@ Hello from ? Please enter a valid integer!! ____________________________________________________________ + ____________________________________________________________ + ? OOPS!!! I need to know the index of the task to be deleted! + ____________________________________________________________ + + ____________________________________________________________ + ? Your number is too large!! + ____________________________________________________________ + + ____________________________________________________________ + ? Please enter a valid integer!! + ____________________________________________________________ + ____________________________________________________________ Bye. Hope to see you again soon! ____________________________________________________________ diff --git a/text-ui-test/input.txt b/text-ui-test/input.txt index 2ef05f2552..7d81aebd3e 100644 --- a/text-ui-test/input.txt +++ b/text-ui-test/input.txt @@ -38,4 +38,10 @@ done 5 done this +delete + +delete 6 + +delete this + bye \ No newline at end of file From 488eaec75ff7c17d777b365d6be1f57ebed9c664 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Mon, 7 Sep 2020 22:57:17 +0800 Subject: [PATCH 17/51] Saved the list of tasks in a txt. file. Every time will load the data from the file. --- command.txt | 0 src/main/java/CommandHandler.java | 35 +++++++++++++++++-- src/main/java/Deadline.java | 5 +++ src/main/java/Duke.java | 22 +++++++++++- src/main/java/Event.java | 5 +++ src/main/java/Loader.java | 56 +++++++++++++++++++++++++++++++ src/main/java/Task.java | 5 +++ src/main/java/Todo.java | 4 +++ 8 files changed, 129 insertions(+), 3 deletions(-) create mode 100644 command.txt create mode 100644 src/main/java/Loader.java diff --git a/command.txt b/command.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/main/java/CommandHandler.java b/src/main/java/CommandHandler.java index fc77442ad6..4d48a21820 100644 --- a/src/main/java/CommandHandler.java +++ b/src/main/java/CommandHandler.java @@ -1,5 +1,7 @@ package main.java; +import java.io.FileWriter; +import java.io.IOException; import java.util.ArrayList; import java.util.Scanner; @@ -7,9 +9,9 @@ public class CommandHandler { Scanner sc; ArrayList taskList; - public CommandHandler() { + public CommandHandler(ArrayList taskList) { this.sc = new Scanner(System.in); - this.taskList = new ArrayList<>(); + this.taskList = taskList; } public void handleCommand() { @@ -210,4 +212,33 @@ public void handleEvent() throws DukeException{ public void handleDefault() throws DukeException { throw new DukeException("\u2639 OOPS!!! I'm sorry, but I don't know what that means :-("); } + + public void updateFile() throws IOException { + FileWriter fw = new FileWriter("./command.txt"); + FileWriter fwAppend = new FileWriter("./command.txt", true); + for (int i = 0; i < taskList.size(); i++) { + Task task = taskList.get(i); + String line; + if(task instanceof Todo) { + int done = task.isDone? 1:0; + line = "T|" + done + "|" + task.description; + } else if(task instanceof Deadline) { + int done = task.isDone? 1:0; + line = "D|" + done + "|" + task.description + "|" + ((Deadline) task).deadline; + } else { + int done = task.isDone? 1:0; + line = "T|" + done + "|" + task.description + "|" + ((Event) task).time; + } + + if (i == 0) { + fw.write(line + '\n'); + } else if (i < taskList.size() - 1) { + fwAppend.write(line + '\n'); + } else { + fwAppend.write(line); + } + } + fw.close(); + fwAppend.close(); + } } \ No newline at end of file diff --git a/src/main/java/Deadline.java b/src/main/java/Deadline.java index 269cff2eb3..fb86d92735 100644 --- a/src/main/java/Deadline.java +++ b/src/main/java/Deadline.java @@ -8,6 +8,11 @@ public Deadline(String description, String deadline) { this.deadline = deadline; } + public Deadline(String description, String deadline, boolean isDone) { + super(description, isDone); + this.deadline = deadline; + } + @Override public void printDescription() { System.out.println("[D][" + getStatusIcon() diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index 944c7b835e..7851a329f9 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -1,5 +1,9 @@ package main.java; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.ArrayList; + public class Duke { public static void main(String[] args){ String logo = " ____ _ \n" @@ -12,8 +16,24 @@ public static void main(String[] args){ System.out.println(" Hello! I'm Duke\n What can I do for you?"); System.out.println(" ____________________________________________________________\n"); - CommandHandler commandHandler = new CommandHandler(); + Loader loader = new Loader(); + ArrayList taskList; + try{ + taskList = loader.load(); + } catch (DukeException e) { + System.out.println(e.getMessage()); + return; + } + + CommandHandler commandHandler = new CommandHandler(taskList); commandHandler.handleCommand(); + try { + commandHandler.updateFile(); + } catch (IOException e) { + System.out.println(e); + System.out.println("IOException from FileWriter!!"); + return; + } } } diff --git a/src/main/java/Event.java b/src/main/java/Event.java index f225ca4fff..86b1ffcfc8 100644 --- a/src/main/java/Event.java +++ b/src/main/java/Event.java @@ -8,6 +8,11 @@ public Event(String description, String time) { this.time = time; } + public Event(String description, String time, boolean isDone) { + super(description, isDone); + this.time = time; + } + @Override public void printDescription() { System.out.println("[E][" + getStatusIcon() diff --git a/src/main/java/Loader.java b/src/main/java/Loader.java new file mode 100644 index 0000000000..48c1e96395 --- /dev/null +++ b/src/main/java/Loader.java @@ -0,0 +1,56 @@ +package main.java; + +import java.util.ArrayList; +import java.io.File; +import java.util.Scanner; +import java.io.FileNotFoundException; + +public class Loader { + + ArrayList taskArrayList; + + public Loader() { + this.taskArrayList = new ArrayList<>(); + } + + public void fill() throws FileNotFoundException { + File f = new File("./command.txt"); + Scanner sc = new Scanner(f); + + while (sc.hasNext()) { + String next = sc.nextLine(); + String[] token = next.split("\\|"); + String first = token[0]; + boolean isDone = (Integer.parseInt(token[1])) == 1? true: false; + + switch(first) { + case "T": { + String description = token[2]; + taskArrayList.add(new Todo(description, isDone)); + break; + } + case "D": { + String description = token[2]; + String time = token[3]; + taskArrayList.add(new Deadline(description, time, isDone)); + break; + } + case "E": { + String description = token[2]; + String time = token[3]; + taskArrayList.add(new Event(description, time, isDone)); + break; + } + } + } + } + + public ArrayList load() throws DukeException { + try{ + fill(); + } catch (FileNotFoundException e) { + throw new DukeException("Cannot find the file!!"); + } + return taskArrayList; + } +} diff --git a/src/main/java/Task.java b/src/main/java/Task.java index 24c96ca8e5..828202ff9c 100644 --- a/src/main/java/Task.java +++ b/src/main/java/Task.java @@ -9,6 +9,11 @@ public Task(String description) { this.isDone = false; } + public Task(String description, boolean isDone) { + this.description = description; + this.isDone = isDone; + } + public String getStatusIcon() { return (isDone ? "\u2713" : "\u2718"); } diff --git a/src/main/java/Todo.java b/src/main/java/Todo.java index dc68721a3e..9a472d8b3a 100644 --- a/src/main/java/Todo.java +++ b/src/main/java/Todo.java @@ -5,6 +5,10 @@ public Todo(String description) { super(description); } + public Todo(String description, boolean isDone) { + super(description, isDone); + } + @Override public void printDescription() { System.out.println("[T][" + getStatusIcon() + "]" + description); From 74ae682dce93f82a4ad21ba6b47129d4a4222a58 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Mon, 7 Sep 2020 23:13:37 +0800 Subject: [PATCH 18/51] solved the bug when the command.txt does not exist. --- command.txt | 2 ++ src/main/java/Loader.java | 13 ++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/command.txt b/command.txt index e69de29bb2..5472836c28 100644 --- a/command.txt +++ b/command.txt @@ -0,0 +1,2 @@ +T|0| lib +D|0| daiu | sadiu \ No newline at end of file diff --git a/src/main/java/Loader.java b/src/main/java/Loader.java index 48c1e96395..697ca0bec5 100644 --- a/src/main/java/Loader.java +++ b/src/main/java/Loader.java @@ -1,5 +1,6 @@ package main.java; +import java.io.IOException; import java.util.ArrayList; import java.io.File; import java.util.Scanner; @@ -13,9 +14,15 @@ public Loader() { this.taskArrayList = new ArrayList<>(); } - public void fill() throws FileNotFoundException { + public void fill() throws IOException { File f = new File("./command.txt"); - Scanner sc = new Scanner(f); + Scanner sc; + try { + sc = new Scanner(f); + } catch (FileNotFoundException e) { + f.createNewFile(); + sc = new Scanner(f); + } while (sc.hasNext()) { String next = sc.nextLine(); @@ -48,7 +55,7 @@ public void fill() throws FileNotFoundException { public ArrayList load() throws DukeException { try{ fill(); - } catch (FileNotFoundException e) { + } catch (IOException e) { throw new DukeException("Cannot find the file!!"); } return taskArrayList; From fc5812c0816e661c86062b67c0a0fde2152a7a02 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Wed, 9 Sep 2020 08:05:20 +0800 Subject: [PATCH 19/51] Stored Deadline data as java.time.LocalDate --- src/main/java/CommandHandler.java | 6 +++++- src/main/java/Deadline.java | 12 +++++++++--- text-ui-test/EXPECTED.TXT | 10 +++++----- text-ui-test/input.txt | 2 +- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/main/java/CommandHandler.java b/src/main/java/CommandHandler.java index fc77442ad6..22a45c84c1 100644 --- a/src/main/java/CommandHandler.java +++ b/src/main/java/CommandHandler.java @@ -1,5 +1,7 @@ package main.java; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Scanner; @@ -176,7 +178,9 @@ public void handleDeadline() throws DukeException { String[] strings = deadlineCommand.split("/by"); String deadlineDescription = strings[0]; String time = strings[1]; - Deadline deadline = new Deadline(deadlineDescription, time); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern(" yyyy-MM-dd"); + LocalDate date = LocalDate.parse(time, formatter); + Deadline deadline = new Deadline(deadlineDescription, date); taskList.add(deadline); System.out.println(" ____________________________________________________________"); System.out.println(" Got it. I've added this task:"); diff --git a/src/main/java/Deadline.java b/src/main/java/Deadline.java index 269cff2eb3..a85e31e751 100644 --- a/src/main/java/Deadline.java +++ b/src/main/java/Deadline.java @@ -1,16 +1,22 @@ package main.java; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; public class Deadline extends Task { - protected String deadline; + protected LocalDate deadline; - public Deadline(String description, String deadline) { + public Deadline(String description, LocalDate deadline) { super(description); this.deadline = deadline; } + private String getDeadline() { + return deadline.format(DateTimeFormatter.ofPattern(" MMM dd yyyy")); + } + @Override public void printDescription() { System.out.println("[D][" + getStatusIcon() - + "]" + description + "(by:" + deadline + ")"); + + "]" + description + "(by:" + getDeadline() + ")"); } } diff --git a/text-ui-test/EXPECTED.TXT b/text-ui-test/EXPECTED.TXT index 31fa5e8f51..8fc19a3790 100644 --- a/text-ui-test/EXPECTED.TXT +++ b/text-ui-test/EXPECTED.TXT @@ -18,7 +18,7 @@ Hello from ____________________________________________________________ Got it. I've added this task: - [D][?] return book (by: June 6th) + [D][?] return book (by: Oct 10 2020) Now you have 2 tasks in the list. ____________________________________________________________ @@ -36,7 +36,7 @@ Hello from ____________________________________________________________ Here are the tasks in your list: 1.[T][?] read book - 2.[D][?] return book (by: June 6th) + 2.[D][?] return book (by: Oct 10 2020) 3.[E][?] project meeting (at: Aug 6th 2-4pm) ____________________________________________________________ @@ -48,7 +48,7 @@ Hello from ____________________________________________________________ Here are the tasks in your list: 1.[T][?] read book - 2.[D][?] return book (by: June 6th) + 2.[D][?] return book (by: Oct 10 2020) 3.[E][?] project meeting (at: Aug 6th 2-4pm) ____________________________________________________________ @@ -61,7 +61,7 @@ Hello from ____________________________________________________________ Here are the tasks in your list: 1.[T][?] read book - 2.[D][?] return book (by: June 6th) + 2.[D][?] return book (by: Oct 10 2020) 3.[E][?] project meeting (at: Aug 6th 2-4pm) 4.[T][?] buy bread ____________________________________________________________ @@ -99,7 +99,7 @@ Hello from ____________________________________________________________ Here are the tasks in your list: 1.[T][?] read book - 2.[D][?] return book (by: June 6th) + 2.[D][?] return book (by: Oct 10 2020) 3.[T][?] buy bread ____________________________________________________________ diff --git a/text-ui-test/input.txt b/text-ui-test/input.txt index 7d81aebd3e..8e0ad6218b 100644 --- a/text-ui-test/input.txt +++ b/text-ui-test/input.txt @@ -1,6 +1,6 @@ todo read book -deadline return book /by June 6th +deadline return book /by 2020-10-10 event project meeting /at Aug 6th 2-4pm From b6efb6352ea84c280af34809cc5561a7d584c695 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Wed, 9 Sep 2020 09:54:44 +0800 Subject: [PATCH 20/51] Revise the OOP of the project --- command.txt | 2 + src/main/java/Duke.java | 41 +++++++++---------- .../java/{CommandHandler.java => Parser.java} | 6 +-- src/main/java/{Loader.java => Storage.java} | 8 ++-- src/main/java/TaskList.java | 31 ++++++++++++++ src/main/java/Ui.java | 20 +++++++++ 6 files changed, 81 insertions(+), 27 deletions(-) create mode 100644 command.txt rename src/main/java/{CommandHandler.java => Parser.java} (99%) rename src/main/java/{Loader.java => Storage.java} (92%) create mode 100644 src/main/java/TaskList.java create mode 100644 src/main/java/Ui.java diff --git a/command.txt b/command.txt new file mode 100644 index 0000000000..be19fc1fc9 --- /dev/null +++ b/command.txt @@ -0,0 +1,2 @@ +T|0| read book +D|0| return |2020-10-09 \ No newline at end of file diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index 7851a329f9..65e960dfa5 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -1,39 +1,38 @@ package main.java; -import java.io.FileNotFoundException; import java.io.IOException; -import java.util.ArrayList; public class Duke { - public static void main(String[] args){ - String logo = " ____ _ \n" - + "| _ \\ _ _| | _____\n" - + "| | | | | | | |/ / _ \\\n" - + "| |_| | |_| | < __/\n" - + "|____/ \\__,_|_|\\_\\___|\n"; - System.out.println("Hello from\n" + logo); - System.out.println(" ____________________________________________________________"); - System.out.println(" Hello! I'm Duke\n What can I do for you?"); - System.out.println(" ____________________________________________________________\n"); + private Storage storage; + private TaskList tasks; + private Ui ui; - Loader loader = new Loader(); - ArrayList taskList; - try{ - taskList = loader.load(); + public Duke(String filePath) { + ui = new Ui(); + storage = new Storage(filePath); + try { + tasks = new TaskList(storage.load()); } catch (DukeException e) { - System.out.println(e.getMessage()); - return; + ui.showLoadingError(); + tasks = new TaskList(); } + } - CommandHandler commandHandler = new CommandHandler(taskList); - commandHandler.handleCommand(); + public void run() { + ui.start(); + Parser parser = new Parser(tasks); + parser.handleCommand(); try { - commandHandler.updateFile(); + parser.updateFile(); } catch (IOException e) { System.out.println(e); System.out.println("IOException from FileWriter!!"); return; } } + + public static void main(String[] args) { + new Duke("./command.txt").run(); + } } diff --git a/src/main/java/CommandHandler.java b/src/main/java/Parser.java similarity index 99% rename from src/main/java/CommandHandler.java rename to src/main/java/Parser.java index b210e2707e..bbddc0ff1f 100644 --- a/src/main/java/CommandHandler.java +++ b/src/main/java/Parser.java @@ -7,11 +7,11 @@ import java.util.ArrayList; import java.util.Scanner; -public class CommandHandler { +public class Parser { Scanner sc; - ArrayList taskList; + TaskList taskList; - public CommandHandler(ArrayList taskList) { + public Parser(TaskList taskList) { this.sc = new Scanner(System.in); this.taskList = taskList; } diff --git a/src/main/java/Loader.java b/src/main/java/Storage.java similarity index 92% rename from src/main/java/Loader.java rename to src/main/java/Storage.java index 283aa6aee0..9a83e784c9 100644 --- a/src/main/java/Loader.java +++ b/src/main/java/Storage.java @@ -7,16 +7,18 @@ import java.util.Scanner; import java.io.FileNotFoundException; -public class Loader { +public class Storage { ArrayList taskArrayList; + String filePath; - public Loader() { + public Storage(String filePath) { this.taskArrayList = new ArrayList<>(); + this.filePath = filePath; } public void fill() throws IOException { - File f = new File("./command.txt"); + File f = new File(filePath); Scanner sc; try { sc = new Scanner(f); diff --git a/src/main/java/TaskList.java b/src/main/java/TaskList.java new file mode 100644 index 0000000000..00ba8ca290 --- /dev/null +++ b/src/main/java/TaskList.java @@ -0,0 +1,31 @@ +package main.java; + +import java.util.ArrayList; + +public class TaskList { + ArrayList tasks; + + TaskList() { + this.tasks = new ArrayList<>(); + } + + TaskList(ArrayList tasks) { + this.tasks = tasks; + } + + protected int size() { + return tasks.size(); + } + + protected Task get(int i) { + return tasks.get(i); + } + + protected void add(Task task) { + tasks.add(task); + } + + protected void remove(int i) { + tasks.remove(i); + } +} diff --git a/src/main/java/Ui.java b/src/main/java/Ui.java new file mode 100644 index 0000000000..cc06a06334 --- /dev/null +++ b/src/main/java/Ui.java @@ -0,0 +1,20 @@ +package main.java; + +public class Ui { + String logo = " ____ _ \n" + + "| _ \\ _ _| | _____\n" + + "| | | | | | | |/ / _ \\\n" + + "| |_| | |_| | < __/\n" + + "|____/ \\__,_|_|\\_\\___|\n"; + + protected void start() { + System.out.println("Hello from\n" + logo); + System.out.println(" ____________________________________________________________"); + System.out.println(" Hello! I'm Duke\n What can I do for you?"); + System.out.println(" ____________________________________________________________\n"); + } + + protected void showLoadingError() { + System.out.println("Oops!! There is a Loading error!!"); + } +} From ecd96094ef9475663e36df5bab4451312b3d0f0f Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Wed, 9 Sep 2020 11:14:21 +0800 Subject: [PATCH 21/51] Add Junit test cases --- src/main/java/Deadline.java | 9 +++++++-- src/main/java/Event.java | 9 +++++++-- src/main/java/TaskList.java | 6 +++--- src/main/java/Ui.java | 2 +- src/test/java/DeadlineTest.java | 14 ++++++++++++++ src/test/java/EventTest.java | 12 ++++++++++++ src/test/java/TaskListTest.java | 30 ++++++++++++++++++++++++++++++ 7 files changed, 74 insertions(+), 8 deletions(-) create mode 100644 src/test/java/DeadlineTest.java create mode 100644 src/test/java/EventTest.java create mode 100644 src/test/java/TaskListTest.java diff --git a/src/main/java/Deadline.java b/src/main/java/Deadline.java index 4ff21c35c2..0ef2dcecd8 100644 --- a/src/main/java/Deadline.java +++ b/src/main/java/Deadline.java @@ -20,9 +20,14 @@ private String getDeadline() { return deadline.format(DateTimeFormatter.ofPattern(" MMM dd yyyy")); } + @Override + public String toString() { + return "[D][" + getStatusIcon() + + "]" + description + "(by:" + getDeadline() + ")"; + } + @Override public void printDescription() { - System.out.println("[D][" + getStatusIcon() - + "]" + description + "(by:" + getDeadline() + ")"); + System.out.println(toString()); } } diff --git a/src/main/java/Event.java b/src/main/java/Event.java index 86b1ffcfc8..2346245251 100644 --- a/src/main/java/Event.java +++ b/src/main/java/Event.java @@ -13,9 +13,14 @@ public Event(String description, String time, boolean isDone) { this.time = time; } + @Override + public String toString() { + return "[E][" + getStatusIcon() + + "]" + description + "(at:" + time + ")"; + } + @Override public void printDescription() { - System.out.println("[E][" + getStatusIcon() - + "]" + description + "(at:" + time + ")"); + System.out.println(toString()); } } diff --git a/src/main/java/TaskList.java b/src/main/java/TaskList.java index 00ba8ca290..eab37498c1 100644 --- a/src/main/java/TaskList.java +++ b/src/main/java/TaskList.java @@ -9,15 +9,15 @@ public class TaskList { this.tasks = new ArrayList<>(); } - TaskList(ArrayList tasks) { + public TaskList(ArrayList tasks) { this.tasks = tasks; } - protected int size() { + public int size() { return tasks.size(); } - protected Task get(int i) { + public Task get(int i) { return tasks.get(i); } diff --git a/src/main/java/Ui.java b/src/main/java/Ui.java index cc06a06334..430a2bb9eb 100644 --- a/src/main/java/Ui.java +++ b/src/main/java/Ui.java @@ -7,7 +7,7 @@ public class Ui { + "| |_| | |_| | < __/\n" + "|____/ \\__,_|_|\\_\\___|\n"; - protected void start() { + public void start() { System.out.println("Hello from\n" + logo); System.out.println(" ____________________________________________________________"); System.out.println(" Hello! I'm Duke\n What can I do for you?"); diff --git a/src/test/java/DeadlineTest.java b/src/test/java/DeadlineTest.java new file mode 100644 index 0000000000..43af8463da --- /dev/null +++ b/src/test/java/DeadlineTest.java @@ -0,0 +1,14 @@ +import main.java.Deadline; +import org.junit.jupiter.api.Test; + +import java.time.LocalDate; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class DeadlineTest { + @Test + public void toStringTest() { + assertEquals("[D][\u2718] read book(by: Oct 09 2020)", + new Deadline(" read book", LocalDate.of(2020, 10, 9)).toString()); + } +} diff --git a/src/test/java/EventTest.java b/src/test/java/EventTest.java new file mode 100644 index 0000000000..f2278ef9f3 --- /dev/null +++ b/src/test/java/EventTest.java @@ -0,0 +1,12 @@ +import main.java.Event; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class EventTest { + @Test + public void toStringTest() { + assertEquals("[E][\u2718] read book(at: night)", + new Event(" read book", " night").toString()); + } +} diff --git a/src/test/java/TaskListTest.java b/src/test/java/TaskListTest.java new file mode 100644 index 0000000000..ce41cc51ea --- /dev/null +++ b/src/test/java/TaskListTest.java @@ -0,0 +1,30 @@ +import main.java.Event; +import main.java.TaskList; +import main.java.Task; +import main.java.Todo; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class TaskListTest { + @Test + public void sizeTest() { + ArrayList tasks = new ArrayList<>(); + tasks.add(new Todo("read")); + tasks.add(new Event("sleep", "noon")); + TaskList taskList = new TaskList(tasks); + assertEquals(2, taskList.size()); + } + + @Test + public void getTest() { + ArrayList tasks = new ArrayList<>(); + tasks.add(new Todo("read")); + Event event = new Event("sleep", "noon"); + tasks.add(event); + TaskList taskList = new TaskList(tasks); + assertEquals(event, taskList.get(1)); + } +} From 7dbaa0495f4be0b7dbc97b27f9341318cb546969 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Wed, 9 Sep 2020 11:32:31 +0800 Subject: [PATCH 22/51] add jar file on github --- src/META-INF/MANIFEST.MF | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/META-INF/MANIFEST.MF diff --git a/src/META-INF/MANIFEST.MF b/src/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..4588f17dec --- /dev/null +++ b/src/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: main.java.Duke + From ad53f61055e4157db62af652dabce1ae2fddc789 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Wed, 9 Sep 2020 12:05:16 +0800 Subject: [PATCH 23/51] Adds java docs --- src/main/java/Deadline.java | 5 ++++- src/main/java/Duke.java | 11 ++++++++++ src/main/java/DukeException.java | 3 +++ src/main/java/Event.java | 3 +++ src/main/java/Parser.java | 37 +++++++++++++++++++++++++++++++- src/main/java/Storage.java | 12 +++++++++++ src/main/java/Task.java | 13 +++++++++++ src/main/java/TaskList.java | 20 +++++++++++++++++ src/main/java/Todo.java | 3 +++ src/main/java/Ui.java | 10 +++++++++ 10 files changed, 115 insertions(+), 2 deletions(-) diff --git a/src/main/java/Deadline.java b/src/main/java/Deadline.java index 0ef2dcecd8..0f167422c3 100644 --- a/src/main/java/Deadline.java +++ b/src/main/java/Deadline.java @@ -2,6 +2,9 @@ import java.time.LocalDate; import java.time.format.DateTimeFormatter; +/** + * A kind of the tasks, which has a specific deadline + */ public class Deadline extends Task { protected LocalDate deadline; @@ -15,7 +18,7 @@ public Deadline(String description, LocalDate deadline, boolean isDone) { this.deadline = deadline; this.isDone = isDone; } - + private String getDeadline() { return deadline.format(DateTimeFormatter.ofPattern(" MMM dd yyyy")); } diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index 65e960dfa5..e706d117f9 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -2,6 +2,10 @@ import java.io.IOException; +/** + * Represents a robot who can help the user to make todo list. + * A Duke object is an instance of such robots. + */ public class Duke { private Storage storage; private TaskList tasks; @@ -18,6 +22,9 @@ public Duke(String filePath) { } } + /** + * launch the Duke application, initialize the robot. + */ public void run() { ui.start(); Parser parser = new Parser(tasks); @@ -31,6 +38,10 @@ public void run() { } } + /** + * Main method of the project, launch the project. + * @param args + */ public static void main(String[] args) { new Duke("./command.txt").run(); } diff --git a/src/main/java/DukeException.java b/src/main/java/DukeException.java index 38e4326f66..ede4a9fb21 100644 --- a/src/main/java/DukeException.java +++ b/src/main/java/DukeException.java @@ -1,5 +1,8 @@ package main.java; +/** + * Exceptions which are specific to Duke + */ public class DukeException extends Exception { public DukeException(String ErrorMessage) { super(ErrorMessage); diff --git a/src/main/java/Event.java b/src/main/java/Event.java index 2346245251..d124a61041 100644 --- a/src/main/java/Event.java +++ b/src/main/java/Event.java @@ -1,5 +1,8 @@ package main.java; +/** + * A kind of the tasks, which has a specific time period + */ public class Event extends Task { protected String time; diff --git a/src/main/java/Parser.java b/src/main/java/Parser.java index bbddc0ff1f..59699ce069 100644 --- a/src/main/java/Parser.java +++ b/src/main/java/Parser.java @@ -4,9 +4,12 @@ import java.io.IOException; import java.time.LocalDate; import java.time.format.DateTimeFormatter; -import java.util.ArrayList; import java.util.Scanner; +/** + * Represents a handler of the commands. + * It parses the command the user types in and handles the instructions given + */ public class Parser { Scanner sc; TaskList taskList; @@ -16,6 +19,9 @@ public Parser(TaskList taskList) { this.taskList = taskList; } + /** + * Parses the user inputs and call corresponding methods to handle the instructions + */ public void handleCommand() { while (true) { String command = sc.next(); @@ -83,6 +89,9 @@ public void handleCommand() { } } + /** + * handles instruction "bye" + */ public void handleBye() { System.out.println(" ____________________________________________________________"); System.out.println(" Bye. Hope to see you again soon!"); @@ -90,6 +99,9 @@ public void handleBye() { return; } + /** + * handles instruction "list" + */ public void handleList() { System.out.println(" ____________________________________________________________"); System.out.println(" Here are the tasks in your list:"); @@ -100,6 +112,9 @@ public void handleList() { System.out.println(" ____________________________________________________________\n"); } + /** + * handles instruction "done" + */ public void handleDone() throws DukeException { String doneCommand = sc.nextLine(); int index = 0; @@ -126,6 +141,9 @@ public void handleDone() throws DukeException { System.out.println(" ____________________________________________________________\n"); } + /** + * handles instruction "delete" + */ public void handleDelete() throws DukeException { String deleteCommand = sc.nextLine(); int index = 0; @@ -153,6 +171,9 @@ public void handleDelete() throws DukeException { System.out.println(" ____________________________________________________________\n"); } + /** + * handles instruction "todo" + */ public void handleTodo() throws DukeException { String todoDescription = sc.nextLine(); if (todoDescription.isEmpty()) { @@ -168,6 +189,9 @@ public void handleTodo() throws DukeException { System.out.println(" ____________________________________________________________\n"); } + /** + * handles instruction "deadline" + */ public void handleDeadline() throws DukeException { String deadlineCommand = sc.nextLine(); @@ -192,6 +216,9 @@ public void handleDeadline() throws DukeException { System.out.println(" ____________________________________________________________\n"); } + /** + * handles instruction "event" + */ public void handleEvent() throws DukeException{ String eventCommand = sc.nextLine(); if (eventCommand.isEmpty()) { @@ -213,10 +240,18 @@ public void handleEvent() throws DukeException{ System.out.println(" ____________________________________________________________\n"); } + /** + * throws exceptions when the command is wrongly typed + * @throws DukeException + */ public void handleDefault() throws DukeException { throw new DukeException("\u2639 OOPS!!! I'm sorry, but I don't know what that means :-("); } + /** + * updates the task list in the local hard disk + * @throws IOException + */ public void updateFile() throws IOException { FileWriter fw = new FileWriter("./command.txt"); FileWriter fwAppend = new FileWriter("./command.txt", true); diff --git a/src/main/java/Storage.java b/src/main/java/Storage.java index 9a83e784c9..53b040d7d0 100644 --- a/src/main/java/Storage.java +++ b/src/main/java/Storage.java @@ -7,6 +7,9 @@ import java.util.Scanner; import java.io.FileNotFoundException; +/** + * Represents the local storage of the task list + */ public class Storage { ArrayList taskArrayList; @@ -17,6 +20,10 @@ public Storage(String filePath) { this.filePath = filePath; } + /** + * fills the arraylist with the tasks in the hard disk + * @throws IOException + */ public void fill() throws IOException { File f = new File(filePath); Scanner sc; @@ -56,6 +63,11 @@ public void fill() throws IOException { } } + /** + * loads the task list from local hard disk + * @return the arraylist that contains the tasks loaded from the local hard disk + * @throws DukeException + */ public ArrayList load() throws DukeException { try{ fill(); diff --git a/src/main/java/Task.java b/src/main/java/Task.java index 828202ff9c..8943e1336b 100644 --- a/src/main/java/Task.java +++ b/src/main/java/Task.java @@ -1,5 +1,8 @@ package main.java; +/** + * Tasks that Duke can do for the users + */ public class Task { protected String description; protected boolean isDone; @@ -14,14 +17,24 @@ public Task(String description, boolean isDone) { this.isDone = isDone; } + /** + * Visualizes the isDone() to a String + * @return the icon that represents whether the task is done + */ public String getStatusIcon() { return (isDone ? "\u2713" : "\u2718"); } + /** + * marks the task as done + */ public void markAsDone() { this.isDone = true; } + /** + * prints the task in a easy-read manner + */ public void printDescription() { System.out.println("[" + getStatusIcon() + "] " + description); } diff --git a/src/main/java/TaskList.java b/src/main/java/TaskList.java index eab37498c1..bd35fbfc48 100644 --- a/src/main/java/TaskList.java +++ b/src/main/java/TaskList.java @@ -2,6 +2,9 @@ import java.util.ArrayList; +/** + * Represents a container that holds the tasks + */ public class TaskList { ArrayList tasks; @@ -13,18 +16,35 @@ public TaskList(ArrayList tasks) { this.tasks = tasks; } + /** + * gives the size of the arraylist + * @return the size of the task list + */ public int size() { return tasks.size(); } + /** + * returns a task corresponding to the index given + * @param i index of the wanted task + * @return the task corresponding to the index i + */ public Task get(int i) { return tasks.get(i); } + /** + * adds a new task to the task list + * @param task a new task to be added to the task list + */ protected void add(Task task) { tasks.add(task); } + /** + * Deletes a task from the task list + * @param i index of the task to be removed + */ protected void remove(int i) { tasks.remove(i); } diff --git a/src/main/java/Todo.java b/src/main/java/Todo.java index 9a472d8b3a..bd843dadcb 100644 --- a/src/main/java/Todo.java +++ b/src/main/java/Todo.java @@ -1,5 +1,8 @@ package main.java; +/** + * A kind of the tasks, which contains simply a description + */ public class Todo extends Task { public Todo(String description) { super(description); diff --git a/src/main/java/Ui.java b/src/main/java/Ui.java index 430a2bb9eb..900b9a29fd 100644 --- a/src/main/java/Ui.java +++ b/src/main/java/Ui.java @@ -1,5 +1,9 @@ package main.java; +/** + * The User Interface of the robot + * It prints the greeting message and remind user to input + */ public class Ui { String logo = " ____ _ \n" + "| _ \\ _ _| | _____\n" @@ -7,6 +11,9 @@ public class Ui { + "| |_| | |_| | < __/\n" + "|____/ \\__,_|_|\\_\\___|\n"; + /** + * prints out the logo and greeting message + */ public void start() { System.out.println("Hello from\n" + logo); System.out.println(" ____________________________________________________________"); @@ -14,6 +21,9 @@ public void start() { System.out.println(" ____________________________________________________________\n"); } + /** + * prints out the loading error message + */ protected void showLoadingError() { System.out.println("Oops!! There is a Loading error!!"); } From 2a51b71d8ca543fe3415c694f81d44eadb0db71b Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Wed, 9 Sep 2020 12:52:54 +0800 Subject: [PATCH 24/51] Tweak the code to comply with a coding standard --- src/main/java/Deadline.java | 1 + src/main/java/Parser.java | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/Deadline.java b/src/main/java/Deadline.java index 0ef2dcecd8..1c22e59f6a 100644 --- a/src/main/java/Deadline.java +++ b/src/main/java/Deadline.java @@ -1,4 +1,5 @@ package main.java; + import java.time.LocalDate; import java.time.format.DateTimeFormatter; diff --git a/src/main/java/Parser.java b/src/main/java/Parser.java index bbddc0ff1f..8276ba410a 100644 --- a/src/main/java/Parser.java +++ b/src/main/java/Parser.java @@ -4,7 +4,6 @@ import java.io.IOException; import java.time.LocalDate; import java.time.format.DateTimeFormatter; -import java.util.ArrayList; import java.util.Scanner; public class Parser { @@ -23,9 +22,11 @@ public void handleCommand() { case "bye": handleBye(); return; + case "list": handleList(); break; + case "done": try { handleDone(); @@ -35,6 +36,7 @@ public void handleCommand() { System.out.println(" ____________________________________________________________\n"); } break; + case "delete": try { handleDelete(); @@ -44,6 +46,7 @@ public void handleCommand() { System.out.println(" ____________________________________________________________\n"); } break; + case "todo": try { handleTodo(); @@ -53,6 +56,7 @@ public void handleCommand() { System.out.println(" ____________________________________________________________\n"); } break; + case "deadline": try { handleDeadline(); @@ -62,6 +66,7 @@ public void handleCommand() { System.out.println(" ____________________________________________________________\n"); } break; + case "event": try { handleEvent(); @@ -71,6 +76,7 @@ public void handleCommand() { System.out.println(" ____________________________________________________________\n"); } break; + default: try { handleDefault(); @@ -169,7 +175,6 @@ public void handleTodo() throws DukeException { } public void handleDeadline() throws DukeException { - String deadlineCommand = sc.nextLine(); if (deadlineCommand.isEmpty()) { throw new DukeException("\u2639 OOPS!!! The description of a deadline cannot be empty."); From 18690fde6764f0ce146add3f249622a10b25c566 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Wed, 9 Sep 2020 13:12:07 +0800 Subject: [PATCH 25/51] Add find feature --- command.txt | 5 ++++- src/main/java/Parser.java | 28 +++++++++++++++++++++++++++- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/command.txt b/command.txt index be19fc1fc9..34863604d9 100644 --- a/command.txt +++ b/command.txt @@ -1,2 +1,5 @@ T|0| read book -D|0| return |2020-10-09 \ No newline at end of file +D|0| return |2020-10-09 +T|0| return book +D|0| buy book |2030-09-09 +T|0| sleep \ No newline at end of file diff --git a/src/main/java/Parser.java b/src/main/java/Parser.java index bbddc0ff1f..7d8a8e1127 100644 --- a/src/main/java/Parser.java +++ b/src/main/java/Parser.java @@ -4,7 +4,6 @@ import java.io.IOException; import java.time.LocalDate; import java.time.format.DateTimeFormatter; -import java.util.ArrayList; import java.util.Scanner; public class Parser { @@ -71,6 +70,15 @@ public void handleCommand() { System.out.println(" ____________________________________________________________\n"); } break; + case "find": + try { + handleFind(); + } catch (DukeException e) { + System.out.println(" ____________________________________________________________"); + System.out.println(" " + e.getMessage()); + System.out.println(" ____________________________________________________________\n"); + } + break; default: try { handleDefault(); @@ -153,6 +161,24 @@ public void handleDelete() throws DukeException { System.out.println(" ____________________________________________________________\n"); } + public void handleFind() throws DukeException { + String input = sc.nextLine(); + if (input.isEmpty()) { + throw new DukeException("\u2639 OOPS!!! I need to know the keyword!!"); + } + String keyword = input.replaceFirst(" ", ""); + System.out.println(" ____________________________________________________________"); + System.out.println(" Here are the matching tasks in your list:"); + for (int i = 0, count = 1; i < taskList.size(); i++) { + if (taskList.get(i).description.contains(keyword)) { + System.out.print(" " + count + "."); + taskList.get(i).printDescription(); + count++; + } + } + System.out.println(" ____________________________________________________________\n"); + } + public void handleTodo() throws DukeException { String todoDescription = sc.nextLine(); if (todoDescription.isEmpty()) { From 04d380f1c57ab23376eaf8cbcc65b9d3b894a32e Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Wed, 9 Sep 2020 14:43:02 +0800 Subject: [PATCH 26/51] Use Gradle to automate some of the build tasks of the project. --- build.gradle | 6 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 58702 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 183 +++++++++++++++++++++++ gradlew.bat | 100 +++++++++++++ setting.gradle | 0 6 files changed, 295 insertions(+) create mode 100644 build.gradle create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 setting.gradle diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000000..cefa83d4cd --- /dev/null +++ b/build.gradle @@ -0,0 +1,6 @@ +plugins { + id 'java' + id 'application' + id 'checkstyle' + id 'com.github.johnrengelman.shadow' version '5.1.0' +} \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..cc4fdc293d0e50b0ad9b65c16e7ddd1db2f6025b GIT binary patch literal 58702 zcma&OV~}W3vL#%;<*Hk@ZQHhO+qTVHwr$(CZQFL$+?np4n10i5zVAmKMC6WrGGd+F zD|4@NHj-D$z)bJV;MYNJ&!D%)v-fQ%q0JG$_z5GVUJTPg0MHPf1TvicY#6DXYBBQ4M`$iC~gA;06+%@0HFQPLj-JXogAJ1j+fRqw^4M` zcW^RxAfl%+w9SiS>QwBUTAfuFAjPXc2DHf6*sr+V+jLQj^m@DQgHTPmAb@F z8%GyCfcQkhWWlT31%4$PtV4tV*LI?J#C4orYI~WU(cSR{aEs^ycxY`1>j1po>yDMi zh4W$pMaecV*mCsOsPLxQ#Xc!RXhpXy*p3S2Hl8t}H7x#p5V6G5va4jV;5^S^+>+x&#zzv4!R}wB;)TyU zE_N~}nN>DTG+uZns%_eI=DL1E#<--Sccx30gvMT}^eu`2-u|{qQZ58(rA2aBYE*ZD zm|*12zg*@J$n|tbH%Mp|d|O9W%VT~xG})R=Ld5z<(z%DOO6=MF3Xh-aF%9Hf$?1N9%8Pkev{wun$jZ2 z^i*EhRt8Ve<7`Wyz~iMZDye+XVn}O%qbhV`wHL+%P+n)K&-UMuZw^RRfeQ)%K=k*m zq5l7mf`4K_WkV5B73~MxajljrjGiJqpiV#>0FkyyrB)@HY!;Ln(7JJ*W(>d5#^ubU zVAkTMs*CHzzvUa^nRu0*f-(ek+VZw+@P~}a;;(K=|!9Mhv(~y-mlW);J zb&bB=vySHG`u?j&_6dh^*se*l_B3avjlE|!!Cb0pXyEXRbLy*@WEQ4|)M<`p8Q!rfDJ2RI!u1hPzNjy&)(kcY~GaD6?)7#dCbm`NFh?Y_g$#!+Qrie7%<7P}<-+W@{sxi4JYI{iY zk0(>m$DxOI=~-&eXf2bfh^&(U@o)>(iA1_wJ%B(+nFH+ceib%HEck32QL=J(BNFh`f>St1%llF8chX7#cp*;z}& zcTeXkwsXhf+e;##!FS2yi=2cChcYfzm$wQJ z9%4kAq)wLHf5wfcj!A|xDsAiAOHRzf*)Z-|daN9y5jK-*R{Q0?xaSX-3m|WeuZ`BJ z>eTi@uQ{OGSDIJ#Iu@JPtOy!C?q)g*6SHORg)eAJGh8b-I*X_+xNqZ|OXEsQ-RWte ze`zjjeV9PpE3ac2za+Rs=PA;%QZ>T{x(TRzwWLp_X^2yC-DOEMUy5So!npzL&-@}u z#>uK#&`i&c%J$!bsntEJhY@rF(>6eY;6RoI5Qkn!&<80X5+1(x$T|wR-ad?4N1N^a0)nBj#&EkVvQ?I_+8t*%l#VK&I?uo$ERI1HMu4P2rLMeH%m3 zZ|HA^*O^dA$gb$`Cw;z9?G?m3@nH6TNYJ04Fd-M2wp8@(;vAvJ ztFoni)BLwncQ3@cO*^+6u;(&D<;N;RKb)_NQ_Qu&?@h3MWvo>6FHG%%*smTwj3;dG zQJnT7Wb?4!XmV^>N@ZkA7Jv9kAfD-gCHu2i+!A!}y98SO><8g}t;1JOOxj>#l zM!?y|j5fR3WY2(&_HSGjgMa?Zif<M@d8W z)4>Ptm@zj|xX=bbt$=j}@a_s|xdp6-tRlq6D|xb_;`9oJlkYF1AH%?Pzv$eIAogMi zf(_H*5t({Arfs5XAPj46pjiudQw?dulW-=OUqBVa)OW9E;^R+NDr&LES&m_nmP>Ga zPf)7_&Gn(3v1qu_a^qW9w4#XIEfgiHOQ(LDi=E&(-DcUSfuQE0`ULsRvS}fpS@<)3 z|CbQSi49rU{<4|XU;kiV|C7}Gld$}Yh5YXjg^W$~ovobybuZ^&YwBR^=qP3G=wxhT z?C_5Trbu~95mOoIXUmEOY646_j4ZL)ubCM{qFkl1u*%xs%#18a4!(*b<&edy<8t2w z_zUxWS5fypUp9ue+eswoJSyv*J&=*3;2;q9U?j>n^q?)}c8+}4Ns8oToBJgD;Ug=y zOa0>{VFrLJutjR{PJmm(P9lPzoPi{K!I{l)pGwDy59p-uxHB9I&7zl11lkCu(}*A< zh492AmxsgwEondBpB^{`I*L&Ut40fjM^JS8VdAWQMlwc>_RUM5|Mjes!36DGqW`xs z4tU4`CpOk|vew8!(L}fEvv5&-3#GqZ(#1EZF4ekDQ@y*$tMDEeG?nOUiS-KXG=rAZ zHUDlMo@X&yzo1TdE6b6!s#f{*45V-T3`e2)w5Ra3l>JWf46`v?Y6B&7*1$eS4M(3% z9C~G@N@RXm)8~EXL*9IObA+PwD)`%64fON_8}&pqjrg|2LmP{W^<0@W`9s^*i#F}V;E8~`-}(4@R4kz?t(RjA;y-r%s^=)15%C> zbF;NZET~nybEsmUr8sH^Hgq^xc^n$ZP=GcZ!-X-Go7J4nByj8%?aQ`c{88;p15Kf>|0h+5BLkM&@KI-(flp^npO3MC~W@Uyjv* z6Hu!4#(NtZJ0*;_{8^xcLrC4-zK$BVo7S5V=eg?R8P;BOpK3Xwms+Jt-8R6us zf_rUHFYHn~lu!)U$e$#%UBz7d8YS;mq}xx$T1PIi=4={c-_cY6OVc<=){mOVn>~J$ zW*2PB%*40eE^c+d=PP7J@bqIX_h4u6b6#W|ir<;IlR`#s`Q*_Z8Q?*s_&emuu8D;NSiPX9mK?>$CwcbjhCuv zO&u(0)@}8nZe=Fl*0uMri02oYDjs#g$OHCZ6oTXV2Y0TrZ}+o%{%i)OAJBj2xHC|F5o+`Qmq`$`2EaL=uePwq%k<;6S2n=w%_9vj$8NO|{` zTEg*tK8PU#DnQ#dQ2mMJaaL|HV;BCn?eQ%d0vY@S7Pu@7 zsf5u`T=bL7NfyYO?K^PR_|jap@K|qQ zmO8CK+&O3fzgEnp2|_=^K9ln~QhxjgMM>EQqY@k@@#np@FnZq|C{EyEP7^NurUm0q zW5rKmiy%__KE>YItATyMhE({0%ve10la=mUd<^AcB{T_$Y`2_N-x;F#3xTORXvhPZ7psmqhXy?WxxB5w!m*4&Q;?t$4Kt?m_em-htVDxora24&6~5z$MG(RT{trtp(L( zy&VDT{@p9_DGoq+I|abw$E!TyTO7j6dWQ25dqdKV*z3E?n-p|IG42ZUnNok? zY4K{y{27bUT@#|Zcni!tIgjE`j=-0rl(tVlWEn>5x7BJBkt0iw6j^4n1f2i^6ebo; zt^&Yb##}W0$3xhH&Nz*nANYpO$emARR6-FWX;C?(l7+}<97Ay#!y%BI6^st=LaJ>n zu{ORVJ9%`f*oy85MUf@Fek@T_+ML0-0b$lkEE2y8h%#P^X6+cn)IEXa@T7CQ{fV z-{^wJGN*+T!NsAH@VNM3tWG;%y{pVF2m z2*0+i?o40zSKVq_S18#=0RrJIse+;5cv#a`*`wNs+B%Ln8#e0v^I>7a_33h?lHo14 zg)CbDfGMyH2cj%7C`>|Rrg;U?$&y!z(U10>(dHKQsf9*=z)&@9u@w%y+e@*CnUS|E z*O^cQqM*!sD|e!u(yhXPi$Sl<$daf3sq@Iexafxt3F#2R&=cK z!gT-qto{oVdGUIxC0q`tg)B-Zy(pxGx}&svoA}7p=}jb3jEjQ!v6=afKI!2`&M{#tY$~3LR}#G#U2up2L{} zMGSX>Yjg6-^vWgeX0i;Nb0=gQmYa!|r0rRUshm2+z3AlehjfTqRGnRAmGhHY3`R_@ zPh4GAF@=nkRz;xMO3TPh$)9Iq?Fs5B@~)QIntSyeBy^10!ts?9Z@tK&L6xJd9 zNzaaz6zvrtr&MPQ@UD)njFUtFupwB zv+8%r`c@#asm}cKW^*x0%v_k3faHOnRLt7vzVFlqslue32rt(NNXnkS+fMSM&^u)8 zC`p{on>0pf=1id|vzdTnBLB;v%*ta`o_lzj21u+U-cTRXR%sxE%4k<(bU!orfsJ&v z3FLM2UT_*)BJm1^W;Z{0;z^_e=N&QXSO>rdB`*cp>yGnjHJt$ zcJd~52X&k1b<-`2R{bqLm*E(W{=|-)RTB*i$h4TdV12@beTkR&*iJ==ck*QlFiQ52 zBZ|o_LP06C?Sgs3VJ=oZQU0vK6#}f9gHSs)JB7TU2h~}UVe%unJA!URBgJ# zI~26)lGD4yk~ngKRg;(s4f@PccDZaL{Y=%6UKHl&k|M@Zc4vdx-DX4{belQ);URF? zyxW+|Ziv}%Y!sFdY@YO))Z|f34L(WjN*v#EfZHn6m)X@;TzQ@wIjl4B_TieZY}qY`mG}3VL{w?; z&O>sZ8)YnW+eLuW@rhClOOCZe2YP@4YWKN?P{c~zFUj*U?OayavPUo!r{uqA1<8h! zs0=rKKlwJYk~34F9$q6fQ&jnw_|@cTn{_kA8sUZ#2(Lb@R$NL*u>08yYGx{p6OeX~ zr7!lwGqMSury(v5=1_9%#*MORl2apGf(MQIQTMN35yE3l`^OS7r;SKS6&v-5q}Gw* zNWI*4OKBD&2YbCr8c{ifn~-9w-v+mV49W+k)$jjU@WA+Aok01SA#X$Sspj}*r52!- zNqOS<0%uMUZeSp+*i1TEO$KGKn7EwzW=s?(b5X^@3s5k*80ns2I2|bTHU+bWZ$x;j z`k@>)1G#JgT=F!8awgol?DqK^S4R*g?e}2rOYRVMUKKxSudO(hOLnnL zQqpxPNouLiQFYJs3?7!9f6!-#Pi83{q3-GgOA|{btKup4fYDu-JFOK~Q1c3KD@fdJ z?uABYOkHA^Fc~l0gTAy4geF<-1UqdS=b=UM6Xi30mPhy1-f^aQh9H(jwFl5w*X`Mh z=Ee5C?038GEqSVTd!67bn9*zQg-r8RIH3$$ zf8vWEBbOc`_0U{b)t)Toa~~<7c-K_=G%*iTW^?6mj9{#)@|# zku9R^IDzbzzERz~fpxFrU*it;-Iu&m!CAtM&$)6^2rMyV4 z$+e!$(e)!UY(Sc9n6hkr^n&cvqy8}NfZz+AQc8fU9lNczlP>5D3qzWoR55YvH94^* z-S%SVQ96pK3|Yo`75D&85)xij9Dl8AO8{J*{_yhs-KtsLXUYqwieO(nfrkB@%|OyI>yF+1G?m7>X&djb(HBNNw3KX;Ma*oMV)cV0xzxmIy+5>yz>l_LLH)VyRnYYce zw$?q!hJzX0TlE0+o5QJDM~sPrjVCN7#|32#rUkc>?-eN6Q0RqQTAl~`&isrQg)ass z+x5XapaYh{Dj`+V096?w)w2!Cnmh?x1WmFC$jEFY4;V)XAl3*tBS)V)3TbL)g46_g zCw9pl^!3OCTOcaEP!?==guEAw;VZ}fE6K-;@qD-Rx~td+j(N>)Wv$_mqFTH_wVZNEEuDG!0T`HXLsf+_E=X3lw4`_&d5&YMl%H733ckO){vZm znFLS`;5J#^`5~unet`V#*Y5In3yb|Ax z|A6b^F37!_z$_{6h{7l~<{u7{Fx*A*#zw{GD)6e}n6f<|)&7`S-txiz3Jm4S5hV&8 zm|Ncc{j_~`^pQ*I#w21;(jwi8GnH4efO;R|r4$tH~i;Bcmp^sP9) zjhJne@yzU&XvFNoc~i(wQ?nE`o6Hk~!;x(%xh7?zvigH2g`!v8L-vEN0DvV3?m( zSW(TZ%2AWf`rS}GGMqUj!8yCp#|fR--Vxfj=9}YD97Gocdj=S z0zkF-jsO>EcPTB1zRO$++k^bH%O`=UkHdHT^5?{$)ot<-K2XIE7js*4OjF)BsVjCJ z*KN)!FdM*sh=fB$p8*EzZmGJp?B_=a-90$FI{S$LLjBU$(lxUj;9 zIBszmA*129W+YE;Yy{J~3uyOr<2A(`*cu0IJN#tmUfz2jIWQi_h)_-V6o+5CjbX!1$lz6?QYU za&|O#F%~hmGUhil{M+J|*0<3&{a1%ONp-^!Qx*LOTYY}L!r9BbTxCjHMuUR0E(uH` z!b$*ZMdnB{b2vsb<&P6})+%O=%a8@~$fjbtfF@Z>^Q@enTOJ%VT)Rdc!wX|@iq9i}HaFZAeY6g8xGZY7h-r1sy_<#YU6}I?L zwvf0ePE5PKbK>2RiJOFO5xNhMY+kt`Qi?Oxo&@xH$<^Q;Nb(&rjPBAcv;XtmSY90z z;oIFFl%lDq$o&kYQ;aSHZHD@W({Y1hw<-I>7f_X8wc?%hNDlo~Ig;63RlHNhw~#R3 zA*f5D_Qo`4_ajY4Gr{mLs*(Fxh(U%oua_u3r%`H!TI)@R!!iqV8IOhIOzI@=7QJ=G zV$(9mEVL(7DvPn0j%_cOZN|vvNg8*PHma`6+oS;PDz%iOFyo0n0e%$<#A3r~$=I0T zDL*{AREUGx&C2}?I9cVL`UcPyawTqA4j-4%Mr-4`9#8GX1jiJkKGpHVr1~Rj#zFaZ zqmE!<|1JCi!LDG?1^Ys62xz(p;Uu!QZB7!C0#piy1_9=e?^s@-sd1gs!h$;Q`TNtf z3N4Elsgl#={#U`~&}FNvH78MLjjavl1x*4pNVr338>%sfHu>bxo2#eZN2ee9q#*Jg zDk_=OBR;8t6=pBN0aj)&Nj}pzqqUYW(tfk?bXTdKbNQFSUMCyN-!b0#3?Z;ijzx$M z^Eo6Eq*NO!Y8K;84H4MHj_xwBYc|3>+D(PFj7ejhECG@5@Pk&8dG<)HwwO2~j7KV6 z0$s}=*D;ek#8$a*sxVlC_`qFkM0%BQQ@v2H&Aq@G9XCQt^^x<8w*=MbZV)@aPrrn; z`6r*&f`x&1lp)`5>-|-4%l&W4jy~LydfN;iq?Y8Xx>Sh#2Lx@FXo|5{WKp@y-x;)7 zl;;_Y*-Nu3pcH-)p0(tP~3xO_u~>HpCdEfgyq7V-!ZZ{?`6v_b-vx< zuu|gm5mG6c@D{FYMLuzvG+A2T&6&`n>XM%s`+Qtj)5XdpyFOnz3KLSCOxaCEUl()M z3b~FYqA3FT1#SY{p36h%M^gBQpB2QzEdtM9hMBMRMu{|rf}(;S85&|A!|Aj}?fMKaju!y>_AS}#hRe_!&%8V=6+oPPtE zOOJ-Rcrf>hNq@lG{{@$H?6ikt@!A2OePLe{MBIWSPz7{u(I} z$PXzD;leHG?Xl0FnWt+Wrkrk*|e3P~YVF@N$y&L929cc=#-!*k)HZKDo8!#+t|?9p0z1KSDKclB&M6~hN5<9~^DIltXKR$+iK*h9k$|@Qoy9H}PSI;b(v>w`8(k70@sfa4nRweeiwZ-syP3zPSsyK_8Te9*(FQdm+ z84ZDah4PGehH72w=Q8bx;pK5juT67rJKb|ovD#COI^l6z0eBidn$!Y?T2;5sN+vTV z$`%Edb<%-Oq@NPZy<2Z3m;$}!9JzIuVK6;fJi>>m3q!Lr!2xXRq+l0LvZIR_PNYrP57E#sCvD^4UU2GVr*Rx`QcT}yQanF z3i~!-2Vkk4S%4Hd2baDvrM2g(&1jZaA1!vLi!I#5wX6g^&PE`0-TovM(%wuaPXAno z`a&j{ai=TsgKpc1C3|)tY#!4>SPBbMnchi}glCBwaNE(4`gi}JY0;`|m`s{HtaP@& zHxwCt#2&z9A7O+=v>za}LW~}G>_tWo$dsRX)f1L=+tZF5E&RBA#jUC|N9ZPa_&z5= zekCOsIfOh`p(&S8dnkE~9#(;BAh8qzi5JYT0nP7x&Hga3v`XFdRN|$5Ry#mq*AN$J zV)l~LSq}2d{EJ@%{TLnkRVn*sdM{_b|4!x73|Ux9{%S;FPyhfZ{xg;P2ZmMuA*cMG zipYNeI7{u98`22!_phwRk|lyX#49r%Lq1aZAabxs6MP79J3Kxh0z1E>MzLS6Ee5u+ z@od~O#6yMa;R}eI*a|ZB$ar0BT`%X4+kyxqW4s+D3rV176EAsfS**6-swZ9OIPRZ& zlmIH>ppe;l28`Kd0z(alw^r<%RlDpI6hv)6Gs?GIpffKApgx^)2-6jAzjZE0BtPBC z0z8!#C5AP${zTF$-Z^v%^ie8LI*rvR+*xc=>fa;`SRUSLAio?qL;jVFV1Bw4K>D+i zyEQ}vyG2HTx>W?Ul&MhxUXK7n;yfN)QS`foM!4>4-(PGwxW!^^UyKOz(v+1BejI*& zQSkV|m5=JF4T0k*+|h|3dx`ZKBVX7H4{5iakAxnD#J=9igW@LS;HE_8$lZy1l|$wX zn<8-$u=7&li+^MB(1y~Mz7lj7?oYf%1k{wT#?(Mep094qqnPv7*OYkQ#7$pkU5U24 zzPLEwAb<VIp_uUE~+r5)jt(>>Bg48_{)twH$QJDSBrUS!j{lX z)SK$6dfLWt)c9%Cml+sRp*OHXB?e4hbYZQo!@=6 zBPTpi&6&atD*#Cn6f@5<>79Mq7o0^E!NH)bD26g}?@qg%*AYeE6Tec@F?y9Q8i}^s zz`)l`8>;h75!kL!`&*_hsX1%2)(lWr|7!}@gn%MfwY8vN0=pMm3WesCRv5e*5m4z|u(zbYCpuxO9$bY)hkL|}mRj{3dlRgNK)#PJp#vR=ka^TZ(tKVI<>M~ekIfd2 zm3UDUNW*ZvS5L|SF334|YD>LJk(EqgPpVxtzwclUNaH70zWDVt^1+cz|F?RdF4HHn z@4~Gs`lj!0dWi2n#>7C@B$Qf7|t{1!3mtrO1H7 zi{=I#^Oa1jJiFI!j>PualW+ncHJ)TelW$bv2MqUG1xK7R z%TsQfTn)7D3}XYU+{?Hq!I&fqi4>DmryMiO?!aN!T4fnwq2vsuB^s6fPW@u*h-JwG zNniJFR(RI*?5HV=tqO)lv}CRv_eNEBR%z}Vnftv0+DUH^OCODH#&;{+aw^1vR z-c~|Mk+o?j-^Z+rR4s z-gNA5guTuab7N`{Y@eT&)!xF8#AeetvQ6d!W4BlO;0#0TxS_( zMm-A-u+h7-PjmOQHlh{Hxn+J$jh?uEtc8RG8tu->og@ z86A%eUt+P8E3oLXIrq#K(nCF@L12>=DVT3ec6Vn=B^B;>D=O%op+0BT;T)FHZ`I93 z^5|bpJC_kB92`alM40Am>Yz5o1gxkIGRYQ)x^+R|TCK)r;Qyq6+~S9Uy9nr^nkvc- zxw~#_9eBBJcZNK0yFZxUK4h>u$8;4k-KpNTblRgS(y&u~u&J;O!aqAMYJp+(BED*d z^I#F7vPOEADj}Pziprs=a{%qgz#eso$j`At7pN~bDw%&ba-+4pI}T*?w-z^_~DfD~Z3Tg+#M#u{s&uRF^dr5RFZh7<|WNEG;P z-_SzXTbHc^yD$r;WJqqJkA7^(zN`nzQ5V16nG~Zobuy)a)(T@Ik>V!qOfw;e z)?AZXjzDJg%BkIEY&bm&BczLuWY~k}3Zyx#)jxg1A9R`sz!_dCb!|13b*3PiA@(E6 z9HmG2R>-YrW93UMQO}XE4loI(*er9J*wDUd1se!pzdpoB_v6^lQl}+!6e5MS`+bU#_b*a5Pkt;o+lOV4loyn2P z$3;z-cX>$R{6M4q%b}aMBF}6N+0RCE70bB;XwHV~JLO&!EB)Cgo9ta_>>Os1HNfaY z4PNu7BGhw`6}cm>glh6i^)Ja{rpLHix?C?u;(e&GI{?!E7$9hd*5c^iL?;6Kwn z@qbBE|3UMF|F$Ok>7YY?CeMzMes@CZJQ?&|R8v5M@XvW}jjxhjl`gzl;rvy6Nn9$K z;1TKGpUgZs`vR!t-sD~2ar{58-;2k`H(MIWr_cujtSCpjue(R z(a7R{q`G+;8qD8D1e?1zWv+pPFtk=k#>f`yqZo)3KwCBgABgQbq%hu4q}h+Bdyh?* z#Rlr*$38^Ru%m9FUTQL2Xy^j|f%*4H*{zWFRsMbs6@u{JM{48fq;F;QFV%6Dn!6X0 zEAr2G{RmY8;Jlmws#%7Hl_TvQMbLnN0KGK=9)1u=Vb&#V27UwM#U+)$hn#hlXxBxO zM~<3s(W;fe-0%mVWtZ)oN|h-01@5z=u(z!V>)I9-IepH|_q6NR_DA>2hxGKt-QX;H6(^FXwcBndi1s%qn2sH-rsuON7*ARP6Qt$2XIy3d#cn8sLh&7#USTFn3 zQm-o6-Bnofon2V;oq-v1@Ye@NuH$Z~+th}Cs>F7=H#=4PKLp%-!EwR&0`a}XL=br< zF>&?HNr}9ahB-EA7a({^_6`taBwmB~hJG)p>8r^vq0J_+o`sOq<{s2~2t}W&1f5`l zj;E0nmt?YRp{ONhti9{4&rvt5uoS0CO@%+Yv>+}ROQAGP3VLu^S4fe{ZRoGviEXMF zhM=I=Eg2~^5PIwEq{~Wt?inz13!axZU3knx_)Ey9<)z<=!TnCPHvs1l^spF`@INYQ zY|J1RWri-^D9mVY5Z{u+bXg#}3rUwSXX>&@PN+017W@!L5H8CvZf0wZxQ=UrHJ{Um z$Z;~3t6ARGql*O1^YY(h4awy!h_brE6&k9B&5l;ya>jDyW5?o$q~=1iV!t7#8&QOx6P zhQIm55sij*Ef-G_?k^$AjK2j?=QQ?^=r{MDaGZ7`Yo*Kp1uoZ=&5|O)D#xAHL)n9_l6-E!b zVV@8ny;`XU#X2((4cTmv5unmYzUmJ>Hm+Kvht&a+j3nr!sljTHUZn^0w@L|WKw2TO zRO>T!>jutIzNI5U_KL}vd00oi6$aJqPeJwq)lIr(2Gt#52i@sqCFaWC)pS$pYoRCK zd*$)r6FCClYp+n>gCqVF>x)ghAbl+h${~Mc_sQGk@+sR@b(88l zcx?*Usr}v|kV!RPfS%HK>Bn{7tdEV$CB5Z@=uy4>^(o(%@R|_7dq69s1(X_8szPZ! zSS~$LCX>-}F=io=YcY~9!vqo3&dh9_Mosio`zO6i|$&p;-9%+~sdYNrVE?Q8rS+eHx z4O$l|b3FUT#2jb(WU<`oKAjGQUsoCgE1(c>3byBNPhKeJ7f4S-hBRqRyePY)im;>H z)hyFuFTDqx*ZgXo$hn+u>TGs~=Bjqr3bhPmXG)v8){EU;N*58NKU5;EIZl z9%|JomX+b6M#jS2`B%~!+`EStMD{|y^P=`xPbD$o6;|!((h!+y%7Y{DuC!NCKDIN1 zER-J?vZ$2el4y~!-0vWjNRoC|ARB`IX@M&;?ZpULcAIu`zlH9 z&JK#H);Ij~fqoT{59}OI#ViA%!lPYyd@kHg*hyI;iMdCtw2&eLHOd1*N%2Y!BG*H_ zu@E?VbtZlI{7B{C>A^b3njh=KdF!=rQ!)oIjwkP{t^I{2q&emQ-C1&U&fPC_viACTbT;(A3qRJeGINz^!0N26vQ~o|#pmjp-Zq46%+{X9n zLGKqhLh4`-(*oDHqHU~-45_+pe(BICF$*0jD&FW?ED=vn=t?p9X(%AH9+;6NcJ8JF zASkf}LfT7Z3u*#i$ml`gKIS>3jrTla--x##EDM{w{>Iu9qV!x95ECU*W_O`q>hcCa zswU!;H3R{}(A6aQ(B)lImTF$BzF;$V_?It*+8ZeiZa|b8n_DN4jUfI0jIA6Q6*c0f(uq~DxrNm!$~G=Uz=qP*)?qc(}|7MQZT&B=Um zr{Lj_R7QJAlwD=CoYpjQsUyu1)C9p5CE)%3nb)~WtP;@6(qGG`*qDT zS(zM>&R<;Z23V|80%3s!`0QpTt0Ay;*xLJeE|DP5@x?a!1)`g= z-1}G_LxiiO(*?R*{(yH#&yl|Seyx6*+ETayQtv7Htk3WPvI;U!@h-e$)gw9>pyKmB zk8#$3BF-ou%=`9_3)Q`0ttk$cymvULFS`Khmjes=2(-QY@eVjJ)rSD)z)1No&o+dz zrGItPZ$QuD;Nqt~U{J?9VlM0g{kx!4$?!?=o?um>#7tjMzrLfv<@pI&cp*5H>XPPZ zu8Xh&6y7v0pGDiQqd-~tBjK%-SO8$8kG&44|{09|FO5BoNkV6~JX>g{b#NHJW?gmM# zhbcS|M9fDc44(seG%$hK#va#4YL98mddGDi2qr;@CeiWO!!`DrF<%=_^*3JgoZiSj zdEv30G5`7ex`XP4#6cG;AQ}(|>CcCTGiom^pc*j-Mz1_oGp4iP*>N125YeWCw#L4H z*>u2Ih8jVRJ?rOj-7KbU7KXpYs2UZf)Vf}(lsM(oiB>tgqX2tILJitw_x z&7gq;`b}qrL{lEA3DaXDOi~HQ!^?xxjjVW|#Z+Ek&GKA2dYgO@zB2V*eY zx>@D06X)(FUz3xz99V3v*k7x|wxiFxv>=N$1Chfp>CErJq)gnf=P!u-QKrYnulzdQ zP56u!AH2^QVnuxTJjcQtlflq>PSm4C!$^fv4V_XsIO2d=O8|J`4bUDtjBchJ!14~3 z#mgUPYF*Z?k;Y)Igdx3yQg8L)M=c%}p3!P-0KOuXI+{*LXJ&w)$gzxeTyr`)h-Nc! z`$xa<>T2pbuU0VR?#FPEM44XDRw+cM6U1R2aLQpGHX40=4Er=lp&2aN#P1IA3|r+L z?5jaRyCgN)b(KuS+(x9rPLLjY&4^YY{0T2Ai%`f0p}sG*R!}{DSf7GdPJ=C2MT1ND zUJ@#y06`CNc9n?13R2KY1K*SYeV87wG%bjcIbn+AR8*FS<{?wWomTT5@`}~z3bFAJ zLR-wmE$iwwJ-TnVEhl{{?+??DJ?DWk~VaX-L3-RLtprT2%z-GfD{UVBR~T}zymA0 z6VZ;1Qr%5q#+Oz#3)`D(%WVWWS4BW6%ZvAtt!u25FO@e{X`)_LH>p&pFzx(wvNEO- z!2$Z}`iynmY2j&UCmRNB)9Cn3MXRls&PFVHzkzr;)B^BCMY~6lYY>0rsKT zm4}RV`Q7tbn)Aseay%@-I6ZT~PBsO?D|>kG*%(PGo=|gZ#0zsmE})xxtAvaCe&$1? z(7GyH&^jm!cguuMo@CPA&-lrdE&Aq8GIOuUK9jt{K0ldcvJJp7I`ZMx-EYj$)hl~) zFM!U~HxgO+lb$1cIK-nvz<5OPs(@d4tB6DUa3?-bJ98|dv-kIdtMS;9BuLc{a~_wW zO$u`rNymsAeMH9zh(|w=<*V z&&B{&O0Am`<$iBa)>pNZ6cO`d^3B5%=gmsH(HYZw6!U(c@}#)19F}`BT+yOfamJY$ zYOmy2m^k+ADH2klhAJMLq;6>t3)NREUgk*cjJHg{NBkVhDORNK;v5362&NN=y*Ef- z$vxYTG5Ga{SI&C93^Gsu9G-osqbC9PbsC&@xxGlF?o{!rs9|YpEE?P8ix#yS`7JUy z%ez(_Q%I^RwPrW%rFF(+mE}rp#Wtg@^>O7T(@LFA7j{LNrL=XGDyB-|3<*mqLL_UA zUZz?ulF$5O59-WWZ!d@hRxC@4d6?okW%`1$#<5w9eh>4Cyr#xe5%VPG@TBe#HA^O} z1&q{T_TMTr($f<()ah%TXapiGp}`MAC7>0I=Cx*t+bXy+gMyk*#(A~ft=&4YBdQki zQ}I=c;etc@sD4?l`eYaksPtJnx5OUaZ6u;7p64DUuI`omrWjht5$8+cqb6Hw75WNX z@D(fl7tDl2H)H%QYyX3>cL0*DZPv8+ZgaP7+t_W}wr$(CZQHhO+qUig`^@>y%s1~j z6Y)pXii(P=SQS<4iS=aOnR(rqe#b*BR~GN+bMNQSnhcMHxhVf6D7_zYs}@oo$eK9sZig1_lH0|C z&<1W;8dh6lutS+|02t0VqRfh9R+%!~9YsQ>cw-uGi!YMSo?19?Sty(u{GRqmTx8Zv zLz|nph}CNn+4a~dDzMog(j+NForDvDjLwub!b;p@dLHSBO0kjaI0CPZ)8B2(HNL&A zdr8Pw@u(POF1J*groJ~!1|E(GmnR3L6`P*3C;v?R zDw-pBC=u%}<}P_);mn-_cE}am&b1_WlqnWVzFS;*NhwoOb%+#0nI|H*Bw6_0R(=Kj z;7@eEqYkW2OvWkoz|yY1gZAJw8=>KShthS*ANzYdDT61^AK)>0H%LV4q3}hw?bkA$ zF$tz;<5T59v0Zd$)unmJ{vu_7eGDP6+pe(H&n^3E)g^rB?pn?GT9l1gztAUpR*+Kvt=FE~M zq5rZM&9v>ww1mzrK)vx*0;;?tnqA@Q;FBC@$2~=gy#jW$bAJUNIl_YpT)``*9nnkV zF!&XBK8(PeQfnScH*JaYqy{1bN4MwF=&g2)`!Kuo165*d^1Sc_d{I4>6V=>74c%g4 zXE_M`b@syq%jQx9VRp@ba!rY|MRhr!S3bN!1RT}^I(2gXE`KT57Y;maGA&dHM#`4* zy%@6YB0A6Z^?fg!$4Gq0auM47(jE$Y4osH zhydBwQ-S~vMS7)hg;AC=MRf~AHZu|Ue*bk=ff`!Ol1%=|W-a+~l)QH04q^oeMZHj~ z8$8jQn(n1#O!_7sg1hi;{v%?nd&gK7tfN3I{A0j zcg`ISk^Ir4G=(SvV$v}DE(nE+%rgFkT%cu5VR0Qa^H4-xPC*7Y*+E8#xvyepS#xYE+FyIIi0|5$J%mKAB58%MgleT%Zx42e^L`TdA~Ips z=NvgHNpYZju?*J>oNcmd^(nFUc+-bu4*+9)qIwU^g?1_4-&-`uZm&f7F^1?@3IvJc{gnlh?no$E9jFIfJ8i+33;o-!b2hD@}}{o}J4{l{44v z3Cd{3Lj%9^E43SBXmIvwsA2_8sXgRu=4=H{j9R(fYcCzOXriTZ51l+HcXr@)^?rK* zmc89=w8MW+txdobBh`X4rMvY#vuv0GIEO67sgL}mIw$pNW6s8Fd=t z@58{pFs^Oz&g}CPr8EL~QyUjk&}1qyO4;-6m0MRd4J9T2r5_j+YdeKP%Q+jnWNdV| zUJLU&d%m|g&3B83R^8K^WM{0at+=9UdVAzTnL+CqdcT#($38|-fQ|BJbHY4vk=ANj zvX?ek_oYp6t8bQz-T){|-5OGrv`IGd?>X*h(s{MvQ{j>fZbx<^-)&(j8(N+z^sftB z;V$0+Wd0oUR^&)Q+2bHfLt#V~jZT$UPUbkd#vD#zZJ&huG+-;T%sU~ONA?a`Va|T%I0yd%0*Xr3>p#slVg7Y<6o&Bx856S zg;7Q>mCFF?xq_m}VG5`(0fIX(V=yvQ;xjpwNhrLFMui8xdBw2aFOvI3t6-NG3%+d= z>1un%A{1+tFrn2nu2%`-hiqYhXDga3%{ZVkC@ROtTcA;g*E@K4i_G1&^P#Pl_9*m& zwBVKqZhrf4bhw@M)78cm zBMB!;A)H{6h6AjEv&|DGxYRmY|e_ARf_dMIvm*-i4hR#IU_#A_QYP@L|sHs zo@Ky_Bx6e2??_k;7vjibD#pM*T7`h9V&s(moOn_x^N|9{gkOtFY~gDqSo+7meUjBR zK2jiOsA%PwD|1*KC^m(-WZ5j2AWi;81kCi5t)KouHKt|R6m{m!!n|4YN3yyBo0mSZ zN^yj9>I9Y6dI&$!T7&$%3Ccxua0-&DoNJFbCV%1;h^-U&1Q+@47qrKld+QNGOrh{a z27PfD|L06XuL1+ZMc{_7rB7bd&WD%*lbypj>|K|<#2#t+qPXH zTm`5QC)ktLW5+G&4lhvX8DgOK)|mvQ_b^HuJ&=wP%Z6%;E+Bx|#|Q}vOoGR(jK}sD zk9x4A-V%Hs#G>J5XldT-W&|Kv(!mEi;J38jdK>L|Q7~<_no&|~Fdc~yhC~%VqQc2e z2|pva(YaxgaE`xa5=u=WkhtI|f`XRHhA6|>1`)hDgYzt9kByS$l*OQ2O-a#Iq%SLz zV^&-mn{^KrM6&BueyiV}>&)9rr)de2+DkV8##PSmko(<`nqPVr^n_V~UoIi`_yVdB zzcj4`b5QijKNrR%0AYi<`{NDb!y1^#Pv|K2N8<&wlO7-JDa5Yp?eM)pf>PbMq@)Wr zvki0Y1yLr2WfDb`RBPgq^VC(KH;ofR#9^i$TaMi9J6p5TP5F8<&ofnvL|`*(;urRO z?0k?7WiOd&^v);ux~R9Hznc3moOxE+O$lYV0Ku|hENFV~?Lt!QZlMNp1%d#^Rv!pC zfq`*V)n<`Io8N2XGBOjLYB}#{g#>o-?Hmb6$VyvSN@nI?3{y-pdNvcYe%&%CIeh?s zWfdM@$o~R)P|M>ElHW0BAMI=ozdH-Fle#Dvq-bpmPg-!rDY|1*o|1dvDh9{`{gt%n zFemDyrWMrywXJ+rV5r%UR~0T*75`i&rM4=%7}ulJyHu{rZw;C$r+nn@cLyLgh0d-A z(3SS5tW>ZK0in8bOH$vW>HIcipgUXYGUq49#>Ixff27cCfWz$0vR4Dmq}CBw<~4Sh zDe9adM$vVItE_)3FJT5Bgk}V=1g+Qvf5+hpxwh78gHe$<|r1^Nh?B&_~xSq+nVdY+~dc4GJ?e5EpV zXs-H~6poV`Kh5kok2qSUMD?0&WXKs7T0?Z-J8zti^WD-*_fo zhAqM(p+l2*(|b>aZC+?aK~^_VCZkP0>}TxdEC-KcmAx*YS?wTK?cW>PjS+NxM==Wg zg}e_*NcH%2(J=+WVL+;P)kz0c@48^4ZuemowCO=rriJFSD|#7D2oO{}$kCbL0#0%2 zQe&D2wwJ3%d|+L`bE=&9k_~(BOe$ZFap$YMGL$&$D0=mJ9n%He#RRlC3f=|WyrI0L zA_qS=kzzw8f_QiJYg_b?xA6UgBS0tT_Y$!9>(J-Q|m=O+8+wIPlb5i=-aU~kBf=4dD zd6Q8*EoKqRCcMNO5q%nez-osz1XT6PZ+r7r7A_{!vpDIfE$$yCUU66H>HOUO>u7aE zs*>|KS24COy<^3O^xXssCI`2iF%;A&7{j1UDk9dvv< zsUbj2HMoFr%{j!bRrmyt%jM|4UKza#}%Vf*_fEvi$*6J-h}oRdsdinr_W1-)p24zB*p9tfDdUa27+yi5W`#8+~eE_NyvNZgCP48jF8P; zgYS#IP!@sLe^SeCy4jwre}sC*A4Vk3|EzFISR4QEai+j{bL%-B#Nlt4WJN3eh+Uo) zVtaBF&A%PtbaaH`A~$h0I(5#|WARn>4Hbxy+Jn-$LdJWL+&({?oGdxCC?@gw`D44O zZ)fV$Yi@4u-zGU|!cfh6Eq?2C3Nn%TL2ZoA1+5g5O#q6$QGS|1C!;H{)PU?dDlSGU zLGKxOa;zm!C-Zghet4U7l(%LaEQnKF+>ECNt@`F07q-JO?%%X~*k}Yndc#f*iq0`hgW#iOvymYI0Ur}T;8qZ+%f1paM#v7e! zUS~+CMQqEbYZ%Ix+4iKAGa>>DLya7d_5zQo_zm&bP6F_75Qk^L7A%?p74r#_+3V6R z@m)%h$SZlQi)PpLLYyya^FulLkrPuM%+!YnWBCX|f#M*ph-`6S5IH3F;Os;ZZ&cDq z<~WF?be7SQre3OHq63A%t27ee4>e--Q*N)lFkAI_P@Yoq?Bd0s)IIqLY)xtXU`k>x zfQK0;b2n0v{oPhQju4$`uD>)Syw=X_l}YEfVF8)awhULL-sJNdq;z8~(wyAEW&sDx zxqHk8ufaTXHNnIUP~eE&k>D!g#IVt73wHY+ugJwtuy74u* z1qC32jRV4EWbz*0B5d5qGm7FB;V0Z>C63g4n6hW?!BfHU=hqZbuGx&ccdij#|lWok>4#{m^Fy>{`JdOS zjIM(Tuf4sYrJltP%2vW!U)Mt5hd5_vs^{onYW=T{?nF6taSUF>uPLMY@>8Y#vd&fU zJg$MqI>EOkIj}Gpu%?+k{%zvX7zqvMeuMm%YD6eLoHxL?e6eW>J~|~Z&lHB^r_Ag0 z{*SlMeG(r}i;4UY6e1TDhAnY@tyh=*e7>7?vlwq>&py69o*=hIE389P!iE)Fe1v;HN5fVGS&&jBzQk*Q}Rb%{FF5H zt;vL@*J)TU^_AGy%>+&9)+R@9XQHe9%Cr#w>Q$NM0~WAiktZl>9`I-Ypc0UjVU1rn z_FPNg@88w2iz;NHBJ8)vM$%1oe7QzSs;NxSieG5h->Cq6`M#YqU;tx=1hYym@h%fi zzWLOcEgsbZ>jW|mkR)qpxv-Z}J6iTzy?L3sZiv!nbZ3a;A~Hu3j6-^%FcrouBW^*9 zwOO;eD$2J8edza=ZDF&}5X#=B9O(;A4zyM&5yTvxuoqjP+FZY!ZYI`_D=;czTJF-e z1-$=(BE%9~*+c%p5UT&+n27&>tc8D77L`o(F_e)w^~KRuv4^AdNE-D~2I(p(SCPRP zc{V^gm}JdYd(~~{max0nhdPp5j3){eJ z$LuzR9V>9)451K&?27Aps3vsd_bU(1EDOA~g;@vOO2Ty`4MFO9u=`!_wEKPQp>9L& zzuUbCBGHhsuxYBy-^Uw`)=n5pSF5)!a6qfH$^u&=0GA(}B-Ixjj|ce?Bp(~$q^7BqWU|H8 zKU!?5P@+8*_63=^7)|h<=`vW)2%PZF(`Q0Lr0x5QLjWKIQZB9)OOB_ISy!Mx`E{lJ z1=1d&Ic*{{_h#6sNH^Hz)~vB7gCTbuUkVrOm(pCye57-0NUsKiFMeA#@NBB+F5<+s{(H7mQAPQx`OR z8xRz&uf&f&-?8paW&Q%EHCq$Lv~}lCIW%s>Wxj&$Majn9D~*{Yn8jBZ3b9-fuz!82Hn?&ZI2_JZYAy$kb_?7m*?J z7EcrbL2*)gJ(Wl`yg~c)vC1w>dR$LezB90-T0%EZo|KuQOirNpKJAd) zr+w2F#9m@j64vevMEx_$M}ESx!oajKsI7|Q#c-fWRsS7nAgMlxf$l`eoBx6_u1LP` z5wVEEAYNPN*iXKJza7=aP+z_r$z;5})SQGWl0SrU7qL5T>MpzjZPVq~an6pv29s{gIn1Rh z$*Vp>0p=05JN|HRiyOCbpgpZ@;9Xj|o3DNV!%Xn6t3hE>(=2$dFuEx{osGXYv`m73 z@j>86*-gsSS^3mR)HB6Bj1fy+E{@9e{bcRLU_iAqDzdQUqG)+sqNE`h1 z$3w4loJ+!{F4NdK!E7Vu6L}j5d=VnffP!j5b(b5(u}{;?o9PB`YLsrEsOeE8IUM8F zj!}~kYF^$l^i7CS$AnS+a4#EnWySE!?hNnzWe>=ETyc4WCXpNzZ9R&vLWR9n2)aFS zeT`FE>ZzLpjPr*qdk%A3<`U8cpr3K~?abpqM})l-j}Hz+9tJcw;_-BzCtzpYoNVk^ zd4xI@9~_|+Y_6S*Kx+?A$c)OqC718Wiat0Sl%qFMhix0?j{gw1XO9$zQhjjoeDj|S z8hS*$R7Ol=9=Sd-9s*OgZAC1sMC*(iexn}3CMYJdNZu8^S5)5@Bxo7ayS4fG2D@ns z(Y9t_4DB(20CAx~=eL=RM?RRc4|4V{?Qe z=>g3K7H^2nxwHm|*N+zhk9ET-=0ak5wZAxM<)DFY7|^q+@a_=>AXMj@vZG11mH%nQ zn9XfRt7)!V&u0~v+`DaED;5~WX_cQ6~@iQ$)`#bKdk&+uvYtZMGQ??&zRmpw zbc5donS&q;jPQE_7rh5{ONJKBM;cxKH>r!f)K=VDf}bfc1B4Nv3C}__D{B|kU4Q04E((6!W^q+&Xb=m`c#S!$wEEp4py_0 zDJO?v%A16hzF;#-Lt+DUyec?VXUS?%21=wBiJ<}TTQMa&n$+5wnHr4sni_Hb`tFO; z((Kg?Xh0p)JZnUc=-mE(Ls`z5)+Qr8;F0R92sj9yEJx1kK&wQ8S2S`)h+Qk?^jShBw0n z^g^Pht7xCZvs&|5W95{bypf4acXhX`O_>*QyEk183j48^Ws>JcasVrhs5G9;&2dyi z%>jCf;J1W^x5i(=Cvt|^PAWSdNG}XTJ@;UD+R!_#xn5!VD8@`C$I>Ipes@q*x>0`l z)z8=i*VF~+bxTYjaCr)lzaDau^|9V&q!IlGwQu0TKbn4oBljDL$D`d(xUR1D_M2H5 z_D)E{)YMOgPe9j&Ta=X`w!K8L8Fz1tOon!uWan9)huounS4Mh4dF)BRXPW~rZ){=b z8GKrX8h<5U_7;gkNu2?Vha=mHR?g_-tDJ7e(~;kBqw^DncZb0-heR1$Eu84i7(X`&aR*AQIwovW z>fz)N@L0uBeI%!;>fF*(y?aB?LspSl*h;#V3|hH@lSBCC>z%=##r4vBD?~% zIcaMD#Ep&MMR|QloYSVm4m`6&D~o=K)KUR!2dn`e7}AFYi4ni=M| zwlXp`cKoTc{O?pVGTu@effshzIQL;~Uran3$O8b$6lS*o0sT!BoyZd(zz&P7axA%@Nz)_qI zkD$LWxQoOtM=CJA^aux0eMxT|$TTV{XcUf%R6YWWWpb~~Wr+7tk~!$o(-O!M!{#H? z)jCw2taNz0WO)=*Gud3!7Hi9?DqB;9JQ_pLDASj_PC!c^M|om%q>Zz+S3oK5Y^V&l+!?6vHO@6@c? z%)vqVE`pRD|ItbFC1kt4ApdNC)&9im8NW=RUr>

@up^y4&I8N>~wvL%f(S2W%NN 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 D613UA literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000000..7e43d47c96 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Wed Sep 09 14:22:47 CST 2020 +distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-all.zip +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStorePath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew new file mode 100755 index 0000000000..2fe81a7d95 --- /dev/null +++ b/gradlew @@ -0,0 +1,183 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000000..24467a141f --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,100 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/setting.gradle b/setting.gradle new file mode 100644 index 0000000000..e69de29bb2 From e9dc7613cee8593ee86ad5b8852486f8058f02ba Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Wed, 9 Sep 2020 16:03:06 +0800 Subject: [PATCH 27/51] Revise the project structure --- src/main/java/{ => main/java}/Deadline.java | 0 src/main/java/{ => main/java}/Duke.java | 0 src/main/java/{ => main/java}/DukeException.java | 0 src/main/java/{ => main/java}/Event.java | 0 src/main/java/{ => main/java}/Parser.java | 0 src/main/java/{ => main/java}/Storage.java | 0 src/main/java/{ => main/java}/Task.java | 0 src/main/java/{ => main/java}/TaskList.java | 0 src/main/java/{ => main/java}/Todo.java | 0 src/main/java/{ => main/java}/Ui.java | 0 10 files changed, 0 insertions(+), 0 deletions(-) rename src/main/java/{ => main/java}/Deadline.java (100%) rename src/main/java/{ => main/java}/Duke.java (100%) rename src/main/java/{ => main/java}/DukeException.java (100%) rename src/main/java/{ => main/java}/Event.java (100%) rename src/main/java/{ => main/java}/Parser.java (100%) rename src/main/java/{ => main/java}/Storage.java (100%) rename src/main/java/{ => main/java}/Task.java (100%) rename src/main/java/{ => main/java}/TaskList.java (100%) rename src/main/java/{ => main/java}/Todo.java (100%) rename src/main/java/{ => main/java}/Ui.java (100%) diff --git a/src/main/java/Deadline.java b/src/main/java/main/java/Deadline.java similarity index 100% rename from src/main/java/Deadline.java rename to src/main/java/main/java/Deadline.java diff --git a/src/main/java/Duke.java b/src/main/java/main/java/Duke.java similarity index 100% rename from src/main/java/Duke.java rename to src/main/java/main/java/Duke.java diff --git a/src/main/java/DukeException.java b/src/main/java/main/java/DukeException.java similarity index 100% rename from src/main/java/DukeException.java rename to src/main/java/main/java/DukeException.java diff --git a/src/main/java/Event.java b/src/main/java/main/java/Event.java similarity index 100% rename from src/main/java/Event.java rename to src/main/java/main/java/Event.java diff --git a/src/main/java/Parser.java b/src/main/java/main/java/Parser.java similarity index 100% rename from src/main/java/Parser.java rename to src/main/java/main/java/Parser.java diff --git a/src/main/java/Storage.java b/src/main/java/main/java/Storage.java similarity index 100% rename from src/main/java/Storage.java rename to src/main/java/main/java/Storage.java diff --git a/src/main/java/Task.java b/src/main/java/main/java/Task.java similarity index 100% rename from src/main/java/Task.java rename to src/main/java/main/java/Task.java diff --git a/src/main/java/TaskList.java b/src/main/java/main/java/TaskList.java similarity index 100% rename from src/main/java/TaskList.java rename to src/main/java/main/java/TaskList.java diff --git a/src/main/java/Todo.java b/src/main/java/main/java/Todo.java similarity index 100% rename from src/main/java/Todo.java rename to src/main/java/main/java/Todo.java diff --git a/src/main/java/Ui.java b/src/main/java/main/java/Ui.java similarity index 100% rename from src/main/java/Ui.java rename to src/main/java/main/java/Ui.java From d743259d9a86b8e6321707db2c31c20b8b4f6474 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Sun, 13 Sep 2020 15:40:47 +0800 Subject: [PATCH 28/51] Revise project structure --- src/main/java/{ => main/java}/Deadline.java | 0 src/main/java/{ => main/java}/Duke.java | 0 src/main/java/{ => main/java}/DukeException.java | 0 src/main/java/{ => main/java}/Event.java | 0 src/main/java/{ => main/java}/Parser.java | 0 src/main/java/{ => main/java}/Storage.java | 0 src/main/java/{ => main/java}/Task.java | 0 src/main/java/{ => main/java}/TaskList.java | 0 src/main/java/{ => main/java}/Todo.java | 0 src/main/java/{ => main/java}/Ui.java | 0 10 files changed, 0 insertions(+), 0 deletions(-) rename src/main/java/{ => main/java}/Deadline.java (100%) rename src/main/java/{ => main/java}/Duke.java (100%) rename src/main/java/{ => main/java}/DukeException.java (100%) rename src/main/java/{ => main/java}/Event.java (100%) rename src/main/java/{ => main/java}/Parser.java (100%) rename src/main/java/{ => main/java}/Storage.java (100%) rename src/main/java/{ => main/java}/Task.java (100%) rename src/main/java/{ => main/java}/TaskList.java (100%) rename src/main/java/{ => main/java}/Todo.java (100%) rename src/main/java/{ => main/java}/Ui.java (100%) diff --git a/src/main/java/Deadline.java b/src/main/java/main/java/Deadline.java similarity index 100% rename from src/main/java/Deadline.java rename to src/main/java/main/java/Deadline.java diff --git a/src/main/java/Duke.java b/src/main/java/main/java/Duke.java similarity index 100% rename from src/main/java/Duke.java rename to src/main/java/main/java/Duke.java diff --git a/src/main/java/DukeException.java b/src/main/java/main/java/DukeException.java similarity index 100% rename from src/main/java/DukeException.java rename to src/main/java/main/java/DukeException.java diff --git a/src/main/java/Event.java b/src/main/java/main/java/Event.java similarity index 100% rename from src/main/java/Event.java rename to src/main/java/main/java/Event.java diff --git a/src/main/java/Parser.java b/src/main/java/main/java/Parser.java similarity index 100% rename from src/main/java/Parser.java rename to src/main/java/main/java/Parser.java diff --git a/src/main/java/Storage.java b/src/main/java/main/java/Storage.java similarity index 100% rename from src/main/java/Storage.java rename to src/main/java/main/java/Storage.java diff --git a/src/main/java/Task.java b/src/main/java/main/java/Task.java similarity index 100% rename from src/main/java/Task.java rename to src/main/java/main/java/Task.java diff --git a/src/main/java/TaskList.java b/src/main/java/main/java/TaskList.java similarity index 100% rename from src/main/java/TaskList.java rename to src/main/java/main/java/TaskList.java diff --git a/src/main/java/Todo.java b/src/main/java/main/java/Todo.java similarity index 100% rename from src/main/java/Todo.java rename to src/main/java/main/java/Todo.java diff --git a/src/main/java/Ui.java b/src/main/java/main/java/Ui.java similarity index 100% rename from src/main/java/Ui.java rename to src/main/java/main/java/Ui.java From e9542b0d1373fd5c002b4114de6b8fac73c6a177 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Sun, 13 Sep 2020 15:43:18 +0800 Subject: [PATCH 29/51] Edit build.gradle --- build.gradle | 21 +++++++++++++++++++++ src/META-INF/MANIFEST.MF | 3 --- 2 files changed, 21 insertions(+), 3 deletions(-) delete mode 100644 src/META-INF/MANIFEST.MF diff --git a/build.gradle b/build.gradle index cefa83d4cd..eadfb5c91b 100644 --- a/build.gradle +++ b/build.gradle @@ -3,4 +3,25 @@ plugins { id 'application' id 'checkstyle' id 'com.github.johnrengelman.shadow' version '5.1.0' +} + +repositories { + mavenCentral() +} + +dependencies { + String javaFxVersion = '11' + + 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' } \ No newline at end of file diff --git a/src/META-INF/MANIFEST.MF b/src/META-INF/MANIFEST.MF deleted file mode 100644 index 4588f17dec..0000000000 --- a/src/META-INF/MANIFEST.MF +++ /dev/null @@ -1,3 +0,0 @@ -Manifest-Version: 1.0 -Main-Class: main.java.Duke - From 88955d96a581aee10d703475885828ae5c86c3c5 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Wed, 16 Sep 2020 23:10:17 +0800 Subject: [PATCH 30/51] Add some GUI feature --- command.txt | 4 +- gradle/wrapper/gradle-wrapper.properties | 5 +- src/META-INF/MANIFEST.MF | 2 + src/main/java/main/java/DialogBox.java | 24 ++++ src/main/java/main/java/Duke.java | 112 +++++++++++++++++- src/main/java/main/java/Launcher.java | 12 ++ .../java/main/resources/images/DaDuke.png | Bin 0 -> 70804 bytes .../java/main/resources/images/DaUser.png | Bin 0 -> 383207 bytes 8 files changed, 153 insertions(+), 6 deletions(-) create mode 100644 src/META-INF/MANIFEST.MF create mode 100644 src/main/java/main/java/DialogBox.java create mode 100644 src/main/java/main/java/Launcher.java create mode 100644 src/main/java/main/resources/images/DaDuke.png create mode 100644 src/main/java/main/resources/images/DaUser.png diff --git a/command.txt b/command.txt index 34863604d9..684a8ea0a9 100644 --- a/command.txt +++ b/command.txt @@ -1,5 +1,5 @@ T|0| read book D|0| return |2020-10-09 -T|0| return book +T|1| return book D|0| buy book |2030-09-09 -T|0| sleep \ No newline at end of file +T|1| sleep \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 7e43d47c96..94920145f3 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Wed Sep 09 14:22:47 CST 2020 -distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-all.zip distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-bin.zip zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/src/META-INF/MANIFEST.MF b/src/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..e6ef164d77 --- /dev/null +++ b/src/META-INF/MANIFEST.MF @@ -0,0 +1,2 @@ +Manifest-Version: 1.0 +Main-Class: main.java.Duke diff --git a/src/main/java/main/java/DialogBox.java b/src/main/java/main/java/DialogBox.java new file mode 100644 index 0000000000..5a7db184a0 --- /dev/null +++ b/src/main/java/main/java/DialogBox.java @@ -0,0 +1,24 @@ +package main.java; + +import javafx.geometry.Pos; +import javafx.scene.control.Label; +import javafx.scene.image.ImageView; +import javafx.scene.layout.HBox; + +public class DialogBox extends HBox{ + + private Label text; + private ImageView displayPicture; + + public DialogBox(Label l, ImageView iv) { + text = l; + displayPicture = iv; + + text.setWrapText(true); + displayPicture.setFitWidth(100); + displayPicture.setFitHeight(100); + + this.setAlignment(Pos.TOP_RIGHT); + this.getChildren().addAll(text, displayPicture); + } +} diff --git a/src/main/java/main/java/Duke.java b/src/main/java/main/java/Duke.java index e706d117f9..d2f605b048 100644 --- a/src/main/java/main/java/Duke.java +++ b/src/main/java/main/java/Duke.java @@ -1,16 +1,50 @@ package main.java; import java.io.IOException; +import javafx.application.Application; +import javafx.scene.Scene; +import javafx.scene.control.Button; +import javafx.scene.control.ScrollPane; +import javafx.scene.control.TextField; +import javafx.scene.layout.AnchorPane; +import javafx.scene.layout.VBox; +import javafx.scene.control.Label; +import javafx.scene.layout.Region; +import javafx.stage.Stage; +import javafx.scene.image.ImageView; +import javafx.scene.image.Image; /** * Represents a robot who can help the user to make todo list. * A Duke object is an instance of such robots. */ -public class Duke { +public class Duke extends Application{ private Storage storage; private TaskList tasks; private Ui ui; + private ScrollPane scrollPane; + private VBox dialogContainer; + private TextField userInput; + private Button sendButton; + private Scene scene; + + private Image user = new Image(this.getClass(). + getResourceAsStream("/image/DaUser.png")); + private Image duke = new Image(this.getClass(). + getResourceAsStream("/image/DaDuke.png")); + + public Duke() { + ui = new Ui(); + storage = new Storage("./command.txt"); + try { + tasks = new TaskList(storage.load()); + } catch (DukeException e) { + ui.showLoadingError(); + tasks = new TaskList(); + } + } + public Duke(String filePath) { ui = new Ui(); storage = new Storage(filePath); @@ -45,5 +79,81 @@ public void run() { public static void main(String[] args) { new Duke("./command.txt").run(); } + + @Override + public void start(Stage stage) { + stage.setTitle("Duke"); + stage.setResizable(false); + stage.setMinHeight(600.0); + stage.setMinWidth(400.0); + + scrollPane = new ScrollPane(); + dialogContainer = new VBox(); + scrollPane.setContent(dialogContainer); + + userInput = new TextField(); + sendButton = new Button("send"); + + AnchorPane mainLayout = new AnchorPane(); + mainLayout.getChildren().addAll(scrollPane, userInput, sendButton); + + mainLayout.setPrefSize(400.0, 600.0); + + scrollPane.setPrefSize(385, 535); + scrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); + scrollPane.setVbarPolicy(ScrollPane.ScrollBarPolicy.ALWAYS); + + scrollPane.setVvalue(1.0); + scrollPane.setFitToWidth(true); + + dialogContainer.setPrefHeight(Region.USE_COMPUTED_SIZE); + + userInput.setPrefWidth(325.0); + + sendButton.setPrefWidth(55.0); + + AnchorPane.setTopAnchor(scrollPane, 1.0); + + AnchorPane.setBottomAnchor(sendButton, 1.0); + AnchorPane.setRightAnchor(sendButton, 1.0); + + AnchorPane.setLeftAnchor(userInput, 1.0); + AnchorPane.setBottomAnchor(userInput, 1.0); + + sendButton.setOnMouseClicked((event -> { + dialogContainer.getChildren().add(getDialogLabel(userInput.getText())); + userInput.clear(); + })); + + userInput.setOnAction((event -> { + dialogContainer.getChildren().add(getDialogLabel(userInput.getText())); + userInput.clear(); + })); + + dialogContainer.heightProperty(). + addListener((observable -> scrollPane.setVvalue(1.0))); + + scene = new Scene(mainLayout); + + stage.setScene(scene); + stage.show(); + } + + private Label getDialogLabel(String text) { + Label textToAdd = new Label(text); + textToAdd.setWrapText(true); + + return textToAdd; + } + + private void handleUserInput() { + Label userText = new Label(userInput.getText()); + Label dukeText = new Label(getResponse(userInput.getText())); + dialogContainer.getChildren().addAll( + new DialogBox(userText, new ImageView(user)), + new DialogBox(dukeText, new ImageView(duke)) + ); + userInput.clear(); + } } diff --git a/src/main/java/main/java/Launcher.java b/src/main/java/main/java/Launcher.java new file mode 100644 index 0000000000..302380d354 --- /dev/null +++ b/src/main/java/main/java/Launcher.java @@ -0,0 +1,12 @@ +package main.java; + +import javafx.application.Application; + +/** + * A launcher class to workaround classpath issues. + */ +public class Launcher { + public static void main(String[] args) { + Application.launch(Duke.class, args); + } +} \ No newline at end of file diff --git a/src/main/java/main/resources/images/DaDuke.png b/src/main/java/main/resources/images/DaDuke.png new file mode 100644 index 0000000000000000000000000000000000000000..2f230894c34cfd5d83fc23160cda7400a4caafc3 GIT binary patch literal 70804 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%0D1(hs)8~? zVI-}}MOG*sI>Mq(3r3NSR9@!-bMc&RCTyzDkHgF6kP(y2`}36D$BEAdj1EF4eB_)e zLmwlPP?r13mWjoe8%881-uuYp80>0@oF}gsq=J8c7~*KcO9SH{UoLkE^@{qs7FC{) z-_LQcm$95RYR1c`7kB{PVX-Nf* z4eDSjp^T#OQsX-s=S*ATRi1`~Uh1Zp@OQ>bs$>*s4Otu$?%y|50fd2$wHlstc(**= z;V@YKvPZl8;?r{R))DV5W~mlDJ834ZxIL9bFD9BBn9u}W@1tXFTk66PU z?s2pMVaetgxh}sZOCm9$g3pPcjEtb4BMlWf>eRhCw?ouLfz&;uz^j)cz1+*l)@xrCBiFDIJD?Hgh7I~L*>44o)SlCv1fuU z=laO;R#B3wP{h5$l4Sx%8ZN#B9~otwiSH&E&TWAp%U@Wb3dUMb3$cHUS=sLk0wqXm zUo=;|*9X&PHI*1O05*G)4*cb14t_EtaG%B^bRxRQ^pMt!L54_!a42W-lDRl?R^VEK zl*2$NbAZ`|Z^kJ84zZB-ULiWyl6D*ZF%2O905X6{_lO|^^*8%@b{}j=iHUd4HDXOL z&tI^NoDV(R%F#uAm^DBYLezkKlV{#ehDuu^m}J*u>msg7f=>v6rlK1eNT_+qLOCDB z$%GpLERLQ*3fZd&C{fQI*0I&@DXAF+`CmsXy#JOFXok6ec zSw=xEgYl9O1H@Jx z?6|arom+xMC>X&8A{Y1bieaNmg^M<zbTq z9cdtxExM!W91*by1gs`j2{TRWctdlc7?MSj<~DG9C@Dk~h**A&elipqAY|DyvJw38 zVaUM331S%nO?2Z95u(*)1Hha*df{1z4Ommg@u?Anv0T z$Ruk3@+Wwrjj~`d$*kqE#P^aZGXDPnc^-A+oF`9cF9WZ(VrhU3w^tGz?tNjgQZQ+& zkDq|^k~i8a1fWVM^1>cq5+P7SlXcv8f)6{0ls^$a?k=Gzgr5Wi){A>gjjx*;NAhpp zu^BT#;6>Y~Fta5L6gx_M++k4d{NjrGCLo0;{K5oo z5@S-0haF80j~KZ|BoL9%-;8x2+ty6pd<;a=A2xT!DgA*oDJ^hM8j}DFSG(G7LN8a` z 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 literal 0 HcmV?d00001 diff --git a/src/main/java/main/resources/images/DaUser.png b/src/main/java/main/resources/images/DaUser.png new file mode 100644 index 0000000000000000000000000000000000000000..8e976cfe8be2fad14eefeb0f384a4786391231d8 GIT binary patch literal 383207 zcmZU(1yo$kvM4;byAxn=clUuna7ls(cL?q_xVr@l?nwyl?gIpe5Zv7d2@L-8opau~ z_kXX~s$I29cUNz#?v8%1CXaErWFYKg8K;(?t93$F#4qTW-6$x zp6+@`^PEMx(^`1%babTtghbgH68f#{zW?xNP|N;X2O8QzTQ&F`yuNbhwl@~2WObGc zC#61^F>?9AAAnvGei=6W{!dGTJMkeNH3D)0ym~=D3A05G3`PpDEO=?}Xhp{L2wYSh z|2ui{!W!{5`7HpD0_T$co`yN7g$&RkOPxvrFNGQEyZk+zSAbZ?o<0)pt++t?k$dlu55JjK{=l%#&|<;TM*j0SYv0d0F+$6Te~*8t8(0!WImNabhDD zD7H{-1MK6p^V2w@H>5FjFho^94lB=07&3nhWBM#IKgz^3fVE*Sl2M$iKa_F%ptao0 zdX*yb>G_Qro>S0^N3Admkr^w1v{4}iAETCYKrW_Zz$PBcN`rk5g1s=DhIRxyrM8MK zNiHN0V5ifkN-k*3AYw+o98?;_H~LAeLmZP@#Q(R~6Akusku7DwmExL$;w>BF!h_I? z`p$Io>q@O)GQVCnm#4Zm>DPkXWscFr`K4`(4*?~goDgcWikLr$kpQ(&Ny;ODiOEC| zCflt6KDWE#ZGnr8chtzv(xfJE4EA~^yu(N-O;r(`Fl9b`IG7Z+YY=LStpEbw#|QZm zXclTrFAz66$jsTu=H(kIq4ZO^bmiV5a@~V`?7j6)@DMIZkWCU!AlrkrB1&gzkoQEeLtUTZ*ginjrNG%31Sfrb1n$;hPv34|;Qk^yCaR zIaqx2xpk>!uC@MIH7}G5tmRfoIhY&rG2;DOX0`Q+-yYL{sVqL|Tp!=tn2nSFWc701 z(SKQ~K4K5^ziv)nczXiyL>EiQ?Zr073JRy}C$GI)z!RV{kV(9sp9*RYd-lGhPTT=L z!#?F7DY35Dt%|LJJ`YJ1+I%YX4Rv7}EgNMJ*?LQi5`ZMjo~OwTCLQfx?WY9%6?%8| z)pzjZMVor8-q`(W(+K;^&ELP2&qcA%fS$=e&e;`R2NYbr^Kf8bz7gm9U$Ok622a#I z&B0VFAIf_07vPyPlTn~>aMXxlq0`jZ^uhexcz^UT=j$m{kobDV-=qKP<*gzAiICl+ zT|;mJ_aKcRjF}K>+$-XYXMohad4C9)los+v@Wn%

Yoj&ZO0jlGuvzrnaX?MUyv6 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%0A`#+gF5{l=A6%|_N#3M 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

>fQ{7-L%8otdY*B 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�JiM6q@w0Bx8Jf?7%PQ*^(pyFX)ms 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 Date: Thu, 17 Sep 2020 01:10:37 +0800 Subject: [PATCH 31/51] Improve GUI --- src/main/java/main/java/DialogBox.java | 23 +++++++++++++ src/main/java/main/java/Duke.java | 31 ++++++++++-------- src/main/java/main/java/Ui.java | 4 +++ .../main => }/resources/images/DaDuke.png | Bin .../main => }/resources/images/DaUser.png | Bin 5 files changed, 45 insertions(+), 13 deletions(-) rename src/main/{java/main => }/resources/images/DaDuke.png (100%) rename src/main/{java/main => }/resources/images/DaUser.png (100%) diff --git a/src/main/java/main/java/DialogBox.java b/src/main/java/main/java/DialogBox.java index 5a7db184a0..a73fbd6845 100644 --- a/src/main/java/main/java/DialogBox.java +++ b/src/main/java/main/java/DialogBox.java @@ -1,6 +1,9 @@ package main.java; +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; import javafx.geometry.Pos; +import javafx.scene.Node; import javafx.scene.control.Label; import javafx.scene.image.ImageView; import javafx.scene.layout.HBox; @@ -21,4 +24,24 @@ public DialogBox(Label l, ImageView iv) { this.setAlignment(Pos.TOP_RIGHT); this.getChildren().addAll(text, displayPicture); } + + /** + * Flips the dialog box such that the ImageView is on the left and text on the right. + */ + private void flip() { + this.setAlignment(Pos.TOP_LEFT); + ObservableList tmp = FXCollections.observableArrayList(this.getChildren()); + FXCollections.reverse(tmp); + this.getChildren().setAll(tmp); + } + + public static DialogBox getUserDialog(Label l, ImageView iv) { + return new DialogBox(l, iv); + } + + public static DialogBox getDukeDialog(Label l, ImageView iv) { + var db = new DialogBox(l, iv); + db.flip(); + return db; + } } diff --git a/src/main/java/main/java/Duke.java b/src/main/java/main/java/Duke.java index d2f605b048..21921480d0 100644 --- a/src/main/java/main/java/Duke.java +++ b/src/main/java/main/java/Duke.java @@ -30,9 +30,9 @@ public class Duke extends Application{ private Scene scene; private Image user = new Image(this.getClass(). - getResourceAsStream("/image/DaUser.png")); + getResourceAsStream("/images/DaUser.png")); private Image duke = new Image(this.getClass(). - getResourceAsStream("/image/DaDuke.png")); + getResourceAsStream("/images/DaDuke.png")); public Duke() { ui = new Ui(); @@ -60,7 +60,6 @@ public Duke(String filePath) { * launch the Duke application, initialize the robot. */ public void run() { - ui.start(); Parser parser = new Parser(tasks); parser.handleCommand(); try { @@ -97,9 +96,9 @@ public void start(Stage stage) { AnchorPane mainLayout = new AnchorPane(); mainLayout.getChildren().addAll(scrollPane, userInput, sendButton); - mainLayout.setPrefSize(400.0, 600.0); + mainLayout.setPrefSize(500.0, 800.0); - scrollPane.setPrefSize(385, 535); + scrollPane.setPrefSize(490, 750); scrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); scrollPane.setVbarPolicy(ScrollPane.ScrollBarPolicy.ALWAYS); @@ -108,9 +107,9 @@ public void start(Stage stage) { dialogContainer.setPrefHeight(Region.USE_COMPUTED_SIZE); - userInput.setPrefWidth(325.0); + userInput.setPrefWidth(425.0); - sendButton.setPrefWidth(55.0); + sendButton.setPrefWidth(68.0); AnchorPane.setTopAnchor(scrollPane, 1.0); @@ -121,13 +120,11 @@ public void start(Stage stage) { AnchorPane.setBottomAnchor(userInput, 1.0); sendButton.setOnMouseClicked((event -> { - dialogContainer.getChildren().add(getDialogLabel(userInput.getText())); - userInput.clear(); + handleUserInput(); })); userInput.setOnAction((event -> { - dialogContainer.getChildren().add(getDialogLabel(userInput.getText())); - userInput.clear(); + handleUserInput(); })); dialogContainer.heightProperty(). @@ -135,6 +132,10 @@ public void start(Stage stage) { scene = new Scene(mainLayout); + Label greet = new Label(ui.greet()); + + dialogContainer.getChildren().addAll(DialogBox.getDukeDialog(greet, new ImageView(duke))); + stage.setScene(scene); stage.show(); } @@ -150,10 +151,14 @@ private void handleUserInput() { Label userText = new Label(userInput.getText()); Label dukeText = new Label(getResponse(userInput.getText())); dialogContainer.getChildren().addAll( - new DialogBox(userText, new ImageView(user)), - new DialogBox(dukeText, new ImageView(duke)) + DialogBox.getUserDialog(userText, new ImageView(user)), + DialogBox.getDukeDialog(dukeText, new ImageView(duke)) ); userInput.clear(); } + + private String getResponse(String input) { + return "Duke heard: " + input; + } } diff --git a/src/main/java/main/java/Ui.java b/src/main/java/main/java/Ui.java index 900b9a29fd..e951f3d054 100644 --- a/src/main/java/main/java/Ui.java +++ b/src/main/java/main/java/Ui.java @@ -21,6 +21,10 @@ public void start() { System.out.println(" ____________________________________________________________\n"); } + public String greet() { + return "Hello from\n" + logo + "\n" + " Hello! I'm Duke\n What can I do for you?"; + } + /** * prints out the loading error message */ diff --git a/src/main/java/main/resources/images/DaDuke.png b/src/main/resources/images/DaDuke.png similarity index 100% rename from src/main/java/main/resources/images/DaDuke.png rename to src/main/resources/images/DaDuke.png diff --git a/src/main/java/main/resources/images/DaUser.png b/src/main/resources/images/DaUser.png similarity index 100% rename from src/main/java/main/resources/images/DaUser.png rename to src/main/resources/images/DaUser.png From a2fe1419fc11ecde99e8b40c02a82b2ec08df395 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Thu, 17 Sep 2020 02:31:25 +0800 Subject: [PATCH 32/51] Restructure Parser --- command.txt | 5 - src/main/java/main/java/Deadline.java | 4 +- src/main/java/main/java/Duke.java | 16 +-- src/main/java/main/java/Event.java | 4 +- src/main/java/main/java/Parser.java | 188 +++++++++++++++++--------- src/main/java/main/java/Task.java | 4 + src/main/java/main/java/Todo.java | 5 + text-ui-test/command.txt | 3 - 8 files changed, 148 insertions(+), 81 deletions(-) diff --git a/command.txt b/command.txt index 34863604d9..e69de29bb2 100644 --- a/command.txt +++ b/command.txt @@ -1,5 +0,0 @@ -T|0| read book -D|0| return |2020-10-09 -T|0| return book -D|0| buy book |2030-09-09 -T|0| sleep \ No newline at end of file diff --git a/src/main/java/main/java/Deadline.java b/src/main/java/main/java/Deadline.java index 63ba4c8e7a..1ea05a2f1f 100644 --- a/src/main/java/main/java/Deadline.java +++ b/src/main/java/main/java/Deadline.java @@ -25,13 +25,13 @@ private String getDeadline() { } @Override - public String toString() { + public String getDescription() { return "[D][" + getStatusIcon() + "]" + description + "(by:" + getDeadline() + ")"; } @Override public void printDescription() { - System.out.println(toString()); + System.out.println(getDescription()); } } diff --git a/src/main/java/main/java/Duke.java b/src/main/java/main/java/Duke.java index e706d117f9..ded8edfa36 100644 --- a/src/main/java/main/java/Duke.java +++ b/src/main/java/main/java/Duke.java @@ -1,6 +1,7 @@ package main.java; import java.io.IOException; +import java.util.Scanner; /** * Represents a robot who can help the user to make todo list. @@ -10,6 +11,7 @@ public class Duke { private Storage storage; private TaskList tasks; private Ui ui; + Scanner sc = new Scanner(System.in); public Duke(String filePath) { ui = new Ui(); @@ -27,14 +29,12 @@ public Duke(String filePath) { */ public void run() { ui.start(); - Parser parser = new Parser(tasks); - parser.handleCommand(); - try { - parser.updateFile(); - } catch (IOException e) { - System.out.println(e); - System.out.println("IOException from FileWriter!!"); - return; + boolean flag = true; + Parser parser = new Parser(tasks, true); + while(flag) { + String input = sc.nextLine(); + System.out.println(parser.handleCommand(input)); + flag = parser.getFlag(); } } diff --git a/src/main/java/main/java/Event.java b/src/main/java/main/java/Event.java index d124a61041..81a67f92f7 100644 --- a/src/main/java/main/java/Event.java +++ b/src/main/java/main/java/Event.java @@ -17,13 +17,13 @@ public Event(String description, String time, boolean isDone) { } @Override - public String toString() { + public String getDescription() { return "[E][" + getStatusIcon() + "]" + description + "(at:" + time + ")"; } @Override public void printDescription() { - System.out.println(toString()); + System.out.println(getDescription()); } } diff --git a/src/main/java/main/java/Parser.java b/src/main/java/main/java/Parser.java index 2b35bee5c3..e167456e9e 100644 --- a/src/main/java/main/java/Parser.java +++ b/src/main/java/main/java/Parser.java @@ -13,10 +13,74 @@ public class Parser { Scanner sc; TaskList taskList; + boolean flag; - public Parser(TaskList taskList) { + public Parser(TaskList taskList, boolean flag) { this.sc = new Scanner(System.in); this.taskList = taskList; + this.flag = flag; + } + + public String handleCommand(String input) { + sc = new Scanner(input); + String command = sc.next(); + + switch (command) { + case "bye": + return handleBye(); + + case "list": + return handleList(); + + case "done": + try { + return handleDone(); + } catch (DukeException e) { + return " " + e.getMessage(); + } + + case "delete": + try { + return handleDelete(); + } catch (DukeException e) { + return " " + e.getMessage(); + } + + case "todo": + try { + return handleTodo(); + } catch (DukeException e) { + return " " + e.getMessage(); + } + + case "deadline": + try { + return handleDeadline(); + } catch (DukeException e) { + return " " + e.getMessage(); + } + + case "event": + try { + return handleEvent(); + } catch (DukeException e) { + return " " + e.getMessage(); + } + + case "find": + try { + return handleFind(); + } catch (DukeException e) { + return " " + e.getMessage(); + } + + default: + try { + return handleDefault(); + } catch (DukeException e) { + return " " + e.getMessage(); + } + } } /** @@ -109,30 +173,33 @@ public void handleCommand() { /** * handles instruction "bye" */ - public void handleBye() { - System.out.println(" ____________________________________________________________"); - System.out.println(" Bye. Hope to see you again soon!"); - System.out.println(" ____________________________________________________________\n"); - return; + public String handleBye() { + flag = false; + try { + this.updateFile(); + } catch (IOException e) { + System.out.println(e); + System.out.println("IOException from FileWriter!!"); + } + return " Bye. Hope to see you again soon!"; } /** * handles instruction "list" */ - public void handleList() { - System.out.println(" ____________________________________________________________"); - System.out.println(" Here are the tasks in your list:"); + public String handleList() { + String listOutput = ""; + listOutput += " Here are the tasks in your list:\n"; for (int i = 0; i < taskList.size(); i++) { - System.out.print(" " + (i + 1) + "."); - taskList.get(i).printDescription(); + listOutput += " " + (i + 1) + "." + taskList.get(i).getDescription() + "\n"; } - System.out.println(" ____________________________________________________________\n"); + return listOutput; } /** * handles instruction "done" */ - public void handleDone() throws DukeException { + public String handleDone() throws DukeException { String doneCommand = sc.nextLine(); int index = 0; if (doneCommand.isEmpty()) { @@ -141,27 +208,24 @@ public void handleDone() throws DukeException { try { index = Integer.parseInt(doneCommand.stripLeading()); } catch (NumberFormatException e) { - System.out.println(" ____________________________________________________________"); - System.out.println(" \u2639 Please enter a valid integer!!"); - System.out.println(" ____________________________________________________________\n"); - return; + return " \u2639 Please enter a valid integer!!"; } if (index > taskList.size()) { throw new DukeException("\u2639 Your number is too large!!"); } Task currentTask = taskList.get(index - 1); + + String doneOutput = ""; currentTask.markAsDone(); - System.out.println(" ____________________________________________________________"); - System.out.println(" Nice! I've marked this task as done:"); - System.out.print(" "); - currentTask.printDescription(); - System.out.println(" ____________________________________________________________\n"); + doneOutput += " Nice! I've marked this task as done:\n "; + doneOutput += currentTask.getDescription(); + return doneOutput; } /** * handles instruction "delete" */ - public void handleDelete() throws DukeException { + public String handleDelete() throws DukeException { String deleteCommand = sc.nextLine(); int index = 0; if (deleteCommand.isEmpty()) { @@ -170,67 +234,66 @@ public void handleDelete() throws DukeException { try { index = Integer.parseInt(deleteCommand.stripLeading()); } catch (NumberFormatException e) { - System.out.println(" ____________________________________________________________"); - System.out.println(" \u2639 Please enter a valid integer!!"); - System.out.println(" ____________________________________________________________\n"); - return; + return " \u2639 Please enter a valid integer!!"; } if (index > taskList.size()) { throw new DukeException("\u2639 Your number is too large!!"); } Task currentTask = taskList.get(index - 1); taskList.remove(index - 1); - System.out.println(" ____________________________________________________________"); - System.out.println(" Noted! I've removed this task:"); - System.out.print(" "); - currentTask.printDescription(); - System.out.println(" Now you have " + taskList.size() + " tasks in the list."); - System.out.println(" ____________________________________________________________\n"); + String deleteOutput = ""; + deleteOutput += " Noted! I've removed this task:\n "; + deleteOutput += currentTask.getDescription(); + deleteOutput += "\n Now you have " + taskList.size() + " tasks in the list."; + return deleteOutput; } /** * handles instruction "find" */ - public void handleFind() throws DukeException { + public String handleFind() throws DukeException { String input = sc.nextLine(); if (input.isEmpty()) { throw new DukeException("\u2639 OOPS!!! I need to know the keyword!!"); } String keyword = input.replaceFirst(" ", ""); - System.out.println(" ____________________________________________________________"); - System.out.println(" Here are the matching tasks in your list:"); + String output = ""; + output += " Here are the matching tasks in your list:\n"; for (int i = 0, count = 1; i < taskList.size(); i++) { if (taskList.get(i).description.contains(keyword)) { - System.out.print(" " + count + "."); - taskList.get(i).printDescription(); + output += " " + count + "." + taskList.get(i).getDescription(); count++; } } - System.out.println(" ____________________________________________________________\n"); + return output; } /** * handles instruction "todo" */ - public void handleTodo() throws DukeException { + public String handleTodo() throws DukeException { + if (!sc.hasNextLine()) { + throw new DukeException("\u2639 OOPS!!! The description of a todo cannot be empty."); + } String todoDescription = sc.nextLine(); if (todoDescription.isEmpty()) { throw new DukeException("\u2639 OOPS!!! The description of a todo cannot be empty."); } Todo todo = new Todo(todoDescription); taskList.add(todo); - System.out.println(" ____________________________________________________________"); - System.out.println(" Got it. I've added this task:"); - System.out.print(" "); - todo.printDescription(); - System.out.println(" Now you have " + taskList.size() + " tasks in the list."); - System.out.println(" ____________________________________________________________\n"); + String output = ""; + output += "Got it. I've added this task: \n" + todo.getDescription(); + output += "\nNow you have " + taskList.size() + " tasks in the list."; + return output; } /** * handles instruction "deadline" */ - public void handleDeadline() throws DukeException { + public String handleDeadline() throws DukeException { + if (!sc.hasNextLine()) { + throw new DukeException("\u2639 OOPS!!! The description of a deadline cannot be empty."); + } String deadlineCommand = sc.nextLine(); if (deadlineCommand.isEmpty()) { throw new DukeException("\u2639 OOPS!!! The description of a deadline cannot be empty."); @@ -245,18 +308,19 @@ public void handleDeadline() throws DukeException { LocalDate date = LocalDate.parse(time, formatter); Deadline deadline = new Deadline(deadlineDescription, date); taskList.add(deadline); - System.out.println(" ____________________________________________________________"); - System.out.println(" Got it. I've added this task:"); - System.out.print(" "); - deadline.printDescription(); - System.out.println(" Now you have " + taskList.size() + " tasks in the list."); - System.out.println(" ____________________________________________________________\n"); + String output = ""; + output += "Got it. I've added this task: \n" + deadline.getDescription(); + output += "\nNow you have " + taskList.size() + " tasks in the list."; + return output; } /** * handles instruction "event" */ - public void handleEvent() throws DukeException{ + public String handleEvent() throws DukeException{ + if (!sc.hasNextLine()) { + throw new DukeException("\u2639 OOPS!!! The description of a event cannot be empty."); + } String eventCommand = sc.nextLine(); if (eventCommand.isEmpty()) { throw new DukeException("\u2639 OOPS!!! The description of an event cannot be empty."); @@ -269,19 +333,17 @@ public void handleEvent() throws DukeException{ String date = strings[1]; Event event = new Event(eventDescription, date); taskList.add(event); - System.out.println(" ____________________________________________________________"); - System.out.println(" Got it. I've added this task:"); - System.out.print(" "); - event.printDescription(); - System.out.println(" Now you have " + taskList.size() + " tasks in the list."); - System.out.println(" ____________________________________________________________\n"); + String output = ""; + output += "Got it. I've added this task: \n"; + output += event.getDescription() + "Now you have " + taskList.size() + " tasks in the list."; + return output; } /** * throws exceptions when the command is wrongly typed * @throws DukeException */ - public void handleDefault() throws DukeException { + public String handleDefault() throws DukeException { throw new DukeException("\u2639 OOPS!!! I'm sorry, but I don't know what that means :-("); } @@ -318,4 +380,8 @@ public void updateFile() throws IOException { fw.close(); fwAppend.close(); } + + public boolean getFlag() { + return flag; + } } \ No newline at end of file diff --git a/src/main/java/main/java/Task.java b/src/main/java/main/java/Task.java index 8943e1336b..28ecf385fa 100644 --- a/src/main/java/main/java/Task.java +++ b/src/main/java/main/java/Task.java @@ -38,4 +38,8 @@ public void markAsDone() { public void printDescription() { System.out.println("[" + getStatusIcon() + "] " + description); } + + public String getDescription() { + return "[" + getStatusIcon() + "] " + description; + } } diff --git a/src/main/java/main/java/Todo.java b/src/main/java/main/java/Todo.java index bd843dadcb..e79fd71915 100644 --- a/src/main/java/main/java/Todo.java +++ b/src/main/java/main/java/Todo.java @@ -16,4 +16,9 @@ public Todo(String description, boolean isDone) { public void printDescription() { System.out.println("[T][" + getStatusIcon() + "]" + description); } + + @Override + public String getDescription() { + return "[T][" + getStatusIcon() + "]" + description; + } } diff --git a/text-ui-test/command.txt b/text-ui-test/command.txt index cb5612b906..e69de29bb2 100644 --- a/text-ui-test/command.txt +++ b/text-ui-test/command.txt @@ -1,3 +0,0 @@ -T|1| read book -D|0| return book |2020-10-10 -T|0| buy bread \ No newline at end of file From 03db3d59a3575680e49e0e8d06052aee79957f02 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Thu, 17 Sep 2020 14:49:29 +0800 Subject: [PATCH 33/51] fix bug for some operation --- command.txt | 2 ++ src/main/java/main/java/Parser.java | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/command.txt b/command.txt index e69de29bb2..62529370ad 100644 --- a/command.txt +++ b/command.txt @@ -0,0 +1,2 @@ +T|0| dbasbdk +T|0| dankjd | ahsjkd \ No newline at end of file diff --git a/src/main/java/main/java/Parser.java b/src/main/java/main/java/Parser.java index e167456e9e..8ed70e7162 100644 --- a/src/main/java/main/java/Parser.java +++ b/src/main/java/main/java/Parser.java @@ -200,6 +200,9 @@ public String handleList() { * handles instruction "done" */ public String handleDone() throws DukeException { + if (!sc.hasNextLine()) { + throw new DukeException("\u2639 OOPS!!! I need to know the index of the task to be done!"); + } String doneCommand = sc.nextLine(); int index = 0; if (doneCommand.isEmpty()) { @@ -226,6 +229,9 @@ public String handleDone() throws DukeException { * handles instruction "delete" */ public String handleDelete() throws DukeException { + if (!sc.hasNextLine()) { + throw new DukeException("\u2639 OOPS!!! I need to know the index of the task to be deleted!"); + } String deleteCommand = sc.nextLine(); int index = 0; if (deleteCommand.isEmpty()) { From 6ed168a197713c3142eeb04bc27da4f5aed1ccf0 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Thu, 17 Sep 2020 15:20:40 +0800 Subject: [PATCH 34/51] Finish GUI feature --- command.txt | 5 +++-- src/main/java/main/java/Duke.java | 9 ++++++--- src/main/java/main/java/Ui.java | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/command.txt b/command.txt index 684a8ea0a9..7037a6ad2a 100644 --- a/command.txt +++ b/command.txt @@ -1,5 +1,6 @@ T|0| read book -D|0| return |2020-10-09 +D|1| return |2020-10-09 T|1| return book D|0| buy book |2030-09-09 -T|1| sleep \ No newline at end of file +T|1| sleep +D|0| play |2020-09-08 \ No newline at end of file diff --git a/src/main/java/main/java/Duke.java b/src/main/java/main/java/Duke.java index aca4c9a217..ecfdd42f7b 100644 --- a/src/main/java/main/java/Duke.java +++ b/src/main/java/main/java/Duke.java @@ -35,6 +35,8 @@ public class Duke extends Application{ private Image duke = new Image(this.getClass(). getResourceAsStream("/images/DaDuke.png")); + Scanner sc = new Scanner(System.in); + public Duke() { ui = new Ui(); storage = new Storage("./command.txt"); @@ -45,7 +47,6 @@ public Duke() { tasks = new TaskList(); } } - Scanner sc = new Scanner(System.in); public Duke(String filePath) { ui = new Ui(); @@ -149,7 +150,7 @@ private Label getDialogLabel(String text) { } private void handleUserInput() { - Label userText = new Label(userInput.getText()); + Label userText = new Label("ME: " + userInput.getText() + " "); Label dukeText = new Label(getResponse(userInput.getText())); dialogContainer.getChildren().addAll( DialogBox.getUserDialog(userText, new ImageView(user)), @@ -159,7 +160,9 @@ private void handleUserInput() { } private String getResponse(String input) { - return "Duke heard: " + input; + //return "Duke heard: " + input; + Parser parser = new Parser(tasks, true); + return parser.handleCommand(input); } } diff --git a/src/main/java/main/java/Ui.java b/src/main/java/main/java/Ui.java index e951f3d054..81cfe76731 100644 --- a/src/main/java/main/java/Ui.java +++ b/src/main/java/main/java/Ui.java @@ -22,7 +22,7 @@ public void start() { } public String greet() { - return "Hello from\n" + logo + "\n" + " Hello! I'm Duke\n What can I do for you?"; + return "Hello from\n" + logo + " Hello! I'm Duke\n What can I do for you?"; } /** From 6703d181269240d9464b870c19f68ff8de99475b Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Thu, 17 Sep 2020 16:25:02 +0800 Subject: [PATCH 35/51] Restructure project --- src/main/java/{main/java => }/Deadline.java | 0 src/main/java/{main/java => }/DialogBox.java | 0 src/main/java/{main/java => }/Duke.java | 0 src/main/java/{main/java => }/DukeException.java | 0 src/main/java/{main/java => }/Event.java | 0 src/main/java/{main/java => }/Launcher.java | 0 src/main/java/{main/java => }/Parser.java | 0 src/main/java/{main/java => }/Storage.java | 0 src/main/java/{main/java => }/Task.java | 0 src/main/java/{main/java => }/TaskList.java | 0 src/main/java/{main/java => }/Todo.java | 0 src/main/java/{main/java => }/Ui.java | 0 12 files changed, 0 insertions(+), 0 deletions(-) rename src/main/java/{main/java => }/Deadline.java (100%) rename src/main/java/{main/java => }/DialogBox.java (100%) rename src/main/java/{main/java => }/Duke.java (100%) rename src/main/java/{main/java => }/DukeException.java (100%) rename src/main/java/{main/java => }/Event.java (100%) rename src/main/java/{main/java => }/Launcher.java (100%) rename src/main/java/{main/java => }/Parser.java (100%) rename src/main/java/{main/java => }/Storage.java (100%) rename src/main/java/{main/java => }/Task.java (100%) rename src/main/java/{main/java => }/TaskList.java (100%) rename src/main/java/{main/java => }/Todo.java (100%) rename src/main/java/{main/java => }/Ui.java (100%) diff --git a/src/main/java/main/java/Deadline.java b/src/main/java/Deadline.java similarity index 100% rename from src/main/java/main/java/Deadline.java rename to src/main/java/Deadline.java diff --git a/src/main/java/main/java/DialogBox.java b/src/main/java/DialogBox.java similarity index 100% rename from src/main/java/main/java/DialogBox.java rename to src/main/java/DialogBox.java diff --git a/src/main/java/main/java/Duke.java b/src/main/java/Duke.java similarity index 100% rename from src/main/java/main/java/Duke.java rename to src/main/java/Duke.java diff --git a/src/main/java/main/java/DukeException.java b/src/main/java/DukeException.java similarity index 100% rename from src/main/java/main/java/DukeException.java rename to src/main/java/DukeException.java diff --git a/src/main/java/main/java/Event.java b/src/main/java/Event.java similarity index 100% rename from src/main/java/main/java/Event.java rename to src/main/java/Event.java diff --git a/src/main/java/main/java/Launcher.java b/src/main/java/Launcher.java similarity index 100% rename from src/main/java/main/java/Launcher.java rename to src/main/java/Launcher.java diff --git a/src/main/java/main/java/Parser.java b/src/main/java/Parser.java similarity index 100% rename from src/main/java/main/java/Parser.java rename to src/main/java/Parser.java diff --git a/src/main/java/main/java/Storage.java b/src/main/java/Storage.java similarity index 100% rename from src/main/java/main/java/Storage.java rename to src/main/java/Storage.java diff --git a/src/main/java/main/java/Task.java b/src/main/java/Task.java similarity index 100% rename from src/main/java/main/java/Task.java rename to src/main/java/Task.java diff --git a/src/main/java/main/java/TaskList.java b/src/main/java/TaskList.java similarity index 100% rename from src/main/java/main/java/TaskList.java rename to src/main/java/TaskList.java diff --git a/src/main/java/main/java/Todo.java b/src/main/java/Todo.java similarity index 100% rename from src/main/java/main/java/Todo.java rename to src/main/java/Todo.java diff --git a/src/main/java/main/java/Ui.java b/src/main/java/Ui.java similarity index 100% rename from src/main/java/main/java/Ui.java rename to src/main/java/Ui.java From 4867fea85de2295b0ac7a519ab6462dc47c34bf8 Mon Sep 17 00:00:00 2001 From: Ringo1225 Date: Thu, 17 Sep 2020 17:31:11 +0800 Subject: [PATCH 36/51] Add FXML --- command.txt | 6 +- src/main/java/DialogBox.java | 55 +++++++++------ src/main/java/Duke.java | 82 +---------------------- src/main/java/Launcher.java | 2 +- src/main/java/Main.java | 33 +++++++++ src/main/java/MainWindow.java | 58 ++++++++++++++++ src/main/java/Parser.java | 89 +------------------------ src/main/resources/view/DialogBox.fxml | 16 +++++ src/main/resources/view/MainWindow.fxml | 19 ++++++ 9 files changed, 167 insertions(+), 193 deletions(-) create mode 100644 src/main/java/Main.java create mode 100644 src/main/java/MainWindow.java create mode 100644 src/main/resources/view/DialogBox.fxml create mode 100644 src/main/resources/view/MainWindow.fxml diff --git a/command.txt b/command.txt index 7037a6ad2a..9da8a06c75 100644 --- a/command.txt +++ b/command.txt @@ -1,6 +1,4 @@ -T|0| read book D|1| return |2020-10-09 -T|1| return book D|0| buy book |2030-09-09 -T|1| sleep -D|0| play |2020-09-08 \ No newline at end of file +D|0| play |2020-09-08 +D|0| read this |2020-09-08 \ No newline at end of file diff --git a/src/main/java/DialogBox.java b/src/main/java/DialogBox.java index a73fbd6845..20afaea03a 100644 --- a/src/main/java/DialogBox.java +++ b/src/main/java/DialogBox.java @@ -1,47 +1,62 @@ package main.java; +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; -public class DialogBox extends HBox{ - private Label text; +/** + * An example of a custom control using FXML. + * This control 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; - public DialogBox(Label l, ImageView iv) { - text = l; - displayPicture = iv; - - text.setWrapText(true); - displayPicture.setFitWidth(100); - displayPicture.setFitHeight(100); - - this.setAlignment(Pos.TOP_RIGHT); - this.getChildren().addAll(text, 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() { - this.setAlignment(Pos.TOP_LEFT); ObservableList tmp = FXCollections.observableArrayList(this.getChildren()); - FXCollections.reverse(tmp); - this.getChildren().setAll(tmp); + Collections.reverse(tmp); + getChildren().setAll(tmp); + setAlignment(Pos.TOP_LEFT); } - public static DialogBox getUserDialog(Label l, ImageView iv) { - return new DialogBox(l, iv); + public static DialogBox getUserDialog(String text, Image img) { + return new DialogBox(text, img); } - public static DialogBox getDukeDialog(Label l, ImageView iv) { - var db = new DialogBox(l, iv); + public static DialogBox getDukeDialog(String text, Image img) { + var db = new DialogBox(text, img); db.flip(); return db; } -} +} \ No newline at end of file diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index ecfdd42f7b..9852074f84 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -19,7 +19,7 @@ * Represents a robot who can help the user to make todo list. * A Duke object is an instance of such robots. */ -public class Duke extends Application{ +public class Duke { private Storage storage; private TaskList tasks; private Ui ui; @@ -81,86 +81,8 @@ public static void main(String[] args) { new Duke("./command.txt").run(); } - @Override - public void start(Stage stage) { - stage.setTitle("Duke"); - stage.setResizable(false); - stage.setMinHeight(600.0); - stage.setMinWidth(400.0); - scrollPane = new ScrollPane(); - dialogContainer = new VBox(); - scrollPane.setContent(dialogContainer); - - userInput = new TextField(); - sendButton = new Button("send"); - - AnchorPane mainLayout = new AnchorPane(); - mainLayout.getChildren().addAll(scrollPane, userInput, sendButton); - - mainLayout.setPrefSize(500.0, 800.0); - - scrollPane.setPrefSize(490, 750); - scrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); - scrollPane.setVbarPolicy(ScrollPane.ScrollBarPolicy.ALWAYS); - - scrollPane.setVvalue(1.0); - scrollPane.setFitToWidth(true); - - dialogContainer.setPrefHeight(Region.USE_COMPUTED_SIZE); - - userInput.setPrefWidth(425.0); - - sendButton.setPrefWidth(68.0); - - AnchorPane.setTopAnchor(scrollPane, 1.0); - - AnchorPane.setBottomAnchor(sendButton, 1.0); - AnchorPane.setRightAnchor(sendButton, 1.0); - - AnchorPane.setLeftAnchor(userInput, 1.0); - AnchorPane.setBottomAnchor(userInput, 1.0); - - sendButton.setOnMouseClicked((event -> { - handleUserInput(); - })); - - userInput.setOnAction((event -> { - handleUserInput(); - })); - - dialogContainer.heightProperty(). - addListener((observable -> scrollPane.setVvalue(1.0))); - - scene = new Scene(mainLayout); - - Label greet = new Label(ui.greet()); - - dialogContainer.getChildren().addAll(DialogBox.getDukeDialog(greet, new ImageView(duke))); - - stage.setScene(scene); - stage.show(); - } - - private Label getDialogLabel(String text) { - Label textToAdd = new Label(text); - textToAdd.setWrapText(true); - - return textToAdd; - } - - private void handleUserInput() { - Label userText = new Label("ME: " + userInput.getText() + " "); - Label dukeText = new Label(getResponse(userInput.getText())); - dialogContainer.getChildren().addAll( - DialogBox.getUserDialog(userText, new ImageView(user)), - DialogBox.getDukeDialog(dukeText, new ImageView(duke)) - ); - userInput.clear(); - } - - private String getResponse(String input) { - //return "Duke heard: " + input; + public String getResponse(String input) { Parser parser = new Parser(tasks, true); return parser.handleCommand(input); } diff --git a/src/main/java/Launcher.java b/src/main/java/Launcher.java index 302380d354..8b17438077 100644 --- a/src/main/java/Launcher.java +++ b/src/main/java/Launcher.java @@ -7,6 +7,6 @@ */ public class Launcher { public static void main(String[] args) { - Application.launch(Duke.class, args); + Application.launch(Main.class, args); } } \ No newline at end of file diff --git a/src/main/java/Main.java b/src/main/java/Main.java new file mode 100644 index 0000000000..da00709d4f --- /dev/null +++ b/src/main/java/Main.java @@ -0,0 +1,33 @@ +package main.java; + +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; + +/** + * A GUI for Duke using FXML. + */ +public class Main extends Application { + + private Duke duke = new Duke(); + + @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); + fxmlLoader.getController().setDuke(duke); + stage.setTitle("Duke"); + stage.setResizable(false); + stage.show(); + } catch (IOException e) { + e.printStackTrace(); + } + } +} \ No newline at end of file diff --git a/src/main/java/MainWindow.java b/src/main/java/MainWindow.java new file mode 100644 index 0000000000..994446beae --- /dev/null +++ b/src/main/java/MainWindow.java @@ -0,0 +1,58 @@ +package main.java; + +import javafx.fxml.FXML; +import javafx.scene.control.Button; +import javafx.scene.control.Label; +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 main.java.DialogBox; +import main.java.Duke; + +/** + * Controller for MainWindow. Provides the layout for the other controls. + */ +public class MainWindow extends AnchorPane { + @FXML + private ScrollPane scrollPane; + @FXML + private VBox dialogContainer; + @FXML + private TextField userInput; + @FXML + private Button sendButton; + + private Duke duke; + + 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()); + Ui ui = new Ui(); + String greet = ui.greet(); + dialogContainer.getChildren().addAll(DialogBox.getDukeDialog(greet, dukeImage)); + } + + public void setDuke(Duke d) { + duke = d; + } + + /** + * Creates two dialog boxes, one echoing user input and the other containing Duke's reply and then appends them to + * the dialog container. Clears the user input after processing. + */ + @FXML + private void handleUserInput() { + String input = userInput.getText(); + String response = duke.getResponse(input); + dialogContainer.getChildren().addAll( + DialogBox.getUserDialog("ME: " + input + " ", userImage), + DialogBox.getDukeDialog(response, dukeImage) + ); + userInput.clear(); + } +} \ No newline at end of file diff --git a/src/main/java/Parser.java b/src/main/java/Parser.java index 8ed70e7162..b58c33da11 100644 --- a/src/main/java/Parser.java +++ b/src/main/java/Parser.java @@ -83,93 +83,6 @@ public String handleCommand(String input) { } } - /** - * Parses the user inputs and call corresponding methods to handle the instructions - */ - public void handleCommand() { - while (true) { - String command = sc.next(); - switch (command) { - case "bye": - handleBye(); - return; - - case "list": - handleList(); - break; - - case "done": - try { - handleDone(); - } catch (DukeException e) { - System.out.println(" ____________________________________________________________"); - System.out.println(" " + e.getMessage()); - System.out.println(" ____________________________________________________________\n"); - } - break; - - case "delete": - try { - handleDelete(); - } catch (DukeException e) { - System.out.println(" ____________________________________________________________"); - System.out.println(" " + e.getMessage()); - System.out.println(" ____________________________________________________________\n"); - } - break; - - case "todo": - try { - handleTodo(); - } catch (DukeException e) { - System.out.println(" ____________________________________________________________"); - System.out.println(" " + e.getMessage()); - System.out.println(" ____________________________________________________________\n"); - } - break; - - case "deadline": - try { - handleDeadline(); - } catch (DukeException e) { - System.out.println(" ____________________________________________________________"); - System.out.println(" " + e.getMessage()); - System.out.println(" ____________________________________________________________\n"); - } - break; - - case "event": - try { - handleEvent(); - } catch (DukeException e) { - System.out.println(" ____________________________________________________________"); - System.out.println(" " + e.getMessage()); - System.out.println(" ____________________________________________________________\n"); - } - break; - - case "find": - try { - handleFind(); - } catch (DukeException e) { - System.out.println(" ____________________________________________________________"); - System.out.println(" " + e.getMessage()); - System.out.println(" ____________________________________________________________\n"); - } - break; - - default: - try { - handleDefault(); - } catch (DukeException e) { - System.out.println(" ____________________________________________________________"); - System.out.println(" " + e.getMessage()); - System.out.println(" ____________________________________________________________\n"); - } - } - } - } - /** * handles instruction "bye" */ @@ -267,7 +180,7 @@ public String handleFind() throws DukeException { output += " Here are the matching tasks in your list:\n"; for (int i = 0, count = 1; i < taskList.size(); i++) { if (taskList.get(i).description.contains(keyword)) { - output += " " + count + "." + taskList.get(i).getDescription(); + output += " " + count + "." + taskList.get(i).getDescription() + "\n"; count++; } } diff --git a/src/main/resources/view/DialogBox.fxml b/src/main/resources/view/DialogBox.fxml new file mode 100644 index 0000000000..e433809947 --- /dev/null +++ b/src/main/resources/view/DialogBox.fxml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml new file mode 100644 index 0000000000..0590cc8563 --- /dev/null +++ b/src/main/resources/view/MainWindow.fxml @@ -0,0 +1,19 @@ + + + + + + + + + + + +