From 556af3f47a96b32898ab4cdbd65b16486a4871e8 Mon Sep 17 00:00:00 2001 From: damithc Date: Mon, 25 May 2020 00:58:18 +0800 Subject: [PATCH 01/56] Add Gradle support --- build.gradle | 41 +++++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 58695 bytes gradle/wrapper/gradle-wrapper.properties | 5 + gradlew | 183 +++++++++++++++++++++++ gradlew.bat | 103 +++++++++++++ text-ui-test/runtest.sh | 0 6 files changed, 332 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 mode change 100644 => 100755 text-ui-test/runtest.sh diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000000..885198fcfa --- /dev/null +++ b/build.gradle @@ -0,0 +1,41 @@ +plugins { + id 'java' + id 'application' + id 'com.github.johnrengelman.shadow' version '5.1.0' +} + +repositories { + mavenCentral() +} + +dependencies { + testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.5.0' + testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.5.0' +} + +test { + useJUnitPlatform() + + testLogging { + events "passed", "skipped", "failed" + + showExceptions true + exceptionFormat "full" + showCauses true + showStackTraces true + showStandardStreams = false + } +} + +application { + mainClassName = "seedu.duke.Duke" +} + +shadowJar { + archiveBaseName = "duke" + archiveClassifier = null +} + +run{ + standardInput = System.in +} diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..f3d88b1c2faf2fc91d853cd5d4242b5547257070 GIT binary patch literal 58695 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 literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000000..b7c8c5dbf5 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.2-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists 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..62bd9b9cce --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,103 @@ +@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 Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@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/text-ui-test/runtest.sh b/text-ui-test/runtest.sh old mode 100644 new mode 100755 From 106e38e2865ba6e268104b494656eda375b5a390 Mon Sep 17 00:00:00 2001 From: iapetusbob Date: Thu, 19 Jan 2023 18:15:41 +0800 Subject: [PATCH 02/56] Level 1 --- src/main/java/Duke.java | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index 5d313334cc..99d4babe1f 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -1,10 +1,39 @@ +import java.util.Scanner; + + public class Duke { + + private static String lineBreak = "_________________________________________________________________\n"; + public static void main(String[] args) { + + greeting(); + takeCmd(); + + } + + public static void greeting() { String logo = " ____ _ \n" + "| _ \\ _ _| | _____ \n" + "| | | | | | | |/ / _ \\\n" + "| |_| | |_| | < __/\n" + "|____/ \\__,_|_|\\_\\___|\n"; - System.out.println("Hello from\n" + logo); + System.out.println("Hello from\n" + logo + "Type 'bye' to exit!\n" + lineBreak + "What can I do for you today?\n"); + } + + public static void takeCmd() { + Scanner userCmd = new Scanner(System.in); + String cmd = userCmd.nextLine(); + if (cmd.equals("bye")) { + exit(); + } else { + System.out.println(lineBreak + cmd + "\n" + lineBreak); + takeCmd(); + } + } + + public static void exit() { + System.out.println("Bye. Hope to see you again soon!\n" + lineBreak); } + } From 415a967ca8a12be3f74a0bab2c5790eeaf239fdb Mon Sep 17 00:00:00 2001 From: iapetusbob Date: Fri, 20 Jan 2023 16:07:25 +0800 Subject: [PATCH 03/56] Level-2 --- src/main/java/Duke.java | 97 +++++++++++++++++++++++++++++++++++------ 1 file changed, 84 insertions(+), 13 deletions(-) diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index 99d4babe1f..15231eafb8 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -1,18 +1,70 @@ -import java.util.Scanner; +import java.util.*; public class Duke { + private static class UserList { + /** + * List used by userCmds 'add' and 'list'. + * Attributes: userList -> contains all the stuff added with 'add' + * Methods: addToList() -> appends item to the list + */ + + List userList = new ArrayList<>(); + + public String toString() { + String result = ""; + for (int i = 0; i < this.userList.size(); i++){ + result += this.userList.get(i).toString() + "\n"; + } + return result; + } + + protected void addToList(String item){ + userList.add(item); + } + } + private static String lineBreak = "_________________________________________________________________\n"; + private static UserList userList = new UserList(); public static void main(String[] args) { - greeting(); takeCmd(); + } + private static void takeCmd() { + /** + * Control flow, logic, checking of the user inputs as commands. + * Recognized user commands: + * bye -> quit + * add -> add to list + * list -> display + * Unrecognized commands will simply be echoed then Duke waits next command. + */ + Scanner userCmd = new Scanner(System.in); + String cmd = userCmd.nextLine(); + String askForCmd = "Okay. What would you like to do next?\n"; + if (cmd.equals("bye")) { + exit(); + } else if (cmd.equals("add")) { + add(); + System.out.println(askForCmd); + takeCmd(); + } else if (cmd.equals("list")){ + list(); + System.out.println(askForCmd); + takeCmd(); + } else { + System.out.println(lineBreak + cmd + "\n" + lineBreak); + takeCmd(); + } } - public static void greeting() { + private static void greeting() { + /** + * Start-up logo and message + */ String logo = " ____ _ \n" + "| _ \\ _ _| | _____ \n" + "| | | | | | | |/ / _ \\\n" @@ -21,19 +73,38 @@ public static void greeting() { System.out.println("Hello from\n" + logo + "Type 'bye' to exit!\n" + lineBreak + "What can I do for you today?\n"); } - public static void takeCmd() { - Scanner userCmd = new Scanner(System.in); - String cmd = userCmd.nextLine(); - if (cmd.equals("bye")) { - exit(); - } else { - System.out.println(lineBreak + cmd + "\n" + lineBreak); - takeCmd(); + private static void exit() { + /** + * userCmd "bye" + * Exiting Duke. + */ + System.out.println("Bye. Hope to see you again soon!\n" + lineBreak); + } + + private static void add() { + /** + * userCmd "add" + * Appends item to userList, then displays it when done. + */ + + Scanner userItem = new Scanner(System.in); + System.out.println("What would you like to add to the list?\nType 'done' when done adding!"); + String item = userItem.next(); + while (!item.equals("done")) { + userList.addToList(item); + System.out.println("Added: " + item + "\n" + lineBreak + "Anything else you would like added to the list?\nType 'done' when done adding!"); + item = userItem.next(); } + System.out.println("Your list looks like this:\n" + userList.toString()); } - public static void exit() { - System.out.println("Bye. Hope to see you again soon!\n" + lineBreak); + private static void list(){ + /** + * userCmd "list" + * Displays userList vertically. + */ + + System.out.println("Your list looks like this:\n" + userList.toString()); } } From 48aff3a77ba73f7840b85d5b2ceb6df53f8d9d57 Mon Sep 17 00:00:00 2001 From: iapetusbob Date: Fri, 20 Jan 2023 23:25:56 +0800 Subject: [PATCH 04/56] Level-3 --- src/main/java/Duke.java | 165 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 150 insertions(+), 15 deletions(-) diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index 15231eafb8..c363baf139 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -3,26 +3,131 @@ public class Duke { + protected static class Task { + /** + * Task class for things added to the UserList + * Methods: + * markAsDone -> mark Task as done if not done and vice versa. + */ + + String name; + Boolean done = false; + + private Task (String name) { + this.name = name; + } + + public String toString() { + /** + * Returns "[done] Task" + */ + char doneX = ' '; + if (done) { + doneX = 'X'; + } + return "[" + doneX + "]" + " " + name; + } + + public boolean equals(Object obj){ + if (obj instanceof Task) { + Task objTask = (Task)obj; + return objTask.name.equals(this.name); + } else { + return false; + } + } + + private void mark() { + /** + * Marks Task as done if not done and vice versa. + */ + if (done) { + System.out.println(lineBreak + "OK, '" + this.name + "' has been marked as Not Done.\n"); + done = false; + } else { + System.out.println(lineBreak + "OK, '" + this.name + "' has been marked as Done.\n"); + done = true; + } + } + + } + private static class UserList { /** * List used by userCmds 'add' and 'list'. - * Attributes: userList -> contains all the stuff added with 'add' - * Methods: addToList() -> appends item to the list + * Methods: + * addToList() -> appends Task to the list + * markAsDone(int i) -> mark Task in i-th index as done. */ - List userList = new ArrayList<>(); + public class TaskAlrMarkException extends Exception { + /** + * Thrown when the Task is already Done but user wants to mark it again and vice versa. + */ + public TaskAlrMarkException(String errorMessage) { + super(errorMessage); + } + } + + public class TaskNotInListException extends Exception { + /** + * Thrown when Task is not in the userList. + */ + public TaskNotInListException() { + super("I can't seem to find this Task in the List.\n"); + } + } + + List userList = new ArrayList<>(); public String toString() { + /** + * Returns vertical list of Tasks that is 1-index + */ String result = ""; for (int i = 0; i < this.userList.size(); i++){ - result += this.userList.get(i).toString() + "\n"; + result += (i+1) +". " + this.userList.get(i).toString() + "\n"; } return result; } - protected void addToList(String item){ - userList.add(item); + private void addToList(Task task) { + /** + * Appends Task to userList. + */ + if (!userList.contains(task)) { + System.out.println(lineBreak + "Added: " + task.name + "\n" + lineBreak); + userList.add(task); + } else { + System.out.println(lineBreak + "Oops, it seems that you have already added this Task to your list!\n"); + } + } + + private void mark(String markCmd, int i) throws TaskNotInListException, TaskAlrMarkException { + /** + * Mark the i-1 th index Task as done if not done and vice versa. + * Note list is 0-index but displayed as 1-index, hence i would be 1-index. + * If i > userList.size(), throw TaskNotInListException. + * If Task done but "mark" and vice versa, throw TaskAlrMarkException. + * + * @param markCmd User's command to "mar" or "unmark" a Task as done or not done. + * @param i The index of the Task to be marked. Note that user input i is 1-index, so -1 is needed. + */ + if (i > userList.size()) { + throw new TaskNotInListException(); + } else if (markCmd.equals("mark") && userList.get(i-1).done) { + throw new TaskAlrMarkException(lineBreak + "It appears that this Task has already been marked as Done. Would you like to mark it as Not Done instead?\n"); + } else if (markCmd.equals("unmark") && !userList.get(i-1).done){ + throw new TaskAlrMarkException(lineBreak + "It appears that this Task has already been marked as Not Done. Would you like to mark it as Done instead?\n"); + } else { + userList.get(i - 1).mark(); + } + } + + private int len() { + return userList.size(); } + } private static String lineBreak = "_________________________________________________________________\n"; @@ -43,8 +148,8 @@ private static void takeCmd() { * Unrecognized commands will simply be echoed then Duke waits next command. */ Scanner userCmd = new Scanner(System.in); - String cmd = userCmd.nextLine(); - String askForCmd = "Okay. What would you like to do next?\n"; + String cmd = userCmd.next(); + String askForCmd = lineBreak + "Okay. What would you like to do next?\nIf you want to exit DUKE, type 'bye'!\n"; if (cmd.equals("bye")) { exit(); } else if (cmd.equals("add")) { @@ -55,8 +160,24 @@ private static void takeCmd() { list(); System.out.println(askForCmd); takeCmd(); + } else if (cmd.equals("mark") || cmd.equals("unmark")) { + String markUnmark = cmd; + if (userCmd.hasNext()){ + try { + int listIdx = Integer.parseInt(userCmd.next()); + mark(markUnmark, listIdx); + System.out.println(askForCmd); + takeCmd(); + } catch(NumberFormatException e) { + System.out.println("Sorry, I don't understand what you want to me to do.\n" + askForCmd); + takeCmd(); + } + } else { + System.out.println("Sorry, I don't understand what you want to me to do.\n" + askForCmd); + takeCmd(); + } } else { - System.out.println(lineBreak + cmd + "\n" + lineBreak); + System.out.println(askForCmd); takeCmd(); } } @@ -70,7 +191,7 @@ private static void greeting() { + "| | | | | | | |/ / _ \\\n" + "| |_| | |_| | < __/\n" + "|____/ \\__,_|_|\\_\\___|\n"; - System.out.println("Hello from\n" + logo + "Type 'bye' to exit!\n" + lineBreak + "What can I do for you today?\n"); + System.out.println("Hello from\n" + logo + lineBreak + "Type 'bye' to exit!\n" + lineBreak + "What can I do for you today?\n"); } private static void exit() { @@ -88,14 +209,15 @@ private static void add() { */ Scanner userItem = new Scanner(System.in); - System.out.println("What would you like to add to the list?\nType 'done' when done adding!"); + System.out.println(lineBreak + "What would you like to add to the list?\nType 'done' when done adding!"); String item = userItem.next(); while (!item.equals("done")) { - userList.addToList(item); - System.out.println("Added: " + item + "\n" + lineBreak + "Anything else you would like added to the list?\nType 'done' when done adding!"); + Task itemTask = new Task(item); + userList.addToList(itemTask); + System.out.println("Anything else you would like added to the list?\nType 'done' when done adding!"); item = userItem.next(); } - System.out.println("Your list looks like this:\n" + userList.toString()); + System.out.println(lineBreak + "Your list looks like this:\n" + userList.toString()); } private static void list(){ @@ -103,8 +225,21 @@ private static void list(){ * userCmd "list" * Displays userList vertically. */ + if (userList.len() == 0){ + System.out.println(lineBreak + "Oops, it seems that your list is empty!\n"); + } else { + System.out.println(lineBreak + "Your list looks like this:\n" + userList.toString() + lineBreak); + } + } - System.out.println("Your list looks like this:\n" + userList.toString()); + private static void mark(String markCmd, int idx){ + try { + userList.mark(markCmd, idx); + } catch (UserList.TaskNotInListException e) { + System.out.println("Sorry, can't find that task.\n"); + } catch (UserList.TaskAlrMarkException e){ + System.out.println("The Task has already been marked.\n"); + } } } From 1368b37285cd04eb12defe50d2500e33dcb3a3e2 Mon Sep 17 00:00:00 2001 From: iapetusbob Date: Mon, 30 Jan 2023 15:52:55 +0800 Subject: [PATCH 05/56] Level-5 --- src/main/java/Duke.java | 271 ++++++++++++++++------------------------ 1 file changed, 107 insertions(+), 164 deletions(-) diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index c363baf139..c4fff4cfbf 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -1,137 +1,12 @@ -import java.util.*; +import java.util.Scanner; +import java.util.Arrays; +import DukeHelpfulCode.*; public class Duke { - protected static class Task { - /** - * Task class for things added to the UserList - * Methods: - * markAsDone -> mark Task as done if not done and vice versa. - */ - - String name; - Boolean done = false; - - private Task (String name) { - this.name = name; - } - - public String toString() { - /** - * Returns "[done] Task" - */ - char doneX = ' '; - if (done) { - doneX = 'X'; - } - return "[" + doneX + "]" + " " + name; - } - - public boolean equals(Object obj){ - if (obj instanceof Task) { - Task objTask = (Task)obj; - return objTask.name.equals(this.name); - } else { - return false; - } - } - - private void mark() { - /** - * Marks Task as done if not done and vice versa. - */ - if (done) { - System.out.println(lineBreak + "OK, '" + this.name + "' has been marked as Not Done.\n"); - done = false; - } else { - System.out.println(lineBreak + "OK, '" + this.name + "' has been marked as Done.\n"); - done = true; - } - } - - } - - private static class UserList { - /** - * List used by userCmds 'add' and 'list'. - * Methods: - * addToList() -> appends Task to the list - * markAsDone(int i) -> mark Task in i-th index as done. - */ - - public class TaskAlrMarkException extends Exception { - /** - * Thrown when the Task is already Done but user wants to mark it again and vice versa. - */ - public TaskAlrMarkException(String errorMessage) { - super(errorMessage); - } - } - - public class TaskNotInListException extends Exception { - /** - * Thrown when Task is not in the userList. - */ - public TaskNotInListException() { - super("I can't seem to find this Task in the List.\n"); - } - } - - List userList = new ArrayList<>(); - - public String toString() { - /** - * Returns vertical list of Tasks that is 1-index - */ - String result = ""; - for (int i = 0; i < this.userList.size(); i++){ - result += (i+1) +". " + this.userList.get(i).toString() + "\n"; - } - return result; - } - - private void addToList(Task task) { - /** - * Appends Task to userList. - */ - if (!userList.contains(task)) { - System.out.println(lineBreak + "Added: " + task.name + "\n" + lineBreak); - userList.add(task); - } else { - System.out.println(lineBreak + "Oops, it seems that you have already added this Task to your list!\n"); - } - } - - private void mark(String markCmd, int i) throws TaskNotInListException, TaskAlrMarkException { - /** - * Mark the i-1 th index Task as done if not done and vice versa. - * Note list is 0-index but displayed as 1-index, hence i would be 1-index. - * If i > userList.size(), throw TaskNotInListException. - * If Task done but "mark" and vice versa, throw TaskAlrMarkException. - * - * @param markCmd User's command to "mar" or "unmark" a Task as done or not done. - * @param i The index of the Task to be marked. Note that user input i is 1-index, so -1 is needed. - */ - if (i > userList.size()) { - throw new TaskNotInListException(); - } else if (markCmd.equals("mark") && userList.get(i-1).done) { - throw new TaskAlrMarkException(lineBreak + "It appears that this Task has already been marked as Done. Would you like to mark it as Not Done instead?\n"); - } else if (markCmd.equals("unmark") && !userList.get(i-1).done){ - throw new TaskAlrMarkException(lineBreak + "It appears that this Task has already been marked as Not Done. Would you like to mark it as Done instead?\n"); - } else { - userList.get(i - 1).mark(); - } - } - - private int len() { - return userList.size(); - } - - } - - private static String lineBreak = "_________________________________________________________________\n"; - private static UserList userList = new UserList(); + private static String LINEBREAK = "_________________________________________________________________\n"; + private static UserList USERLIST = new UserList(); public static void main(String[] args) { greeting(); @@ -140,35 +15,109 @@ public static void main(String[] args) { private static void takeCmd() { /** - * Control flow, logic, checking of the user inputs as commands. + * Controls flow, logic, checking of the user inputs as commands. * Recognized user commands: * bye -> quit - * add -> add to list + * todo -> creates todo task + * deadline-> creates deadline task + * event -> creates event task * list -> display + * mark -> marks the (i-1)th item as done, since UserList is 0-index + * unmark -> unmarks the (i-1)th item * Unrecognized commands will simply be echoed then Duke waits next command. */ Scanner userCmd = new Scanner(System.in); - String cmd = userCmd.next(); - String askForCmd = lineBreak + "Okay. What would you like to do next?\nIf you want to exit DUKE, type 'bye'!\n"; - if (cmd.equals("bye")) { + String askForCmd = LINEBREAK + "Okay. What would you like to do next?\nIf you want to exit DUKE, type 'bye'!\n"; + String[] cmd = userCmd.nextLine().split(" "); + if (cmd[0].equals("bye")) { exit(); - } else if (cmd.equals("add")) { - add(); + } else if (cmd[0].equals("todo")) { + String taskName = ""; + if (cmd.length>1) { + for (int i = 1; i < cmd.length; i++) { + taskName += cmd[i] + " "; + } + } else { + System.out.println("Sorry, I didn't quite catch that. What task would you like to add?\n" + LINEBREAK); + taskName = userCmd.nextLine(); + } + addTodo(new Todo(taskName)); + System.out.println(askForCmd); + takeCmd(); + } else if (cmd[0].equals("deadline")){ + String taskName = ""; + String dateTime = ""; + if (cmd.length>1) { + for (int i = 1; i < cmd.length; i++) { + if (!cmd[i].equals("/by")){ + taskName += cmd[i] + " "; + } else { + i++; + dateTime += cmd[i] + " "; + } + } + } else { + System.out.println("Sorry, I didn't quite catch that. What task would you like to add?\n" + LINEBREAK); + cmd = userCmd.nextLine().split(" "); + for (int i = 0; i < cmd.length; i++) { + if (!cmd[i].equals("/by")){ + taskName += cmd[i] + " "; + } else { + i++; + dateTime += cmd[i] + " "; + } + } + } + addDeadline(new Deadline(taskName, dateTime)); + System.out.println(askForCmd); + takeCmd(); + } else if (cmd[0].equals("event")){ + String taskName = ""; + String startDateTime = ""; + String endDateTime = ""; + if (cmd.length > 1) { + int from = Arrays.asList(cmd).indexOf("/from"); + int to = Arrays.asList(cmd).indexOf("/to"); + for (int i = 1; i < cmd.length; i++){ + if (i < from) { + taskName += cmd[i] + " "; + } else if (i > from && i < to){ + startDateTime += cmd[i] + " "; + } else if (i > to){ + endDateTime += cmd[i] + " "; + } + } + } else { + System.out.println("Sorry, I didn't quite catch that. What task would you like to add?\n" + LINEBREAK); + cmd = userCmd.nextLine().split(" "); + int from = Arrays.asList(cmd).indexOf("/from"); + int to = Arrays.asList(cmd).indexOf("/to"); + for (int i = 0; i < cmd.length; i++){ + if (i < from) { + taskName += cmd[i] + " "; + } else if (i > from && i < to){ + startDateTime += cmd[i] + " "; + } else if (i > to){ + endDateTime += cmd[i] + " "; + } + } + } + addEvent(new Event(taskName, startDateTime, endDateTime)); System.out.println(askForCmd); takeCmd(); - } else if (cmd.equals("list")){ + } else if (cmd[0].equals("list")){ list(); System.out.println(askForCmd); takeCmd(); - } else if (cmd.equals("mark") || cmd.equals("unmark")) { - String markUnmark = cmd; - if (userCmd.hasNext()){ + } else if (cmd[0].equals("mark") || cmd[0].equals("unmark")) { + String markUnmark = cmd[0]; + if (userCmd.hasNext()) { try { int listIdx = Integer.parseInt(userCmd.next()); mark(markUnmark, listIdx); System.out.println(askForCmd); takeCmd(); - } catch(NumberFormatException e) { + } catch (NumberFormatException e) { System.out.println("Sorry, I don't understand what you want to me to do.\n" + askForCmd); takeCmd(); } @@ -191,33 +140,27 @@ private static void greeting() { + "| | | | | | | |/ / _ \\\n" + "| |_| | |_| | < __/\n" + "|____/ \\__,_|_|\\_\\___|\n"; - System.out.println("Hello from\n" + logo + lineBreak + "Type 'bye' to exit!\n" + lineBreak + "What can I do for you today?\n"); + System.out.println("Hello from\n" + logo + LINEBREAK + "Type 'bye' to exit!\n" + LINEBREAK + "What can I do for you today?\n"); } private static void exit() { /** + * Exits Duke. * userCmd "bye" - * Exiting Duke. */ - System.out.println("Bye. Hope to see you again soon!\n" + lineBreak); + System.out.println("Bye. Hope to see you again soon!\n" + LINEBREAK); } - private static void add() { - /** - * userCmd "add" - * Appends item to userList, then displays it when done. - */ + private static void addTodo(Todo todo){ + USERLIST.addToDo(todo); + } - Scanner userItem = new Scanner(System.in); - System.out.println(lineBreak + "What would you like to add to the list?\nType 'done' when done adding!"); - String item = userItem.next(); - while (!item.equals("done")) { - Task itemTask = new Task(item); - userList.addToList(itemTask); - System.out.println("Anything else you would like added to the list?\nType 'done' when done adding!"); - item = userItem.next(); - } - System.out.println(lineBreak + "Your list looks like this:\n" + userList.toString()); + private static void addDeadline(Deadline dl){ + USERLIST.addDeadline(dl); + } + + private static void addEvent(Event e){ + USERLIST.addEvent(e); } private static void list(){ @@ -225,16 +168,16 @@ private static void list(){ * userCmd "list" * Displays userList vertically. */ - if (userList.len() == 0){ - System.out.println(lineBreak + "Oops, it seems that your list is empty!\n"); + if (USERLIST.len() == 0){ + System.out.println(LINEBREAK + "Oops, it seems that your list is empty!\n"); } else { - System.out.println(lineBreak + "Your list looks like this:\n" + userList.toString() + lineBreak); + System.out.println(LINEBREAK + "Your list looks like this:\n" + USERLIST.toString() + LINEBREAK); } } private static void mark(String markCmd, int idx){ try { - userList.mark(markCmd, idx); + USERLIST.mark(markCmd, idx); } catch (UserList.TaskNotInListException e) { System.out.println("Sorry, can't find that task.\n"); } catch (UserList.TaskAlrMarkException e){ From d21bb6eb08a27a2ba6c8c0be0d84e6c18e742bab Mon Sep 17 00:00:00 2001 From: iapetusbob Date: Mon, 30 Jan 2023 15:54:52 +0800 Subject: [PATCH 06/56] Level-5 --- src/main/java/DukeHelpfulCode/Deadline.java | 16 +++ src/main/java/DukeHelpfulCode/Event.java | 19 ++++ src/main/java/DukeHelpfulCode/Task.java | 59 +++++++++++ src/main/java/DukeHelpfulCode/Todo.java | 15 +++ src/main/java/DukeHelpfulCode/UserList.java | 110 ++++++++++++++++++++ 5 files changed, 219 insertions(+) create mode 100644 src/main/java/DukeHelpfulCode/Deadline.java create mode 100644 src/main/java/DukeHelpfulCode/Event.java create mode 100644 src/main/java/DukeHelpfulCode/Task.java create mode 100644 src/main/java/DukeHelpfulCode/Todo.java create mode 100644 src/main/java/DukeHelpfulCode/UserList.java diff --git a/src/main/java/DukeHelpfulCode/Deadline.java b/src/main/java/DukeHelpfulCode/Deadline.java new file mode 100644 index 0000000000..27cd99df57 --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Deadline.java @@ -0,0 +1,16 @@ +package DukeHelpfulCode; + +public class Deadline extends Task{ + // tasks that need to be done before a specific date/time + private String dateTime; + + public Deadline(String name, String dateTime) { + super(name); + this.dateTime = dateTime; + } + + public String toString(){ + return "[D] " + super.toString() + " (by: " + this.dateTime + ")"; + } + +} diff --git a/src/main/java/DukeHelpfulCode/Event.java b/src/main/java/DukeHelpfulCode/Event.java new file mode 100644 index 0000000000..d5b9a32c0c --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Event.java @@ -0,0 +1,19 @@ +package DukeHelpfulCode; + +public class Event extends Task{ + // tasks that start at a specific date/time and ends at a specific date/time + + private String startDateTime; + private String endDateTime; + + public Event(String name, String startDateTime, String endDateTime) { + super(name); + this.startDateTime = startDateTime; + this.endDateTime = endDateTime; + } + + public String toString() { + return "[E] " + super.toString() + " (from: " + this.startDateTime + " to: " + this.endDateTime + ")"; + } + +} diff --git a/src/main/java/DukeHelpfulCode/Task.java b/src/main/java/DukeHelpfulCode/Task.java new file mode 100644 index 0000000000..e18a13ffa7 --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Task.java @@ -0,0 +1,59 @@ +package DukeHelpfulCode; + +public class Task { + /** + * Task class for things added to the UserList + * Methods: + * markAsDone -> mark Task as done if not done and vice versa. + */ + + private static String LINEBREAK = "_________________________________________________________________\n"; + private String name; + private Boolean isDone = false; + + public Task (String name) { + this.name = name; + } + + public String getName() { + return this.name; + } + + public boolean isDone(){ + return isDone; + } + + public String toString() { + /** + * Returns "[done] Task" + */ + char doneX = ' '; + if (isDone) { + doneX = 'X'; + } + return "[" + doneX + "]" + " " + name; + } + + public boolean equals(Object obj){ + if (obj instanceof Task) { + Task objTask = (Task) obj; + return objTask.name.equals(this.name); + } else { + return false; + } + } + + public void mark() { + /** + * Marks Task as done if not done and vice versa. + */ + if (isDone) { + System.out.println(LINEBREAK + "OK, '" + this.name + "' has been marked as Not Done.\n"); + isDone = false; + } else { + System.out.println(LINEBREAK + "OK, '" + this.name + "' has been marked as Done.\n"); + isDone = true; + } + } + +} \ No newline at end of file diff --git a/src/main/java/DukeHelpfulCode/Todo.java b/src/main/java/DukeHelpfulCode/Todo.java new file mode 100644 index 0000000000..27cdd7351a --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Todo.java @@ -0,0 +1,15 @@ +package DukeHelpfulCode; + +public class Todo extends Task{ + // tasks without any date/time atached to it + public Todo(String name) { + super(name); + } + + public String toString(){ + return "[T] " + super.toString(); + } + + + +} diff --git a/src/main/java/DukeHelpfulCode/UserList.java b/src/main/java/DukeHelpfulCode/UserList.java new file mode 100644 index 0000000000..dd7c8a6da6 --- /dev/null +++ b/src/main/java/DukeHelpfulCode/UserList.java @@ -0,0 +1,110 @@ +package DukeHelpfulCode; + +import java.util.ArrayList; +import java.util.List; + +public class UserList { + /** + * List used by userCmds 'add' and 'list'. + * Methods: + * addToList() -> appends Task to the list + * markAsDone(int i) -> mark Task in i-th index as done. + */ + private static String LINEBREAK = "_________________________________________________________________\n"; + + public class TaskAlrMarkException extends Exception { + /** + * Thrown when the Task is already Done but user wants to mark it again and vice versa. + */ + public TaskAlrMarkException(String errorMessage) { + super(errorMessage); + } + } + + public class TaskNotInListException extends Exception { + /** + * Thrown when Task is not in the userList. + */ + public TaskNotInListException() { + super("I can't seem to find this Task in the List.\n"); + } + } + + List userList = new ArrayList<>(); + + public String toString() { + /** + * Returns vertical list of Tasks that is 1-index + */ + String result = ""; + for (int i = 0; i < this.userList.size(); i++){ + result += (i+1) +". " + this.userList.get(i).toString() + "\n"; + } + return result; + } + + public void addToDo(Todo td){ + if (userList.contains(td)){ + System.out.println(LINEBREAK + "Oops, it seems that you have already added this Task to your list!\n"); + } else { + userList.add(td); + System.out.println(LINEBREAK + "Got it. I've added this task: \n" + td.toString() + "\nNow you have " + this.len() + " tasks in your list.\n" + LINEBREAK); + } + } + + public void addDeadline(Deadline dl){ + if (userList.contains(dl)){ + System.out.println(LINEBREAK + "Oops, it seems that you have already added this Task to your list!\n"); + } else { + userList.add(dl); + System.out.println(LINEBREAK + "Got it. I've added this task: \n" + dl.toString() + "\nNow you have " + this.len() + " tasks in your list.\n" + LINEBREAK); + } + } + + public void addEvent(Event e){ + if (userList.contains(e)){ + System.out.println(LINEBREAK + "Oops, it seems that you have already added this Task to your list!\n"); + } else { + userList.add(e); + System.out.println(LINEBREAK + "Got it. I've added this task: \n" + e.toString() + "\nNow you have " + this.len() + " tasks in your list.\n" + LINEBREAK); + } + } + + public void addToList(Task task) { + /** + * Appends Task to userList. + */ + if (!userList.contains(task)) { + System.out.println(LINEBREAK + "Added: " + task.getName() + "\n" + LINEBREAK); + userList.add(task); + } else { + System.out.println(LINEBREAK + "Oops, it seems that you have already added this Task to your list!\n"); + } + } + + public void mark(String markCmd, int i) throws TaskNotInListException, TaskAlrMarkException { + /** + * Marks the i-1 th index Task as done if not done and vice versa. + * Note: list is 0-index but displayed as 1-index, hence i would be 1-index. + * If i > userList.size(), throw TaskNotInListException. + * If Task done but "mark" and vice versa, throw TaskAlrMarkException. + * + * @param markCmd User's command to "mar" or "unmark" a Task as done or not done. + * @param i The index of the Task to be marked. Note that user input i is 1-index, so -1 is needed. + */ + if (i > userList.size()) { + throw new TaskNotInListException(); + } else if (markCmd.equals("mark") && userList.get(i-1).isDone()) { + throw new TaskAlrMarkException(LINEBREAK + "It appears that this Task has already been marked as Done. Would you like to mark it as Not Done instead?\n"); + } else if (markCmd.equals("unmark") && !userList.get(i-1).isDone()){ + throw new TaskAlrMarkException(LINEBREAK + "It appears that this Task has already been marked as Not Done. Would you like to mark it as Done instead?\n"); + } else { + userList.get(i - 1).mark(); + } + } + + public int len() { + return userList.size(); + } + +} \ No newline at end of file From 1bc47478e6eaacec8fe4f0b6de290b807812f983 Mon Sep 17 00:00:00 2001 From: iapetusbob Date: Sun, 5 Feb 2023 08:35:41 +0800 Subject: [PATCH 07/56] Level-7 --- src/main/java/Duke.java | 43 +++++++++++++++++++++ src/main/java/DukeHelpfulCode/UserList.java | 1 + 2 files changed, 44 insertions(+) diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index c4fff4cfbf..77a8783941 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -1,14 +1,30 @@ import java.util.Scanner; import java.util.Arrays; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; + import DukeHelpfulCode.*; + public class Duke { private static String LINEBREAK = "_________________________________________________________________\n"; private static UserList USERLIST = new UserList(); public static void main(String[] args) { + File save = new File("data/save.txt"); + try { + if (save.createNewFile()) { + System.out.println("File created: " + save.getName()); + } else { + System.out.println("File already exists."); + } + } catch (IOException e) { + System.out.println("An error occurred."); + e.printStackTrace(); + } greeting(); takeCmd(); } @@ -153,14 +169,41 @@ private static void exit() { private static void addTodo(Todo todo){ USERLIST.addToDo(todo); + try { + FileWriter writer = new FileWriter("data/save.txt", true); + writer.write(todo.toString() + "\n"); + writer.close(); + System.out.println("Successfully wrote to the file."); + } catch (IOException e) { + System.out.println("An error occurred."); + e.printStackTrace(); + } } private static void addDeadline(Deadline dl){ USERLIST.addDeadline(dl); + try { + FileWriter writer = new FileWriter("data/save.txt", true); + writer.write(dl.toString() + "\n"); + writer.close(); + System.out.println("Successfully wrote to the file."); + } catch (IOException e) { + System.out.println("An error occurred."); + e.printStackTrace(); + } } private static void addEvent(Event e){ USERLIST.addEvent(e); + try { + FileWriter writer = new FileWriter("data/save.txt", true); + writer.write(e.toString() + "\n"); + writer.close(); + System.out.println("Successfully wrote to the file."); + } catch (IOException ex) { + System.out.println("An error occurred."); + ex.printStackTrace(); + } } private static void list(){ diff --git a/src/main/java/DukeHelpfulCode/UserList.java b/src/main/java/DukeHelpfulCode/UserList.java index dd7c8a6da6..feb7525c5a 100644 --- a/src/main/java/DukeHelpfulCode/UserList.java +++ b/src/main/java/DukeHelpfulCode/UserList.java @@ -49,6 +49,7 @@ public void addToDo(Todo td){ } else { userList.add(td); System.out.println(LINEBREAK + "Got it. I've added this task: \n" + td.toString() + "\nNow you have " + this.len() + " tasks in your list.\n" + LINEBREAK); + } } From dff68ac4f61d6764d01c9dbc12a4692d26eb0a8a Mon Sep 17 00:00:00 2001 From: iapetusbob Date: Mon, 6 Feb 2023 14:28:50 +0800 Subject: [PATCH 08/56] Level-8 --- data/save.txt | 8 +++ src/main/java/Duke.java | 39 ++++++++++++-- src/main/java/DukeHelpfulCode/Deadline.java | 51 ++++++++++++++++-- src/main/java/DukeHelpfulCode/Event.java | 60 +++++++++++++++++++-- 4 files changed, 144 insertions(+), 14 deletions(-) create mode 100644 data/save.txt diff --git a/data/save.txt b/data/save.txt new file mode 100644 index 0000000000..1e0a211f1d --- /dev/null +++ b/data/save.txt @@ -0,0 +1,8 @@ +[D] [ ] cock (by: ) +[T] [ ] cock +[D] [ ] deadline cock (by: tonight) +[D] [ ] deadline (by: cock) +[D] [ ] deadline (by: 12 Dec 23 18:00) +[D] [ ] deadline cock (by: 10 Dec 23 18:00) +[E] [ ] event cock (from: 11 Nov 23 1919 to: 10 Oct 20 1900) +[E] [ ] event Cock (from: 12 Dec 12 1200 to: 12 Dec 12 1200) diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index 77a8783941..5610e89955 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -47,7 +47,8 @@ private static void takeCmd() { String[] cmd = userCmd.nextLine().split(" "); if (cmd[0].equals("bye")) { exit(); - } else if (cmd[0].equals("todo")) { + + } else if (cmd[0].equals("todo")) { // handles todo objects String taskName = ""; if (cmd.length>1) { for (int i = 1; i < cmd.length; i++) { @@ -60,10 +61,16 @@ private static void takeCmd() { addTodo(new Todo(taskName)); System.out.println(askForCmd); takeCmd(); - } else if (cmd[0].equals("deadline")){ + + } else if (cmd[0].equals("deadline")) { // handles deadline objects with due dateTimes String taskName = ""; String dateTime = ""; - if (cmd.length>1) { + + if (!Arrays.asList(cmd).contains("/by")) { + taskName += String.join(" ", cmd); + System.out.println("Sorry, I didn't quite catch that. When do you need this done by?\n" + LINEBREAK); + dateTime += userCmd.nextLine(); + } else if (cmd.length>1) { for (int i = 1; i < cmd.length; i++) { if (!cmd[i].equals("/by")){ taskName += cmd[i] + " "; @@ -84,14 +91,34 @@ private static void takeCmd() { } } } + addDeadline(new Deadline(taskName, dateTime)); System.out.println(askForCmd); takeCmd(); - } else if (cmd[0].equals("event")){ + + } else if (cmd[0].equals("event")) { // handles event objects with start and end dateTimes String taskName = ""; String startDateTime = ""; String endDateTime = ""; - if (cmd.length > 1) { + if (!Arrays.asList(cmd).contains("/from")) { + taskName += String.join(" ", cmd); + System.out.println("Sorry, I didn't quite catch that. When is this Event starting?\n" + LINEBREAK); + String[] nextL = userCmd.nextLine().split(" "); + if (!Arrays.asList(cmd).contains("/to")){ + startDateTime = String.join(" ", nextL); + System.out.println("Okay, when is this Event ending?\n" + LINEBREAK); + endDateTime = userCmd.nextLine(); + } else { + for (int i = 0; i < nextL.length; i++){ + if (nextL[i] != "/to"){ + startDateTime += nextL[i]; + } else { + break; + } + } + endDateTime = String.join(" ", nextL); + } + } else if (cmd.length > 1) { int from = Arrays.asList(cmd).indexOf("/from"); int to = Arrays.asList(cmd).indexOf("/to"); for (int i = 1; i < cmd.length; i++){ @@ -121,10 +148,12 @@ private static void takeCmd() { addEvent(new Event(taskName, startDateTime, endDateTime)); System.out.println(askForCmd); takeCmd(); + } else if (cmd[0].equals("list")){ list(); System.out.println(askForCmd); takeCmd(); + } else if (cmd[0].equals("mark") || cmd[0].equals("unmark")) { String markUnmark = cmd[0]; if (userCmd.hasNext()) { diff --git a/src/main/java/DukeHelpfulCode/Deadline.java b/src/main/java/DukeHelpfulCode/Deadline.java index 27cd99df57..5f04fe61a3 100644 --- a/src/main/java/DukeHelpfulCode/Deadline.java +++ b/src/main/java/DukeHelpfulCode/Deadline.java @@ -1,16 +1,59 @@ package DukeHelpfulCode; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; +import java.util.Scanner; + public class Deadline extends Task{ // tasks that need to be done before a specific date/time - private String dateTime; + private LocalDateTime dateTime = null; + private String[] possibleFormats = { + "yyyy-MM-dd HHmm", "yyyy/MM/dd HHmm", + "dd-MM-yyyy HHmm", "dd/MM/yyyy HHmm", + "yyyy-MM-dd hh:mm a", "yyyy/MM/dd hh:mm a", + "dd-MM-yyyy hh:mm a", "dd/MM/yyyy hh:mm a", + "HHmm yyyy-MM-dd", "HHmm yyyy/MM/dd", + "HHmm dd-MM-yyyy", "HHmm dd/MM/yyyy", + "hh:mm a yyyy-MM-dd", "hh:mm a yyyy/MM/dd", + "hh:mm a dd-MM-yyyy", "hh:mm a dd/MM/yyyy", + "yy-MM-dd HHmm", "yy/MM/dd HHmm", + "dd-MM-yy HHmm", "dd/MM/yy HHmm", + "yy-MM-dd hh:mm a", "yy/MM/dd hh:mm a", + "dd-MM-yy hh:mm a", "dd/MM/yy hh:mm a", + "HHmm yy-MM-dd", "HHmm yy/MM/dd", + "HHmm dd-MM-yy", "HHmm dd/MM/yy", + "hh:mm a yy-MM-dd", "hh:mm a yy/MM/dd", + "hh:mm a dd-MM-yy", "hh:mm a dd/MM/yy"}; - public Deadline(String name, String dateTime) { + public Deadline(String name, String dueDate) { super(name); - this.dateTime = dateTime; + this.dateTime = formatDateTime(dueDate); + while (this.dateTime == null){ + Scanner scanner = new Scanner(System.in); + System.out.println("Sorry, I don't understand when you need this by.\nPlease enter the Date and Time:\n"); + String dueTime = scanner.nextLine(); + this.dateTime = formatDateTime(dueTime); + } + } + + private LocalDateTime formatDateTime(String dueDate) { + LocalDateTime dt = null; + for (String format : possibleFormats) { + try { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format); + dt = LocalDateTime.parse(dueDate, formatter); + break; + } catch (DateTimeParseException e) { + // Do nothing, just continue to the next format + } + } + return dt; } public String toString(){ - return "[D] " + super.toString() + " (by: " + this.dateTime + ")"; + DateTimeFormatter dtFormatter = DateTimeFormatter.ofPattern("dd MMM yy HHmm"); + return "[D] " + super.toString() + " (by: " + this.dateTime.format(dtFormatter) + ")"; } } diff --git a/src/main/java/DukeHelpfulCode/Event.java b/src/main/java/DukeHelpfulCode/Event.java index d5b9a32c0c..d1c2bce9cc 100644 --- a/src/main/java/DukeHelpfulCode/Event.java +++ b/src/main/java/DukeHelpfulCode/Event.java @@ -1,19 +1,69 @@ package DukeHelpfulCode; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; +import java.util.Scanner; + public class Event extends Task{ // tasks that start at a specific date/time and ends at a specific date/time - private String startDateTime; - private String endDateTime; + private LocalDateTime startDateTime = null; + private LocalDateTime endDateTime = null; + + private String[] possibleFormats = { + "yyyy-MM-dd HHmm", "yyyy/MM/dd HHmm", + "dd-MM-yyyy HHmm", "dd/MM/yyyy HHmm", + "yyyy-MM-dd hh:mm a", "yyyy/MM/dd hh:mm a", + "dd-MM-yyyy hh:mm a", "dd/MM/yyyy hh:mm a", + "HHmm yyyy-MM-dd", "HHmm yyyy/MM/dd", + "HHmm dd-MM-yyyy", "HHmm dd/MM/yyyy", + "hh:mm a yyyy-MM-dd", "hh:mm a yyyy/MM/dd", + "hh:mm a dd-MM-yyyy", "hh:mm a dd/MM/yyyy", + "yy-MM-dd HHmm", "yy/MM/dd HHmm", + "dd-MM-yy HHmm", "dd/MM/yy HHmm", + "yy-MM-dd hh:mm a", "yy/MM/dd hh:mm a", + "dd-MM-yy hh:mm a", "dd/MM/yy hh:mm a", + "HHmm yy-MM-dd", "HHmm yy/MM/dd", + "HHmm dd-MM-yy", "HHmm dd/MM/yy", + "hh:mm a yy-MM-dd", "hh:mm a yy/MM/dd", + "hh:mm a dd-MM-yy", "hh:mm a dd/MM/yy"}; public Event(String name, String startDateTime, String endDateTime) { super(name); - this.startDateTime = startDateTime; - this.endDateTime = endDateTime; + this.startDateTime = formatDateTime(startDateTime); + while (this.startDateTime == null){ + Scanner scanner = new Scanner(System.in); + System.out.println("Sorry, I don't understand when this Event starts.\nPlease enter the Date and Time:\n"); + String dueTime = scanner.nextLine(); + this.startDateTime = formatDateTime(dueTime); + } + this.endDateTime = formatDateTime(endDateTime); + while (this.endDateTime == null){ + Scanner scanner = new Scanner(System.in); + System.out.println("Sorry, I don't understand when this Event ends.\nPlease enter the Date and Time:\n"); + String dueTime = scanner.nextLine(); + this.endDateTime = formatDateTime(dueTime); + } + } + + private LocalDateTime formatDateTime(String dueDate) { + LocalDateTime dt = null; + for (String format : possibleFormats) { + try { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format); + dt = LocalDateTime.parse(dueDate, formatter); + break; + } catch (DateTimeParseException e) { + // Do nothing, just continue to the next format + } + } + return dt; } public String toString() { - return "[E] " + super.toString() + " (from: " + this.startDateTime + " to: " + this.endDateTime + ")"; + DateTimeFormatter dtFormatter = DateTimeFormatter.ofPattern("dd MMM yy HHmm"); + return "[E] " + super.toString() + " (from: " + this.startDateTime.format(dtFormatter) + " to: " + this.endDateTime.format(dtFormatter) + ")"; } } From b6de93c52df6701bcb3b276963c86db868a72adb Mon Sep 17 00:00:00 2001 From: iapetusbob Date: Wed, 8 Feb 2023 21:57:42 +0800 Subject: [PATCH 09/56] MoreOOP --- data/save.txt | 8 - data/tasks.txt | 3 + src/main/java/Duke.java | 268 +++--------------- .../java/DukeHelpfulCode/.idea/.gitignore | 3 + src/main/java/DukeHelpfulCode/.idea/misc.xml | 6 + .../java/DukeHelpfulCode/.idea/modules.xml | 8 + src/main/java/DukeHelpfulCode/.idea/vcs.xml | 6 + .../DukeHelpfulCode/Commands/.idea/.gitignore | 3 + .../DukeHelpfulCode/Commands/.idea/misc.xml | 6 + .../Commands/.idea/modules.xml | 8 + .../DukeHelpfulCode/Commands/.idea/vcs.xml | 6 + .../DukeHelpfulCode/Commands/AddCommand.java | 33 +++ .../DukeHelpfulCode/Commands/Command.java | 18 ++ .../Commands/DeleteCommand.java | 40 +++ .../DukeHelpfulCode/Commands/ExitCommand.java | 27 ++ .../DukeHelpfulCode/Commands/HelpCommand.java | 29 ++ .../DukeHelpfulCode/Commands/ListCommand.java | 25 ++ .../DukeHelpfulCode/Commands/MarkCommand.java | 39 +++ .../Exceptions/DukeException.java | 7 + .../Exceptions/EmptyTaskListException.java | 7 + .../Exceptions/NoDueTimeException.java | 7 + .../Exceptions/NoEndTimeException.java | 7 + .../Exceptions/NoStartTimeException.java | 7 + .../Exceptions/NoSuchTaskException.java | 7 + .../Exceptions/NoTaskNameException.java | 7 + .../Exceptions/NoTaskTypeException.java | 7 + .../Exceptions/TaskAlrMarkException.java | 7 + .../DukeHelpfulCode/{ => Tasks}/Deadline.java | 20 +- .../DukeHelpfulCode/{ => Tasks}/Event.java | 26 +- .../DukeHelpfulCode/{ => Tasks}/Task.java | 17 +- .../DukeHelpfulCode/{ => Tasks}/Todo.java | 7 +- src/main/java/DukeHelpfulCode/UserList.java | 111 -------- .../Utilities/DatetimeFormatter.java | 16 ++ .../DukeHelpfulCode/Utilities/Parser.java | 155 ++++++++++ .../DukeHelpfulCode/Utilities/Storage.java | 114 ++++++++ .../DukeHelpfulCode/Utilities/TaskList.java | 99 +++++++ .../java/DukeHelpfulCode/Utilities/UI.java | 72 +++++ src/main/java/DukeTest.java | 5 + 38 files changed, 875 insertions(+), 366 deletions(-) delete mode 100644 data/save.txt create mode 100644 data/tasks.txt create mode 100644 src/main/java/DukeHelpfulCode/.idea/.gitignore create mode 100644 src/main/java/DukeHelpfulCode/.idea/misc.xml create mode 100644 src/main/java/DukeHelpfulCode/.idea/modules.xml create mode 100644 src/main/java/DukeHelpfulCode/.idea/vcs.xml create mode 100644 src/main/java/DukeHelpfulCode/Commands/.idea/.gitignore create mode 100644 src/main/java/DukeHelpfulCode/Commands/.idea/misc.xml create mode 100644 src/main/java/DukeHelpfulCode/Commands/.idea/modules.xml create mode 100644 src/main/java/DukeHelpfulCode/Commands/.idea/vcs.xml create mode 100644 src/main/java/DukeHelpfulCode/Commands/AddCommand.java create mode 100644 src/main/java/DukeHelpfulCode/Commands/Command.java create mode 100644 src/main/java/DukeHelpfulCode/Commands/DeleteCommand.java create mode 100644 src/main/java/DukeHelpfulCode/Commands/ExitCommand.java create mode 100644 src/main/java/DukeHelpfulCode/Commands/HelpCommand.java create mode 100644 src/main/java/DukeHelpfulCode/Commands/ListCommand.java create mode 100644 src/main/java/DukeHelpfulCode/Commands/MarkCommand.java create mode 100644 src/main/java/DukeHelpfulCode/Exceptions/DukeException.java create mode 100644 src/main/java/DukeHelpfulCode/Exceptions/EmptyTaskListException.java create mode 100644 src/main/java/DukeHelpfulCode/Exceptions/NoDueTimeException.java create mode 100644 src/main/java/DukeHelpfulCode/Exceptions/NoEndTimeException.java create mode 100644 src/main/java/DukeHelpfulCode/Exceptions/NoStartTimeException.java create mode 100644 src/main/java/DukeHelpfulCode/Exceptions/NoSuchTaskException.java create mode 100644 src/main/java/DukeHelpfulCode/Exceptions/NoTaskNameException.java create mode 100644 src/main/java/DukeHelpfulCode/Exceptions/NoTaskTypeException.java create mode 100644 src/main/java/DukeHelpfulCode/Exceptions/TaskAlrMarkException.java rename src/main/java/DukeHelpfulCode/{ => Tasks}/Deadline.java (76%) rename src/main/java/DukeHelpfulCode/{ => Tasks}/Event.java (71%) rename src/main/java/DukeHelpfulCode/{ => Tasks}/Task.java (76%) rename src/main/java/DukeHelpfulCode/{ => Tasks}/Todo.java (57%) delete mode 100644 src/main/java/DukeHelpfulCode/UserList.java create mode 100644 src/main/java/DukeHelpfulCode/Utilities/DatetimeFormatter.java create mode 100644 src/main/java/DukeHelpfulCode/Utilities/Parser.java create mode 100644 src/main/java/DukeHelpfulCode/Utilities/Storage.java create mode 100644 src/main/java/DukeHelpfulCode/Utilities/TaskList.java create mode 100644 src/main/java/DukeHelpfulCode/Utilities/UI.java create mode 100644 src/main/java/DukeTest.java diff --git a/data/save.txt b/data/save.txt deleted file mode 100644 index 1e0a211f1d..0000000000 --- a/data/save.txt +++ /dev/null @@ -1,8 +0,0 @@ -[D] [ ] cock (by: ) -[T] [ ] cock -[D] [ ] deadline cock (by: tonight) -[D] [ ] deadline (by: cock) -[D] [ ] deadline (by: 12 Dec 23 18:00) -[D] [ ] deadline cock (by: 10 Dec 23 18:00) -[E] [ ] event cock (from: 11 Nov 23 1919 to: 10 Oct 20 1900) -[E] [ ] event Cock (from: 12 Dec 12 1200 to: 12 Dec 12 1200) diff --git a/data/tasks.txt b/data/tasks.txt new file mode 100644 index 0000000000..a9c132ad66 --- /dev/null +++ b/data/tasks.txt @@ -0,0 +1,3 @@ +[T] [ ] cock +[T] [ ] pussy +[D] [X] fuckyoucunt (by: 10 Oct 10 10:00 AM) diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index 5610e89955..9f9b8cde31 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -1,260 +1,62 @@ +import java.io.FileNotFoundException; import java.util.Scanner; import java.util.Arrays; import java.io.File; import java.io.FileWriter; import java.io.IOException; -import DukeHelpfulCode.*; +import DukeHelpfulCode.Exceptions.*; +import DukeHelpfulCode.Utilities.*; +import DukeHelpfulCode.Commands.*; +import DukeHelpfulCode.Tasks.*; public class Duke { private static String LINEBREAK = "_________________________________________________________________\n"; - private static UserList USERLIST = new UserList(); + private static TaskList USERLIST = new TaskList(); - public static void main(String[] args) { - File save = new File("data/save.txt"); - try { - if (save.createNewFile()) { - System.out.println("File created: " + save.getName()); - } else { - System.out.println("File already exists."); - } - } catch (IOException e) { - System.out.println("An error occurred."); - e.printStackTrace(); - } - greeting(); - takeCmd(); - } - - private static void takeCmd() { - /** - * Controls flow, logic, checking of the user inputs as commands. - * Recognized user commands: - * bye -> quit - * todo -> creates todo task - * deadline-> creates deadline task - * event -> creates event task - * list -> display - * mark -> marks the (i-1)th item as done, since UserList is 0-index - * unmark -> unmarks the (i-1)th item - * Unrecognized commands will simply be echoed then Duke waits next command. - */ - Scanner userCmd = new Scanner(System.in); - String askForCmd = LINEBREAK + "Okay. What would you like to do next?\nIf you want to exit DUKE, type 'bye'!\n"; - String[] cmd = userCmd.nextLine().split(" "); - if (cmd[0].equals("bye")) { - exit(); - - } else if (cmd[0].equals("todo")) { // handles todo objects - String taskName = ""; - if (cmd.length>1) { - for (int i = 1; i < cmd.length; i++) { - taskName += cmd[i] + " "; - } - } else { - System.out.println("Sorry, I didn't quite catch that. What task would you like to add?\n" + LINEBREAK); - taskName = userCmd.nextLine(); - } - addTodo(new Todo(taskName)); - System.out.println(askForCmd); - takeCmd(); - - } else if (cmd[0].equals("deadline")) { // handles deadline objects with due dateTimes - String taskName = ""; - String dateTime = ""; - - if (!Arrays.asList(cmd).contains("/by")) { - taskName += String.join(" ", cmd); - System.out.println("Sorry, I didn't quite catch that. When do you need this done by?\n" + LINEBREAK); - dateTime += userCmd.nextLine(); - } else if (cmd.length>1) { - for (int i = 1; i < cmd.length; i++) { - if (!cmd[i].equals("/by")){ - taskName += cmd[i] + " "; - } else { - i++; - dateTime += cmd[i] + " "; - } - } - } else { - System.out.println("Sorry, I didn't quite catch that. What task would you like to add?\n" + LINEBREAK); - cmd = userCmd.nextLine().split(" "); - for (int i = 0; i < cmd.length; i++) { - if (!cmd[i].equals("/by")){ - taskName += cmd[i] + " "; - } else { - i++; - dateTime += cmd[i] + " "; - } - } - } - - addDeadline(new Deadline(taskName, dateTime)); - System.out.println(askForCmd); - takeCmd(); - - } else if (cmd[0].equals("event")) { // handles event objects with start and end dateTimes - String taskName = ""; - String startDateTime = ""; - String endDateTime = ""; - if (!Arrays.asList(cmd).contains("/from")) { - taskName += String.join(" ", cmd); - System.out.println("Sorry, I didn't quite catch that. When is this Event starting?\n" + LINEBREAK); - String[] nextL = userCmd.nextLine().split(" "); - if (!Arrays.asList(cmd).contains("/to")){ - startDateTime = String.join(" ", nextL); - System.out.println("Okay, when is this Event ending?\n" + LINEBREAK); - endDateTime = userCmd.nextLine(); - } else { - for (int i = 0; i < nextL.length; i++){ - if (nextL[i] != "/to"){ - startDateTime += nextL[i]; - } else { - break; - } - } - endDateTime = String.join(" ", nextL); - } - } else if (cmd.length > 1) { - int from = Arrays.asList(cmd).indexOf("/from"); - int to = Arrays.asList(cmd).indexOf("/to"); - for (int i = 1; i < cmd.length; i++){ - if (i < from) { - taskName += cmd[i] + " "; - } else if (i > from && i < to){ - startDateTime += cmd[i] + " "; - } else if (i > to){ - endDateTime += cmd[i] + " "; - } - } - } else { - System.out.println("Sorry, I didn't quite catch that. What task would you like to add?\n" + LINEBREAK); - cmd = userCmd.nextLine().split(" "); - int from = Arrays.asList(cmd).indexOf("/from"); - int to = Arrays.asList(cmd).indexOf("/to"); - for (int i = 0; i < cmd.length; i++){ - if (i < from) { - taskName += cmd[i] + " "; - } else if (i > from && i < to){ - startDateTime += cmd[i] + " "; - } else if (i > to){ - endDateTime += cmd[i] + " "; - } - } - } - addEvent(new Event(taskName, startDateTime, endDateTime)); - System.out.println(askForCmd); - takeCmd(); - - } else if (cmd[0].equals("list")){ - list(); - System.out.println(askForCmd); - takeCmd(); - - } else if (cmd[0].equals("mark") || cmd[0].equals("unmark")) { - String markUnmark = cmd[0]; - if (userCmd.hasNext()) { - try { - int listIdx = Integer.parseInt(userCmd.next()); - mark(markUnmark, listIdx); - System.out.println(askForCmd); - takeCmd(); - } catch (NumberFormatException e) { - System.out.println("Sorry, I don't understand what you want to me to do.\n" + askForCmd); - takeCmd(); - } - } else { - System.out.println("Sorry, I don't understand what you want to me to do.\n" + askForCmd); - takeCmd(); - } - } else { - System.out.println(askForCmd); - takeCmd(); - } - } - - private static void greeting() { - /** - * Start-up logo and message - */ - String logo = " ____ _ \n" - + "| _ \\ _ _| | _____ \n" - + "| | | | | | | |/ / _ \\\n" - + "| |_| | |_| | < __/\n" - + "|____/ \\__,_|_|\\_\\___|\n"; - System.out.println("Hello from\n" + logo + LINEBREAK + "Type 'bye' to exit!\n" + LINEBREAK + "What can I do for you today?\n"); - } - - private static void exit() { - /** - * Exits Duke. - * userCmd "bye" - */ - System.out.println("Bye. Hope to see you again soon!\n" + LINEBREAK); - } + UI ui; + Storage storage; + TaskList tasks; - private static void addTodo(Todo todo){ - USERLIST.addToDo(todo); + public Duke(String filePath) { + this.ui = new UI(); + this.storage = new Storage(filePath); try { - FileWriter writer = new FileWriter("data/save.txt", true); - writer.write(todo.toString() + "\n"); - writer.close(); - System.out.println("Successfully wrote to the file."); + this.tasks = new TaskList(storage.load()); + } catch (DukeException e) { // e should be EmptyTaskListException + ui.showLoadingError(); + this.tasks = new TaskList(); } catch (IOException e) { - System.out.println("An error occurred."); e.printStackTrace(); } } - private static void addDeadline(Deadline dl){ - USERLIST.addDeadline(dl); - try { - FileWriter writer = new FileWriter("data/save.txt", true); - writer.write(dl.toString() + "\n"); - writer.close(); - System.out.println("Successfully wrote to the file."); - } catch (IOException e) { - System.out.println("An error occurred."); - e.printStackTrace(); - } - } - - private static void addEvent(Event e){ - USERLIST.addEvent(e); - try { - FileWriter writer = new FileWriter("data/save.txt", true); - writer.write(e.toString() + "\n"); - writer.close(); - System.out.println("Successfully wrote to the file."); - } catch (IOException ex) { - System.out.println("An error occurred."); - ex.printStackTrace(); + public void run() { + ui.showWelcome(); + boolean isExit = false; + while (!isExit) { + try { + String fullCommand = ui.readCommand(); + ui.showLine(); // show the divider line ("_______") + Command c = Parser.parse(fullCommand); + c.execute(tasks, ui, storage); + isExit = c.isExit(); + } catch (DukeException e) { + ui.showError(e.getMessage()); + } catch (IOException e) { + e.printStackTrace(); + } finally { + ui.showLine(); + } } } - private static void list(){ - /** - * userCmd "list" - * Displays userList vertically. - */ - if (USERLIST.len() == 0){ - System.out.println(LINEBREAK + "Oops, it seems that your list is empty!\n"); - } else { - System.out.println(LINEBREAK + "Your list looks like this:\n" + USERLIST.toString() + LINEBREAK); - } + public static void main(String[] args) { + new Duke("data/tasks.txt").run(); } - private static void mark(String markCmd, int idx){ - try { - USERLIST.mark(markCmd, idx); - } catch (UserList.TaskNotInListException e) { - System.out.println("Sorry, can't find that task.\n"); - } catch (UserList.TaskAlrMarkException e){ - System.out.println("The Task has already been marked.\n"); - } - } } diff --git a/src/main/java/DukeHelpfulCode/.idea/.gitignore b/src/main/java/DukeHelpfulCode/.idea/.gitignore new file mode 100644 index 0000000000..26d33521af --- /dev/null +++ b/src/main/java/DukeHelpfulCode/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/src/main/java/DukeHelpfulCode/.idea/misc.xml b/src/main/java/DukeHelpfulCode/.idea/misc.xml new file mode 100644 index 0000000000..0319d5d58f --- /dev/null +++ b/src/main/java/DukeHelpfulCode/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/java/DukeHelpfulCode/.idea/modules.xml b/src/main/java/DukeHelpfulCode/.idea/modules.xml new file mode 100644 index 0000000000..38d2fab88b --- /dev/null +++ b/src/main/java/DukeHelpfulCode/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/main/java/DukeHelpfulCode/.idea/vcs.xml b/src/main/java/DukeHelpfulCode/.idea/vcs.xml new file mode 100644 index 0000000000..4fce1d86b4 --- /dev/null +++ b/src/main/java/DukeHelpfulCode/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/java/DukeHelpfulCode/Commands/.idea/.gitignore b/src/main/java/DukeHelpfulCode/Commands/.idea/.gitignore new file mode 100644 index 0000000000..26d33521af --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Commands/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/src/main/java/DukeHelpfulCode/Commands/.idea/misc.xml b/src/main/java/DukeHelpfulCode/Commands/.idea/misc.xml new file mode 100644 index 0000000000..0319d5d58f --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Commands/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/java/DukeHelpfulCode/Commands/.idea/modules.xml b/src/main/java/DukeHelpfulCode/Commands/.idea/modules.xml new file mode 100644 index 0000000000..7615205404 --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Commands/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/main/java/DukeHelpfulCode/Commands/.idea/vcs.xml b/src/main/java/DukeHelpfulCode/Commands/.idea/vcs.xml new file mode 100644 index 0000000000..bc59970703 --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Commands/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/java/DukeHelpfulCode/Commands/AddCommand.java b/src/main/java/DukeHelpfulCode/Commands/AddCommand.java new file mode 100644 index 0000000000..2aa84e0bad --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Commands/AddCommand.java @@ -0,0 +1,33 @@ +package DukeHelpfulCode.Commands; + +import DukeHelpfulCode.Tasks.*; +import DukeHelpfulCode.Utilities.*; + +import java.io.FileWriter; +import java.io.IOException; + +public class AddCommand extends Command{ + + Task task; + + public AddCommand(Task task){ + this.task = task; + } + public AddCommand(){}; + + @Override + public void execute(TaskList taskList, UI ui, Storage storage) throws IOException { + taskList.add(task); + storage.write(taskList); + }; + + @Override + public boolean isExit(){ + return false; + } + + public String toString(){ + return "add -> Adds a Task to your list.\n Format: add \n"; + } + +} diff --git a/src/main/java/DukeHelpfulCode/Commands/Command.java b/src/main/java/DukeHelpfulCode/Commands/Command.java new file mode 100644 index 0000000000..5ebf14b9bf --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Commands/Command.java @@ -0,0 +1,18 @@ +package DukeHelpfulCode.Commands; + +import DukeHelpfulCode.Exceptions.NoSuchTaskException; +import DukeHelpfulCode.Exceptions.TaskAlrMarkException; +import DukeHelpfulCode.Utilities.*; +import DukeHelpfulCode.Tasks.*; + +import java.io.IOException; + +public abstract class Command { + /** All commands will inherit from this abstract class + * commands that inherit: AddCommand, DeleteCommand, ExitCommand etc + */ + + public abstract void execute(TaskList taskList, UI ui, Storage storage) throws TaskAlrMarkException, NoSuchTaskException, IOException; + + public abstract boolean isExit(); +} diff --git a/src/main/java/DukeHelpfulCode/Commands/DeleteCommand.java b/src/main/java/DukeHelpfulCode/Commands/DeleteCommand.java new file mode 100644 index 0000000000..574bf1b302 --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Commands/DeleteCommand.java @@ -0,0 +1,40 @@ +package DukeHelpfulCode.Commands; + +import DukeHelpfulCode.Exceptions.NoSuchTaskException; +import DukeHelpfulCode.Tasks.Task; +import DukeHelpfulCode.Utilities.Storage; +import DukeHelpfulCode.Utilities.TaskList; +import DukeHelpfulCode.Utilities.UI; + +import java.io.FileWriter; +import java.io.IOException; + +public class DeleteCommand extends Command{ + + int taskNum; + + public DeleteCommand(int taskNum){ + this.taskNum = taskNum; + } + public DeleteCommand(){}; + + @Override + public void execute(TaskList taskList, UI ui, Storage storage) throws IOException { + try { + taskList.delete(taskNum); + storage.write(taskList); + } catch (NoSuchTaskException e) { + // do nothing, move onto next command + } + }; + + @Override + public boolean isExit(){ + return false; + } + + @Override + public String toString() { + return "delete -> Removes the specified Task from your list.\n Format: delete \n"; + } +} diff --git a/src/main/java/DukeHelpfulCode/Commands/ExitCommand.java b/src/main/java/DukeHelpfulCode/Commands/ExitCommand.java new file mode 100644 index 0000000000..ccf7ba4bf3 --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Commands/ExitCommand.java @@ -0,0 +1,27 @@ +package DukeHelpfulCode.Commands; + +import DukeHelpfulCode.Tasks.Task; +import DukeHelpfulCode.Utilities.Storage; +import DukeHelpfulCode.Utilities.TaskList; +import DukeHelpfulCode.Utilities.UI; + +public class ExitCommand extends Command { + + public ExitCommand(){} + + @Override + public void execute(TaskList taskList, UI ui, Storage storage) { + ui.exit(); + } + + @Override + public boolean isExit(){ + return true; + } + + @Override + public String toString(){ + return "bye -> Exits Duke.\n Format: bye\n"; + } + +} diff --git a/src/main/java/DukeHelpfulCode/Commands/HelpCommand.java b/src/main/java/DukeHelpfulCode/Commands/HelpCommand.java new file mode 100644 index 0000000000..2ffb4e5cb1 --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Commands/HelpCommand.java @@ -0,0 +1,29 @@ +package DukeHelpfulCode.Commands; + +import DukeHelpfulCode.Tasks.Task; +import DukeHelpfulCode.Utilities.Storage; +import DukeHelpfulCode.Utilities.TaskList; +import DukeHelpfulCode.Utilities.UI; + +public class HelpCommand extends Command{ + /** if dk what the user uinpuit justt thro whtis LMAO + * + */ + + public HelpCommand(){} + + @Override + public void execute(TaskList taskList, UI ui, Storage storage){ + ui.showCommands(); + }; + + @Override + public boolean isExit(){ + return false; + } + + @Override + public String toString(){ + return "help -> Displays the list of commands.\n Format: help\n"; + } +} diff --git a/src/main/java/DukeHelpfulCode/Commands/ListCommand.java b/src/main/java/DukeHelpfulCode/Commands/ListCommand.java new file mode 100644 index 0000000000..4efe38339d --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Commands/ListCommand.java @@ -0,0 +1,25 @@ +package DukeHelpfulCode.Commands; + +import DukeHelpfulCode.Utilities.Storage; +import DukeHelpfulCode.Utilities.TaskList; +import DukeHelpfulCode.Utilities.UI; + +public class ListCommand extends Command{ + + public ListCommand(){} + + @Override + public void execute(TaskList taskList, UI ui, Storage storage) { + System.out.println(taskList.toString()); + } + + @Override + public boolean isExit() { + return false; + } + + @Override + public String toString(){ + return "list -> Displays your list.\n Format: list\n"; + } +} diff --git a/src/main/java/DukeHelpfulCode/Commands/MarkCommand.java b/src/main/java/DukeHelpfulCode/Commands/MarkCommand.java new file mode 100644 index 0000000000..b0fcb09782 --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Commands/MarkCommand.java @@ -0,0 +1,39 @@ +package DukeHelpfulCode.Commands; + +import java.io.FileWriter; + +import DukeHelpfulCode.Exceptions.NoSuchTaskException; +import DukeHelpfulCode.Exceptions.TaskAlrMarkException; +import DukeHelpfulCode.Utilities.Storage; +import DukeHelpfulCode.Utilities.TaskList; +import DukeHelpfulCode.Utilities.UI; + +import java.io.IOException; + +public class MarkCommand extends Command{ + + boolean isMark; + int taskNum; + + public MarkCommand(boolean isMark, int taskNum){ + this.isMark = isMark; + this.taskNum = taskNum; + } + public MarkCommand(){}; + + @Override + public void execute(TaskList taskList, UI ui, Storage storage) throws TaskAlrMarkException, NoSuchTaskException, IOException { + taskList.mark(isMark, taskNum); + storage.write(taskList); + }; + + @Override + public boolean isExit(){ + return false; + } + + @Override + public String toString(){ + return "mark / unmark -> Marks / Unmarks the specified Task\n Format: mark/unmark \n"; + } +} diff --git a/src/main/java/DukeHelpfulCode/Exceptions/DukeException.java b/src/main/java/DukeHelpfulCode/Exceptions/DukeException.java new file mode 100644 index 0000000000..ed9a44297d --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Exceptions/DukeException.java @@ -0,0 +1,7 @@ +package DukeHelpfulCode.Exceptions; + +public class DukeException extends Exception{ + public DukeException(String message){ + super(message); + } +} diff --git a/src/main/java/DukeHelpfulCode/Exceptions/EmptyTaskListException.java b/src/main/java/DukeHelpfulCode/Exceptions/EmptyTaskListException.java new file mode 100644 index 0000000000..9b758ec734 --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Exceptions/EmptyTaskListException.java @@ -0,0 +1,7 @@ +package DukeHelpfulCode.Exceptions; + +public class EmptyTaskListException extends DukeException{ + public EmptyTaskListException(){ + super("It appears that your Task List is currently Empty!\n"); + } +} diff --git a/src/main/java/DukeHelpfulCode/Exceptions/NoDueTimeException.java b/src/main/java/DukeHelpfulCode/Exceptions/NoDueTimeException.java new file mode 100644 index 0000000000..af1c2b76e8 --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Exceptions/NoDueTimeException.java @@ -0,0 +1,7 @@ +package DukeHelpfulCode.Exceptions; + +public class NoDueTimeException extends DukeException{ + public NoDueTimeException(){ + super("Sorry, when is this due?\n"); + } +} diff --git a/src/main/java/DukeHelpfulCode/Exceptions/NoEndTimeException.java b/src/main/java/DukeHelpfulCode/Exceptions/NoEndTimeException.java new file mode 100644 index 0000000000..5111ddfb82 --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Exceptions/NoEndTimeException.java @@ -0,0 +1,7 @@ +package DukeHelpfulCode.Exceptions; + +public class NoEndTimeException extends DukeException{ + public NoEndTimeException(){ + super("Sorry, when is this Event ending?\n"); + } +} diff --git a/src/main/java/DukeHelpfulCode/Exceptions/NoStartTimeException.java b/src/main/java/DukeHelpfulCode/Exceptions/NoStartTimeException.java new file mode 100644 index 0000000000..6fccc19dc3 --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Exceptions/NoStartTimeException.java @@ -0,0 +1,7 @@ +package DukeHelpfulCode.Exceptions; + +public class NoStartTimeException extends DukeException{ + public NoStartTimeException(){ + super("Sorry, when is this Event starting?\n"); + } +} diff --git a/src/main/java/DukeHelpfulCode/Exceptions/NoSuchTaskException.java b/src/main/java/DukeHelpfulCode/Exceptions/NoSuchTaskException.java new file mode 100644 index 0000000000..b81f17fe5f --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Exceptions/NoSuchTaskException.java @@ -0,0 +1,7 @@ +package DukeHelpfulCode.Exceptions; + +public class NoSuchTaskException extends DukeException{ + public NoSuchTaskException(){ + super("sorry, but I can't find this Task."); + } +} diff --git a/src/main/java/DukeHelpfulCode/Exceptions/NoTaskNameException.java b/src/main/java/DukeHelpfulCode/Exceptions/NoTaskNameException.java new file mode 100644 index 0000000000..7407ecc0f6 --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Exceptions/NoTaskNameException.java @@ -0,0 +1,7 @@ +package DukeHelpfulCode.Exceptions; + +public class NoTaskNameException extends DukeException{ + public NoTaskNameException(){ + super("Sorry, what's the name of this Task?\n"); + } +} diff --git a/src/main/java/DukeHelpfulCode/Exceptions/NoTaskTypeException.java b/src/main/java/DukeHelpfulCode/Exceptions/NoTaskTypeException.java new file mode 100644 index 0000000000..767ddce432 --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Exceptions/NoTaskTypeException.java @@ -0,0 +1,7 @@ +package DukeHelpfulCode.Exceptions; + +public class NoTaskTypeException extends DukeException{ + public NoTaskTypeException(){ + super("Sorry, what Task is this?\n(todo, deadline, event)\n"); + } +} diff --git a/src/main/java/DukeHelpfulCode/Exceptions/TaskAlrMarkException.java b/src/main/java/DukeHelpfulCode/Exceptions/TaskAlrMarkException.java new file mode 100644 index 0000000000..abf2bcd454 --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Exceptions/TaskAlrMarkException.java @@ -0,0 +1,7 @@ +package DukeHelpfulCode.Exceptions; + +public class TaskAlrMarkException extends DukeException{ + public TaskAlrMarkException(){ + super("It appears that this Task has already been marked as Done. Would you like to mark it as Not Done instead?\n"); + } +} diff --git a/src/main/java/DukeHelpfulCode/Deadline.java b/src/main/java/DukeHelpfulCode/Tasks/Deadline.java similarity index 76% rename from src/main/java/DukeHelpfulCode/Deadline.java rename to src/main/java/DukeHelpfulCode/Tasks/Deadline.java index 5f04fe61a3..55ac7dc705 100644 --- a/src/main/java/DukeHelpfulCode/Deadline.java +++ b/src/main/java/DukeHelpfulCode/Tasks/Deadline.java @@ -1,4 +1,4 @@ -package DukeHelpfulCode; +package DukeHelpfulCode.Tasks; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; @@ -24,10 +24,22 @@ public class Deadline extends Task{ "HHmm yy-MM-dd", "HHmm yy/MM/dd", "HHmm dd-MM-yy", "HHmm dd/MM/yy", "hh:mm a yy-MM-dd", "hh:mm a yy/MM/dd", - "hh:mm a dd-MM-yy", "hh:mm a dd/MM/yy"}; + "hh:mm a dd-MM-yy", "hh:mm a dd/MM/yy", + "dd MMM yyyy hh:mm a"}; public Deadline(String name, String dueDate) { - super(name); + super(name,"deadline"); + this.dateTime = formatDateTime(dueDate); + while (this.dateTime == null){ + Scanner scanner = new Scanner(System.in); + System.out.println("Sorry, I don't understand when you need this by.\nPlease enter the Date and Time:\n"); + String dueTime = scanner.nextLine(); + this.dateTime = formatDateTime(dueTime); + } + } + + public Deadline(String name, String dueDate, boolean isDone) { + super(name, "deadline", isDone); this.dateTime = formatDateTime(dueDate); while (this.dateTime == null){ Scanner scanner = new Scanner(System.in); @@ -52,7 +64,7 @@ private LocalDateTime formatDateTime(String dueDate) { } public String toString(){ - DateTimeFormatter dtFormatter = DateTimeFormatter.ofPattern("dd MMM yy HHmm"); + DateTimeFormatter dtFormatter = DateTimeFormatter.ofPattern("dd MMM yy hh:mm a"); return "[D] " + super.toString() + " (by: " + this.dateTime.format(dtFormatter) + ")"; } diff --git a/src/main/java/DukeHelpfulCode/Event.java b/src/main/java/DukeHelpfulCode/Tasks/Event.java similarity index 71% rename from src/main/java/DukeHelpfulCode/Event.java rename to src/main/java/DukeHelpfulCode/Tasks/Event.java index d1c2bce9cc..435a38688f 100644 --- a/src/main/java/DukeHelpfulCode/Event.java +++ b/src/main/java/DukeHelpfulCode/Tasks/Event.java @@ -1,4 +1,4 @@ -package DukeHelpfulCode; +package DukeHelpfulCode.Tasks; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; @@ -27,10 +27,28 @@ public class Event extends Task{ "HHmm yy-MM-dd", "HHmm yy/MM/dd", "HHmm dd-MM-yy", "HHmm dd/MM/yy", "hh:mm a yy-MM-dd", "hh:mm a yy/MM/dd", - "hh:mm a dd-MM-yy", "hh:mm a dd/MM/yy"}; + "hh:mm a dd-MM-yy", "hh:mm a dd/MM/yy", + "dd MMM yyyy hh:mm a"}; public Event(String name, String startDateTime, String endDateTime) { - super(name); + super(name,"event"); + this.startDateTime = formatDateTime(startDateTime); + while (this.startDateTime == null){ + Scanner scanner = new Scanner(System.in); + System.out.println("Sorry, I don't understand when this Event starts.\nPlease enter the Date and Time:\n"); + String dueTime = scanner.nextLine(); + this.startDateTime = formatDateTime(dueTime); + } + this.endDateTime = formatDateTime(endDateTime); + while (this.endDateTime == null){ + Scanner scanner = new Scanner(System.in); + System.out.println("Sorry, I don't understand when this Event ends.\nPlease enter the Date and Time:\n"); + String dueTime = scanner.nextLine(); + this.endDateTime = formatDateTime(dueTime); + } + } + public Event(String name, String startDateTime, String endDateTime, boolean isDone){ + super(name, "event",isDone); this.startDateTime = formatDateTime(startDateTime); while (this.startDateTime == null){ Scanner scanner = new Scanner(System.in); @@ -62,7 +80,7 @@ private LocalDateTime formatDateTime(String dueDate) { } public String toString() { - DateTimeFormatter dtFormatter = DateTimeFormatter.ofPattern("dd MMM yy HHmm"); + DateTimeFormatter dtFormatter = DateTimeFormatter.ofPattern("dd MMM yyyy hh:mm a"); return "[E] " + super.toString() + " (from: " + this.startDateTime.format(dtFormatter) + " to: " + this.endDateTime.format(dtFormatter) + ")"; } diff --git a/src/main/java/DukeHelpfulCode/Task.java b/src/main/java/DukeHelpfulCode/Tasks/Task.java similarity index 76% rename from src/main/java/DukeHelpfulCode/Task.java rename to src/main/java/DukeHelpfulCode/Tasks/Task.java index e18a13ffa7..c36e73eeea 100644 --- a/src/main/java/DukeHelpfulCode/Task.java +++ b/src/main/java/DukeHelpfulCode/Tasks/Task.java @@ -1,18 +1,27 @@ -package DukeHelpfulCode; +package DukeHelpfulCode.Tasks; public class Task { /** - * Task class for things added to the UserList + * Task class for things added to the TaskList * Methods: * markAsDone -> mark Task as done if not done and vice versa. */ private static String LINEBREAK = "_________________________________________________________________\n"; private String name; - private Boolean isDone = false; + private Boolean isDone; + private String type; - public Task (String name) { + public Task (String name, String type) { this.name = name; + this.isDone = false; + this.type = type; + } + + public Task (String name, String type, boolean isDone){ + this.name = name; + this.type = type; + this.isDone = isDone; } public String getName() { diff --git a/src/main/java/DukeHelpfulCode/Todo.java b/src/main/java/DukeHelpfulCode/Tasks/Todo.java similarity index 57% rename from src/main/java/DukeHelpfulCode/Todo.java rename to src/main/java/DukeHelpfulCode/Tasks/Todo.java index 27cdd7351a..55aa74dfc8 100644 --- a/src/main/java/DukeHelpfulCode/Todo.java +++ b/src/main/java/DukeHelpfulCode/Tasks/Todo.java @@ -1,9 +1,12 @@ -package DukeHelpfulCode; +package DukeHelpfulCode.Tasks; public class Todo extends Task{ // tasks without any date/time atached to it public Todo(String name) { - super(name); + super(name, "todo"); + } + public Todo(String name, boolean isDone) { + super(name, "todo", isDone); } public String toString(){ diff --git a/src/main/java/DukeHelpfulCode/UserList.java b/src/main/java/DukeHelpfulCode/UserList.java deleted file mode 100644 index feb7525c5a..0000000000 --- a/src/main/java/DukeHelpfulCode/UserList.java +++ /dev/null @@ -1,111 +0,0 @@ -package DukeHelpfulCode; - -import java.util.ArrayList; -import java.util.List; - -public class UserList { - /** - * List used by userCmds 'add' and 'list'. - * Methods: - * addToList() -> appends Task to the list - * markAsDone(int i) -> mark Task in i-th index as done. - */ - private static String LINEBREAK = "_________________________________________________________________\n"; - - public class TaskAlrMarkException extends Exception { - /** - * Thrown when the Task is already Done but user wants to mark it again and vice versa. - */ - public TaskAlrMarkException(String errorMessage) { - super(errorMessage); - } - } - - public class TaskNotInListException extends Exception { - /** - * Thrown when Task is not in the userList. - */ - public TaskNotInListException() { - super("I can't seem to find this Task in the List.\n"); - } - } - - List userList = new ArrayList<>(); - - public String toString() { - /** - * Returns vertical list of Tasks that is 1-index - */ - String result = ""; - for (int i = 0; i < this.userList.size(); i++){ - result += (i+1) +". " + this.userList.get(i).toString() + "\n"; - } - return result; - } - - public void addToDo(Todo td){ - if (userList.contains(td)){ - System.out.println(LINEBREAK + "Oops, it seems that you have already added this Task to your list!\n"); - } else { - userList.add(td); - System.out.println(LINEBREAK + "Got it. I've added this task: \n" + td.toString() + "\nNow you have " + this.len() + " tasks in your list.\n" + LINEBREAK); - - } - } - - public void addDeadline(Deadline dl){ - if (userList.contains(dl)){ - System.out.println(LINEBREAK + "Oops, it seems that you have already added this Task to your list!\n"); - } else { - userList.add(dl); - System.out.println(LINEBREAK + "Got it. I've added this task: \n" + dl.toString() + "\nNow you have " + this.len() + " tasks in your list.\n" + LINEBREAK); - } - } - - public void addEvent(Event e){ - if (userList.contains(e)){ - System.out.println(LINEBREAK + "Oops, it seems that you have already added this Task to your list!\n"); - } else { - userList.add(e); - System.out.println(LINEBREAK + "Got it. I've added this task: \n" + e.toString() + "\nNow you have " + this.len() + " tasks in your list.\n" + LINEBREAK); - } - } - - public void addToList(Task task) { - /** - * Appends Task to userList. - */ - if (!userList.contains(task)) { - System.out.println(LINEBREAK + "Added: " + task.getName() + "\n" + LINEBREAK); - userList.add(task); - } else { - System.out.println(LINEBREAK + "Oops, it seems that you have already added this Task to your list!\n"); - } - } - - public void mark(String markCmd, int i) throws TaskNotInListException, TaskAlrMarkException { - /** - * Marks the i-1 th index Task as done if not done and vice versa. - * Note: list is 0-index but displayed as 1-index, hence i would be 1-index. - * If i > userList.size(), throw TaskNotInListException. - * If Task done but "mark" and vice versa, throw TaskAlrMarkException. - * - * @param markCmd User's command to "mar" or "unmark" a Task as done or not done. - * @param i The index of the Task to be marked. Note that user input i is 1-index, so -1 is needed. - */ - if (i > userList.size()) { - throw new TaskNotInListException(); - } else if (markCmd.equals("mark") && userList.get(i-1).isDone()) { - throw new TaskAlrMarkException(LINEBREAK + "It appears that this Task has already been marked as Done. Would you like to mark it as Not Done instead?\n"); - } else if (markCmd.equals("unmark") && !userList.get(i-1).isDone()){ - throw new TaskAlrMarkException(LINEBREAK + "It appears that this Task has already been marked as Not Done. Would you like to mark it as Done instead?\n"); - } else { - userList.get(i - 1).mark(); - } - } - - public int len() { - return userList.size(); - } - -} \ No newline at end of file diff --git a/src/main/java/DukeHelpfulCode/Utilities/DatetimeFormatter.java b/src/main/java/DukeHelpfulCode/Utilities/DatetimeFormatter.java new file mode 100644 index 0000000000..8dd603139a --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Utilities/DatetimeFormatter.java @@ -0,0 +1,16 @@ +package DukeHelpfulCode.Utilities; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; + +public class DatetimeFormatter { + public static LocalDateTime formatDateTime(String datetime, String format){ + LocalDateTime dt = null; + try { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format); + dt = LocalDateTime.parse(datetime, formatter); + } catch (DateTimeParseException e) {} + return dt; + } +} diff --git a/src/main/java/DukeHelpfulCode/Utilities/Parser.java b/src/main/java/DukeHelpfulCode/Utilities/Parser.java new file mode 100644 index 0000000000..82af334493 --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Utilities/Parser.java @@ -0,0 +1,155 @@ +package DukeHelpfulCode.Utilities; + +import java.util.Arrays; +import java.util.NoSuchElementException; + +import DukeHelpfulCode.Commands.*; +import DukeHelpfulCode.Exceptions.*; +import DukeHelpfulCode.Tasks.*; + +public class Parser { + /** + * parses the commands kekw + * + */ + + public static Command parse(String fullCommand) throws NoTaskTypeException, NoTaskNameException, NoDueTimeException, NoStartTimeException, NoEndTimeException, NoSuchTaskException { + Command cmd = new HelpCommand(); + String[] cmdArr = fullCommand.split(" "); + + if (cmdArr.length == 1 && cmdArr[0].equals("bye")){ + cmd = new ExitCommand(); + return cmd; + + } else if (cmdArr.length == 1 && cmdArr[0].equals("help")){ + cmd = new HelpCommand(); + return cmd; + } else if (cmdArr.length == 1 && cmdArr[0].equals("list")){ + cmd = new ListCommand(); + return cmd; + } + + // check for task type, task name, start end due datetime + // input will be in the form of: + // >bye + // >help + // >add event name /from sdt /to edt + // >mark 1 -> first item so 0th index + // >unmark 1 -> first item so 0th index + // >delete 1 -> first item to 0th index + + if (cmdArr[0].equals("add")){ + String[] taskTypes = {"todo", "event", "deadline"}; + String taskName = ""; + Task task; + // no task name + // if deadline -> no due time + // if event -> no sdt or no edt + + + if (cmdArr.length == 1){ + throw new NoTaskTypeException(); + } else if (cmdArr.length == 2){ + if (!Arrays.asList(taskTypes).contains(cmdArr[1])){ + throw new NoTaskTypeException(); + } else { + throw new NoTaskNameException(); + } + + + } else { + if (cmdArr[1].equals("todo")){ + for (int i = 2; i < cmdArr.length; i++){ + taskName += cmdArr[i]; + } + task = new Todo(taskName); + + + } else if (cmdArr[1].equals("deadline")) { + // >add deadline name /by dueDate + if (!Arrays.asList(cmdArr).contains("/by")) { + throw new NoDueTimeException(); + } else if(cmdArr[2].equals("/by")){ + throw new NoTaskNameException(); + } else { + int by = Arrays.asList(cmdArr).indexOf("/by"); + for (int i = 2; i < by; i++) { + taskName += cmdArr[i]; + } + String dt = ""; + for (int i = by + 1; i < cmdArr.length; i++){ + dt += cmdArr[i] + " "; + } + task = new Deadline(taskName,dt.substring(0,dt.length()-1)); + } + + + } else if (cmdArr[1].equals("event")){ + // >add event name /from sdt /to edt + if (!Arrays.asList(cmdArr).contains("/from")) { + throw new NoStartTimeException(); + } else if(!Arrays.asList(cmdArr).contains("/to")){ + throw new NoEndTimeException(); + } else if(cmdArr[2].equals("/from")){ + throw new NoTaskNameException(); + } else { + int start = Arrays.asList(cmdArr).indexOf("/from"); + int end = Arrays.asList(cmdArr).indexOf("/to"); + for (int i = 2; i < start; i++) { + taskName += cmdArr[i]; + } + String sdt = ""; + for (int i = start + 1; i < end; i++){ + sdt += cmdArr[i] + " "; + } + String edt = ""; + for (int i = end + 1; i < cmdArr.length; i++){ + edt += cmdArr[i]; + } + task = new Event(taskName, sdt.substring(0,sdt.length()-1), edt.substring(0,edt.length()-1)); + } + } else { + throw new NoTaskTypeException(); + } + } + cmd = new AddCommand(task); + + + } else if (cmdArr[0].equals("delete")){ + int taskNum; + try { + taskNum = Integer.parseInt(cmdArr[1]); + } catch (NumberFormatException e) { + throw new NoSuchTaskException(); + } + cmd = new DeleteCommand(taskNum); + + + } else if (cmdArr[0].equals("mark")){ + boolean isMark = true; + int taskNum; + try { + taskNum = Integer.parseInt(cmdArr[1]); + } catch (NumberFormatException e) { + throw new NoSuchTaskException(); + } + cmd = new MarkCommand(isMark, taskNum); + } else if (cmdArr[0].equals("unmark")){ + boolean isMark = false; + int taskNum; + try { + taskNum = Integer.parseInt(cmdArr[1]); + } catch (NumberFormatException e) { + throw new NoSuchTaskException(); + } + cmd = new MarkCommand(isMark, taskNum); + // mark command in tasklist need to change from unmark and mark to this boolean + + } else { + System.out.println("Sorry, I don't understand.\nBut don't worry, help is here!\n"); + } + return cmd; + } + + +} diff --git a/src/main/java/DukeHelpfulCode/Utilities/Storage.java b/src/main/java/DukeHelpfulCode/Utilities/Storage.java new file mode 100644 index 0000000000..1bb240fd5a --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Utilities/Storage.java @@ -0,0 +1,114 @@ +package DukeHelpfulCode.Utilities; + +import java.io.*; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; + +import java.util.ArrayList; +import java.util.List; + +import DukeHelpfulCode.Tasks.*; +import DukeHelpfulCode.Exceptions.*; + +public class Storage { + + public String filePath; + + public Storage(String filePath){ + this.filePath = filePath; + } + + // should have a read, write and search function in this class + + private Task taskFromText(String[] s){ + String type = s[0]; // [T] = todo | [D] = deadline | [E] = event + boolean isDone = s[1].equals("[X]"); // note that if not done, s[1] will be "[" + String name = ""; + Task t = null; + int i = isDone ? 2 : 3; + if (type.equals("[T]")){ + for (; i < s.length; i++){ + name += s[i] + " "; + } + t = new Todo(name, isDone); + } else if (type.equals("[D]")){ + while (!s[i].equals("(by:")){ + name += s[i] + " "; + i++; + } + i++; // to skip the "(by:" + String dd = s[i] + " " + s[i+1] + " " + s[i+2] + " " + s[i+3] + " " + s[i+4]; + // dd MMM yy hh:mm a) + t = new Deadline(name, dd.substring(0,dd.length()-1), isDone); + } else if (type.equals("[E]")){ + while (!s[i].equals("(from:")){ + name += s[i] + " "; + i++; + } + i++; // to skip the "(from:" + String sd = s[i] + " " + s[i+1] + " " + s[i+2] + " " + s[i+3] + " " + s[i+4]; + // dd MMM yy hh:mm a) + i+=6; // to skip "to:" + String ed = s[i] + " " + s[i+1] + " " + s[i+2] + " " + s[i+3] + " " + s[i+4]; + // dd MMM yy hh:mm a) + t = new Event(name, sd, ed.substring(0,ed.length()-1),isDone); + } + + return t; + + } + + private LocalDateTime formatDateTime(String s) { + LocalDateTime dt = null; + try { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd MMM yyyy hh:mm a"); + dt = LocalDateTime.parse(s, formatter); + } catch (DateTimeParseException e) { + // Do nothing, just continue to the next format + } + return dt; + } + + public List load() throws EmptyTaskListException, IOException { + /** + * Loads the currently existing tasks and stuff? not sure + * this function goes into the new Tasklist() + * if empty return empty task list + * if not empty return the task list + */ + File taskListText = null; + List taskList = new ArrayList<>(); + try { + taskListText = new File(filePath); + } catch (Exception e) { + e.printStackTrace(); + } + if (taskListText.exists()) { + BufferedReader reader = new BufferedReader(new FileReader(this.filePath)); + String line; + while ((line = reader.readLine()) != null) { + taskList.add(taskFromText(line.split(" "))); + } + if (taskList.size() == 0) { + throw new EmptyTaskListException(); + } + } else { + taskListText.createNewFile(); + } + + return taskList; + + } + + public void write(TaskList tl) throws IOException { + BufferedWriter writer = new BufferedWriter(new FileWriter(this.filePath)); + for (int i = 0; i < tl.len(); i++){ + System.out.println(tl.taskList.get(i).toString()); + writer.write(tl.taskList.get(i).toString()+"\n"); + writer.flush(); + } + } + +} diff --git a/src/main/java/DukeHelpfulCode/Utilities/TaskList.java b/src/main/java/DukeHelpfulCode/Utilities/TaskList.java new file mode 100644 index 0000000000..1bc407c8ac --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Utilities/TaskList.java @@ -0,0 +1,99 @@ +package DukeHelpfulCode.Utilities; + +import java.util.ArrayList; +import java.util.List; +import java.util.Scanner; + +import DukeHelpfulCode.Exceptions.*; +import DukeHelpfulCode.Tasks.*; + +public class TaskList { + /** + * List used by userCmds 'add' and 'list'. + * Methods: + * addToList() -> appends Task to the list + * markAsDone(int i) -> mark Task in i-th index as done. + */ + private static String LINEBREAK = "_________________________________________________________________\n"; + + List taskList = new ArrayList<>(); + + public TaskList(List taskList){ + /** + * taskList can be empty, but thats fine + */ + this.taskList = taskList; + } + + public TaskList(){} + + public String toString() { + /** + * Returns vertical list of Tasks that is 1-index + */ + String result = ""; + for (int i = 0; i < this.taskList.size(); i++){ + result += (i+1) +". " + this.taskList.get(i).toString() + "\n"; + } + return result; + } + + public void add(Task task){ + if (taskList.contains(task)){ + System.out.println(LINEBREAK + "Oops, it seems that you have already added this Task to your list!\n"); + } else { + taskList.add(task); + System.out.println(LINEBREAK + "Got it. I've added this task: \n" + task.toString() + "\nNow you have " + this.len() + " tasks in your list.\n" + LINEBREAK); + } + } + + public void mark(boolean isMark, int i) throws NoSuchTaskException, TaskAlrMarkException { + /** + * Marks the i-1 th index Task as done if not done and vice versa. + * Note: list is 0-index but displayed as 1-index, hence i would be 1-index. + * If i > userList.size(), throw TaskNotInListException. + * If Task done but "mark" and vice versa, throw TaskAlrMarkException. + * + * @param isMark User's command to "mar" or "unmark" a Task as done or not done. + * @param i The index of the Task to be marked. Note that user input i is 1-index, so -1 is needed. + */ + if (i > taskList.size()) { + throw new NoSuchTaskException(); + } else if (isMark && taskList.get(i-1).isDone()) { + throw new TaskAlrMarkException(); + } else if (!isMark && !taskList.get(i-1).isDone()){ + throw new TaskAlrMarkException(); + } else { + taskList.get(i - 1).mark(); + } + } + + public void delete(int taskNum) throws NoSuchTaskException { + // deletes taskNum-1 indexed task from the list + if (taskNum > this.len() || taskNum <= 0){ + throw new NoSuchTaskException(); + } + else if (this.taskList.get(taskNum-1).isDone()) { + this.taskList.remove(taskNum - 1); + System.out.println("The " + taskNum +"th Task on the list has been removed!\n" + LINEBREAK); + } else { + System.out.println("The " + taskNum +"th Task on the list is not yet complete!\nAre you sure you want to remove it? y/n"); + Scanner sc = new Scanner(System.in); + String yn = sc.next(); + if (yn.equals("y")){ + this.taskList.remove(taskNum - 1); + System.out.println("The " + taskNum +"th Task on the list has been removed!\n" + LINEBREAK); + } else if (yn.equals("n")){ + System.out.println("OK, I will leave it!\n" + LINEBREAK); + } else { + System.out.println("Sorry, I don't understand.\n"); + } + } + + } + + public int len() { + return taskList.size(); + } + +} \ No newline at end of file diff --git a/src/main/java/DukeHelpfulCode/Utilities/UI.java b/src/main/java/DukeHelpfulCode/Utilities/UI.java new file mode 100644 index 0000000000..a96f7d93b3 --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Utilities/UI.java @@ -0,0 +1,72 @@ +package DukeHelpfulCode.Utilities; + +import java.util.Scanner; + +import DukeHelpfulCode.Commands.*; + +public class UI { + /** Handles the user inputs and stuff + * methods + * showWelcome() + * showLine() = linebreak + * showError(Exception ) + */ + + private static String LINEBREAK = "_________________________________________________________________\n"; + + public void showWelcome(){ + /** + * Prints the Logo and Welcome Message + */ + String logo = " ____ _ \n" + + "| _ \\ _ _| | _____ \n" + + "| | | | | | | |/ / _ \\\n" + + "| |_| | |_| | < __/\n" + + "|____/ \\__,_|_|\\_\\___|\n"; + System.out.println("Hello from\n" + logo + LINEBREAK + "Type 'bye' to exit!\n" + LINEBREAK); + } + + public void showCommands(){ + /** + * Prints the list of Commands + */ + Command[] allCmd = {new HelpCommand(), + new AddCommand(), + new DeleteCommand(), + new MarkCommand(), + new ListCommand(), + new ExitCommand()}; + String commandList = LINEBREAK + "Here's the list of commands:\n" + LINEBREAK; // just add the tostring of the commands + for (int i = 0; i < allCmd.length; i++){ + commandList += i+1 + ". " + allCmd[i].toString(); + } + System.out.println(commandList); + } + + public void showLine(){ + /** + * Prints the LINEBREAK + */ + System.out.println(LINEBREAK); + } + + public void exit(){ + System.out.println(LINEBREAK + "Thanks for using DUKE. Hope you have a great day ahead!"); + } + + public void showLoadingError(){ + System.out.println("Oops, there seems to be a problem with loading your previous Task List?\n"); + } + + public void showError(String message){ + System.out.println(message); + } + + public void showList(){} + + public String readCommand() { + Scanner sc = new Scanner(System.in); + System.out.println("How may I help you today?\n"); + return sc.nextLine(); + } +} diff --git a/src/main/java/DukeTest.java b/src/main/java/DukeTest.java new file mode 100644 index 0000000000..94f08093ce --- /dev/null +++ b/src/main/java/DukeTest.java @@ -0,0 +1,5 @@ +public class DukeTest { + + //Duke DUKE = new Duke(); + +} From b8ea184a1c6dee2af87a765ad46aaa83cf668c42 Mon Sep 17 00:00:00 2001 From: iapetusbob Date: Thu, 9 Feb 2023 19:17:44 +0800 Subject: [PATCH 10/56] add-gradle-support --- build.gradle | 1 + gradle/wrapper/.idea/vcs.xml | 6 +++ gradle/wrapper/.idea/workspace.xml | 50 ++++++++++++++++++ gradle/wrapper/gradle-wrapper.jar | Bin 58695 -> 0 bytes gradle/wrapper/gradle-wrapper.properties | 5 -- src/main/java/DukeHelpfulCode/.idea/vcs.xml | 6 +++ .../java/DukeHelpfulCode/.idea/workspace.xml | 46 ++++++++++++++++ .../Commands/.idea/workspace.xml | 46 ++++++++++++++++ 8 files changed, 155 insertions(+), 5 deletions(-) create mode 100644 gradle/wrapper/.idea/vcs.xml create mode 100644 gradle/wrapper/.idea/workspace.xml delete mode 100644 gradle/wrapper/gradle-wrapper.jar delete mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 src/main/java/DukeHelpfulCode/.idea/vcs.xml create mode 100644 src/main/java/DukeHelpfulCode/.idea/workspace.xml create mode 100644 src/main/java/DukeHelpfulCode/Commands/.idea/workspace.xml diff --git a/build.gradle b/build.gradle index 885198fcfa..935dc8846c 100644 --- a/build.gradle +++ b/build.gradle @@ -25,6 +25,7 @@ test { showStackTraces true showStandardStreams = false } + run() } application { diff --git a/gradle/wrapper/.idea/vcs.xml b/gradle/wrapper/.idea/vcs.xml new file mode 100644 index 0000000000..b2bdec2d71 --- /dev/null +++ b/gradle/wrapper/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/gradle/wrapper/.idea/workspace.xml b/gradle/wrapper/.idea/workspace.xml new file mode 100644 index 0000000000..6b70686356 --- /dev/null +++ b/gradle/wrapper/.idea/workspace.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1675932079737 + + + + \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index f3d88b1c2faf2fc91d853cd5d4242b5547257070..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58695 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index b7c8c5dbf5..0000000000 --- a/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.2-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/src/main/java/DukeHelpfulCode/.idea/vcs.xml b/src/main/java/DukeHelpfulCode/.idea/vcs.xml new file mode 100644 index 0000000000..4fce1d86b4 --- /dev/null +++ b/src/main/java/DukeHelpfulCode/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/java/DukeHelpfulCode/.idea/workspace.xml b/src/main/java/DukeHelpfulCode/.idea/workspace.xml new file mode 100644 index 0000000000..8d70db568f --- /dev/null +++ b/src/main/java/DukeHelpfulCode/.idea/workspace.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + 1675667404340 + + + + \ No newline at end of file diff --git a/src/main/java/DukeHelpfulCode/Commands/.idea/workspace.xml b/src/main/java/DukeHelpfulCode/Commands/.idea/workspace.xml new file mode 100644 index 0000000000..b3befc9f65 --- /dev/null +++ b/src/main/java/DukeHelpfulCode/Commands/.idea/workspace.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1675758777249 + + + + \ No newline at end of file From 871d399167472b36a05628e68fd19b543e27fa3f Mon Sep 17 00:00:00 2001 From: iapetusbob Date: Fri, 10 Feb 2023 18:36:31 +0800 Subject: [PATCH 11/56] JAR --- build.gradle | 16 ++++++++-- data/tasks.txt | 3 -- docs/README.md | 29 ------------------ duke.jar | Bin 0 -> 26849 bytes gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59536 bytes gradle/wrapper/gradle-wrapper.properties | 5 +++ gradlew | 4 ++- gradlew.bat | 22 +++---------- src/main/java/Duke.java | 9 ++---- .../DukeHelpfulCode/Commands/AddCommand.class | Bin 0 -> 978 bytes .../DukeHelpfulCode/Commands/Command.class | Bin 0 -> 518 bytes .../Commands/DeleteCommand.class | Bin 0 -> 1035 bytes .../Commands/ExitCommand.class | Bin 0 -> 623 bytes .../Commands/HelpCommand.class | Bin 0 -> 652 bytes .../Commands/ListCommand.class | Bin 0 -> 768 bytes .../Commands/MarkCommand.class | Bin 0 -> 1086 bytes .../Exceptions/DukeException.class | Bin 0 -> 253 bytes .../Exceptions/EmptyTaskListException.class | Bin 0 -> 356 bytes .../Exceptions/NoDueTimeException.class | Bin 0 -> 322 bytes .../Exceptions/NoEndTimeException.class | Bin 0 -> 331 bytes .../Exceptions/NoStartTimeException.class | Bin 0 -> 337 bytes .../Exceptions/NoSuchTaskException.class | Bin 0 -> 333 bytes .../Exceptions/NoTaskNameException.class | Bin 0 -> 336 bytes .../Exceptions/NoTaskTypeException.class | Bin 0 -> 349 bytes .../Exceptions/TaskAlrMarkException.class | Bin 0 -> 407 bytes .../java/DukeHelpfulCode/Tasks/Deadline.class | Bin 0 -> 3478 bytes .../java/DukeHelpfulCode/Tasks/Deadline.java | 2 +- .../java/DukeHelpfulCode/Tasks/Event.class | Bin 0 -> 3947 bytes .../java/DukeHelpfulCode/Tasks/Task.class | Bin 0 -> 2058 bytes .../java/DukeHelpfulCode/Tasks/Todo.class | Bin 0 -> 963 bytes .../DukeHelpfulCode/Utilities/Parser.class | Bin 0 -> 4062 bytes .../DukeHelpfulCode/Utilities/Storage.class | Bin 0 -> 4112 bytes .../DukeHelpfulCode/Utilities/TaskList.class | Bin 0 -> 3404 bytes .../java/DukeHelpfulCode/Utilities/UI.class | Bin 0 -> 2831 bytes src/main/java/DukeTest.java | 5 --- src/main/java/data/tasks.txt | 0 src/main/resources/data/tasks.txt | 0 37 files changed, 28 insertions(+), 67 deletions(-) delete mode 100644 data/tasks.txt delete mode 100644 docs/README.md create mode 100644 duke.jar create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 src/main/java/DukeHelpfulCode/Commands/AddCommand.class create mode 100644 src/main/java/DukeHelpfulCode/Commands/Command.class create mode 100644 src/main/java/DukeHelpfulCode/Commands/DeleteCommand.class create mode 100644 src/main/java/DukeHelpfulCode/Commands/ExitCommand.class create mode 100644 src/main/java/DukeHelpfulCode/Commands/HelpCommand.class create mode 100644 src/main/java/DukeHelpfulCode/Commands/ListCommand.class create mode 100644 src/main/java/DukeHelpfulCode/Commands/MarkCommand.class create mode 100644 src/main/java/DukeHelpfulCode/Exceptions/DukeException.class create mode 100644 src/main/java/DukeHelpfulCode/Exceptions/EmptyTaskListException.class create mode 100644 src/main/java/DukeHelpfulCode/Exceptions/NoDueTimeException.class create mode 100644 src/main/java/DukeHelpfulCode/Exceptions/NoEndTimeException.class create mode 100644 src/main/java/DukeHelpfulCode/Exceptions/NoStartTimeException.class create mode 100644 src/main/java/DukeHelpfulCode/Exceptions/NoSuchTaskException.class create mode 100644 src/main/java/DukeHelpfulCode/Exceptions/NoTaskNameException.class create mode 100644 src/main/java/DukeHelpfulCode/Exceptions/NoTaskTypeException.class create mode 100644 src/main/java/DukeHelpfulCode/Exceptions/TaskAlrMarkException.class create mode 100644 src/main/java/DukeHelpfulCode/Tasks/Deadline.class create mode 100644 src/main/java/DukeHelpfulCode/Tasks/Event.class create mode 100644 src/main/java/DukeHelpfulCode/Tasks/Task.class create mode 100644 src/main/java/DukeHelpfulCode/Tasks/Todo.class create mode 100644 src/main/java/DukeHelpfulCode/Utilities/Parser.class create mode 100644 src/main/java/DukeHelpfulCode/Utilities/Storage.class create mode 100644 src/main/java/DukeHelpfulCode/Utilities/TaskList.class create mode 100644 src/main/java/DukeHelpfulCode/Utilities/UI.class delete mode 100644 src/main/java/DukeTest.java create mode 100644 src/main/java/data/tasks.txt create mode 100644 src/main/resources/data/tasks.txt diff --git a/build.gradle b/build.gradle index 935dc8846c..9395c1dc2e 100644 --- a/build.gradle +++ b/build.gradle @@ -25,18 +25,28 @@ test { showStackTraces true showStandardStreams = false } - run() } application { - mainClassName = "seedu.duke.Duke" + mainClassName = "Duke" +} + +sourceSets { + main { + resources { + srcDir 'src/main/resources' + } + } } shadowJar { + from("src/main/resources"){ + into 'META-INF/resources' + } archiveBaseName = "duke" archiveClassifier = null } run{ standardInput = System.in -} +} \ No newline at end of file diff --git a/data/tasks.txt b/data/tasks.txt deleted file mode 100644 index a9c132ad66..0000000000 --- a/data/tasks.txt +++ /dev/null @@ -1,3 +0,0 @@ -[T] [ ] cock -[T] [ ] pussy -[D] [X] fuckyoucunt (by: 10 Oct 10 10:00 AM) diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index 8077118ebe..0000000000 --- a/docs/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# User Guide - -## Features - -### Feature-ABC - -Description of the feature. - -### Feature-XYZ - -Description of the feature. - -## Usage - -### `Keyword` - Describe action - -Describe the action and its outcome. - -Example of usage: - -`keyword (optional arguments)` - -Expected outcome: - -Description of the outcome. - -``` -expected output -``` diff --git a/duke.jar b/duke.jar new file mode 100644 index 0000000000000000000000000000000000000000..9c1acb8c56d9d9744a6b607aad79bb8986e9c961 GIT binary patch literal 26849 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 literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..7454180f2ae8848c63b8b4dea2cb829da983f2fa GIT binary patch literal 59536 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 QuEJmfE|#`Dqx|px0L@K;Y5)KL literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000000..69a9715077 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 2fe81a7d95..744e882ed5 100755 --- a/gradlew +++ b/gradlew @@ -72,7 +72,7 @@ case "`uname`" in Darwin* ) darwin=true ;; - MINGW* ) + MSYS* | MINGW* ) msys=true ;; NONSTOP* ) @@ -82,6 +82,7 @@ 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 @@ -129,6 +130,7 @@ fi 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 diff --git a/gradlew.bat b/gradlew.bat index 62bd9b9cce..107acd32c4 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if "%ERRORLEVEL%" == "0" goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -54,7 +54,7 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% @@ -64,28 +64,14 @@ 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% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index 9f9b8cde31..a59c261b83 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -1,14 +1,9 @@ -import java.io.FileNotFoundException; -import java.util.Scanner; -import java.util.Arrays; -import java.io.File; -import java.io.FileWriter; + import java.io.IOException; import DukeHelpfulCode.Exceptions.*; import DukeHelpfulCode.Utilities.*; import DukeHelpfulCode.Commands.*; -import DukeHelpfulCode.Tasks.*; @@ -55,7 +50,7 @@ public void run() { } public static void main(String[] args) { - new Duke("data/tasks.txt").run(); + new Duke("./src/main/resources/data/tasks.txt").run(); } diff --git a/src/main/java/DukeHelpfulCode/Commands/AddCommand.class b/src/main/java/DukeHelpfulCode/Commands/AddCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..356a30681c85196f0d65a2b904c90f9e08676927 GIT binary patch literal 978 zcma)4TTc@~6#k|cwp~h#P`q%Rf=Vx;eKfJ8iQy7S8jNY-fw!SM){*UQvpd!DpM20n zG4a74;Eyt%*==l60x_FC=giFaedjXs`_Io`0A8SM!@`p+=CEpG4eK^Gu$jS@1#Y3l zkkTT&VpwkqG+ymc{jV|qnk!>=}?JG~|7Q;ubit6(en$t&>oXL~mG%emQ8ZlP^&9an^>26lQP7je$~01VDn$mftj*1}E>Pcd)dSq{&!%kWk>4&Q5WqJ&&DB*`uyMNt-oh?k%6Hpm;zwBb!DbJ6A^*#Z_x*rceFPZ_yd z^&1j5Nbc2ckeYJhG({?Jg_1qQ1Hz_AVTt}_6v-NuRq`fbBKetYTwt8doU9Np#;uVz Sxa3m$%M5Un4jvf^JpKz>sNpaG literal 0 HcmV?d00001 diff --git a/src/main/java/DukeHelpfulCode/Commands/Command.class b/src/main/java/DukeHelpfulCode/Commands/Command.class new file mode 100644 index 0000000000000000000000000000000000000000..a4cac9bb55faec57c4b1e993a5e77ccb7416d18a GIT binary patch literal 518 zcmaJ;%}xR_7@Wew;);Ue-^E04=z$(NU`z~RBtbX;9=w&MLfK_YcDshx@?_${2k@bc z-);yR4)pMKI-O~!{l0%bzW~&6<{*nh8x$! z8mF~%<-#Z(L^h6XoY**}$SP_rl}RJNkf^WY(3KA=iCJvw`CJ6!+DyEOA}r(>E;i$? zG!b6`hH@h3z6d6~H=0S84(FS$zbxr1@BHvdgx;EEsBLj{bw75e$?yC#RMK0O=I!2^ zwJwpN{v;y{>IZUE^RzmrnbDlP{s4O?Ks}+FPf5pOC}4-MLtKHZyC`Ch*nN~zZJBBY F2fqkNi9i4V literal 0 HcmV?d00001 diff --git a/src/main/java/DukeHelpfulCode/Commands/DeleteCommand.class b/src/main/java/DukeHelpfulCode/Commands/DeleteCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..fd29ebe8a3ae439d6080fc5be18c6cb952a28c20 GIT binary patch literal 1035 zcma)4U2hUW6g{)BUAl!*p=!U-p(^Dg?LL|m)0cik62zvoeei7y(=xKKWOu0ei+u6H zCR!68`~m(bQ1q~H|&a+!W*0qJOs(NUusoYlgl{=V7 zvG+$UF;LR)hZdfZ2N~{41YVMr*ysRG%*U|1}c>Tlgk*YVu`g){C}8SJJ%3|itq zYGau_;Rz*n{a(-Qx3@Gri8-W`n1yYjki-U(7K%xfP-fVgc6}qpY52`ytE0{TZZb65 z(f9f04nGn-|5Aipbp#Iwq9xCzXmgF{=Yikj?@1Q-=-jq!&JX;c=c;W!q0>FJ#c0Q7 zC`>DuNDrOAoG|cPffEKpHaZ>YJGIw;NM4^N{(G}@>SJLH`PH6ixa+ha|-mRb?3T1MKowu=45`7*|v=%u}34jN$^~xJTSf#7j?j zIm-H*rsmyHW};@6;sTM3Xv869lc3p3`7?}b#5OC}h<|{&9lwg;DFT}W(lZ}K&?VBm zOyo7%S)s`}S|BIJp#_spn~FG57irxm%Gk;ZWi82weWWLHdWYRjvXH7=H! P`7{MA(8eoc8P8+~Wy^FcrL>k^$+-M%{$&VU Kq|&sOz|0Q<`iOG? literal 0 HcmV?d00001 diff --git a/src/main/java/DukeHelpfulCode/Commands/HelpCommand.class b/src/main/java/DukeHelpfulCode/Commands/HelpCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..a5bcf6ebc0eab07cb04e43eb6b9d17f25283a74e GIT binary patch literal 652 zcmaKpO-}+b5Qg6ZvbdrmDt;$5@c>5MqehGu(P%=vARfF`EKpf?$+qjqfAXLgO+5Gm z{87d!Vl*V$!#mTNXQq?s`^W1WfNdV%KtF+ zlmD_c6GoyX%XXTy(ua4-^oP4($e6HZA{De4W{RciwYU+UFM^i$6)iKkwJ?qv@<`c{ zb9Tgou-g^E)s}^`NW*b3pTzaDBbhLz2>GZxlhycu*n-=g?h{7bdJKP zE6gspB`(9-@CF9YXz$mX4E#@Qz%wilBR{*WpD<)~JG}jFj#Z@S5A8{TwgZPWL$?*O zjO@tz3)mAm45Os!esG-B#TcnYSIMRw@^J{XsT{=;nEC`>^OL>+ literal 0 HcmV?d00001 diff --git a/src/main/java/DukeHelpfulCode/Commands/ListCommand.class b/src/main/java/DukeHelpfulCode/Commands/ListCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..af40782ad4f2239cfbeea3d04beeb2c00980177b GIT binary patch literal 768 zcmaJ<$xa(V5PfYMkKIgwm@R=2noZbjb40=s7Zwr8iXs_v;MPE6I?Q6t^dS6CIfNXD z#DNdsqY%}`Qj8JIp{l#;)$4jy^YD0g4`35Z91g~c7{>(1BtCI`##8~*4!$^;VaR{e zp*GtL*>dHGA-5BqDTd*i4%Lq|I8pJTJn<>wsB3ka8aiE+YrE;CI#7P=JoPQ!YZ&co zqgCP^%H*=96H|Q$)A;^gwr-+WHdWPjlh?`KwKkpRju{Fjs+(AcO@^^@rS?l+Nza#I z(|e9q8F)QP<5RV-ZObFJk)0?AWO%k=!7d6YI{4~h7Q(@tixGTuFz;dkiwtW%;l=v4 z*wsnPm+eHfiA~t(1{Xr?M{yv{Rwuw27W=2reJb&K-enMP!n$~Bv`0xhF)ARzQA)DM zpEc^p`$@75$y72Rne+XeuNS~D+F^ZJOM7ftCO;(d^6Lp!jxdKj{W12-fkuuZSx&bZ z@{Ihz%0I9hIxq~9&3A$ptwuqC~L_MxOu|v9cNf literal 0 HcmV?d00001 diff --git a/src/main/java/DukeHelpfulCode/Commands/MarkCommand.class b/src/main/java/DukeHelpfulCode/Commands/MarkCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..e8bb968b5bed01ffde87e04efb81054c6bbc4e3c GIT binary patch literal 1086 zcma)5T~8B16g|_WU07=?6j4jj0YUmL2o}Ckk_EAx6+lW&X6n~H%dngGuvKAFl3w36@)qw{(*DS zr-)J1*QOYWcBshj7Mt(Gp7;uZtl!2;E!5lWG-L{nHJ7=P% zlUh5Ywiqhuxq*qIiIRzO)YZ;Ns;DyRYgTzJ~XY4GA%Fk z+hSMhcJAqkYN8h4O3QAy)DGA62NY{6z|4T!;Q9=g$=YMpC| zfFg%cB;cwmcrX-gc`8MR>ls*_^Igv$IO+}8EITIC)H`BSw;0wZhZxrs*jhby82GKQ zD~LS_xt?0|9`E|Tmb{8GY)xV8d#$kD)jixG<`F9U!uXOtitG8q0 z7pGPH;!C|@oBy?8r6XE-lfD8VK|gvwvd~XRHVH=0njxDd?-d~oI|7|{W<^u literal 0 HcmV?d00001 diff --git a/src/main/java/DukeHelpfulCode/Exceptions/DukeException.class b/src/main/java/DukeHelpfulCode/Exceptions/DukeException.class new file mode 100644 index 0000000000000000000000000000000000000000..fa2e91153392dc33350ef196304b4a3a2c3e040d GIT binary patch literal 253 zcmX^0Z`VEs1_pBmUM>b^1}=66ZgvJ9Mg}&U%)HDJJ4Oak4WF#UvPAuy#JqI<;F6-u zymV{LFh&Lz=lqmZMh1SL%)C^;(%hufqL9R-9H0nSaDHh~a;jSVs>+z6Iu2a;T1QC6TjHlRulpa>HKCje7|Ia~k$ literal 0 HcmV?d00001 diff --git a/src/main/java/DukeHelpfulCode/Exceptions/EmptyTaskListException.class b/src/main/java/DukeHelpfulCode/Exceptions/EmptyTaskListException.class new file mode 100644 index 0000000000000000000000000000000000000000..48f19240b573340766a279ce100765bc610c6b8c GIT binary patch literal 356 zcmaKoJx{|h5Qbl;A1R^G3W6kp9yXN?Qqn!!!>o zW+ju$Y-+WT%ggZ`BeeWU!Xw@~=z1Uf>===cfcWHqd?0#nfS&h>FQ5Sfy5r*r$uF6T BTzCKg literal 0 HcmV?d00001 diff --git a/src/main/java/DukeHelpfulCode/Exceptions/NoDueTimeException.class b/src/main/java/DukeHelpfulCode/Exceptions/NoDueTimeException.class new file mode 100644 index 0000000000000000000000000000000000000000..b742701a5193a2107f0d1e118c23492fefa35f99 GIT binary patch literal 322 zcmaJ+yG{a85IwUz7OyDA#2C9ZHj7cWw9sH78Vf?Rgnoe$t}b`UWv`FVqB61Y1N9Yzk#-U3 zLh0#^Y@>mW!1-PEOb=8p9;?zXO*W&J$=~q;@jrTB+O!KC#C?BFQs#P^WX|&1%kBtA nsPX6C1bYKb#*m{E1k8Z&bYFZRcwY-zjFJmj3%zuUc>wtfmKIV( literal 0 HcmV?d00001 diff --git a/src/main/java/DukeHelpfulCode/Exceptions/NoStartTimeException.class b/src/main/java/DukeHelpfulCode/Exceptions/NoStartTimeException.class new file mode 100644 index 0000000000000000000000000000000000000000..79e3021e321883684c29680e013dd966cefe031f GIT binary patch literal 337 zcmaJ+Jx>Bb5Pfre9IhzF#KP{37KbrzX@Su~F&2d82>pU9tR8!0Zx8inS(#Y)1N>3O zSqduSO!6`xZ|2Q>|9pM{xWHZu+X8j8W9-D(B{VOMHU5fFOS@x2{ib-(gwDWNJ**ZJ z?M7;nb46rD<)-@1gye8oWL`NxG7H^*o$94Gg*|^#D@8cT3g_O=l9#!*i7695XXvlA z^+_3KjGbMJHX7&<tnwf%H_J--mjogGXCkyV3kV14AY3GKWoI(;j)i;O pF^*8<|AP^G15L)5vtvXY0rBZReIR;Y6IzUd8(0$qb&KN&;upO?RWASl literal 0 HcmV?d00001 diff --git a/src/main/java/DukeHelpfulCode/Exceptions/NoSuchTaskException.class b/src/main/java/DukeHelpfulCode/Exceptions/NoSuchTaskException.class new file mode 100644 index 0000000000000000000000000000000000000000..007302796c6a02cf8a3e23922c550f3222dfd56c GIT binary patch literal 333 zcmaJ+O-sW-5Pg$=q{eECAb4E$U@DRvJt$tPqELEC>3x%K+qH31HoKxf%ah>2AK;G? zcYEkboPpuZ%zN|k{qy++;1c}~b|W;=4Y3zupU}RRN}3x&BOXi%&0#eYgx*LhF}BaS z&=a1Qt`cRH)rGj1J~y4+QTULdV6(HLxLi>W;$!qF-n{Qu_b^ literal 0 HcmV?d00001 diff --git a/src/main/java/DukeHelpfulCode/Exceptions/NoTaskNameException.class b/src/main/java/DukeHelpfulCode/Exceptions/NoTaskNameException.class new file mode 100644 index 0000000000000000000000000000000000000000..7663710ebbf6d7218798508516ccae73934ca113 GIT binary patch literal 336 zcmaJ+xlRKy5PjYp8%!Vw35n7OAvOqQ%M>6eI7AU`vr&2{IEl%|j=Wxu&!R%2-~;$5 z#5hGN#Edk0GxOdY-#?#U0Q%T#VVk3lc8r}Ey9~`sZM45)s3qMIL;c1+Du&KL8E~vtDTe*q4*C9E~>`<1AOfJ>k>qM=*wx;(apC!XdZk>BO7cX<^PfOwFN*JOE zJ0+}35p>tQjRralz1wP`9#pZKRz+BxZl;y#A1fG=e*~em(K8$*gK$w=NHa@w@3fg+ rbVoQsjouH&$Qx)n)KHj@~y6>OQF8~)f=wX+ljedx|5c>q(E2*TtCTKA)ak8B~rNdddkp`hg#79pLHoS+~^Xe$O)aU7%04>#j$o34TZAKdtApIXhN4k zGAwg?AX&VWGQ>}|k!yf0B*!-j-My#|Lq+Z$Bc$7$03e8IA%HSKrGMIEhor(olgtoWvt|G>IuZrr~jAc|r}I6cqk58lKhg90M84zR8?ZuNLG1%L{l)n#B^OF{Xr6+6H4C`*4$v zJ=n|8>xmp;q0}4nGn&ng7K_I8bh#W@(%EdfWhoYwhw==4ibdrSu?Y1X@GLB3%4LIs z@QeXf%NSvc8k>YoV~+~RXc1FvO^eSOT3VDXOUOrI1dPk5mKj5~rZGwwF}66nn%VlQ z(by*m6zU2YT4R55Fz#*6Z>CG8fTCq;vP4Y*QPb2FsN%~{#T$%$ws0I$wZ=XVl|{fr z`h*k_Q^?XZwTL37kgJcXCY#NAQX2uUjtnMr?8hX-Dz60Vu2o9s3Z`w#s)pa_cpfjP zLVZ!kOL&>#&YV-NHg*~ZjiO`kaE-cMl+~JR+C}5!g0zi>Q#WiWi-x;k)r|SZSaP-` z&6+f%?aC@yrJ>HBp(dyXlSyiLMaOUPI~~8r&(u=4YIs%0YxskXKjKf+G+GVFKfvkm z1kak)n!N2)K~`MLv2`3!1h3-_5^lfaxHY$GRolv7D9xKd{$R&L8vuIi}_gRLws zlhyC$v|S7x&e2)ZrAOl2vl3^dTV9QY@{Cv1PB9#gQcNzG)tr2&F71Mx_%S?JZ_RYY z_^Y>~^e(KchO|Q4PU2m>M@R6;)cpoChUOa?gALPWm(4{v>DUF+J#4uP^rWg?-E}MJ z;inPl;}a{aq~U#4hks$%>g|E&ZrLZCMH$?g{(1+@g6mWp8vaK4%{b0ty~3a$R7Z2N zWY%huf_NjUXu#o@{4^c0lB{j@Ck6sXBa6hkY~oy_67EOTJ$kd>F@IbZ+-1216q9DD zl(Sqpq2VKjZCB*CQfzb{|F<8u(3hJV=?h95edxaQo~U!t{}`CMMhR~Qm_(dDV0vmq zu=8k3v5(Q7>fQ1wV)=Fv&*ftxk;})0mdhsu&*e4Ik;`+D%;kF%qLWY)Iw2QbgdL)r zFe!QnJ4G*{E>;nC2|?H``Urc(YQkR8Pq<24Lny==!alK=)|@uMz7B*N6>- zYsE&w0kMg2o!CscUKoTM#1_JhVvul?xR!9U*h*-KZMl!JJ(b#d4m(sv|3Ld^82$u9 z`Lh^4kJO>F7!mYxbo3m?GO<)@Am)3XUi#|qo?5pMj-iuqGc+Wj)AN@w@GsK#-x$QV zxE9}ID}KN>#<87sVh4Uo-hF6WBByo@;~HZ03+(hHzcrBDBEb_Rd5@BO<9Ve2uQeZO zX`YFNqARh-GI3Hp9;*Ju<*KK^N%byL{VR;%YZCDrjN&`mlm8&i7_KA5uV>xZ<*B|} zss6RnJ5Zge-D^`9wJ$p^(umXkjI%6N!}dd?m&Rl5CGM*@1^${@|d8N$FZBd zR6XoR`x3g52qT-)a2th>C2WMY+^C9$Y1p+y1=p;fDdJ%2q7L%djdofSSSz+sursOi z_=&3Sk#pF65jOy5Jbx8o(({|7Vw<8l(`0GGL44@FVfX-l#h)>Nr)bQH`)T_7)qer6 C?sIqm literal 0 HcmV?d00001 diff --git a/src/main/java/DukeHelpfulCode/Tasks/Deadline.java b/src/main/java/DukeHelpfulCode/Tasks/Deadline.java index 55ac7dc705..f91dc0902d 100644 --- a/src/main/java/DukeHelpfulCode/Tasks/Deadline.java +++ b/src/main/java/DukeHelpfulCode/Tasks/Deadline.java @@ -64,7 +64,7 @@ private LocalDateTime formatDateTime(String dueDate) { } public String toString(){ - DateTimeFormatter dtFormatter = DateTimeFormatter.ofPattern("dd MMM yy hh:mm a"); + DateTimeFormatter dtFormatter = DateTimeFormatter.ofPattern("dd MMM yyyy hh:mm a"); return "[D] " + super.toString() + " (by: " + this.dateTime.format(dtFormatter) + ")"; } diff --git a/src/main/java/DukeHelpfulCode/Tasks/Event.class b/src/main/java/DukeHelpfulCode/Tasks/Event.class new file mode 100644 index 0000000000000000000000000000000000000000..dd5cf2543cfe1f2139cd1fdc2f612c30558924e4 GIT binary patch literal 3947 zcmd^CNpKs-6@5(tm?k*fnxZ9$mOP>h z`Y+wT2Y-0;=Ia0+#;-UsaU8?h4$R=3f>jM~<#?PU%dy7sHjXDa&U3t-BggS1#|4ge za6HBFPL6kRyqm-1xX6*`C~!!Qb&g9M8yrQB%N&~=C5|$O#bI+)IG*OHs-D6&u&ZU$sWJ3l z@Qh2Qbt#o~szvJ(S;dYQt)lY?!?Drb!*`+?dx9Y{XBWu3o|U2{&(_NqWp&M@rOE%S zW9BzAX2qA&|KlQ0s#Utz-B5xUCtI+M-8MrSKCOWQ<&Nz|&#-6IpT09E@vL31=H)_B zg%F>=A}wc1<((lam7wEMd`3qavpSB0lGy83B}78G*rK1wOlGoBFcuffWnYuZWKw~q zP*5|}%*LETLCpwhgnIUQHa61bvO#XRN}noFhS>2xVZ_~aRE~$KqK-FXkt9+uS zs>{!cmwwvKzU;9zZe_k$z_& zJQf)G+$~sliltOGZ(5eDYWS><&*AfGw|+s#7x5*A$Fp{|x;0@e83o%Kag4fEkX7n2 zR>62?Lt2KjQLGv6hBw^KQ=5vfmZVve25oy;rEzJf^Jgdv)soV24PVyr6?|34*Rag6 zdgm)pzq$i{<^BsAzOLgN_@<6;;oA%&K^OFTLaNaeR?TWn&R@;Tic_>L9ZOi&@g01Z zigD7motjfMD;eo**o9h84BzAUzK$311BSs<^-Z}bOO^F{Np-W-npxYdrQBRF>~B4) z<}mCHyxGx{$8?I8P4-ETVXUQz2X3#2XQb{e?!ezzEEqT>Z{heX7#gyGqxh;DrNX;#U@~$P? zQw$yU`l{*BBP~DEf;-&OZ^uF@iB?qY8P10(<~Gb~Rz6*qR$k7Au7=z4gcsXUO?6j# zR)Lr9J^bIOLf67<96!X5D9IP*pE8&+x?Z)*X?k#M!ZF%OWph)`*;d|k&KI2xdQxXo zUEa&#p!~~wcg}ZfTHJ3MeysNV&lrZ?>bU+Dttd+SH{_Pi^YncR#5E(`N*X z+SFSJ9|PF$5k-tX&m_kMyMeYOdll^pBFWxEzeP0HE@IhSL}=MuRPbyrCOWb?O~kV~ zE;_Th-k8t{HPJ=LMK@uG=pl@YUcye%N2m)y*d_W2yTu;D9x*`JEAArf6MG4T*hkne z5`=rie!>AUNO+gHn{cl#4S^r37)u^l) zRn~#X4c!0#RoG~=uvE`fI!1+!-AQ3xJGZd6*tII`gXo~bc2i;d3IBqlcmogNADG6! z@Gt{rn1*Al4{5fC-n@_@)*2WXsYj`ko4V`K2 z*(kfV{nv??h-Hwz*-enMZM3l3or-Oqqy-vTBzcL(mubcsOp)#=&bjWLMEf>H8Ed$A zTEikE|F&@e+D;{HN>J!Ww`mKuH-~5yrrvSe2!nov^sC< w^Co>q#!If9@-*(w&r-WuqxN=&G;LVHPu&rQYxp^Sf&`u?nbR5{qyLZp8=fHbJpcdz literal 0 HcmV?d00001 diff --git a/src/main/java/DukeHelpfulCode/Tasks/Task.class b/src/main/java/DukeHelpfulCode/Tasks/Task.class new file mode 100644 index 0000000000000000000000000000000000000000..8c7a762ccb45d9653741eb3e7d3bd91b768d1cd1 GIT binary patch literal 2058 zcmbtVZBrXn6n<_JvYYKv(hw301!JYn8AIoUc<#Xx zLt^(ed(`lGHQw$N4w**79Vb5A7Z3Y8IGnQotZb~a>zb&oG4YT3gW60(L zW_>UQd4z9A{c z*16rBlu6W)#<-3_Boy4&@c=VAk{HsFLPAFcV+?W1o?|;5-d+*TuC;9sL@}#kPRBeR zG7Qgln_@v2?Ppy>rl=&bZC5H-(D4B-D_GR=IhJ%>Ktjc`yt$%aRmU10srZ6n=G*`K z(}-xVE4+j-TKFurAx+DZ_ZLMh$b%Y6^d*y&TW;x?^?r6;N+Smo2N=Z8PYLrYSlV zgWI;C#QzYC(8ut4b%C4PhOo!Ii&JOA4roqXT&HK^4dz<``=g-?sC{Ev+g&p=rEF@*;grlUx)E7t=|Ae|SL6{Qv5V4nGNi2w4B4^j2<2uEE!^I7Q$fgc5Pg%Tv144)reCy_QcBV$sYH$(f;bRV6)C_W5tXPoY?7sQ?Rq17U8(bX*SSTB_YRp=h6Zb4^S=c5N zo_V3CpA*(=ol9{ont=$3U^+%&R(PcnpXn9;)gc}-8X|3Y&64jy5juz1${ zut$W=E8)ww3I{@;disKQu@<3@2?rU98N;&h*tB^_sQkJfFT7U1OmAtbek=xBMK>1e ze5W0y{A5IMUxlHJ+JT5;$t6F{mP|FK6Fm{(FpzO&N^H%~U?%b#v3E0)8St|i{M-Je z9O%|;Z>dCE1VPu+vSpz`sLu75bvDB8zi~YO0>5(eEr1^*ifkSBD(vTYwHrre8YB0G z_k=raok`rVtO>(S8CB$&0~8HoXN-kEDMgld7|gFUrR?)cMzS$R{uYbC=bvQ?lgtuJ amN=HfG7b!qqZQOp#TM4tx7pv|fAa_GQ1dSU literal 0 HcmV?d00001 diff --git a/src/main/java/DukeHelpfulCode/Utilities/Parser.class b/src/main/java/DukeHelpfulCode/Utilities/Parser.class new file mode 100644 index 0000000000000000000000000000000000000000..44e5b4c6db009e0c55cd4da4e3e4b7dd94b15718 GIT binary patch literal 4062 zcma)9Yj6|S75?t(aaU`Zhd_V~2Jr~UMp&tn7-FZSU_)>s8xlECLqb_wi@iwNb+jwM zBxy+EkdWp@3rV0apeeLzOG(<=1W%#;(aB6R)6BH}(I1^o|8+9c{_K!+Anv)Vr)A?r zKXiA`{mwbxIrp4<_x|zotJeUm$5jRQql=?kfrKs@+ZD{l4jB)N@ez)M0$Ip=WIW2T zQ-NQ+?c(^lj9wYLW$cmh7{}uZ=A%o&UVNhl`=E04DOiNA0D0NZF`!^E24(0R2NWzt zmjI;#U}7>Od>P`;RIma=GM?bbDp(_2Ssb>4M!_+sAc}(=hZHp7u#8~^NAM)aQyfn# zxJy93so)+wBjYH?vkErgIT_FUFoG9k98>TjUg9{;@iK$=KHbpmjSQ|x!%hZwyP4D& zX2*3y>&|8Rv}}*smnMm4NX=R_wnX9w)Prg)tr`Qdgq_umfwqQtM=qsp)6zrxb7^59 z)^27ps*$vc4{Z#!30v(?b*V#+L5^>6yu$G+gRf%fP~ZyoT2)s=i^(k2i2)CeZRfoDXd(cc;v%Ppr#@l|J#uh>mObIvYE z59L9km%_Rg9@Mhha)slPAHNi36t1TIsI8}UTi2{uzUL=3)AqgtT0eEq6s=P33l9wQ z_DtQLZeQ1wODZyJh+H$QnQmvB)|^*+BB!Qlw+dFO@IT8QB1K-*{nKDP_Jr< z9fRSHNTto9Ql7P=Az-v$&T@*SB%!^d-!yDhH!KC0@g9T37{kJhn$p@$qhGam>GmK! ziKVc~;f6|Xg^hY@ZW^YFs=_Mn@pL$Fo!0vB_Wf0eVho+sc8rB7*0g2}*n{*MX&|A` z%JtEnLnj5pf=FlQv_7ZH{#0(_h`RSn1vb6zvdEO9s<6dTDYOaebIU#2Y1rC;mZi)) zXCJ**1zt=I#psT73T;nhw=-6r1jClC(H`b9b3#AQOE+UXC?Pgk(9{gA_B_Y!WHBXt zNPyA?$NOT39;MbT)6Jqk}(^qTuD7DZjn0q-dIY1EEGrg>j{?d9^6Qk=@GR!-Fvr~IT< zE40YeEFqNEcz=u8y{^EVM6WwAH___}1QOkWd97~8aLqX8lS=S<^qS`^R;;^%1yOhN z2UsZK3`&#ZSVW-Eb(#vyaa=WdTD(DT^xAnW2)Uy{Z}U~u0j=&4FS|JL$v77GhTLOV z((1X$P7AGoqjf4u_5<~0^GnI>vg=V#bD-VA07?Lgjr5}_=ue6vx4}9xGTg*vC^F!#i}vfLF8~#keloH{=^}-x=d~j zk&9e+qzz?hBT3gflvhtfnbaN1MJ@5dJ%U?_zu=b7mBWqr(;V^l1${v-Vw9snUxB|o z;w!{RbA(ZXNCZIYkS1IbnyH(p!`NQz zqCT5TJr$t)&3uFrL<9@yLbC{M2oa`^I&U#{VhP=y>giV0fE3L>gSB{`tQ@C%%?aF% zx9DDT0WG*hmm2bn-&3Q1M6Lce8vj9U{%`8w8`#P`c!1Sn8(V}<7REzt9pY>~x>yH| z4`Ms(#tyaz53@lU4J6nx^swXD#ZID^oyTtWF7~i1c#QoHkF$@km;D9%*gv7N|DccE zK)>WhpQJ#OW?{dy7z0v-#wO@eGY&}iBPGRYd;}Tk5De)EhNS0UNw46bbOyuHIXp#~ zIwD=blhP$TEsf!*^angEeTWh1W4uV&dqMguj!A#VOVYn^T>39wmTurxX##IhMqhKe z@w&^86Rw3g>8isi*9ywYR?6<5u=*AnIUeBHR#$fmchbl)dkMdVTCmR$stpG|r|dKK zKZI_5#Ti4 zX_Itsx&@jhEnVEbBqcK7mb7V_w&}k9)}NZwbNUzbw56fnn~{tcL33K`_|43Fcfa4g z@4Z)EyLt`4z4()c?KoVAb_}REqTxOasyM3RSdhyPDmbA*g`r|dMIs0RQ$b2n4a;Ff z!+fMwoK!KYAfsUkvMO>KEaWxp!$S%R3W^#+IIO_duo5K&r!+L+wEQ@uU`)Zo8djmC zp$Tu3!y_u*E``5CqfzgihdACPhj%M@kA@Z;mW=OJa8|+lG;ENJZFs+iNAXx49>)jj z`1V1`@F4{s*02R1(eP1xEC>&tkffiG!zUGdO2MZE)KofS9x&_?fnd)`fx5o*aL%wx1!~(khiCikyx2iM{HF_Po2=`@b0`l{aoSFsuFsAIGOAjiRVpOR zE+&VO?6a+cF>G#-`O)!aJf-7JU{1WpjvUwVIXo>uWO|SF9~W4(+p_GUT`=--(;l&s z#f1SpqvG>AzJLn?D{c{RD``o|UzB1xDaIEb8jGp;l4Sd`Kx1vTPSZ$cn0Osu!MKjE z;%idK*QJm>6cPxhnE#l-%G&IEPMJAda(qKzNix|KkH?$F_}4Tt63b?r3Y@j zSq8HsF{QN_-ILARW3m9Gxl{8xCTkipATc%D5O-1<@;wFL*KrNw3SQ9h1N>0Oi};a_ zm+<3Tqky_~yo|DfpXm50cB=T91i&jg4q~T{pW`WkRkJ;~3E>J(2|_10PE_{~oiq~+ z{*oHyKZDS1IRbY$ymJeeh3~9Pm1;G4OlbH1sc;c{VOc=|^P!TFDb8wKt~Kq=M>YHc zza*^?O;njRM$HZ@moV&sv^~PNqHW}CGH>mr@&kHftBX69$r zcbC)g9k|z7DQ;JM&DG9M#e-U1VoHi^$$8l_1O}!X+%aMl`iL7dmoVF1BX2Kfy0V$O z40psl!)iM_SbxDtP*=b_!@?%282h6{Z$&ln>-LX!i4L{E1|v69fu+@*W@ZZg#XPqR zXE&JxyXKlz<~5Ss?0m)a!<0HdK@GOqYo2y@muY6W-NP|s^{uPC+M(zN!8Egm$BMR@ z<$_hBf%R?(>E8i26jYpL>{WR(a9i>smt?A@x#}G@C2x2J7Atitd97-raGU&0=>m!q z_6+Uv2u)z!^!!$8vnI&>sZ6OjqTpAu;r&iv&CS@RbEm9PvvMYK+eDX<;GWF0+aH+L z9?Kdn<+;Cf=W=GDBV!bcCbRtHbk!9Z?w-8Y$R#soagEDZLE7{rPb-iajQwNzDln&$ zPfvQa!_5`ZVPrCW+%tH@`J=$vIsVnMjXVGC>3DK&=K)%tKZHD#@XgOR?yVem@vDXB zP7j}2%LGJA>+|qD>rn6JxBy;`OW?y&)S;eq+$~)`@fwfabrc(K^=^u{`Zfi|Z z#mIC$64V@yq$CW^XP$n^-!b6HTq?ED1mn>r; zH7$~wo`?h&JDMJMGzI@pO=kmv|89>ui6xFbA=MjFr&+W#<`4NVGTa`>(C2uG09G*c zD|v;v6N`BzS&By7#b210kSG(oozLC48~0-kj$$oRScf9kV+_rBgo%9y5nSeF;w9cf zenXBwV$qwB&w%9fXE{t_^VY5dA#N zgdJgG2C)st==)o_@&HcYL5#q_D29-S>G-@J$_+BPKCe`GJEYGIzUv4nXu6I@CgLAh zT(49q!(MW$k45^eN(L&fLl1UAOKI~wT2Jr}V3Ic#dZ zgv||C@CFaho?FV;TE@MR*>hKEH_CWpq>R{EFH7}B*&AH18)XIKB)h{XBay*oWSN~D zjT)ujdB-aqo`0iWL7Vs|^DRyH(b)aWVZS5i5Pr+2#<^eP_k?JO5h9AXew=d;IAhWo GKmH$%d^4B; literal 0 HcmV?d00001 diff --git a/src/main/java/DukeHelpfulCode/Utilities/TaskList.class b/src/main/java/DukeHelpfulCode/Utilities/TaskList.class new file mode 100644 index 0000000000000000000000000000000000000000..84e3d65c0062aeb22a382d9bbfdb2156acd88712 GIT binary patch literal 3404 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 Date: Sat, 11 Feb 2023 14:49:05 +0800 Subject: [PATCH 12/56] junit --- build.gradle | 14 +++++++-- duke.jar | Bin 26849 -> 26607 bytes .../DukeHelpfulCode/Utilities/Storage.java | 4 +-- .../DukeHelpfulCode/Utilities/TaskList.java | 6 +++- src/main/java/data/tasks.txt | 0 src/test/java/DukeTest.java | 16 +++++++++++ src/test/java/ExceptionTest.java | 27 ++++++++++++++++++ 7 files changed, 61 insertions(+), 6 deletions(-) delete mode 100644 src/main/java/data/tasks.txt create mode 100644 src/test/java/DukeTest.java create mode 100644 src/test/java/ExceptionTest.java diff --git a/build.gradle b/build.gradle index 9395c1dc2e..3ba6c918d2 100644 --- a/build.gradle +++ b/build.gradle @@ -14,6 +14,9 @@ dependencies { } test { + + + useJUnitPlatform() testLogging { @@ -34,15 +37,20 @@ application { sourceSets { main { resources { - srcDir 'src/main/resources' + srcDir './src/main/resources' } } } +tasks.withType(Copy).all { + duplicatesStrategy 'exclude' +} + shadowJar { - from("src/main/resources"){ + /*from("src/main/resources"){ into 'META-INF/resources' - } + }*/ + duplicatesStrategy = DuplicatesStrategy.EXCLUDE archiveBaseName = "duke" archiveClassifier = null } diff --git a/duke.jar b/duke.jar index 9c1acb8c56d9d9744a6b607aad79bb8986e9c961..a31e90b0396794d1533b91c0a7c5b4339483e837 100644 GIT binary patch delta 598 zcmaEOk@5X`M&1B#W)?061`ZAeg<|iCylTuK$}EOiw%B{))O#!-dU6@7E=YLtGFCGX zfAf9TWlSJ}%^e)m7{Lrht|t%?4qg@rgP&gv!q5=(gD@(EAA=c_^74V+1p9 zix)zS@t2H-FxE;XLKuQFX%ID4vMCUehjQr^J`x`arezW! zbP1F`1Ep0G-N5>D6C=U&$;2eEdcCALFx?NOKO`l9<%5&s!Qxw?w0KH9SiCYN0W5we z#Su&^r22#DqEsKS{J~UjFrPmSLdT}Lg856+V!$*@dLUR`M0yaIUYi~arkOLGMOfJw QfItxlPXPmlKNiFT0MZGs@c;k- delta 848 zcmaEVp7G&DM&1B#W)?061`ZAer72z$dDWOflvxb3;uNoqQ}3~W=*eZQx?p-4s~L#i ze4lk06PVG#F^v(-P~>_75#iuvfiU>_#UKm~K|ctiQur~LF*#n$0<3A4m>op-ZSg_~ z!(TEQ!dNSn2w@1yq(K-}vMCV8L%DPa!&@OA!q}@g5zLqzsB8>2xLw(m9n3hdbqT^) zVzdD4mCf$vX%I(jurvoNd1dJgah`!qHz!zRpKCva5#YZRqWedfBwIaFFoiJy0TYM- z0%0Kbbq#UU_4ISoFG?-WFD*(=E!JmdK!ogsEH4x-64Ab zV46ME2TX^hdV}dDQ2JA load() throws EmptyTaskListException, IOException { public void write(TaskList tl) throws IOException { BufferedWriter writer = new BufferedWriter(new FileWriter(this.filePath)); for (int i = 0; i < tl.len(); i++){ - System.out.println(tl.taskList.get(i).toString()); - writer.write(tl.taskList.get(i).toString()+"\n"); + System.out.println(tl.getTaskList().get(i).toString()); + writer.write(tl.getTaskList().get(i).toString()+"\n"); writer.flush(); } } diff --git a/src/main/java/DukeHelpfulCode/Utilities/TaskList.java b/src/main/java/DukeHelpfulCode/Utilities/TaskList.java index 1bc407c8ac..5040fa65c9 100644 --- a/src/main/java/DukeHelpfulCode/Utilities/TaskList.java +++ b/src/main/java/DukeHelpfulCode/Utilities/TaskList.java @@ -16,7 +16,11 @@ public class TaskList { */ private static String LINEBREAK = "_________________________________________________________________\n"; - List taskList = new ArrayList<>(); + private static List taskList = new ArrayList<>(); + + public static List getTaskList() { + return taskList; + } public TaskList(List taskList){ /** diff --git a/src/main/java/data/tasks.txt b/src/main/java/data/tasks.txt deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/test/java/DukeTest.java b/src/test/java/DukeTest.java new file mode 100644 index 0000000000..82fe1c3ae2 --- /dev/null +++ b/src/test/java/DukeTest.java @@ -0,0 +1,16 @@ +// package ; + +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class DukeTest { + @Test + public void dummyTest(){ + assertEquals(2, 2); + } + + @Test + public void anotherDummyTest(){ + assertEquals(4,4); + } +} diff --git a/src/test/java/ExceptionTest.java b/src/test/java/ExceptionTest.java new file mode 100644 index 0000000000..c14e6554f3 --- /dev/null +++ b/src/test/java/ExceptionTest.java @@ -0,0 +1,27 @@ +// package ; + +import DukeHelpfulCode.Exceptions.DukeException; +import DukeHelpfulCode.Exceptions.EmptyTaskListException; +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; + +import DukeHelpfulCode.Exceptions.*; +import DukeHelpfulCode.Utilities.*; + + +public class ExceptionTest { + @Test + public void noSuchTaskExceptionTest(){ + TaskList tl = new TaskList(); + Exception e = assertThrows(NoSuchTaskException.class, () -> { + tl.delete(1); + }); + assertEquals("sorry, but I can't find this Task.",e.getMessage()); + } + + @Test + public void anotherDummyTest(){ + assertEquals(4,4); + } +} From 18fa6198ec3fcb908b60b7411233691a6761edd2 Mon Sep 17 00:00:00 2001 From: iapetusbob Date: Tue, 14 Feb 2023 20:45:02 +0800 Subject: [PATCH 13/56] javadocs --- src/main/java/Duke.java | 14 +++++++ .../DukeHelpfulCode/Utilities/Parser.java | 12 ++++++ .../DukeHelpfulCode/Utilities/Storage.java | 29 +++++++++++-- .../DukeHelpfulCode/Utilities/TaskList.java | 33 ++++++++++++++- .../java/DukeHelpfulCode/Utilities/UI.java | 41 ++++++++++++++++++- 5 files changed, 122 insertions(+), 7 deletions(-) diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index a59c261b83..c1c0c2ce26 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -6,6 +6,14 @@ import DukeHelpfulCode.Commands.*; +/** + * The Duke program is adapted DUKE from NUS SoC CS2103 + * Duke is a glotified to-do list. + * + * @author Yuan Hao + * @version who knows + * @since 11 Feb 2023 + */ public class Duke { @@ -30,6 +38,12 @@ public Duke(String filePath) { } public void run() { + /** + * Runs Duke. + * + * @param none + * @return none + */ ui.showWelcome(); boolean isExit = false; while (!isExit) { diff --git a/src/main/java/DukeHelpfulCode/Utilities/Parser.java b/src/main/java/DukeHelpfulCode/Utilities/Parser.java index 82af334493..3f72fe5107 100644 --- a/src/main/java/DukeHelpfulCode/Utilities/Parser.java +++ b/src/main/java/DukeHelpfulCode/Utilities/Parser.java @@ -14,6 +14,18 @@ public class Parser { */ public static Command parse(String fullCommand) throws NoTaskTypeException, NoTaskNameException, NoDueTimeException, NoStartTimeException, NoEndTimeException, NoSuchTaskException { + /** + * Converts the user input into a Command. + * + * @param fullCommand The user input + * @return command The Command that the user wants + * @throws NoTaskTypeException Thrown if parser does not find the task type if adding + * @throws NoTaskNameException Thrown if parser does not find the task name if adding + * @throws NoDueTimeException Thrown if parser does not find the due dateTime if adding deadline + * @throws NoStartTimeException Thrown if parser does not find the start dateTime if adding event + * @throws NoEndTimeException Thrown if parser does not find the end dateTime if adding event + * @throws NoSuchTaskException Thrown if deleting/marking task that isnt there on the list + */ Command cmd = new HelpCommand(); String[] cmdArr = fullCommand.split(" "); diff --git a/src/main/java/DukeHelpfulCode/Utilities/Storage.java b/src/main/java/DukeHelpfulCode/Utilities/Storage.java index f80b04d629..fb6c4502fc 100644 --- a/src/main/java/DukeHelpfulCode/Utilities/Storage.java +++ b/src/main/java/DukeHelpfulCode/Utilities/Storage.java @@ -23,6 +23,12 @@ public Storage(String filePath){ // should have a read, write and search function in this class private Task taskFromText(String[] s){ + /** + * Reads the task from the Text. + * + * @param s The text to read the task from + * @return task Task that the user indicated + */ String type = s[0]; // [T] = todo | [D] = deadline | [E] = event boolean isDone = s[1].equals("[X]"); // note that if not done, s[1] will be "[" String name = ""; @@ -61,6 +67,12 @@ private Task taskFromText(String[] s){ } private LocalDateTime formatDateTime(String s) { + /** + * Formats the datetime from string + * + * @param s The text version of the datetime + * @return dateTime the formatted dateTime + */ LocalDateTime dt = null; try { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd MMM yyyy hh:mm a"); @@ -73,10 +85,13 @@ private LocalDateTime formatDateTime(String s) { public List load() throws EmptyTaskListException, IOException { /** - * Loads the currently existing tasks and stuff? not sure - * this function goes into the new Tasklist() - * if empty return empty task list - * if not empty return the task list + * Loads the currently existing tasks and stuff? + * this function goes into the new Tasklist() + * if empty throws EmptyTaskListException + * if not empty return the tasklist current existing + * + * @param none + * @return taskList The currently existing stuff from the save file. */ File taskListText = null; List taskList = new ArrayList<>(); @@ -103,6 +118,12 @@ public List load() throws EmptyTaskListException, IOException { } public void write(TaskList tl) throws IOException { + /** + * Writes to the save file + * + * @param tl Tasklist + * @return none + */ BufferedWriter writer = new BufferedWriter(new FileWriter(this.filePath)); for (int i = 0; i < tl.len(); i++){ System.out.println(tl.getTaskList().get(i).toString()); diff --git a/src/main/java/DukeHelpfulCode/Utilities/TaskList.java b/src/main/java/DukeHelpfulCode/Utilities/TaskList.java index 5040fa65c9..06d59e99a2 100644 --- a/src/main/java/DukeHelpfulCode/Utilities/TaskList.java +++ b/src/main/java/DukeHelpfulCode/Utilities/TaskList.java @@ -19,6 +19,12 @@ public class TaskList { private static List taskList = new ArrayList<>(); public static List getTaskList() { + /** + * Returns the current state of the list. + * + * @param none + * @return taskList The current taskList + */ return taskList; } @@ -33,7 +39,11 @@ public TaskList(){} public String toString() { /** - * Returns vertical list of Tasks that is 1-index + * Returns the string representation of the current TaskList. + * + * @param none + * @return result String representation of the tasklist + * Tasks are listed vertically with 1-index */ String result = ""; for (int i = 0; i < this.taskList.size(); i++){ @@ -43,6 +53,12 @@ public String toString() { } public void add(Task task){ + /** + * Adds Task to the TaskList. + * + * @param task The task to be added to the list + * @return none + */ if (taskList.contains(task)){ System.out.println(LINEBREAK + "Oops, it seems that you have already added this Task to your list!\n"); } else { @@ -58,7 +74,7 @@ public void mark(boolean isMark, int i) throws NoSuchTaskException, TaskAlrMarkE * If i > userList.size(), throw TaskNotInListException. * If Task done but "mark" and vice versa, throw TaskAlrMarkException. * - * @param isMark User's command to "mar" or "unmark" a Task as done or not done. + * @param isMark User's command to "mar" or "unmark" a Task as done or not done. * @param i The index of the Task to be marked. Note that user input i is 1-index, so -1 is needed. */ if (i > taskList.size()) { @@ -73,6 +89,13 @@ public void mark(boolean isMark, int i) throws NoSuchTaskException, TaskAlrMarkE } public void delete(int taskNum) throws NoSuchTaskException { + /** + * Deletes the task selected by the user with the indexing + * + * @param taskNum taskNum is the 1-indexed indexing of the task chosen by the user to be deleted. + * It is 1-indexed because the dsiplay list is 1-indexed. + * @return none + */ // deletes taskNum-1 indexed task from the list if (taskNum > this.len() || taskNum <= 0){ throw new NoSuchTaskException(); @@ -97,6 +120,12 @@ else if (this.taskList.get(taskNum-1).isDone()) { } public int len() { + /** + * Returns the number of Tasks in the TaskList currently. + * + * @param none + * @return none + */ return taskList.size(); } diff --git a/src/main/java/DukeHelpfulCode/Utilities/UI.java b/src/main/java/DukeHelpfulCode/Utilities/UI.java index a96f7d93b3..d930a16737 100644 --- a/src/main/java/DukeHelpfulCode/Utilities/UI.java +++ b/src/main/java/DukeHelpfulCode/Utilities/UI.java @@ -15,6 +15,12 @@ public class UI { private static String LINEBREAK = "_________________________________________________________________\n"; public void showWelcome(){ + /** + * Prints the welcome message + * + * @param none + * @return none + */ /** * Prints the Logo and Welcome Message */ @@ -27,6 +33,12 @@ public void showWelcome(){ } public void showCommands(){ + /** + * Prints the list of commands. + * + * @param none + * @return none + */ /** * Prints the list of Commands */ @@ -45,26 +57,53 @@ public void showCommands(){ public void showLine(){ /** - * Prints the LINEBREAK + * Prints Linebreak. + * + * @param none + * @return none */ System.out.println(LINEBREAK); } public void exit(){ + /** + * Exits Duke. + * + * @param none + * @return none + */ System.out.println(LINEBREAK + "Thanks for using DUKE. Hope you have a great day ahead!"); } public void showLoadingError(){ + /** + * Prints error message. + * + * @param none + * @return none + */ System.out.println("Oops, there seems to be a problem with loading your previous Task List?\n"); } public void showError(String message){ + /** + * Prints the error message + * + * @param message The error message to be displayed. + * @return none + */ System.out.println(message); } public void showList(){} public String readCommand() { + /** + * Reads the user Command. + * + * @params none + * @return command The command that the user inputs. + */ Scanner sc = new Scanner(System.in); System.out.println("How may I help you today?\n"); return sc.nextLine(); From 01503ed95c65de8618edcba37a7418cdfc73a9f1 Mon Sep 17 00:00:00 2001 From: iapetusbob Date: Tue, 14 Feb 2023 20:45:28 +0800 Subject: [PATCH 14/56] javadocs --- src/main/java/Duke.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/Duke.java b/src/main/java/Duke.java index c1c0c2ce26..59e7da5626 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/Duke.java @@ -8,7 +8,7 @@ /** * The Duke program is adapted DUKE from NUS SoC CS2103 - * Duke is a glotified to-do list. + * Duke is a glorified to-do list. * * @author Yuan Hao * @version who knows From 8e458d8092c78a16abe3a906c1913f43ec68bb7f Mon Sep 17 00:00:00 2001 From: iapetusbob Date: Fri, 17 Feb 2023 21:01:58 +0800 Subject: [PATCH 15/56] A-Checkstyle --- DOOK.jar | Bin 0 -> 26841 bytes README.md | 4 +- build.gradle | 13 +- config/checkstyle/checkstyle.xml | 434 ++++++++++++++++++ config/checkstyle/suppressions.xml | 10 + duke.jar | Bin 26607 -> 0 bytes src/main/java/{Duke.java => DOOK.java} | 12 +- .../DukeHelpfulCode/Commands/ExitCommand.java | 2 +- .../java/DukeHelpfulCode/Utilities/UI.java | 2 +- .../java/{DukeTest.java => DOOKTest.java} | 2 +- text-ui-test/runtest.bat | 2 +- 11 files changed, 463 insertions(+), 18 deletions(-) create mode 100644 DOOK.jar create mode 100644 config/checkstyle/checkstyle.xml create mode 100644 config/checkstyle/suppressions.xml delete mode 100644 duke.jar rename src/main/java/{Duke.java => DOOK.java} (87%) rename src/test/java/{DukeTest.java => DOOKTest.java} (91%) diff --git a/DOOK.jar b/DOOK.jar new file mode 100644 index 0000000000000000000000000000000000000000..a2db4e3a77aaec8c040e63f76eb841e8ff66f8e8 GIT binary patch literal 26841 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 8715d4d915..b8b6cba921 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Duke project template +# DOOK project template This is a project template for a greenfield Java project. It's named after the Java mascot _Duke_. Given below are instructions on how to use it. @@ -13,7 +13,7 @@ Prerequisites: JDK 11, update Intellij to the most recent version. 1. If there are any further prompts, accept the defaults. 1. Configure the project to use **JDK 11** (not other versions) as explained in [here](https://www.jetbrains.com/help/idea/sdk.html#set-up-jdk).
In the same dialog, set the **Project language level** field to the `SDK default` option. -3. After that, locate the `src/main/java/Duke.java` file, right-click it, and choose `Run Duke.main()` (if the code editor is showing compile errors, try restarting the IDE). If the setup is correct, you should see something like the below as the output: +3. After that, locate the `src/main/java/DOOK.java` file, right-click it, and choose `Run DOOK.main()` (if the code editor is showing compile errors, try restarting the IDE). If the setup is correct, you should see something like the below as the output: ``` Hello from ____ _ diff --git a/build.gradle b/build.gradle index 3ba6c918d2..526b35ab30 100644 --- a/build.gradle +++ b/build.gradle @@ -2,6 +2,11 @@ plugins { id 'java' id 'application' id 'com.github.johnrengelman.shadow' version '5.1.0' + id 'checkstyle' +} + +checkstyle { + toolVersion = '10.2' } repositories { @@ -14,14 +19,9 @@ dependencies { } test { - - - useJUnitPlatform() - testLogging { events "passed", "skipped", "failed" - showExceptions true exceptionFormat "full" showCauses true @@ -34,6 +34,7 @@ application { mainClassName = "Duke" } + sourceSets { main { resources { @@ -51,7 +52,7 @@ shadowJar { into 'META-INF/resources' }*/ duplicatesStrategy = DuplicatesStrategy.EXCLUDE - archiveBaseName = "duke" + archiveBaseName = "DOOK" archiveClassifier = null } diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml new file mode 100644 index 0000000000..d618671b83 --- /dev/null +++ b/config/checkstyle/checkstyle.xml @@ -0,0 +1,434 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/config/checkstyle/suppressions.xml b/config/checkstyle/suppressions.xml new file mode 100644 index 0000000000..39efb6e4ac --- /dev/null +++ b/config/checkstyle/suppressions.xml @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/duke.jar b/duke.jar deleted file mode 100644 index a31e90b0396794d1533b91c0a7c5b4339483e837..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26607 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�-~_^_z+E9(IHhhQzm7LwRJrnJ*+igV*F{D(hN0 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 diff --git a/src/main/java/Duke.java b/src/main/java/DOOK.java similarity index 87% rename from src/main/java/Duke.java rename to src/main/java/DOOK.java index 59e7da5626..f29b332cd2 100644 --- a/src/main/java/Duke.java +++ b/src/main/java/DOOK.java @@ -7,15 +7,15 @@ /** - * The Duke program is adapted DUKE from NUS SoC CS2103 - * Duke is a glorified to-do list. + * The DOOK program is adapted DUKE from NUS SoC CS2103 + * DOOK is a glorified to-do list. * * @author Yuan Hao * @version who knows * @since 11 Feb 2023 */ -public class Duke { +public class DOOK { private static String LINEBREAK = "_________________________________________________________________\n"; private static TaskList USERLIST = new TaskList(); @@ -24,7 +24,7 @@ public class Duke { Storage storage; TaskList tasks; - public Duke(String filePath) { + public DOOK(String filePath) { this.ui = new UI(); this.storage = new Storage(filePath); try { @@ -39,7 +39,7 @@ public Duke(String filePath) { public void run() { /** - * Runs Duke. + * Runs DOOK. * * @param none * @return none @@ -64,7 +64,7 @@ public void run() { } public static void main(String[] args) { - new Duke("./src/main/resources/data/tasks.txt").run(); + new DOOK("./src/main/resources/data/tasks.txt").run(); } diff --git a/src/main/java/DukeHelpfulCode/Commands/ExitCommand.java b/src/main/java/DukeHelpfulCode/Commands/ExitCommand.java index ccf7ba4bf3..af1ad41915 100644 --- a/src/main/java/DukeHelpfulCode/Commands/ExitCommand.java +++ b/src/main/java/DukeHelpfulCode/Commands/ExitCommand.java @@ -21,7 +21,7 @@ public boolean isExit(){ @Override public String toString(){ - return "bye -> Exits Duke.\n Format: bye\n"; + return "bye -> Exits DOOK.\n Format: bye\n"; } } diff --git a/src/main/java/DukeHelpfulCode/Utilities/UI.java b/src/main/java/DukeHelpfulCode/Utilities/UI.java index d930a16737..0b2e59e034 100644 --- a/src/main/java/DukeHelpfulCode/Utilities/UI.java +++ b/src/main/java/DukeHelpfulCode/Utilities/UI.java @@ -67,7 +67,7 @@ public void showLine(){ public void exit(){ /** - * Exits Duke. + * Exits DOOK. * * @param none * @return none diff --git a/src/test/java/DukeTest.java b/src/test/java/DOOKTest.java similarity index 91% rename from src/test/java/DukeTest.java rename to src/test/java/DOOKTest.java index 82fe1c3ae2..4f05fc151b 100644 --- a/src/test/java/DukeTest.java +++ b/src/test/java/DOOKTest.java @@ -3,7 +3,7 @@ import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; -public class DukeTest { +public class DOOKTest { @Test public void dummyTest(){ assertEquals(2, 2); diff --git a/text-ui-test/runtest.bat b/text-ui-test/runtest.bat index 0873744649..5da6f85164 100644 --- a/text-ui-test/runtest.bat +++ b/text-ui-test/runtest.bat @@ -15,7 +15,7 @@ IF ERRORLEVEL 1 ( REM no error here, errorlevel == 0 REM run the program, feed commands from input.txt file and redirect the output to the ACTUAL.TXT -java -classpath ..\bin Duke < input.txt > ACTUAL.TXT +java -classpath ..\bin DOOK < input.txt > ACTUAL.TXT REM compare the output to the expected output FC ACTUAL.TXT EXPECTED.TXT From dd7e69222203569a7346aa3c7314dd9367f7ef18 Mon Sep 17 00:00:00 2001 From: iapetusbob Date: Fri, 17 Feb 2023 22:25:54 +0800 Subject: [PATCH 16/56] branch-Level-10 --- build.gradle | 16 +++++++ src/main/java/DOOK.java | 38 ++++++++++++++- src/main/java/DialogBox.java | 59 ++++++++++++++++++++++++ src/main/java/Launcher.java | 10 ++++ src/main/java/Main.java | 29 ++++++++++++ src/main/java/MainWindow.java | 49 ++++++++++++++++++++ src/main/resources/images/DOOK.png | Bin 0 -> 24507 bytes src/main/resources/images/feet.jpg | Bin 0 -> 23314 bytes src/main/resources/images/feet.png | Bin 0 -> 414871 bytes src/main/resources/view/DialogBox.fxml | 16 +++++++ src/main/resources/view/MainWindow.fxml | 19 ++++++++ 11 files changed, 234 insertions(+), 2 deletions(-) create mode 100644 src/main/java/DialogBox.java create mode 100644 src/main/java/Launcher.java create mode 100644 src/main/java/Main.java create mode 100644 src/main/java/MainWindow.java create mode 100644 src/main/resources/images/DOOK.png create mode 100644 src/main/resources/images/feet.jpg create mode 100644 src/main/resources/images/feet.png create mode 100644 src/main/resources/view/DialogBox.fxml create mode 100644 src/main/resources/view/MainWindow.fxml diff --git a/build.gradle b/build.gradle index 526b35ab30..ebbdbd74de 100644 --- a/build.gradle +++ b/build.gradle @@ -16,6 +16,22 @@ repositories { dependencies { testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.5.0' testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.5.0' + + + 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' } test { diff --git a/src/main/java/DOOK.java b/src/main/java/DOOK.java index f29b332cd2..ecf6e270bd 100644 --- a/src/main/java/DOOK.java +++ b/src/main/java/DOOK.java @@ -1,3 +1,23 @@ +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.stage.Stage; +import javafx.scene.layout.Region; +import javafx.scene.control.Label; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; +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; + import java.io.IOException; @@ -15,7 +35,7 @@ * @since 11 Feb 2023 */ -public class DOOK { +public class DOOK {//extends Application{ private static String LINEBREAK = "_________________________________________________________________\n"; private static TaskList USERLIST = new TaskList(); @@ -24,6 +44,10 @@ public class DOOK { Storage storage; TaskList tasks; + public DOOK(){ + new DOOK("./src/main/resources/data/tasks.txt"); + } + public DOOK(String filePath) { this.ui = new UI(); this.storage = new Storage(filePath); @@ -63,8 +87,18 @@ public void run() { } } + + + /** + * You should have your own function to generate a response to user input. + * Replace this stub with your completed method. + */ + protected String getResponse(String input) { + return "Duke heard: " + input; + } + public static void main(String[] args) { - new DOOK("./src/main/resources/data/tasks.txt").run(); + new DOOK().run(); } diff --git a/src/main/java/DialogBox.java b/src/main/java/DialogBox.java new file mode 100644 index 0000000000..60636ac988 --- /dev/null +++ b/src/main/java/DialogBox.java @@ -0,0 +1,59 @@ +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; + +/** + * 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; + + private DialogBox(String text, Image img) { + try { + FXMLLoader fxmlLoader = new FXMLLoader(MainWindow.class.getResource("/view/DialogBox.fxml")); + fxmlLoader.setController(this); + fxmlLoader.setRoot(this); + fxmlLoader.load(); + } catch (IOException e) { + e.printStackTrace(); + } + + dialog.setText(text); + displayPicture.setImage(img); + } + + /** + * Flips the dialog box such that the ImageView is on the left and text on the right. + */ + private void flip() { + ObservableList tmp = FXCollections.observableArrayList(this.getChildren()); + Collections.reverse(tmp); + getChildren().setAll(tmp); + setAlignment(Pos.TOP_LEFT); + } + + public static DialogBox getUserDialog(String text, Image img) { + return new DialogBox(text, img); + } + + public static DialogBox getDukeDialog(String text, Image img) { + var db = new DialogBox(text, img); + db.flip(); + return db; + } +} \ No newline at end of file diff --git a/src/main/java/Launcher.java b/src/main/java/Launcher.java new file mode 100644 index 0000000000..11dbf00c62 --- /dev/null +++ b/src/main/java/Launcher.java @@ -0,0 +1,10 @@ +import javafx.application.Application; + +/** + * A launcher class to workaround classpath issues. + */ +public class Launcher { + public static void main(String[] args) { + Application.launch(Main.class, args); + } +} \ 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..721ec4e1af --- /dev/null +++ b/src/main/java/Main.java @@ -0,0 +1,29 @@ +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 DOOK dook = new DOOK(); + + @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().setDOOK(dook); + 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..3f508c2666 --- /dev/null +++ b/src/main/java/MainWindow.java @@ -0,0 +1,49 @@ +import javafx.fxml.FXML; +import javafx.scene.control.Button; +import javafx.scene.control.ScrollPane; +import javafx.scene.control.TextField; +import javafx.scene.image.Image; +import javafx.scene.layout.AnchorPane; +import javafx.scene.layout.VBox; +/** + * 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 DOOK dook; + + private Image userImage = new Image(this.getClass().getResourceAsStream("/images/feet.png")); + private Image dukeImage = new Image(this.getClass().getResourceAsStream("/images/DOOK.png")); + + @FXML + public void initialize() { + scrollPane.vvalueProperty().bind(dialogContainer.heightProperty()); + } + + public void setDOOK(DOOK d) { + dook = 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 = dook.getResponse(input); + dialogContainer.getChildren().addAll( + DialogBox.getUserDialog(input, userImage), + DialogBox.getDukeDialog(response, dukeImage) + ); + userInput.clear(); + } +} \ No newline at end of file diff --git a/src/main/resources/images/DOOK.png b/src/main/resources/images/DOOK.png new file mode 100644 index 0000000000000000000000000000000000000000..577a3e86afcee1f07b451608c15cbf1664f82b63 GIT binary patch literal 24507 zcmeEuXE@tm{I(WV6fLb$O4Vx3+MBAP_KYp4y=SZ#t<}~nYSySdBUX$MirOmn-lIkk zGqFAC@A+TPtLN48`gxHnSI+l*KWFB1&bjaVbG~Y6D3OsoCBehPBU66=P6rR~E*STb zxqlCr@;i6%J?`s{myXg~yviYlZQKt6J2`bZJiO|7(kn|s+;3v{_eNfLc;ub`K6iTD zO04nl%(ax?$?5q4_ZCPS*#SYDmjT!y^!}nc<@?n;UXOb2$KiXj%O&3VK_|YzVc{z@ zO!a|^j@iAStNK$6&*1&E`|96aH%4Wivr42be_S0_xvN6XBOxbs{8D^VJ5kEN@`qz#NWwp~!a5em;ioe5!`<8k) zjgN#wEo+!u)%n`2QdL|1SA|pA3^myE=1tcyBuAMRUlgv1kg3q@egG+#s#P44Gw}Zj-1C25Pw-u?`!dOFyi55ur5EFhx4Q@TowepTN-vKzDG4> zP7_SH^KX{^jQ8VO9FJwXZ<`Zfe4X=wb(gGdMGc0fG{#$azQMeh_~W!mVTmu}B9Iu2 z*YZ%7xrb|PF-klx3FUdbbmRIO8*8W2%mU)R8jF^*+p~UsmXQ=T65CeE2+~d0ZxLX9 zPzgUxu{cPEYQ>*HmpmL}x3?`Wkc_0%H#gv&PaF4unA-L&v@>xeQiiKSceG!VDu>UK z;^SB%=Xh1~ZujkDwS|jE5Gv64=!+G%El_a)C~-pi>rl`dH0E>0P}x_DiT%0Igplid zr(aCSofmcBPoVe3Ur{jL)>up^xlu%#`}U89F-GSnNpd;H2!j39hIkDpp;=|h7S1r{T99S?H@;^dNdI^fndD!qMxd=owba)gpPbn;-x+*BC5yL$;bsA-j6Sk=)sDN)m#Ky_xdfa%6v-^ zj)13_QMkdZ2=$$k=&$?+k7&Aqg<0Rq8%f;qrO;Mw=x4##Py#2$D=OG#WNB6dp>DIQ z0r*rI%!G0#EYtD+L>-dlA`L_kgB`XP8peWfGNUrz%myTG_nd%V zw7DJF#gR_lG;m~=9i#4pN5GKd>?yhjW!~#nAq)(`x9W~iItO&ac1=!KbXDpEg3_$; zar&pVwdan{W5cB!5RL(X(Xm$00L@;I!Q`;$;pG&O6^)xV7~@oC!xu|osTpv|O7lMJ zZ@Cm`xGbxIAfKj1VGmGVQYD^S-#1Sf-bN*fMwARJa?Zm|-6cFN$nDx@7vN|o}T~cl{-*i*q z!p;_F-@g|psUfWc>F)qeeiHEOIBdW2LY5;o+%#q=louT6-lUM?%FWEr<9wA5R;qb+l?{QHFg{7~D`h*3 zOG}H-J)*F7T_C-;qGISd(~Z>*+y{Oy7*pKLF%@C45=+)f-l)^&d5hNiX@bpq6MWS~v3@q5kz*-(1+Zn0pU- zIFP+p*c)cUvv!IJV329Ly@l0`Cn!-d3H4;wr+w_*FjZ_gqDc0m{T)D(Gs=}pVbSgf zXVQx&@6b;5hZepw(;KM-RJR_@vrdebNa@NL>Dp@NCNbCejf9jWFiX5yK=o{SJQWXE zV%ARwd7J@in@Z_tEf4(y)O>=L`(cAns)yaw08_#D!Cg(Xm>n5Km&(n;#R{)X;QYr6 zN8n`N&oN@z$GSTg?x5`2zNuu^i)(*itrN3SNA`O#U;fnEF?cw<0{cFab5IJS0Gr}| z#X=yB?RC!(DZjX~NZOXpfnL+XVA=6-w;%Td@^BMFoY&QZpO&_S*GXTY_<2`b&-kZj zx6&^6c?5u(bt^EqZF`~(RUYZxMtKdtPShZIu7|qG4jP}vjFMp%t}eaW_-QrA*v^~P zIU$)E0q@!F0?=TF#H5c&Ts3yX|DN`@;~p;*|#@Bt5xWjygVZAf1ojEqCf-m zV;1v+BQ6O4?C^2x5?WibSA}L{CO%ivIsX~ zcU6}?)51Bczxx>9@%%1vb04^z+r(#Cdw>{JWH-wrVEQDJlt(BwA@o%=^lnvjH0*_N zleoa*NIkDAOGHA8{> zgaHn@4l#cq0pCdq4y&D~Z!*Lfqq&Y2$+CQ+gdy)Jk64%Yma6z4_#vqH`|k;-hAmES zxKT{bgFYuO>`lbYpq`2y(oEx8d=!#NjxCX?y%zS6qAosOgor`O$jf5? zz8ffg-#d`$FjvDUao$qk;k3KDWEAl0ZSrSCnf7+UOZO_WmX49bfRAe&GzM=M1s*h& z4o3O^(+^5QhP==8YA@#66$mXL`@8K0nS_SUE&{`gq=3 z-a3fiGLoeGan!mgDCmfP&6*t1Zhj^X13=FjTco1XXkJb6GU6Xe5Gg8!0VLh3gN>Lw zfYHiwu}l{DmAuWNlLK^;Psc8$vL5&os>>c|Rf$PMFyGiqW5yBA>MaBM-5VPSlh{&E z9(31opHJluGt#Ak{$L%rf^(2I+j7wWCX8|GWOixNx6&ml8rkQPVPSQnip~ujV&+sA}&0;PVB%WIA(e-eEbZ`&(3tUjQ6MB1S+S2?iagR^U&y{K z3gXy@&jfNS2)dx)=(-jfW%Oq$5p1ft*=%(T1DNu}wE5Kh)KYVev56N2@ph5<#-hwY zGC9S?e$jFqyl=#Tn$`R(^Pt|%eIB@g&KAz0P7;c$-VKW8E7p0rMfMmh4R}_ajA-uc zZ2w))6$aCkUYUp7a#Db2vAv-0(EzhiFGjI_Ls$eiJ7-CSr!Kh3(>=6v-k`0hKBW;$ za$Jc{z3^HEd^{gis`{E&MZKu$ewkpJIozkN;HwqvFN+fqpT z`Du8W524}$Q__>(fE0O$rI}6Sm?yf{@2^IrRu)Vto*!u%(}^q`Cp!IUd7PDy@bkD0 z!Tq26Wx>1#(7fxJ?mcgN#Bh9)n(6c>`dDC>4G`+j*)5`<7gpS&|IaRS0pNknz^77@ z9tmph+=SVQb?t@^lUyVIg)S8XfiH4A{5ZlgQb=*mD60l}Ikpv}Uh#!J0X%w3yaG7`AFGiOIw* z*^Wv~Mt*bUJ`gS6z2vj8*d2|I<(&i{jB!xm%F zCIP=ZPQ#^1Q_XWJ1HTeTPeF~<9Lh|4PlAlfmAk_Vu9I$M?b~;KQic!0WUHrv*Nawr z*bwV?F5kWC6rgrz^0Fgd4^Uk*GZrgNo1H+)Bb9SyIr%P|7elyz5r!+|QN{T>6QMjb7#1*2aT<=u9Dr(BP8AEj zei-9gA9CtuP>{UvWTldRHqTwOWuN=hEFe-tQrPgiIzH0MzbccABVMCtV1!@MohJ4| zL5>fCsy{r2bc>l}Z5m=gy@RU&rkkG=*an{b6yrYZhJmTbNn2YSuW4AGI)t) zdvJW})9ixkM#H`i3ZTXPk21Q2Vh%AtDO%y+PX+u#`kUg^LC=n+*z(oH+(YIBGTR7v ze*FExO6Yuc+LniTI$9%XcaoCYvcbW)I(h?mw4a#9(6)KxQFqs=%_z3ne(RM<6q{jj z?1+=pGJtI}BDK9@@_v+mg9 zSHUe&)(|mEa9*kBOW!Ur?+J{>$|bT?DdjBCv|!t}rO^-9aEWL$$7UT}NjK6WpM^@y z6?L3;%T~wFT3hwkHHR&&f*hzo^K}dKbyeqNiR)Qitonum`@7x;hI74_ENES-3|`Un z4f)XWjfE!p+lvZ|v+ug&*>ql-($5Al^NK?v^^@WV=h86mCBF189_}cS?svBL>5b!L zWoT!-UCX=68`yXIqAOPWZLP1x+n4(WitX(PTN;a&QYSwnVzizwG$iF*>%BfJ3n^l( z?)kU8smY#wn=Mb>vxJtdAu5KJwO*eL6cbvtHSo~hJULcnoT1dZVBX!xKMuC})7V8x z7s_H)Iaea=M37c_R(PsG66cNX`$T&?b@J5Sf8B_(N0n|$;^=&q_9V3FeE-Q+>I8X! z5#33_+*UosJ>2F!NhLHp^T1A~S!pkq=YGIU-Z97|EW3(#7oe^D<1Fj2+V@DadkFw= zcXV*v^E?%C7`fCvy<}Zz=p^JA)^qtw8vi-0O1-Rnexf^(|BH_A`z-C#m^SyXv3DD) zYxrs9kyj0Es>1^hf!2HTBRfAiDoDYAO!uRkp+yUth-Q0Fg$al+2+&GtYsygj5Fra_ z(>%JN@&de2bwp5HN>1gx1Th5%8k=!rbZQ;4h|>y2x}3`E@#pz3;}xNSk^6f+BI>mv0)> zFu^(8#iPxxKvR0z!@4O3*k8ax#{N@uClDRH3UQUOXp~g|&n>3{%{U zmK#6Xuj&1?`p-mWi*t6SHrtX0Wo&~dNK+xW!%f0!0M}^q4kWytg=&6AbG zBms3>Hnp6)=b)$&mI%i3_BQ~wYPR+`MItpI6ag*#>Z`*Zu;+1tvuDaX*K!!9Na zmPp%3PRFJ4%Ni(OnW-~8FT&r(7<W`3#DByns(O5l& zq?^8}*VN5vVlXfY`7tSV+(H3X;BwA62Uh>^3zCOQD!8$-l?`I4=a41Wa^9A?BA6lmR;j?jcQN~B;s}| z-R$tER*l6H`W3%tDlGXUewy8CsGhN?sqBh&+wWnP3DGTn5v1!M?==!~1{Ob>KlB0D z&=MXnU;#eiv*H1$iF+z_KH)fEHqOT{qR#8Qb(M}WC=`yb_V;n(-JS7XZj4)Y9>jr% z#IwJABrEi_GPj^Vc(oY_0BcF%XQfK)pcVzDs zq0jxQ4(5+>`HA^*8Ct$Q4fvz%NZMN3T!hAAJCtd?=Ops$tENouj8FskR(}H1lQ!-; zH;4)5*J}yWm|!D^#1^8Ae!b)X9$A~*O!zOVU4qp*+;xL2p(b~fnT;a%l~}wrlv>6D z&{Pi%{x&-7bja<@j2tgjV3spVvZGQFa1^@kr;<~4vm+^3=Z>=6f3E~S@bp?bPbM~#7ciaz~B|(8ak&Mj_{&?r63s?AN=$03glu?L}&xz>z z2ZhN$CYR$>?OWZ)gk0R80la`k!RqfhPC z+{!0jo7$x@-v^cn@3Qe?l>f^$WoQMJ3(}}V-1fjvpGrR+i{9y_MXZ4A%B0T<7OPV0 zCK;2zY0IdOD9=n#UdL=H=-9uzarp1ihg?&ZbLk>{cnH0!1MnRS0R!_t-7N_;*B zuF6a01*B5Til$vR7Fj;=sQU5M(phPFfi)S2d_B>eRV^JaW~ccH%WVo zql{DFMT%_5B+FjO+du8=Ya!GXvxh`=e_=7tETNUIJxtezE@!djr);eVisPm8xY@hA zZ_JX+S8C0^9$Sl@uhvr#mit^YBTRSzA=4;oc(>4b1FD;q49(3bQBj|AK-@_(F5EPJ z?MilaQr*5Ido8vA<1qkF(@VH)5PXHh@7^=_&zn738g??zuO9{BKyt?cS(h!KW2ci^ z&Dm19`6&oTCT+<>_S}5;@m(Cu7wPKpZF-&;O$hl9B#1p^p5C*&Ri) ziVQ6i*L3iX1B|eO)e`B`$~RB$dy)-^--T!G&!;%D@3KALp<_3jB(G1Yv44HxksD}O z?GFCIo-b!Io~63%#N^b$nAK>@(;whmmvR@DI43t-Ri`lePHbJ*de_}J)=5{LTh8sa zh_r)Q(4NAn1Ng-QT&R%Te|3BIY4)yG>dL8`p2;7TjQc%>IjwnCpT~wQ6p+qZIn;(@!w=UpZqN9|-lNfZaIM!)ps&x70MsaIR3m$FP>4<;Dz<{b+mCg{HZK z(Q#wojptonXA4!DeQjl`m8bjC2@fS|Rv2J*P|ohiZnXNmW|lgm_Og{S_3a~!vC4ju zSj)Z|Y*S=5Y~;J2_y6{(AIPxT;aDqa+>HMWRDb6|97rVMmK%Ze3P+?oHNI7J4JG@& zJ{F-kGL?whOf;r9dCSqOfVNrKP)QNWQ=M`PM^Gn5S#PBRVRiUo;U)+VX{N%?4nSY*U$Ce-O|86TT_0_%MHG>DQ&b#rC z8B88Mt2gLVH`VSWt6$*!6Pc1Gp#T-V+BwW90er7*LF?r=r2Yv&qnb?e{x#@R7Y;2p3N$@Db#YBoy z@l!l8{l266H0lAlzZdv5o=^3DYva9{c@~S=f8?4iR;Cnl_2~A&aov8G^0HM&WV109 z1_vTU%!S?Q)nlC(^Dv(ejqAP}pK9`TP+ZEjajCd=_4Y}oUS~L&FRYl}*Imn{E@^K< z2!(2=zER2u)q8XQ7Ugi@6wN9pWJR5BLXt)}=x z@cAx{V1(um7Y9j}kcI~X0U<7x;92ggc@m#Z%CmX->GH1x&HvEuT^yW>J9&dULTV5= zGOB$wKDeT_JWCDvo5#zOWB0trd-^@6xl88N6GB79_x`|M~E zs)>4cDE2NBmB{=^c2z_DjS9PCSM*!p=r40(iLu)aIoOm&vUk?wJzGbAU)h?|Y(~la zd`RY1GWLEF*1@_{+!3kaAm~9l$*#!Vawa>Gk`2!;Cy-%xZp;_9bUUC4)^Gu6cBr;I z;dAntT1{9l&u53SyNte~{6zw+=50O5o4tDygCihxliD)M3_7se;cFAwK`O}KF6{&< zz|TwIAV_C|mMK?9HbZFESAeSIlju-jx(Z8K%$xzJz|ah7$MH7@tl`owQfuyK>SAPz z1E(5us{^`@uns%j6eWA_MoZBA9m-*dz4%PH9;I(r<4nVQ&PF2(o2mIo})LTsR#F>a9->PCmZ0G z>-^Rt2Q^p#*qac2H-WqvjsYf}LLmitsGReg)^Xgy-Ueb&l$OofAkzHPKM)yfL=?zAst_VNqbNTw|MtAb2Pu+S(?DZ6X)!& zD6jL;^Koz2+!R31YxybHaA|yUU_b;W*>ZuyMm!vRTjYY@52n$JE6aL;2G}Midl1f9 zE5HucZd4CqTDIq3m*5+*wy1^pAfv2Gw63jQY>B_7Y9QHI6c+TB@mlaqI1OMuIQMH7 zXL^WHN%UZ3ry&qgCLjDAHl6orlrj;#)MkS;$_F#^9ybeW7$1`japP!I^Ad=)Cwc<6 z6DXCo?lbVbdO`D(G~`wq){yCnN4(UQD93lvSM6e8EKSwGsgW!f3)kN~6*Bt#0=I+` z7+Gx%Pt4&4+O))8fM|h6Y~-=5Fepb;)Q?vR+cH}|^$U4bH>)Cwqm##}YrelCa>x`b zqU8O#>TNE6c9ZNfk`$7k-@a9JoWghjX#4s7I286u!mLTcRt9_D3d{X&n(Gbxf^|K@ z0J#M9DUIXQFchH+^v6sDFJgbHO>pMywL{S4)VSS`^xYQLQtnxy8D+Q|MXKT30+M;7=UvDYMf=<4nykNFV&o`vshuEc9Uxz%a2krR;OMso396xB6PyBP=5YK)F zL7mO@Xp%o%REe>ONlKbph2R>rU1lu^y0j!)gYtoU@yJb&J&YTfgY%r37hgN_n6dhk zFBYJa<%PFBhy!pGsi8lUroV=h%waVH(q;RJEyBQmaUgizi=xNg_~BV(TEWPDU7J#p zBIDE19da|9&=0!(BW54&!vre;H5RsKgGka8A{Uw&zbqAtRKi5 z*ei5V43GS2qx+{X_(wWS@)Ts+Hqu+`FV&g|9&Eodc8HLj()CcZI?o&SwZ<;A?;70H zm}niDH}Nux8E&<<9WBOW-`c|L^hdB|vFlz{mj9J*pHez0z2K#l)g$4A7LKnLBmFpGZ5nAC8`D;vIdRjjubY9esB4V^$(>9YknA2bA2$|_&jGr z$HBK*!w+yEw`mAx1!79719&&xzX``F2C5^)EBn_aH@@+L@xCsW$%T%tTTw`c6i4KL z;>-V`))2~V7~z;i<+{QjghK#3DRHGpb|&`G)rK5~&vF*;7Vm#3<*(OMZ?`HM1MkvE zV{A85Cc=tP3JXiA>`$AOmYv8gp-QwT1<6HuU5Oi7apdWFpEYzq&mk7&K8uv~TTR1e zpXoC;UU1WcVUjB#d;u8Ge`6Chv1&{%IN z342$5M=*Vv1p;Ot&?y!?81)))jvct1ANU5t+AoxwqdK$q&sqeCl=5VM*B6?$vf zLBs^4%)6Z23(o1Z@#6;?_)NCaM{7LFN_F#hWo!RecwbkadWh9ShA zIKP6hU${fZ+kC#|R70p;sXuX~&pVoQVe@FTcH}%0RUzoG;G|gInXQ)sUpww+c#svU zzU}#~=(<4f0cCKY>j;XCCorgo)e+b=`D(Gh!SAdppf0mhQigW$_Rmt8^kdlS^r(1s zIW#}@rn$Sj8xtqYRi>7e($gU;^{)n1HhVm6xtOO_wz0E@@HFAsEc$3ac#c;Vi~|Bb z^?I?JUim$b_uKUk-V)~*-P)8VB;gOwzt&AXDyi3+{wDx)tW5z1u&U zJrS2PD)ynAc#2RuNI9xz<2|*m=F^aQ^ji^)o10&n3{)~9X6yqu0&JnIYuKH& zplM0tY7mss+is4UO`+9ZVHWM4K=Ny<5D=AEzKR2@)hlW9`-?3Mp;4yojPn=!raWFp zf}a;b>SFux)QBUsd(XtRCtz9?ftb&gi;S)YMvCgui*Ceh>KgXj9A&E3elhb(rX0@6 zJWBXIjOFzyV`Mo;SeoFgw$K$XQEus<%t)`w+8F*|DC6R1M9Hv5h>xaEH1MmdiFVQ5 z_ZKtv*DdwxzlYfjx{Y`O{gclhfZo%^*lrDZ4_H$-wM#Q2Ux)FuYA=@`S+lL3tkRSz zH75`e#IeJfcF7PQI}4u5eGC6TOh z%x>|sdd>>-b@7uQU-b1RtkOXtU^j8enoC||Eazkt@lyv`^P&&sJL1Hp3>-fDKZP~N zMug82@0w?}Q)da}*)b=Z7&la2waFW}6a%2D``*LghA;_*9>+E-%mEk*T^H9tp9da^ zNr!Rll}KgCNUYN-g3@uq4rNwn1+(U4DQpG2Ox5=a$mlP-)>6oQbxpWqWQ;A_#O=I{ zi4|lGPBzOEeen7|@t6_URP_G`T@B}gn9N8`E>;)dIH?-NZA23PkXSR?`oSeo8D#xI z72v(7lojv}ZcKqVUg+*dD-6g#n>D`iu{VNNN7X!zY;iHT=aduBF$3SVpQ=E zA0%^>LA;L`^#vqFm1vXDgJv?G*5#F1|UFlT@N_X~()wLBO+SbcF9_LI`{TKAPxMCak&jT|8-n^$NW3 zMqmUo7Dy71VE-UzkW-^s)|VCQk;#l|UG`584lX4T8Gdb)|8yuE(Lz`!C{CK{0)?JWO3K762knBt3C`?{*L%bwV2g(gDm0gR1>#w|u9>m0j zQ}G8fI&oV%1)?^t(a2}~^E-?SG^W||2>~A>G6D#rq^7Ds@ewJpUd8kV>#u&+*2-<# z1sm_J8(==}V2=q9I|>G?xWBq0=a5WUr4CA_6s$>zZ9zL3iziYU%t{0v-R8NP=td(3 zj$i7q_cIV3)vnEjK!ua~>r!k>e@>X)>`$|~33?6EID-bb0xJnaH$rWr#ZHVKVZ5Ww zvV}v}C24LCb94+ikve}rCbnf^aAjWf0^IdU%}4t0^L)!UJ-HlOOo=KP@L8Hc#e(Ld zf=@M4@?<$eye!5cpcA!Wl0f1-tpA~stiH*4?-E&)p52rCDS|m*)>;LIbHjh-xSR!v zlb&}(^OZpY3IL5OZ%jggdj+0@rV_bD<))8o4>VPK+@Iy>T)Cy0e#G?hNQV7WQNF%j zmbXlW^x@`3fYK)2X1Uy0-%{ew%~gp2_Qzy_dG={^5^E=gizG-?MKI6m%kFGf(}jn{ z+Py!d9wY(@1zmpt`i=<6j+!$AF!Xtu#o=6F={0X6{9t=PofgvQlro zVcbLK3ko}!?lC8|#MuiU@Xbum*NdNLuZW_qQak);Pz6-Ec(s7!L2sID+PzpuD-T;8 zV%eJ5U4Oq%d!^ILW>L8lxht^4EBGj@jh^pT$!9?WmCfv`K0G}9`|Im%w^0|T)I5Xb zNk@ypIKA-^a|pap&$fttk-dWa9z@s?TA*J{WdHLKNp?Izv(k6RN4p%oJ&51 z{q5R%@WyTTU7^q+b`7NU3}kC(Ut-dRFxX?}D>a`CT(#ojP3$0jiQmawV~p((7~RZc zMco>(`3BX6gt%{Ip^GFN!ZjK?$`IWdv;HQpVJIIM4NF92UNK7>%sxTmV#eLH8`ALb zNb1FtzSde%>m_(uho^Bwi;e6>Fmb?|0fH;Af_MdC!-sg$vi6R%M<)8kQE+fkxEz{= z$=d%3K5K;SxY8QvXMkMj6xU8RhVMVhHFLMuWFV}Q#t{* zQ>r7&P(>zXqK}Vj+#RLmkg83SYf1h6f+Ji{=X?sEph~)?cm;Wo4(xkLt~ln=F)QIw zXtq^N_kP4igJw|j>1}kclmH2Xq}t@mp|YytYu!jTM%pigS1SahyaM;MLJ#8wW6&CM;R_$n@UrPgN`l`<5A*jq_P0&B>nXE^3`!ILINKj2a41aIJIF|txg!& zXcY2OTh#X;j~SO3P1D?w^B;Cm-7bxY^!6zwZn918mIG)qX$UI#=MG#*Lzpm+5zhX>HWL zaw_l1w5XhX{=- zG>Vu#=SSV&h-jM-5T6`Ue)K~6-`R;zAq?@b=>4!HZr5N@6UlzbZg2m%qh^X#IYiEw zbW-Z-ImExW!0XgGqpwW-rgTq{h zXX$)hVTL7W++EsTzuupdX6Bp6Ms4r3ivJ&}K#; zIhE*5kHwzB&5N|H>??;qP85(yM9o6e6JH`X}{T^E{?x%-0K^Eua%po zIhgFG3#r8M25e{}bQsM(!P?3AX>oLWGYXeb!In5#_j+jT%YI<=Y=7<*1gGbh?rm zA8Y02^Qh8&g1-Oul0l}sCk$qO7FgaN+y?9Jz-rgBARV*K%q_sI!NpAfrBjQ}t#6IQxnrI6kz`)AzbC0|RxZAML&X~N zxS_9WYug-}R^q?28l@o>Mn|?KG(wZ4J_flqX=fi*SNEROJo}gERixmAKL3bEoe&D6 z3Sp`rc5Bf&15OMlT3(#cMM%9e;Uj^R=0BrYG&KdbaKbu)Xt-I)9fBEOAMH2djky#>tZ~wYY=*xJXa6iMp;Yl;q zZ#z^0bV=(LtDZ|AH3{s~vd210iC(AKS4fJs71(jg#e=XZwE>}#8HBvMw*%I&LeR2&F4&ge z^T#I~W;>%)S{v6f>f13f1XN7t&vAy5eWvJAjj=BfJOa`bN4=RDFrx(U$vUsfpzy!@QMd4 z89A!FN6l{W%b} zUGPlq1^8CREF=w2>BIOCiM}&Wwt;;+J9kY*v8Q&SVX43bIKvk;wWr`s$xsVRONS6o z0i0-;R}OmDC?|rL@~FGAk((B=^;SmSP#!LU%|hVfpKiQ%5*SAZmMyr<3;w898$QFV z<6ADgu2V4X{bC$qzfc)}^5(rXXgxc=TxoFSIQ)+qaQ8vh)sDptx|N1oL%mcfgJXaf zb~x?Cy8CQjKTo1l+F?R|?p^eaV&^mab|(#EuFraD3X$altTDJ)y|D};)G29TME~u9 z*2BS}(kxpT41}Cbkv2ZX6Z-RxOUcgtHSJBTC?VCy*Tl1J|?lx^YNMqp8*(exW$j=vV$U+b};Y;8P*j>G;wQ287ajM z{KdlFb1?JP_8Anu)@hmQYBK&5W6i&DO)pZ0u+D1F#VuKkcCYT@>01S|&A#nFOSs&p zh}&(wwDbC=OW~qFlAX8Av)Y$!@$k4gHXV(`Ug+J?qiM%@53X@P6*CU-4L- zc^jWQd!Oy>wGZB2v%xlVW^qx5Z({^{y{zS%_W?wBA2oH{`0dlS`9DT06@|&SUB+3o zCn@BECnRj4Oil5uzJGB2=Q7&Qv3c_H1iI!nPtlpj>d%czn3BpmgIA^F= z6K6iZ;EQg2iH904!jk|op)K;pg}udjft%9;^Ezf z=R)bvexGp2KH2{vfT{E)plb6?p7m04vD6$4x=vqSE;Qf!(Lh?U_(!GC0 zy@?@!Px$T{^QZ6`(@(?rgT2>q^=JJOzv1QYV(~A>$DXZj+~o`Zx4R6w3CMm?c`XHs zq}@)|ws&B2bmJd$pj64S19e`X;COo$JUj#3tp`LrQrN)PxTV*!%0$Zjd7A&O2MaTF z>R%jsxhsN=_Mb!+mvss^p-8(rO`$Vis9E;)PaYx=OE4B?#wXHw*C{Jz&^3~mNI#@i64K0s3Q1UEj! zg?v*z$iCWf2RAmG6~LTuLfL6wOr*->c6m~G>wk*Wl!pX&K2{OYa!~Q%DA*6IQn)so z+ToTypl?d`L&5)98XraKF)7GtwT==#_~~*V{83KeeDxq!G?_eL1@6} zn=^`K&tLK3|7?NgoA4G)P`u%Ki20akt-m)|%p~A5P;-cjH@BLrd?1mZzmxEnmGIYF zTiZ|;?1K4uTGxx!g|@n@I|q*}DPH!DQ*z?Ei69my=eUR8^Q`zL-n<~f9Zr81S0jd} zGQfl-xVKE&!T2qyw2wyJdt%mB0Z-3)OD4r5flAa=$$$@U6W6H>YU-_3rR9@~Ul)4F z>IqcJQGVFtr~eewkMP`yEGdQ`LQ+L>(ufW@H(YR9=b?p+?}R?2fvsv^_-KWH|%0pzscz6MLRlC(J4`{{kW>DVfw zg4ZK9TuFT0|ErrT|A+GX+qXSQ6Uvf|5VCI-VahH$DKujkF^DWl)**YJB3ZJ9EYYXF z_H`JItrFRW>{~>PZ3fw;o-;1kiyuG%Oxpq8r%R-Lw z6jRrQlThjT6*|_hj0nE(qIhZkkmYDby4X(*VJ0>Ey2&c8HB1<#R`{uhzTF?52zDU& zZz0zK<|rPlaz|GdA6Sb$p7^!CHuONZoq%(P?>h1Rfts&?_sJ+?a)4c#iB?(w?{FFH zLAg#o$cpP!2VbO_Qae^0mohP@9M-HFg{Zb0tq5d9JWeMsVWkD3@l)F*H*5sF>i!{5 z?KV0{mqJ0a1|`3sI0)!MR_9mpYUcc0o_Kwb@Fyj2ZK%2rF^cf_zS(-q^vsW1N_c23 zKPDprkuJ5uk&B>shV4;bA9mc-VTVG@X|KT?+udUQ}$!5AqUDH zL!Rs>T^0?e->C6uL^2Op=bkCRikXp;FaIhS_gkIPXAL^$^$-urOUCdG$%Q!JqQE)j z34>l~b;6OFNT-dd?KoLfL1L+Gy*I$so+X}WvHOrKr%dqLYvWG|rOFX-<3!Ix+MC9u z{QVt#(G0m=aE@Ms%XKtzcq6{o@#>j5A*0F_wcyAh-fOJ?_@uG(ePMwftk z6l@pWM97+Hw&%$4GszS?z9#Y6T`1SIdZopvA1f9+vy_xv%ZM22*5=@x+x8gIVH1R; z`YKtd?Pvw33MaJ1u#6^5*B~r&g;^zon5`Qzljq;4wu8P3HmZiZm{`qr#jM^v$VpqMDZG(O6}PVcXLg(U9x&sY-#J? za_6Wrw~}Mi9PiC}s_G$~4fs-scXW-52oh1NTlyqz%Z;v{?5Pm{k*_S!TLn#qo(v1uyCm#Elm@ zi(=Kw_Ph}MG3I=(*8?^TW-8BWa2)j537WQ%^^v8+>T3pH`NFi01(y%eYOl^Ut~0pF zWyA%(!uh@!+Q(u$Gy?CeS$T#Gx|6FdBWc3SCi=kk^jnj8#~H6dx~H}=qLT;Thw2BO zop{;%ibLALYp?`Azt17I)4|C$8=txxhLe%fRn!9rD(%k0@ z3Qhf2iA-Nlhh>4M?#a?)dzE!s{|dR=>5{|R&o3-}0W6abU=~t>;V@O-;VCsAs<;mt z2SE<7p*y>tek!j<>P0?m-4bxR+m`s^@BzubMqLER9LkQ-|1#b;BkOiUG?4C zo^B7>DIz+}*btvDyeBRReAs-3+3qNNNBn&Z*RJiNhkq&BMxi5pzHe&-^bng2ITpc- zOIhJk=nBPc+2`lf2{Ivy$v)r!_-c%1`8;eD7sVy1_a!2HHdNA<`}083#s0f^>I!=X z*GpRcR-FBoEQn4P!Js0lZ{A>g6<=efZiT{pwO#gdmAA>tgfZlpt~oBAz;B{Z6=@w< zf2aAKmRQ-v@!Ljs=yPMsS)|&t6@8hrhePmj{|7iTDwcZCHGbM6sGFT=5w#9kNA9NjuAOLsVGc{ot$sUKDDAia}qh% zNQuGxDf=sCod)WK6oh$1v5PMe1RpvwCW85_@i`+Os3YSjFsK zO5M_8^^(9~-wRxyzv1xm8bN8$F3`c6G9Nd?7B|k25MKU7@5W9^kAeTE7_2Bke8Nsu z0W%|L5Ar~NZq*4yf2>Zp7;ff#;ajV(~48;CWeYF_&a#< zEa%xAV9!;ODnio}eoEcvElL}EUfj2#^t-5x+L(}-h727TzR?}*NYGU0huIzNGHkk6wkgHHI4`sGe1Qs>>E z40uZ&0>W}^o2z9%+InSUDQ7aaA?3hk7XJWEIQqyoJUyRT9W;1m)A+@3Y}8LLqrajy z^NstLYnUJ@&`s*_`S8xC_m}K;iXvFOd+ht-?!a0Krr7CfDkQ`vPO3P z+@jau1R{hpJoo#8?nQd!?(w8%X*O|}?(KLfp7Dm1#ixTc zI-Tb9_hyz|{HSSz+>o^Xh_;8X^E9%d)UJukqoZ`9I)Nkp^7x17<}}Mhg`f?-f{7xgM#_TUG|k95do#cO^nN9H zi!g})0p;6axMRWZqN`1@Jdh0dDZFse1fYJ~dE%;mh_g_Me&Z60U*NY!C z?u5)93@|_#aWLr>G?|Um=yXRsKJMi?ym-(@{V}hXx#HnvC3$Afqp9_dI(uer9iJXi zS=(xV*N!nj!C-OgqZeNH+M>+bmL2MgQ~wPhCsT~SHw3)lMq~#|{+pO<-N;^hpyuSa zBBmzJMW<2Lb9eN%L-@7)XpgGYXqq9y(1e1BiOLmYN4*Eai}ROp??jn+?%@1)*#~9l zl61sMPk`tOYczl3pKMytwJA=O8%(;VNDDtL4$32oHGm?a-Gerf9xkQ!;NreL18H2E%tR zF;R2#j_p;0Ew$05s3Q55+oaYs-G%x=35nC&%q_y5?+O(5_6u)&ty-F0QgqKMXUV5gidMI{LVim2Z>PTW z;A&D*{5{T7M~joX1?F)y#a7)>##v^xxb+! z_9K_()(0@wcYkz^G&TH#%BS;&gUgGu^$|-Wq$Ou0GIyDOQ|IYVPiFgrUa-CEz)?2q z+_Z_UNs+c~y&H*2RrajH#LN@%{IprA(ZC+Q-< z&kVI_v> zNRxrP?hf~uqo8SJzyg?4FR)LZ*I%|%nhUwU&&LkCI?R6kNL38YX^$`*H_R%?t7w-i z37#i2FJLvx+<#XZWt}bhx2l?hD+VeMTA^bSHR-pxRNXGONoHJ_%H{D{F_l#{;%5g` z12{oCL71%=)V3O(C;WwIWc_-@d0<&%E(El&QhrY>;4ZGKes`Y1+#gM_0H&GOkp0K|1aYs#D< zdI@9)W=1ik(7goCfszUJC)m*SDSRq@IoKOE=6qqSV1nuU3ACvCy}x@d+N)4_9lzr; z7vjI}=X&qIErhlI%|06kY?;Q4az|5^AM#IER`@Ly$?lEr_TC^p1WgaSLKi#Tr1;n* z8AzJoj|R%rtnpIHa912_Xy5Y1vDQ)k%{EzrybTZt+sV{`U3MhY?4bR_$yWH1g3_BS zV}M<%&})q-%ay#=a&kwyx6TkI)VMkx0HtF3;=VVCtu( zP0fmkeuQ#dG(NFd);4fegullk7)po-`|bj1 zvudrC&0*SID)8|TCB#=Z>E8kBP3y!^F#IFB1QEze0aBo+De<_IqkNow-0OJT5^# zd61xZ1c=oP(okM$p1gK859KV?$p*2h6URM(6Jp?KzWD!smgqDdgWb;&pGo+kSd(_Y zHkcl0H?A11^kch;#_PGtdt^A(EBeZ>#Xlv}zBBagAf$B!ctl>EbxWxM|5v5p3Rx`% zroW|!kw7V4>s=_+bFy8|D;Zbhxe5Os%8ssss=-&ncx0@+@v-~I#7Tc9;Bi?x<}OEX zUmM{5x_9>1kCXPnA@an9Uv6@fYlNx+ZpaBlx9`Ha9$R>bCg=K3`^(;2?V3=bw|~5z zu<&d5LwlE_{fQ&JkkJ>duh53@N=tE^r)|aB;X=gX0mV9aRd3oz99`>iEbuO{Py&vS zQw7`m$(Nbv&cnd`^sm~1M6oAw=QJy>Qo8fg)-cCDp+MKnd3=8g%b%EwfBY+TP55GL z^%6U9`~=%KNHx|(Zj*@$=oaEoo%+4LuV-h6uf!hgJXz*27bA(#4RmTr^=|P;*zwOa_g>V=T(%r&ec=@e8RX^)y8~i52r9$G|h?# zQ@_1>B3N+1t>FN=I3HoU((%D5!+x2X`EWBIP9=@jtxdq2sc!1dlmc_0-O(5KRq-{B zr++?F#jPF;*gc-v)$Qd;WHy%pC#uq;1#}Bdb3}AvyjImpa#=K9NPNDaFjc$^n6a8v z8xBSUBz6iwnEJ$n@K{+8Z63q9vPHnd#L731ODcghZ%cEhnR)PH!MH`69ClLpxOWC6 zzas)1Fc-l6MI5WGCJ7?HU+L0+2W(Pi&CawaYY-t;tkXw_c4q*NB<@IR4So9tmgP!L z)@eHXc3wliuin6Ht2)hw?|bNT00@-;F3y^`t*yM)P1#dI?f^20*kO|Sv7$(IZa2Md z@6h-z9p)T>!6bHEe> zLbGW#->u+?dcdf_4a8-_-E#t7t_PPJj(B8NT{a`VV#)Occj4&ISJ+#NY#Ax!Dbnxn z=%6(Lt|^c$AQ8`sx-YG&&8~D6T9JFA*~zs`)55KA5C+q-@v*WUw#IkpzkgyM?o*7= zBYChj-;P4qXd(^gQg5pI_a+P_4hkMzEV=N`Br#WfvbM7LxF$^F8*dc|;RUYvQd!S- z&tva!4`?D^|6)cg*8Ys=h3;#1!i)3NLgiXjuH7<_l{{&G&?vw1Qxh)(jgu-_+@q?_ zP$vqBpPm(e^T+(+M($!JHX~utJFY!ko9W;ItN`_>8rVjCS{_Yp4E~te!GLW~lGHyw zQ6D{83*FZniA-s2#y`p&LSGREiCI`%E&BbW;xV0PvhRgmyBRQQfOZlUpMEcZXZ{Am z0oj}h(#mRb-Jxw=6V)ern^6-M#s;VhyF9?8dY+H;9qhsF=V9h&^sB|0bZxAd!i&OFa#(th@y5McH%0-pew^jP%pz0HJu(=?Am; zqMzCr`e0->y6q>c*k8z-50G++o^{&RP2%YX`$|h3h^+E)(X8o*A5B_7onVpvMzSnQ zLg@qxG_45kal61Mew46k?i}M0l~D`fS_CdlOW%8s3h4!cjYs{G7yTy_)GjoeRm%Hh z&{%>u(DXIH!}hHJ{bWLg#q_G6LAopyU_E|aN*#xTbPnokX$p@JnZcC-^bm>s1ta458Mo&fdL`Ht z8Z_Hba7t*S?$B2*{RVfrdVpAF0=6zfy8!fgond8SycV1ykSv}aK$rXcSnwJ$u>v;{ z_$IL5L=Bh}$H#xnJZzmU)Ozjv%|{Lec>p$Z=UM#EWJ=?@hc)LZw+lIgc}2AglnCmR z;8A*4u!hJtWSeVR_6TF?sB>Q?;F*oz+h>3*1dC$CkypZhR)A`GO2JuTKU?&cpinC&SsJgy7;HkY>dEQTu+m*2$1l3w{J6PiL^Jf;>up zo}B0ZagF;oA|?Qp%kt3v5IJIqtTy_PQ(+``5~LBLmIY6isl`6!ffBeJU}Otj@~?Zg zcWygUgDUDSL+Jol+)O_ivhF!`VdF2087?}dByB1dIf@>f-sKmT z39_n)@K5pj#v`l{{aK$GSlrkHL>8K&D*_-4@H;2n@+bcipo2k6;I2Nxn<-p9Z;3w? zy~InPFp$U6(2Q!t*(fqWufS!)B$6^Mt&>kETV6?PJXfkbY{fYb%w7<-vbyC?$DvDL zVQ*n*FMNaEtqMw(M}CF>M=uqnl~*a=EKoT}D82hVy`k-sX}UhSE>JDS<^r7oD*prj0zOeFkw&AUp{b&hxbZLw z31@EE2kE5*CkSFMs;)-7Gsf)PtY4vbf5P22`JJ{$S zck5ST-!=cbKCqslzs-7pf0XK@^jztO{>73N@els~mA!t;Pj$1D%ss2^>%dYHZhlZh z>Ske25&wso|J%JoL3~fI?Q>tMBdW781sF}kw;ydehL=8CdtIWs>f+2&7Y&Ry5gq^e zj?bCp3uUmU3u12JkF6Hp`+U%ryMcOUjTdV7M^*bmk4800FTnz`l9S(EEM;$h!0hm{ z1ueyYCdYbC^NgqbQ@5tJ#ED6j2mQsHsj}5N=?bgXtm^eKy7Aj&b>|NlaM;RY+pLEN zhCiq&eMFS#klxz3qu@{BxAk_miA~U0cXB+f69lLx6`LvHohewHU4P?+u~I_Bjf&1* zyTqSV0$}F^`;49Xx)uJ@@wI7>mI~O)@^uqlNc2?=E1u1esAQ%d11ZU(qvOyf3=`mu zGA(J4O(D%p{(c|hLDl7?VayvFPQ8s0@9%9?QN1u^VdWoQ=l3_eC?{Xz2txujfURsh zoXHDLJJw2bXl7*Oi;{IH%5^$DiiUBbsQ;AO<*dDa4ss1M)Ic2S!4ZT%r*U=j&~?N_ z4$x`_%sn(H3)t^}Nq4-Ksef^6wMPNj`gGHY;XXL;+4Z zRh_thPPx^y9p~-_@)N+gE;n(nO?2mGETzjpc${*XwwIWPK(i|j3#WCARo_GCnup7O z4%|wLscr@jr;i)!oo|W{Q>3$(k{H25qfFqY8Q?RS7A#z$5^jvcU93CG?;1rXxpu$*i zpfuerxxScp@N(>wcp+61FzF+=t2C`@6E0OJRy7X8*Glkg~~ z9ekd=Hy0&hCvmXbnJ1*2tTf9ayK5~3Xd@V0L=REYt!li@bpF!!iNA1SjeFEXP}{w{ zNcR75UHj;|aE6+_RnVXmRyvso7tO=~uUZL4&Sl1T!$GoClQw8TY)rwga&N#b1k4S0 z*Js_GQe8Su&3Auk?(sd>JH~u&X%(=4@jK!AOCE$`om+DFso<;^D(V=Mvx4BRo0g)5 zZ}AO3NUws6HwXPYe~deV^a4^p-Db;DM3?-+P$%*!zCtmj%ka>J1j+XK+%hOFu&LH4 z{%@0R8^Cqa$Yt3sl-H7yDSSFGb}d$<8TeBSsQ|M%)A(0EPW$+R;e1K}`-GL6C)@+! zyzG4IL?q74rVFlb8`-tsYD@0gVH6(+@OjfM)Zs_5Gz%&K7%i}l@%dIN$;TkXFZeC` z%$3SYK1f~nw}f(_hSU6TN+qZ7BPrKH#0SB-wXk&|ppe>zbg#(w>${+n*%dRg0{RH( z_rx^BV#KYGvn#2-jiHc0WLh++!uaT32jB@Az6Pap>+mS6J^_>*FqOo|_`oS* zp^vJm^fNwFG-70Ek`eLsb&{kn;qM7{Ba7&i=xTc2Z)X>--O2covF76NQqMWNit@eG z>jkN+0gWW@fW!>4CDG?vItegvC}VNHqzrufrNpOjxRS^x$l2LhEm&e~(ddKP=EI!h zldwF^SULS=J4Q0WZRNZxl>7i1-qFzDhZJ$EFq z$cB%nuQoR0e{37fO?c^Bq`lhEDbxtNP=Bsysbv?}^l!sT;Rfm$ou{)AoPoGxIN~)_ zNh9^A$)y>7tu)G#a@YvipL-|vEAs_N9p2oRftp)JJ>HS|Aa&5PRwW^ko)W>jZK#2Ca%sLF&xOU;WdAIvj{u{!ta_-@ z;2%}LzlrmZnt=zPqM7bJ#jH4U{UX+#)CYhVNc z91|1xlHsJ^$Oh6??C-#j=tOF*te}nTwI*x7A z^PtqNz?s&8tZ_$nNGf*cJBUxgph@+VvE8@~S*oOMJlun~PI3)c;xZr=fCtV{fM>;Rq=%0tQ+;QJaTgzy%{a6SBY}i? z&B}K3iQ&dgY@qGS5RrEuyF@MUY+WSzK*@>eXguwqO4RGRQyM5XU~sy$(^X{+jQ5rw zE}EwWN|$nW*Ap5k9TM6p|250~HnslMX09WO26_417{g)MoUry}P^9NR{_%|m$=afe z;skH{N0C(EE1_oQ_AYSCXJxCpHsDFM6s@HAm(&6&7dQ<2e5e?yvJY#1j zM3~w-@ZW*i-aqzs_%O*Y0+~QsHip|4f&ETQP;a`8G~z=kK^2pi z{5<&$X8|Q-_D<1cc?}VUc=B<-LfmYNs)JG&$&sNiSr#-w9IvRbW8oC_6p-<0O26epu-Lb=30# zPt`R zZ*_{(9e2E)V>ZQDwE3;$rDRm|IXE8&=Ne9a|E;1kQtR)%hIA%j)sYwH6mmXWD%JU- zQvv(%d}y@?XK>pXcK>1!r%n~SUMI~WD9AhAqP!juWOZ;8vl$dxl|K*es|2fIIB$@d zWf=e2-UFF-xiI=bSF!d34{=9+b|aNXEME@%FMq|9SS_V}q6nZ1!s_p=27eCC%(@sq zg}ubmlr+5$T5m(bwReC2j8=~I$_S34T4;FgX0rDI{nsz9iXVp(WW^jcSEcV~|s--1z%BpTJSX_ko1Wr#Tf zWpvMGM6X4q#lU?FyrB|62uezOl5I+or}jB#v^hy~>uNFaWa9rrhPYl_UO(7BDwA_< zqL*%jXIS=;0ts%p2mOUPnq@_+ss+@3^20+Y)j~nM&#EZe{PJxQ8kn~Y8um*wS95RJ zsk~;2I~>Shtd2zB?yax91ho@;`PuDmV>n}M!AU~eXnk&7QLncuoAgqiq*@SG<_%L% zm`*km8iz@F%a&PG!``ZtvO}U|;+x7Ro7ub~=BYp_#a(PU2FzZ=T(CH0wZc6D)xK+= zy3Va`e9|93$YM% z3x2D*4KO-Wrmq77tv@$_Bv#U&S~W{tw^s)mjd=`i-=r^Vv&~z$gBZZ`wwFf#YyEP+8;eX&T0XsGXnoNXSGR!tRBEI zQib_hsQ&Q>6BP|T?Uoq9J?3G;WrN+|#%#&`UF7>Gysbw-J^AD!Z=8~tm1PH#eN7Te zvn76Wa)04Fm~#7M+a0SrCgC}SVC}q0UM)LYjk#_J|=HnJ2Y^^#-jy@91$+V zE3>E|s#pD*f5etROYTp2nrxBn2_jzZH2i5tZQo{iMJ15eD9QWV0Ga>u)0aj_8F z-g_sOz4BcfbP3Dzc9AR@=OZrc0fGyzNZPdrB!n)Kaa6jgp0ObQse*;z>^uf3)+fQL5{8YTfd%UM z+Ap@N1_E1{))WsY7|?3U#+Ce7(Jv z1B~}kApYyiN4)~Qc-Uiv(m(+&ZvBR#7TG~SUQ+>ZcA&?t?SP~Ip>J@oFi@XR;vM>3 zvSUgA|GN~l!-%aYujVAv4v+}0@Vy*!=KjaLjF=ynl6Ra~40y&5>4v;!*aQIfZ*RnK9}N ztN@3$37+b-$}xZjMf<4gEL^h1B;p7PoSEYwOl~eV{h}9zQMtKC5D&Zo{&zMG4vs| zkJ@nEWlG_3Sjg*Uo^of~wn_+5+u&*fLQz?W6QjvG&*X@pvXxGm6yK732>yECKl5lo z6aTXPxWdORfRPbT5W`*2H$(EA>ETGdC`^WQw6j^od^V@w5;WCpbU0jX+wROr>!{o|Y_KoYp--!)IC!I(8Bx74tDt zuoHhMOt+h)C1&84a)8qSXcW~068CFWu)F*WNszs6LLVq%L}gsc_<7m zD8D~?81uM>ndXdDY$x|6#|*BA>#9hcbU$aSldlW1AKb^6J-8fWmL~pYs-O zI&M@Xt`|Bh-CtM`Sx{|7Q+o?g$jXRTX>p(N>R@k(r}g;w;V1#aYue9qhZ?HDIH zst<*O|0$(=hB*$d^jr(p*WY^umG1Kzguu~|uF&(a=`E8c6pg}Y<`y*{s0 ze{*WU>3Nj8Uz;M8_E~CRd}L9p@h7nCn9oz(16M@tiwl#9mou&04_doSA{REtd5Xf>9&1VXfxURrQXe*P)N?e@s|Wmv!0&QgZ& zlUsl_sJel0$Dok+3Dhrx7E=$MC|CEJHG#i|m5ae{&Z5+{B=sy9uEPCU33Vg#BZY~v zTY^QveE0j(L&SlolbZs>d3XIOD&OC3bW0kphF76Kno%kb-}$V;kw)PC!87U_71mc3 z@<1)Hf;N!E~i(O{6ahZ*ClgDUIah$)`Y>lc6ChvuuKV zXy^T%W^QC!Ad>yPKrL)lcaGdh58lTZG5aO%TG1cmbN)C=W0#3sJRGjdfGY;Qa5$RF z_p!DP>7SAF*i!9Bq}DLSl?a{56okkCwE+14PljgPOi#KTs0ugUh zdX|U3#G-V@d(E5knuO5#`5qwEKKe#jIW(j(Wwez1ApVY6&Aubw_wZQld5S;!i;h3b zF*G5taRLLw7MopHWQfm^TX_Y9wTN^nLd?0&I1l^lnbGu{`cWzMvMlLTzKNk04$5ut zx4Cczo9$~@vKV+&zhfn8tCpv#fUeJ%6RFsTmkFNU68e)DY;#UqAvle%mc= zJa~8B3eSx+95d-CYFCXd!uyodjlUo}@k=|;8RR`%LXOe;A%4iZ8m3hTF*`}*<~;yY zRUSPb;{4tLTTHJQg4xpr?d>_cElOJ-{^iIEy=h@S@Jb#FezI~nJA}aXIQpLJhMq<< zq1e=XVh;eZK|)pZFo9?YlEbVQsaLX^$ld%Ci-VqFvnHj>Xnz{i#H^kl{0fb%x({2U zO9StwYN*u}!ZR+@|K^AT&6`5yfU~ZM`dQp7VBYnNmh8nDfzZcQvEm5I+BMecJci$i{QW);K(Bl2ydAJeE`{cZ^LB-i6g1yl}@VuN$p zc($eJkaU2y-V;z6>Qf@CrnYH^usU=18LM&p^e_cZRCt}FNpK(h44dg#FBk(&f?-%M zHIYg_mE^ca4@n)c&EC9)Q2_sIf+6>KS#6L-;9uo7$ve(j_NTxi3H$lCY1&#UkQZE` zc%^90B73QM~`z@TZd_$w2ewSDfIRAlHvSV2gpUb}kvbuZ3XpSJ6uc zFduCg*E0D<=WYB7AGJ^pp+p#tD(Mxsx~63#hYWl};j9IgOmgdLNG@7W+67%F4Ej(5 znjuFC;mAe3JP?BO=Sdypy<;O#Ky2{Kru)86{|Kvpz~${R|8$LIAk==raHkcLiB|0^k*YO_}pDe?K&AY||TFK2@}da!IWr3+<^GqIn2 zf94Rj#b=>Ddm4dxb>Tdiphw0SrkO@928lX(4*&LYfB?r1hE`JKyfK_do0UDg3)+pW zCK?3L5em@58%NCjXK^m|{ks&Q2u$C+WeFj6jt)=(3}xb0$sS=RInfmYl(f;ED}>A~ z%%aWteTQjmK}Pl3?m|?G5iZ1f&O_%GWkLit+&~+q$|A??vb|fLSuI>&jY42_@BhC9 zS>aBl+xvkvg3%otZ7HvkmGJD)$O9Aslz=(i0kgG4Tw8&Il!i5otp?}U;Y9&D+kAM(~R-x~+? zLYNCWQ9x^jVB!X~y3S039YYf6Cn*D`(HPhI7|eY7O%z)Zo?RuBp1z@&A>J+5XFXj8bxWXguWRZbP z#Fhy#+BA&^^lF!PO~3`raOtU@G>PXqd`W5nNbAIi&lsib`TEJ3TN596CA;szVQ|`? z$ppYn;1|X0V0M5Mpc&&KRBOOPeF@By4ImF|d2Le5HtkMwq0>~sz;0A(T@BvIDPGCh zvI$Pg^hIKKDCx?))cO1n$!2-jNFJ>sK@gz>%b3_m7M3gaMTi0}CBki}1_K@fD!<)`?`2QCUpbkKLi^kars8t8tLk5?;THyLm2E?ip|TjZeIBaa(2Wu+OVk!S zjtmE9emB}c%Z%bxZ1R{|`*jGdk$`jx^J!A9efE8r-GJYMWi~pEieE8P-?tE z8o1vh_B1lYFo8x*sLjz?hJdpyB2l)N+xT$Vm-ZpjU)MOLYf@j_hLLw5-{8!X8C<8m zg?@6`*~d`bMabI1No3HW2R%1FLPx6}JGEQ4T`xpYvM zrE{?~2u@Nvi^?^AaiKKHhp>Ie4!g1uqIv1&kE(QwzzAVkz2<)TzFQ+G)~l&UEF5j$ zyW^DSoFnc_{w=lRHf|D;)*z2QyC%X%rPHb!Q@OiB0m)26dC85XnU3|*^!l}3xAFhW zbL<;YbM3n%G(Z53*FWX~V!e{><+nmhKo7~}PZ+t$bU;EJEG{1X4}Vt-wlF0yjl)zB z7U}ddoJM>*jK`QA0->2Ze9qzQrIivz)peCKM}V-P?7ex@1yX*0U_tnvXyII<+9`gs zPWjQV4TS7szO1mtO*@CDOi)9gi@lXq{I7z&j98w;X%QCF)I^!j-Hi|k$d#+h@~;S<=JX%+CjTj$K-1paU-!Yu=Nn3<)ohv- z2+FbKs>OS#KC?RCXo)W0pnJBTynZgDmg)+QE7A$4R1;~n?ya}H(-RJ7Fs+l!mxNiC z_j7RKiAD!TWdW)lrgm&J`B^J7i{K!7b2s53Y96{WwyNUn=*Dg{Zi}85T@y6d1;ixQ z4v@?Bk}LMoN9_G{G%?N_z9jYG2Q2#Zba)Zz>pzDhYQ+C5^ch2x@k%U<)72J*p~ zk`O*|A70o1VEYVvkr*ejwp%oE<2@T-0a`t{BGAsTk-xG|gLQ9`{G%zbjnb!tHbMPMX|A8xU#pGd*wHa)mFjINkWeM zGLg7%u?lR`(vG6(AA>orQZFCz+1-%42Qp1P$wguv7zq{C?b>EyQr@1N9zmZaDwdR! z??rc>Pc8-XeY0(z;rpHGJC;RJ3229R1kBDSfl%+P~|C9zI&=8JpZX$IO z+2o;Irw4K+P{8xA!9L4)$mofC0AqEh+4%?h@;1vJ+;1kF^bMSfOJ$uk$HiN{L5pAj zBj^AC4<;`A%j)okm}#U(KbE2{9*~WSrkLHE<{A+X&&O4rWF60l+KF9BxiTR2Ee;Cn zlb32dOtSA*M#1svg2e0peFVXumM-P$gG0e?dTrXOmF)|jALOApdZW*$)=DB-?!%_@ z|4z1-9c#hIDPCbTfkSSHyUU8E6EEx~ax@v}_sZ0<#@}`mR39aY86DL*q^@?eod`UE zbnCQMOL6HIb{J*|)cpyYLy8Lp*paX`TQXtMKj?%ydybiMS>|Z6CI=2SZ4YzhI+N}= zr91mvVT>PbpdzFgmX2CKc}6!G*AI?qrJ=w~*_qvaL%s2&YUQugmS?f~OSMaB0~v!J zZ7uHa@YDhQ%1Ty>d{*@W^{D zi3grcz2q5#O4!mVJS^D&8`hb6K)wCwQGx|Kv&>Lu&EA^x^~e!r-u3fA5@kL8bA-21 znXd`3-oVfteh@F7&!j6P(TIs?l~a` zFttEc;qB5SznhYXaa0k9oXbp@%RH2+3Y)y1K2V!VQDb@Oo)Y*Y;<1~HlXorG zs@Ef`_|!k%!7vM6B|z}8-k-zowexHd1YY#CBoOd@ZIO1oxz}fk!ab{(m?&tCnzCb!R9jXAP99NS*vF80AfgbzzD zb4Gyf#}bM%y{Ph9E321rMrgP{N0`qm{*GUvO)q&KZ`KptKq13p3r)wUw+W##czmA; zBFBLr!29s-R66Z;hMJC3jd}3->dCOh>_onSNF*829%ByYHk8DEGu+Nij~Mp@tP7Uz zW|!kwC}S~)kMw9il*{{Jco$Lx-1s0<%vWWr0}Z|_cs5*0UjP6j*ctR7Yr0pr7;IvF zB$E%78$qmMJvK*PUPhzSXxuTYujNPpPvr!_4DE3iAjON2)s{3~sr@AQ2Wh8Gnn-p2 zLOv$`RSuW>6kX-p*AF>ZU<;#VP<>PtBUw%C9$XV;cM~7@X)Ic4JsjH2?6Dx<*+B>) zRzdx5brCavLdl=SQe0Rbf)QpFBe~mVTG5=!4|Z1UTF|Qs@-lp~r@=yg9v^I`BSJ^{ zA=M7|#7DLlW~FAk_npc z{-v`d&ftP-AaM3}B z)=hy^vjfmcVc$XT32~SVC0`F02tvmQ!fj$4R94G{bP^?~mutF#us{ebr3EIh1$lsu z4F~(W0ci|6zj>_=~2s^+;a?x>_^!uCaOsWPiN;pg`K238;NF|^$ z^i9TCwW}Bx^RPM@#`0~YLea94aJPUaG2?sqKqf~>VMC1dhAHOVaamudOY?ii$&x%U_obpP+?3`tJFE$qQKM8;d)2mrf!+hTv zjLh@pVF@#a{TaMWS+cH6`SYuN2$+po%~CX@C3yt*<2Nn?F_Xb!m7`z%1=jbrh2;!e ztfWPFncMLuyCqZ{S5Lu4aCzMYviI6MLC>FSXY(c7X^! zDqDar?4hNkk-!Eb>>KWZ4!tMraxs$H|8d29OWx|mvZ_zpa1a_h1?}VKTZAsyYpbyX zS%{#I3+6r)o#vvHa*=t3+>MjDnb*^w8Hn0R6QWIpCY*$y3@HAv#S$KuQ?&l*WnPAE zlO_5GHl$fuW)tG-g&QJKJB4*3%_vZs`hPHSMNaQ+mFu5&knjS!MCxJ6l(D4Vuh14s zsE8Trvhfk{s}uN0E(iG{!$gKjDv|>Sq09!Y2-$c;sIo5f;zcmx4Hs8*Ks)L5utauE z%`=x0_Di$tXo5*X>hG;~>MxaiU!${xymgv$kYpl&05xRsUq=LWRA7Gp8y}P309oDM zw^+g7ZSZt6zu(OPko~|4{ig9MS|lI~X@i|BKPkZVdj@)*_U2|*Gk8Z_;vz(6=B!}# zNXFzlW~%7!19%M4!;5gj(!8fM!FEe`(qy7Nd~gui1MjHn;8?Je10SJ>p~Ao*x<<~9 zH~&P=wy9^oC-vdFC@`O|QrhFSM|N!oxG!}e1(2M|Hb_u+C8^r|H`?^S|Nn=PMM|xJ zmIZ}N8I!s!<06S?&kpMJ)F;g^6D8+MwFb@MAVHH6VLQww1nKQE=7utwi7`l(9g({a z@W;9@+TvBoViZI$6~NLLSM^3f+Tc&}5~h=&Dnq()JOd^DBZk1LJ7wY;Z)keJ2I!q5 zJ=pMD1epq-&K)xURlncjD51jQ?+8O5Izl)D_Z=J0X|I2slC7cJKL3f~%ip@sEGc~E zkjY}Ba5O+D{s?fbG@Fmxpg!NBc2yh|b?V2zR}*R@U7HfPK6eFs#00rJ=F0(t)G>LT z_Umma-=aWkD*`Qq=806eR_*|vAuE1`;9agCR)QPQ>AAMPS5u*BS(tnp5{AFEbKcDC z9z!>3wI*DOx#B*9^yQ<4;Q%kI8DmuwMcpeV(ffUbCfS7@(Qt_4LHg0QnDu6Xj)FvB z$%`^?cLbCv%l6Pjhc;si;tML6S3~bG@TBhOKJpoop9I$2B$^d#7L)x;_aBL3k4mWI zS^~a^D$%QEb%1bqD%X=kfJ)Y<4gYO0>Y7h=L zJFH%-)Rx|BH7Q&6Vr0efknvH)$O@jF{^pJG~3;hlf zhL!s6nxrjo(7B5n(LYYI%Oa)qQdlwcu&kb)#a7yzf>u~*K6voBt(g^N}Fv&5foVu;4IPfVd%7}>(GX^0bhalU?IQ$7kBAO_efqw63(lG zisCK4OkH7!8+jgop(U7DR=wEep_Iz1Dm_P)0!0N|Ahn@NiPeoVOlEondWtDUcoGC+ z4e9rxaOyuSKKi zmp2~x$K0eqfnzi5*`$zC%67_LM@~K3lXj7I+OdM(G$?}+g*}a-2t370yn(6+C zPzt?5qaf>fYPy<4{yHN$*29SVHcCEg@KD)pZ*eSlpRiRu=_CHUumktFN0Gl*BgmdJ zeG>lBF3_esYPi2&^xB`|xTy^BiiE4WJUe$pH*o=7vZL49F#Q|V-GK?Wge*xTsbMo4 zLMGzRzQF^#sG*rkOyTpaT1=u*AuzjmJ%8K})CIX|Yd)COihXP)Uj|T~Bo{420iYh( z#0Xi5*f5ID6F}2ywBy|aP7r`la~i1&60<^y37KVbu~=?;HDB134x889F2~X36Ffhm zQ&&aP(7dz_8b?Pa)^&|}UrotrLd43cb4$A*i%udHJtp6L1i{@TpUn~YNPy{cVY55e z!_4Qmf!)#J(#h6p4h@Lzgw)cE-um^)0Pj9&Aln<-7w3Ve5$ z7MRhFl+PEEsC_oqt4gp5iZ6*)a-a)ON>&5TfDYvrq^)R@SHe;kZ|{DMe+;wy|NRB* z+P%>)vM!-%k%|i^_)Az6`;VZt7lMa*chqe>VRFI>a&v&ET*Cf-3hMk9rvtMD+-zry zFMU)Am)f3V1=J>;vi!_yzt7{K0CwB1FLcEtA;>g$u%%PNui`<df@!2AX&rEJi4?FX4edDe-bJ!*zfP=J=Du$4!J(A0zuyU@JjMf@mn z(l}a5Bgak7K3y9^{|rKv2`^GP=9b&Q=L=gPCWy4iK@+@8F=pJe2=|mdk zKG}mrP$02I_3PUI>A&WvyP-h^QLnVDf_S2#T-&}meh{GTb|M(riv_#u*a@Z{x9F*R zl%5;6pN(&7No5KjgoWAgTk+__r>J0xR&nN@(rN#qRyE7;V0v&{l8mXHdIRvZ5NY>M z#6WL--JfDDAI^n+^kVNLuzoqq)LJXlhd?>$#GMi$^=cvt47fbMehWq@+N ztjp)dK}h-`FQ7Xbr?v)G`Jp>|aPj#j=2(^?ACiu9to!I&#)0Fk-X^QX74J>rcIRxBmZF@>~B^R?s#gF!ZNwKT|Yen7lH)iN+v=oPr(E zdlT+hWADDfr1n*HG_o)>3UmJ`tdgk^1;?l(QbQ7Vb*U%nk3>Kr2h_L6!}UjM9!nU! zUfp{Zp>VfLo-3y~rl%^Ri$wy6ObriG%oZi4Z^7dXl9D+9qJ&|DGXtt|;A#=6mJTSV z9cXmqsMEVet6{BG40vZA7VBb;R9A1q6hwp%Lx0R#VkqyxFunBe5tsDjCB?yjxffCn zRlgHe&vZ!1?^t1Jds<`!&G`F_V2@ofm&>MiZe#sZXZEnQx%5ZF+pYcW5RlPT*yD`V zXWZa`om4+wI2R(2R#f8L-$@|*^l*Koc!v|Gxc<(dH5D@9#ID{PMNdW3%ONe^CnTVr z*$W#(k+llwd+{E9S5|c9DF=!f#hF0fOrzw|MWoXOnN@u@)61`FfE)sNw*kbdm}{<< zSW@dK)}k-}_+agc(`ph;p;b;NWIO9SMz;5Y=hNM~8G<>z+sy~+h_?0<1L}=9hJ-R4%{0Y==tVXMc(ptJV%K9vSUkxM^ zFuG5@oCGFV(A&FH+c!N9O6pT?(b$r!4$hEV zEq?hPa~C&S~Dr z)x8^ukL&c}TdPU=qtJ(-opx&GI*f#J?@~^DnV*7=6{q84&*?exA1-JYWX14yiDSOG zW!k7Ui^dpJe+^J0S@AR)X`Q3=s;HX_Cnlnq!&RalExvyz35N9NsVJY_d7BbS#r-QT zL`T1X0~_0md03F@@1)bM%RjUyOWf5K>m&h2lBxODHH+H_J9Lz7jYj z8z4qg&`;}fV(18mPGlPa@zoJ89Lag%J@-o%I_V|B(ibc&L#ac`K$q7Rm*`9$t$=y- zXC)@9S&=d_;^V0GnZC{vp9q$W)As=kS(z*-tw7xpJ28krS`<>}2q1AGJ&JtAUZ-kYwp~Vc%DF&?4~NYN3)G5=gGC zVtD$Xwo*dA6yk`bAxQF+w~AVmuLi{-F%u*51hN*hKc)DSK-rViOuv{u08}d}RPALY zi9P9wY>E+QPcJ*r^^MszEy#08%kH_(R(Q3Q{X zA50tok0Pq~p>f%@#*fcIhe=Jk=Op{l?5HJ1>e(--w1P6ZS-cScqpQ|%&liPEYSFY1rkCtx&N^;LtB6N1Ie9R z7LHd6x9i}%O|=jYo+e^*^lV0L535XvbXMjJ|6R&U1Qb%cXII`o?WE~UbHbJH6c@#`Tn|g$&fp1fiIHt4|8Rk{0@75s* zUlPq*{n-E>e&Q%m@!VFl@Gpzc-G?m!4mp}{AZQ-M4+lGRkqL4z?_jSm)&h86g|~K!e`;?qN>}L$&u$^f`GngMpgB--lN0{f(K`eW>d7N zgcM_jj6{HfsZ0!hBsdA~pQ7k>_pi~jD~2>hn50}f&4SLtZ>6#{_BAEgcJn<2mHaI7)fH}7I}lLw?wEu@tj#A9JWmI^iNt&gVgBnQH!2M zdHKwUv@%ndw7EM#LAfhP>>aa^;qp!>YB@moKfzJ9hxW(|ykd%hpqd{Xq(+M+no|UO zBzqEC!Fvk4G)}3tV*ewN92=OkW?A9430<5Nm$)l``l~oLMzf=PNYyC;I)0bq2ct&Z z+P$-4l2&(Qf>psRLYeiew2T(4F90->xHEfcQvU!LzRW2*T#dK&_@As5riV_L{+OA8^LD(D3E&E|?0>d6XUM zI;Ixe%Y_rEgIFKR)+~_?&CnBD*oAm9+ew`Wd}}H7Mq!+9_?nEBy~%Ci%aQ!^%f!F* zYZB}RXt4*b4;a$KrsolMW985c7N_Kbshes4wmR-%JR9uDqNk9t^y1BFh1NI4p&<)AkUiUrN0MfiOQN_vw@zLY+Fe;m&97Ym1v8-$Qp4C!GKxU)`9} z5Db7Bmw4VZynA!X;J>}cBFa3Ymv%OVbC3cEKW@IkNU9LlbfJd{_qN#Xjl^uz6R&EbmEZUu)F8 zH}#c8c%b3E%bOCN@PJfAI(0p@iHZo{faiX|B9yIo3F5Xmu^yzLvW_EXwk*l%`4s>d z&aGu~0QS`O8MKutg*8$({2dtK_IQXy>2>2Kx5etz{=9tC z3TWRt`#`l>X_V9!Pcf~MA)y>XfaftNkMrD>{JQ0F2?Wv~XTSzM-J-jfa-6kw6N~F2 zhxlJ^V3qf0`L}-mSWoMc5GdMxSMT9V)Y9D;l!+hkc)r*TcwO&nU%K1&76?9gwf$30My8Wr(!I(L{&M1jFlClWH zTb;2Si=^T_b|iw-WEgKkkp^^bz0VhgD&&`_Y~i7wo2~!z3JY6T^_pC)f;c4e78#Lr z+;cSw1LbK!zUY)(lWn7#x;DjL_#A!OHE)@8mKvqh z7p_O-+JGC4xrt<0dE;huvg;L_5@AxZETUt&imOXz9-0%V0++Vm9i3=}zmEF!&U`Cwx>_^MJK0 zBa^ELpslhC^X7_sNm%Lvb*87PjC(&ii<*}1JProqU}LS(QR&&6DqdU1+jCoHgp3EZ zJ}P_+LK5n(;|mY(eN~Kj$d?d&fmjVkinf}VMw?taZARxz}|KS5x@cP)G8WNHeYFPk`h+9U9 zgovxQz5O~yR-4qr!HgF6lXiwJYgKPC`oaMN8~o(>J$b)0b5SRE<3$>1rll*p;K3hL zhM>C8=%abRS+P`&w2zpATO%5$>C*D}iLSP!K-*~L+dM|K8_)4vT)>hXe&ozVjU3E4 z!hiH^^A~JpdDWZ1HHx6A9(t+9(5&;B8W6tICOLcd*&@2`=5yB9SDZ5dZX7!QBUTGu zcDsz)MYCfZ1tSzr#QI~{vJ8xys9loWs}$*1ChM4%)FKV5;ZEeH>J5oyC7?k5OPf~r9l-=dJ+_bGl*F}cXi$ASVWHek1kX!8WvReP{e%SOh zsrikun%^A(4xMn0f}RCohWr!GmNErCcmYvA<*Gx}h~y6}=Vtx2NcoA9gJ&~3O<|Lz zx^in`I;C3Da|uh+fUAV-8UnxOjBS&0+mCO-atQh2Fe*v;hX1H4J&|oxP^})KYc2Qh zf53zACWh39M6hrxn*e~sKRT0uDt$>A*Duu|cf!)$1QE!VBN7H9g4C_5b!{HI%V^a* zIP)Rs)TO^&AJGIH>-KC-?6U5G%)9exgI0{T&A_D6Y?}ct_#xN(u);PEElS}LWD@S{gLr+iU!d=`?uA>BFB4BU}C>e5W&Nn zf$~jf6ivsDA#lnn%3 zv8}U~ZmoLQ?x7FuW{o28l#e#_p@{GIZAWe1|9OmMVG8<97ePqib}GzK?(5UkQ7K}# z*=E|4lx}>S=4Z7)aK1s6R-<#K1G%EC!sO828Fp<^TYp z-VmB?H{^pB;tHX`Cst4nxH=5qE~?LL>QoCuKg*6wHHF+}XimX*qYUkMaBcX*rg=a+ zKT@|&4V_UnHA%OoJS(Fx-qvJ=(0VZBt)QAXkKfA=Ad`zY69ZKryMpl?g0#8GqEqr^ zj_rsL+Pl*J9yh1ZjZy)!neO##9{amWWcn zZaIhrBFw)|Z2kebE#iTG)b|Z{x=|*du??f|8Z6GGjh%=u?h`vau@puht25zth~FSV z4zbMx1+<#Pl~y~B5D$Juq^9i~VLAvQ_y~?nYu>d^aDZ>2Q)1r@W5s>!17HU3hp36&D{jK<4U+N?F zkeUaLy@G%EXxtd;WTZpRv&jvOW@one7x!>}py7Emv6L7VYcHTAuUl@vLr>)wJ@c+M?omnnyp6=Ap^3XX5`Xk2z)$n4Oo|HW4I zeQF%EGNY#(1@Tr90C^zmyh(Qji&wBeFtG6@B#Ubhy=pzi;N?cWb~R0$002Y^l6zK@ zGkR)&_tSdZA;|<_F)&j7wX3kar%flkufb-%r-k+B7C`Xi%{SvThn2XEI#aFO(fFW} zOUir5`gqR73iPzAZeV&3UX+mRNCi$&QMtEtidtR&!kZ7PdNvK3TKbG9S zsz5NODzM@qC0JeNZWNmVK{U85lZ+EpQzwPyR8bgjuIjRSu}3Et!1_+7LIy*H;fBpb zqRfqrqDb^cmVaNX*np%Bz5?=cE4+M^zj&IcFGc%R!S#QELVqzb*|6vMAiI~}U{&tc zDTYL3Aj;#kqJ7@0+i|u2mH2@7wKv0ySg79-5(zRs^w3Cfo00mrw|1mxq+SajD^b9} zHh?|*ZWsT}NklVtX~?-R9Q+fj0-c~2iW0|hzR{+$=SnH&?yqH4=}kwY05@sI21=p- zZiayzb8G!$0V+@-Lv#zU3kj2e=7|E8q*JjxXlyZ8(y;elP5su?nm+$HNI6)jpzS5i zdsRQ+A@^97224gwNWoczp_BuO?CWON z6e9uo+P?5vycdkis!ZhT%!&8waug8)#Gh}wlyk)WQIxn<7&b;rtd!(~g@J%Qqp6K> zbY4rd%|qNP-hkHa%^Dw4pD;|>9rz8|?H~{LeZe8E)Y!LxJ`{vff*C4MX6{+b7DX)h zUrgYJBOD%m6Y2k)Vh*SU5hvBldCx3XuU!RbCz7ANS?kbokL-#TVRDkX$ddoU6d8pP zd4!(lB@!wYP=j87!2$iei&}40ZoETfH?!c zP1om|hO;#nIeZEhYZS}ZT4fRFwwls?H|DP?8VwEnI~=f6{q9(EX%Oi~4rV1foaj{r zykhET^>LPVd$mcjH{D3LkI1HHU7gl7N>B7o@FCgak}j2QO`rqp5E1uCTD*Z>7&-nm zFKJS*nY61Fddf)IMAnUFO2D`EtI~ItcrH#q~5F~V}K2^W5^IX^5PI!#k8yM(2#NUkL&^J()Y zrNV2dZ-2>$Eb^)yoc0$22&2%$+r2J+N9+&!sok$+QoB;+JC0zJBMAxWAczf$F_$A?1&w}*-v(_}U#{Uuf1<=N0KaZpHHPGyx*%yYL`3SA#DQ)&Yn^g-6;O5VvhhY604(?neCix?(obrLw5fUc$Zm$V7c^?!DrIb}@Iw27{MNw3@q;)Jbz4qH z;g;0!xF1&K>z7?3qY9qg$^L#+KON=`Wej6Ktg8-t-XGeV+!CeF+sC75Nu&7Z8|`o< zGL6hQ{}Ys;-eNkDs6?V&Kf+>;U)s3f1eMW-5)Q|{uJsP0b++Dq@!W`B*bFhlgPgP$ z{{2ajuJWGe#A3iY0NgZ>ic1rnb79KX|4axDGPJSTfqvI45-`;!Kv;#QT?73zPRo?b zzARvc6(;0ILszL_+Y%=Z?!K{gJAb)m7yWU{>XvYbDOIVwGt`wG35JO6sso~rKaGlG z6j)izGOA*b(7L8wey$i8h;p8QJ(EV`mg+ltH@CX_;M}PR4fk9?Ni`ANGds&{){@J} zA*Mro7kY+3(Dv%a+?B-Jv#vq@Z|!PeY96S~ml%I6ub@^@%vzgJdM}F`CWH-p^Wi2R z^)t$0GT>sM7jJAn^-~U6ZUaV7Su%9XSQe5#n1CfINI9F89;gz^K=wsmQ03LFNb@o* zPSLc~5l!ZjklsObCzP;qHc>moqO(BFnk3y>)c_D;N$}rPZI%CHqXb_*DvZhYJZE)t zMB~&CZB`wZI$pRN1-L{QGh#wTl|w5~e4b&2mTHDZv8@ujPuYzlWvpFD0}@U;&6HK? zTN0#}pg!MG6yFce6>EmATn@j$3{N%CYW0VGW>YOxPwJe-B9xRSD3kI2a5w>?ka5;lk zCW7DadiOWf(GVKepz4#npoTKba#>$`6%8o0g;^IZe@ET?bC>MNAel(S?fikQe;vc+ zn-fNBr2{OS<6t~wxWs3VDT`<&Oo8HW9H>WNyZYT{3b-z^2)>+?91?t<`;4t zgJrMcQIypKPW`eW(kRCyHnmQM9<+Ht|H*8%%~lm{#AOIw9N?|WY*D2o_tta}c9j_t zIgAufH49Bp87da=$F|n4P*4qF2Q4W_MxkZRQo`?{VIF%1?u z_9I^m2rEd+!VVI=-qm(paSNQu9A@DsI8$yau{`H~&aU7o`wB2tbJ9w0#;|0VUnKb7 zAP0mzxkI7^)bf`WZERfZo)r-dG$_ooMdfR~Z7m%SKP?3`^FZO6b7!<`R5`$&_9{SedP>#DZj6wEX54zFLcYQY9xCz6d8g8a34nc__WV ziP7Gp6#kDUQ^A770w7@@IN?KSFP<)CK(NxOowscsdSMg zDeYS_p!IloG6Pcenqm|dl?Sfu&$pSxzKyT_>cI>sm42)Kt%s>sF12B;H{peiN;v&b zM4)qrj2?npL=qsvY>T^@(8@CW+ER_jE5v|zB>qHuL!R`~;S_3(PUw5`ViSbA-{yf{ z?2$KMDs;f>i@@slWhk@h7RRK64F6kJl1s+o5+!Z84A2>ohC5PMT`AH1Ce$b}venYi zmXkI@9rDL0-7=?j<)3FFvsSL909W(PWv|@!f^2A75D`tRCpLZ&)shMW+ptS>)i_hc z^poy zPZ`MN%wSod_IX@TVoq>P!f*d?x%e|=#(u$?$!|Sg_%XlKZ0#896cxpH0pVY5u4jeC z#@JXj8qByUlB=r&U=_2@86yxM7E5yg2|N?{c&X*oxz_o3Y7`59jln|tzXrxX0iC;k z)FK3Y$_^7%7k{0f4XxC`XlEiysKd&3c12voX-`Lx6e&$9A4jBd8FIEd))WYo$c~uk zw2ReF34mW`l(vJ=>5rJT>dR86Ucs1Qe~8xQ`L-j5O3I*b_5edk z9eJMSXWg?7Ywq#~fr^Bb=r8vG5PyrLTuKRmFnMDWzLMB6g+fhs zON7TG;0Biv?BwQy#x_3v0j~Tmgdz$Hwo?&MHEsU30X+ z=`WIZ4%LYnO)E)W0!F#CMmk{j@ax4f&7C|GOeRYi49Z|%;`fSf*gaoNKx1*+51^|P z_$Gp$a8OKaoV9v1%Y|gJrp9PFK;4prG(rx-D_c_A<5^>xWA)}&9t%ea&SPV))<-H~ zSMlFfQFU;D_UiPK&W>d_+i1TZ8mmjf|I!hnNe|;PPW8mwT$>PKTG}gK%>m`e`?eOd zdYHhr+IP@h{lF{S5rohct;^_T+b=n6!zq?AAw95a*-_Ybq{2frb-TFw+m+VbKx)y|0P?*YBVpc#u_efN)>YGLo|>7i?CQe92%&R8vapyTGJ0%^yOx8 zcrOvj%V!~m9(7nkwzI@i2wWOTmGK~u;k41u8F{F4^iC%KEmKKQf%xo5(ulpRZTE~? zwW<5T*wQRhXQ^pV5+@Z_gR#Tijgf;mzOb!soLmwR5 zOO9nX(v6NTbAc+ad5wqQ=NplxwU4}7 z=>^^!tzZwOjUSXTyR*aVF^pI`KpZ2&kS~~!>=m9NH7P!%Oy8UukJtW)dWgxCG^89S zY2KVwH7q00LuEQHvtH%N7j$3ZWYEP-%qp-Ixo2i&Iur^G$- zAAlN%a6{MbxGpE>lTs=2dH-Z6nbqyYStxUxKU~d(o8EJC{5Ik#QSFeXq8qzygwUR_O&m~JHbk+y1 zKau0iSNUnL`AilB7NNuUH8dVdIXi4J(<`x)j_uh6$Atuns6>{7?KUMLRfK)zXr6EixnZ2^XxZjR1u=v#$N*h#ymj; zdJMNwQVP5oJ~1lT)5cyL19se(N^Dd1fyaiH51VkBDidptO+vD%K~Rv8(|l*hLA~Mp z_>+ez=z_;UTsFIIL4J=#i5RbE;^81AEbokKN~h&^xR0#O0M9V;2fn6uPE${b%^ml_e7OKp%Fr$<~+146ZL)3LN2N`^~(~>tO&!5mpNt2BhL?#1Z0077xMAHBO literal 0 HcmV?d00001 diff --git a/src/main/resources/images/feet.png b/src/main/resources/images/feet.png new file mode 100644 index 0000000000000000000000000000000000000000..be9329904c4e185ce2803e507cab30e132efccf3 GIT binary patch literal 414871 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

1UL@l2924#4gPOAtQaf^eAlYg` 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 z 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

=9%r2AcCusuy%n(Ybm*M8{ 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 K?5xDSJV3 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 UaQ`yQdH?_b07*qoM6N<$f@@>-4gdfE literal 0 HcmV?d00001 diff --git a/src/main/resources/view/DialogBox.fxml b/src/main/resources/view/DialogBox.fxml new file mode 100644 index 0000000000..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..435f3ce0d8 --- /dev/null +++ b/src/main/resources/view/MainWindow.fxml @@ -0,0 +1,19 @@ + + + + + + + + + + + +