Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[vivienherq] iP #529

Open
wants to merge 72 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
28ad2b8
Add Gradle support
May 24, 2020
ed6d4d2
Bump gradle and lib version
Eclipse-Dominator Aug 5, 2023
4b12bd6
rename
vivienherq Aug 23, 2023
a6f13d3
greet & exit
vivienherq Aug 23, 2023
6ae3cc1
echo
vivienherq Aug 23, 2023
cfc7c19
store & list
vivienherq Aug 23, 2023
ae180ce
task class
vivienherq Aug 23, 2023
07d666a
mark & unmark
vivienherq Aug 23, 2023
4cec3c5
lvl4 todo, event & deadline classes
vivienherq Aug 23, 2023
a056e50
lvl4 todo
vivienherq Aug 23, 2023
acbfead
lvl4 create todos, events, deadlines
vivienherq Aug 23, 2023
0dadc72
lvl 5 handle errors
vivienherq Sep 1, 2023
91b96cf
lvl 6 delete
vivienherq Sep 1, 2023
2445b29
add text ui testing
vivienherq Sep 6, 2023
8f55d5e
add save tasks and load task
vivienherq Sep 6, 2023
4fc7fc4
implement datetime recognition for deadline
vivienherq Sep 6, 2023
725c47e
Refactor code into Ui, Storage, Parser, TaskList, Command classes
vivienherq Sep 11, 2023
34281a2
Revert latest commit to push to A-MoreOOP Branch
vivienherq Sep 11, 2023
6bcc6ec
Refactor code into Ui, Storage, Parser, TaskList, Command classes
vivienherq Sep 11, 2023
85e358c
Organise classes into packages
vivienherq Sep 11, 2023
8144a1c
Merge branch 'A-Packages'
vivienherq Sep 11, 2023
89204e3
Merge pull request #1 from vivienherq/add-gradle-support
vivienherq Sep 13, 2023
23714e1
Add Gradle support
vivienherq Sep 13, 2023
88e778a
Add JUnit tests
vivienherq Sep 13, 2023
9b188fa
Merge pull request #2 from vivienherq/A-JUnit
vivienherq Sep 13, 2023
1fef7f7
Modify build.gradle for JAR creation
vivienherq Sep 13, 2023
0314cf6
Implement find feature to search for tasks
vivienherq Sep 13, 2023
1e5aa08
Add JavaDocs to methods and classes
vivienherq Sep 13, 2023
9dcbe69
Modify code to apply coding standards
vivienherq Sep 13, 2023
b4f582c
Merge pull request #3 from vivienherq/branch-Level-9
vivienherq Sep 13, 2023
fbeeb36
Merge pull request #4 from vivienherq/branch-A-CodingStandard
vivienherq Sep 13, 2023
5e0e18e
Merge branch 'master' into branch-A-JavaDoc
vivienherq Sep 13, 2023
69be13d
Merge pull request #5 from vivienherq/branch-A-JavaDoc
vivienherq Sep 13, 2023
c6507ac
Fix coding style violations
vivienherq Sep 13, 2023
6fbf6bd
Create GUI for Dude
vivienherq Sep 14, 2023
1f85905
Add functionality to GUI for dude
vivienherq Sep 14, 2023
0e72557
Add user interaction functionality to GUI for Dude
vivienherq Sep 14, 2023
904825f
Merge pull request #6 from vivienherq/branch-Level-10
vivienherq Sep 14, 2023
e0f8bf4
Add assertions
vivienherq Sep 14, 2023
b9eff0b
Improve code quality
vivienherq Sep 14, 2023
b57f610
Merge pull request #7 from vivienherq/branch-A-Assertions
vivienherq Sep 14, 2023
46ac71c
Merge pull request #8 from vivienherq/branch-A-CodeQuality
vivienherq Sep 14, 2023
cc740a9
Set up CI
vivienherq Sep 14, 2023
2a9f2ab
Merge pull request #9 from vivienherq/branch-A-CI
vivienherq Sep 14, 2023
5f3101e
Add Note and NoteList classes
vivienherq Sep 15, 2023
bd2e27d
Add and modify methods to support Notes
vivienherq Sep 15, 2023
1130fc3
Fix Checkstyle violations
vivienherq Sep 15, 2023
35e7c49
Merge pull request #10 from vivienherq/branch-D-Notes
vivienherq Sep 15, 2023
19c71fe
Reorganise project structure and add packages
vivienherq Sep 15, 2023
ffb7e1f
Fix Checkstyle violations
vivienherq Sep 15, 2023
44cfd21
Storage: prevent null values from being returned
vivienherq Sep 15, 2023
c963ac1
Find command: make matching case-insensitive
vivienherq Sep 15, 2023
af043e0
Configure dimension and layout of GUI
vivienherq Sep 15, 2023
d2a8732
Improve GUI
vivienherq Sep 17, 2023
999bd2d
Merge pull request #12 from vivienherq/branch-A-BetterGui
vivienherq Sep 17, 2023
1c87ec3
Add delete note command
vivienherq Sep 22, 2023
2a15d2d
Add additional checks for error handling
vivienherq Sep 22, 2023
94c8ed9
Add exceptions to Parser class
vivienherq Sep 22, 2023
fa95713
Add exceptions to Storage class
vivienherq Sep 22, 2023
c40cdf4
Improve error checking and exception handling for date and time
vivienherq Sep 22, 2023
e3b47f8
Merge pull request #13 from vivienherq/branch-A-MoreErrorHandling
vivienherq Sep 22, 2023
a527597
Add delay before exiting and closing GUI
vivienherq Sep 22, 2023
3a58feb
Add personality for Dude
vivienherq Sep 22, 2023
7197092
Merge pull request #14 from vivienherq/branch-A-Personality
vivienherq Sep 22, 2023
8abaff7
Improve exception handling for parser
vivienherq Sep 22, 2023
14375d2
Upload image of UI
vivienherq Sep 22, 2023
1c14b2f
Improve code quality
vivienherq Sep 22, 2023
fbe3510
Update README.md
vivienherq Sep 23, 2023
4044a2c
Find command: support searching notes
vivienherq Sep 23, 2023
224d2a7
Update README.md
vivienherq Sep 23, 2023
8ec8d9e
Refactor classes into packages
vivienherq Sep 23, 2023
ddb13e1
Configure build.gradle to create fat JAR file
vivienherq Sep 23, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add additional checks for error handling
  • Loading branch information
vivienherq committed Sep 22, 2023
commit 2a15d2d52e017a652254185275962b8796ad380b
1 change: 0 additions & 1 deletion data/dude.txt

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file can be excluded from commits!

Original file line number Diff line number Diff line change
@@ -2,7 +2,6 @@ T | 0 | eat
T | 1 | sleep
T | 0 | have fun
T | 0 | forensic lecture
D | 0 | ip | 2023-09-22T23:59
N | the food at deck is nubbad
N | i needa study harder
N | gotta refactor this later
54 changes: 45 additions & 9 deletions src/main/java/dude/Parser.java
Original file line number Diff line number Diff line change
@@ -35,41 +35,77 @@ public static Command parse(String fullCommand) {
c = new UnmarkCommand(taskIndex);
} else if (commandType.equals("delete")) {
String[] details = commandDetails[1].split(" ");
String itemType = details[0];
int index = Integer.parseInt(details[1]) - 1;
if (itemType.equals("/t")) {

if (fullCommand.matches("(.+)/t(.+)")) {
c = new DeleteTaskCommand(index);
} else if (itemType.equals("/n")) {
} else if (fullCommand.matches("(.+)/n(.+)")) {
c = new DeleteNoteCommand(index);
} else {
c = new UnknownCommand(fullCommand);
}

} else if (commandType.equals("todo")) {

if (commandDetails.length == 1) {
return new UnknownCommand(fullCommand); // error
// System.out.println("OOPS!!! The description of a todo cannot be empty.");
}

String taskDescription = commandDetails[1].trim();
c = new AddToDoCommand(taskDescription);
// if (userInputDetails.length > 1)
// System.out.println("OOPS!!! The description of a todo cannot be empty.");

} else if (commandType.equals("deadline")) {

if (commandDetails.length == 1) {
return new UnknownCommand(fullCommand); // error
// System.out.println("OOPS!!! The description of a deadline cannot be empty.");
} else if (!fullCommand.matches("(.+)/by(.+)")) {
return new UnknownCommand(fullCommand);
// wrong format
}

String[] taskDetails = commandDetails[1].split("\\s/by\\s");
String taskDescription = taskDetails[0].trim();
LocalDateTime byDateTime = LocalDateTime.parse(taskDetails[1].trim(), DATETIME_FORMATTER);
c = new AddDeadlineCommand(taskDescription, byDateTime);
// if (userInputDetails.length == 1) {
// System.out.println("OOPS!!! The description of a deadline cannot be empty.");

} else if (commandType.equals("event")) {

if (commandDetails.length == 1) {
return new UnknownCommand(fullCommand); // error
// System.out.println("OOPS!!! The description of an event cannot be empty.");
} else if (!fullCommand.matches("(.+)/from(.+)/to(.+)")) {
return new UnknownCommand(fullCommand);
// wrong format
}

String[] taskDetails = commandDetails[1].split("\\s/from\\s|\\s/to\\s");
String taskDescription = taskDetails[0].trim();
LocalDateTime fromDateTime = LocalDateTime.parse(taskDetails[1].trim(), DATETIME_FORMATTER);
LocalDateTime toDateTime = LocalDateTime.parse(taskDetails[2].trim(), DATETIME_FORMATTER);
c = new AddEventCommand(taskDescription, fromDateTime, toDateTime);
// if (userInputDetails.length == 1) {
// System.out.println("OOPS!!! The description of an event cannot be empty.");

} else if (commandType.equals("note")) {

if (commandDetails.length == 1) {
return new UnknownCommand(fullCommand); // error
// System.out.println("OOPS!!! The description of a note cannot be empty.");
}

String noteDescription = commandDetails[1].trim();
c = new AddNoteCommand(noteDescription);

} else if (commandType.equals("find")) {

if (commandDetails.length == 1) {
return new UnknownCommand(fullCommand); // error
// System.out.println("OOPS!!! The description of a find cannot be empty.");
}

String searchKeywords = commandDetails[1].trim();
c = new FindCommand(searchKeywords);

} else {
c = new UnknownCommand(fullCommand);
}