From c99db45008eedbfb443ebb8f1cb91b9681186d9b Mon Sep 17 00:00:00 2001 From: jadenlimjc <116095460+jadenlimjc@users.noreply.github.com> Date: Thu, 19 Sep 2024 11:02:12 +0800 Subject: [PATCH 001/359] Update README.md --- README.md | 144 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 127 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index e243ece764..5b549b30a6 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Duke project template +# EasInternship ReadME -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. +This ReadME contains information about EasInternship, your one stop shop for all your internship searching requests. ## Setting up in Intellij @@ -10,21 +10,131 @@ Prerequisites: JDK 17 (use the exact version), update Intellij to the most recen 1. **Import the project _as a Gradle project_**, as described [here](https://se-education.org/guides/tutorials/intellijImportGradleProject.html). 1. **Verify the setup**: After the importing is complete, locate the `src/main/java/seedu/duke/Duke.java` file, right-click it, and choose `Run Duke.main()`. If the setup is correct, you should see something like the below: ``` - > Task :compileJava - > Task :processResources NO-SOURCE - > Task :classes - - > Task :Duke.main() - Hello from - ____ _ - | _ \ _ _| | _____ - | | | | | | | |/ / _ \ - | |_| | |_| | < __/ - |____/ \__,_|_|\_\___| - - What is your name? - ``` - Type some word and press enter to let the execution proceed to the end. + CS2113 T10 Team 2 +Jaden Lim Jie Chen +Tan Ting Hui +Jai Vinod Kumar Rahul +Man Kit Yu +Features +Search for Internship by default settings +Search Command: search +Searches the relevant websites (LinkedIn, Indeed, NUSTalentConnect) for roles related to Computer Engineering. This search does not take into account the user's skills and will return all results that have Computer Science / Engineering attached to them. +User can click on embedded link within the role title to be directed to application website + +Format: search + +Example Output +Software Engineer Intern, Google +Duration: 05/25 - 08/25 +Skills: Go, Python, Java, Communication Skills +Deadline: 10/24 + +Autonomous Vehicle Embedded Software Engineer Intern + Duration: Not stated + Skills: Bash, Python, C++, ROS + Deadline: Not stated + + +Search for Internship by skills +This feature builds upon the previous feature. It provides the additional functionality of being able to filter the search results by a certain subset of skills. It showcases the most relevant internships which contain all the skills mentioned by the user at the top. The remaining internships which contain a few of the skills mentioned by the user are displayed at the bottom. + +Format: search -skills {skill 1} {skill 2} {skill 3} + +Example inputs and outputs :- + +Input : search -skills {Python} +Output : + +Autonomous Vehicle Embedded Software Engineer Intern + Duration: 05/25 - 07/25 + Skills: Bash, Python, C++, ROS + Deadline: 10/24 + +Software Engineer Intern, Shopee +Duration: 05/25 - 07/25 +Skills: Java, Python, SQL, Communication Skills + Deadline: 11/24 + +Data Science Intern, Grab +Duration: 05/25 - 06/25 +Skills: Python, Machine Learning, SQL, Data Analysis +Deadline: 01/25 + +Input : search -skills {Python} {SQL} +Output : + +Software Engineer Intern, Shopee +Duration: 05/25 - 07/25 +Skills: Java, Python, SQL, Communication Skills + Deadline: 11/24 + +Data Science Intern, Grab +Duration: 05/25 - 06/25 +Skills: Python, Machine Learning, SQL, Data Analysis +Deadline: 01/25 + +Autonomous Vehicle Embedded Software Engineer Intern + Duration: 05/25 - 07/25 + Skills: Bash, Python, C++, ROS + Deadline: 10/24 + +SQL Developer Internship, APSV Technologies +Duration: 06/25 - 08/25 +Skills: SQL, Database management, Data Analysis +Deadline: 02/25 +Search for Internship by duration +This feature builds upon the first feature. It provides the additional functionality of being able to filter the search results by a certain date. It filters internships by date. All results within the boundaries provided will be listed. + +Format: search -from {MM/YY} -to {MM/YY} + +Input : search -from {05/25} -to {07/25} +Example Output : + +Autonomous Vehicle Embedded Software Engineer Intern +Duration: 05/25 - 07/25 +Skills: Bash, Python, C++, ROS +Deadline: 10/24 + +Software Engineer Intern, Shopee +Duration: 05/25 - 07/25 +Skills: Java, Python, SQL, Communication Skills +Deadline: 11/24 + +Data Science Intern, Grab +Duration: 05/25 - 06/25 +Skills: Python, Machine Learning, SQL, Data Analysis +Deadline: 01/25 + + + +Help Command: help +Shows the commands available for the user +Describes the search function and that inputs are needed +Other basic commands + +Format: /help + +Example Output +-location {location}: Modifies the search function to print listings for that specified location + +-skills {skill 1} {skill 2}: Modifies the search function to only print listings which have specified those skills + + /exit: terminates the programme + +Exit Command +Terminates the program. + +Format: /exit +Invalid Inputs +Shows whenever an incomplete or invalid search call is performed. Output also shows what corrective action can be taken. + +Example Output: +Please include a location if you are using the -location flag! + +Please include specific skills if you are using the -skills flag! + +I do not understand what flag you are using, consider typing /help to get a list of valid commands + ## Build automation using Gradle From 972687841032790c2eeae5d5b976e882a5312b3e Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 30 Sep 2024 11:55:55 +0800 Subject: [PATCH 002/359] edited readme and ug --- README.md | 135 +++----------------- docs/UserGuide.md | 310 ++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 317 insertions(+), 128 deletions(-) diff --git a/README.md b/README.md index 5b549b30a6..90facb33c8 100644 --- a/README.md +++ b/README.md @@ -2,138 +2,41 @@ This ReadME contains information about EasInternship, your one stop shop for all your internship searching requests. -## Setting up in Intellij - -Prerequisites: JDK 17 (use the exact version), update Intellij to the most recent version. - -1. **Ensure Intellij JDK 17 is defined as an SDK**, as described [here](https://www.jetbrains.com/help/idea/sdk.html#set-up-jdk) -- this step is not needed if you have used JDK 17 in a previous Intellij project. -1. **Import the project _as a Gradle project_**, as described [here](https://se-education.org/guides/tutorials/intellijImportGradleProject.html). -1. **Verify the setup**: After the importing is complete, locate the `src/main/java/seedu/duke/Duke.java` file, right-click it, and choose `Run Duke.main()`. If the setup is correct, you should see something like the below: - ``` - CS2113 T10 Team 2 -Jaden Lim Jie Chen -Tan Ting Hui -Jai Vinod Kumar Rahul -Man Kit Yu -Features -Search for Internship by default settings -Search Command: search -Searches the relevant websites (LinkedIn, Indeed, NUSTalentConnect) for roles related to Computer Engineering. This search does not take into account the user's skills and will return all results that have Computer Science / Engineering attached to them. -User can click on embedded link within the role title to be directed to application website - -Format: search - -Example Output -Software Engineer Intern, Google -Duration: 05/25 - 08/25 -Skills: Go, Python, Java, Communication Skills -Deadline: 10/24 - -Autonomous Vehicle Embedded Software Engineer Intern - Duration: Not stated - Skills: Bash, Python, C++, ROS - Deadline: Not stated - - -Search for Internship by skills -This feature builds upon the previous feature. It provides the additional functionality of being able to filter the search results by a certain subset of skills. It showcases the most relevant internships which contain all the skills mentioned by the user at the top. The remaining internships which contain a few of the skills mentioned by the user are displayed at the bottom. - -Format: search -skills {skill 1} {skill 2} {skill 3} - -Example inputs and outputs :- - -Input : search -skills {Python} -Output : -Autonomous Vehicle Embedded Software Engineer Intern - Duration: 05/25 - 07/25 - Skills: Bash, Python, C++, ROS - Deadline: 10/24 +## Product Description +This product aims to streamline the tracking of internship applications for the user, where the user is able to store key details of the internship as well as save and edit the status of the application. -Software Engineer Intern, Shopee -Duration: 05/25 - 07/25 -Skills: Java, Python, SQL, Communication Skills - Deadline: 11/24 +**By using this tool, the user can:** -Data Science Intern, Grab -Duration: 05/25 - 06/25 -Skills: Python, Machine Learning, SQL, Data Analysis -Deadline: 01/25 +**Store Important Internship Information:** Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes. -Input : search -skills {Python} {SQL} -Output : +**Track Application Status:** Users can save the current status of their application (e.g., not applied, applied, interview scheduled, offer received) and update it as the application progresses. -Software Engineer Intern, Shopee -Duration: 05/25 - 07/25 -Skills: Java, Python, SQL, Communication Skills - Deadline: 11/24 +**Edit and Manage Internships:** Users have the ability to edit saved internships as needed, modify statuses, update deadlines, or remove outdated internships from the list. -Data Science Intern, Grab -Duration: 05/25 - 06/25 -Skills: Python, Machine Learning, SQL, Data Analysis -Deadline: 01/25 +**Filter Internships by Key Criteria:** The user can filter the tracked internships by relevant skills, application status, or upcoming deadlines, allowing for better organization and prioritization. -Autonomous Vehicle Embedded Software Engineer Intern - Duration: 05/25 - 07/25 - Skills: Bash, Python, C++, ROS - Deadline: 10/24 +**Monitor Deadlines Easily:** The tool helps ensure users stay on top of their internship deadlines by flagging or sorting applications with approaching deadlines. -SQL Developer Internship, APSV Technologies -Duration: 06/25 - 08/25 -Skills: SQL, Database management, Data Analysis -Deadline: 02/25 -Search for Internship by duration -This feature builds upon the first feature. It provides the additional functionality of being able to filter the search results by a certain date. It filters internships by date. All results within the boundaries provided will be listed. - -Format: search -from {MM/YY} -to {MM/YY} - -Input : search -from {05/25} -to {07/25} -Example Output : - -Autonomous Vehicle Embedded Software Engineer Intern -Duration: 05/25 - 07/25 -Skills: Bash, Python, C++, ROS -Deadline: 10/24 - -Software Engineer Intern, Shopee -Duration: 05/25 - 07/25 -Skills: Java, Python, SQL, Communication Skills -Deadline: 11/24 - -Data Science Intern, Grab -Duration: 05/25 - 06/25 -Skills: Python, Machine Learning, SQL, Data Analysis -Deadline: 01/25 - - - -Help Command: help -Shows the commands available for the user -Describes the search function and that inputs are needed -Other basic commands - -Format: /help +## Setting up in Intellij -Example Output --location {location}: Modifies the search function to print listings for that specified location +Prerequisites: JDK 17 (use the exact version), update Intellij to the most recent version. --skills {skill 1} {skill 2}: Modifies the search function to only print listings which have specified those skills +1. **Ensure Intellij JDK 17 is defined as an SDK**, as described [here](https://www.jetbrains.com/help/idea/sdk.html#set-up-jdk) -- this step is not needed if you have used JDK 17 in a previous Intellij project. +1. **Import the project _as a Gradle project_**, as described [here](https://se-education.org/guides/tutorials/intellijImportGradleProject.html). +1. **Verify the setup**: After the importing is complete, locate the `src/main/java/seedu/duke/Duke.java` file, right-click it, and choose `Run Duke.main()`. If the setup is correct, you should see something like the below: + ``` +**CS2113 T10 Team 1** - /exit: terminates the programme +**Jaden Lim Jie Chen** -Exit Command -Terminates the program. +**Tan Ting Hui** -Format: /exit -Invalid Inputs -Shows whenever an incomplete or invalid search call is performed. Output also shows what corrective action can be taken. +**Jai Vinod Kumar Rahul** -Example Output: -Please include a location if you are using the -location flag! +**Man Kit Yu**** -Please include specific skills if you are using the -skills flag! -I do not understand what flag you are using, consider typing /help to get a list of valid commands ## Build automation using Gradle diff --git a/docs/UserGuide.md b/docs/UserGuide.md index d6cf4c3b3a..44eaed9d4b 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -1,8 +1,20 @@ # User Guide -## Introduction +## Product Description +This product aims to streamline the tracking of internship applications for the user, where the user is able to store key details of the internship as well as save and edit the status of the application. + +**By using this tool, the user can:** + +**Store Important Internship Information:** Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes. + +**Track Application Status:** Users can save the current status of their application (e.g., not applied, applied, interview scheduled, offer received) and update it as the application progresses. + +**Edit and Manage Internships:** Users have the ability to edit saved internships as needed, modify statuses, update deadlines, or remove outdated internships from the list. + +**Filter Internships by Key Criteria:** The user can filter the tracked internships by relevant skills, application status, or upcoming deadlines, allowing for better organization and prioritization. + +**Monitor Deadlines Easily:** The tool helps ensure users stay on top of their internship deadlines by flagging or sorting applications with approaching deadlines. -{Give a product intro} ## Quick Start @@ -11,23 +23,297 @@ 1. Ensure that you have Java 17 or above installed. 1. Down the latest version of `Duke` from [here](http://link.to/duke). -## Features +# Features + +## Add Command +`add` + +Adds internship to the list of internships currently being tracked by the user. The information added is automatically saved to a .txt file. Each internship you add is assigned a unique ID for editing purposes, which is generated based on the order in which these internships were created and stored. + + +This function can be expanded upon to add different features to each internship. + +**Format:** + +`add -name {Role name} -company {Company name} // default param` +`-duration /from {start date} /to {end date} // additional params` + +**Example Input 1:** +`add -name Software Engineer Intern -company Google` + +**Example Output 1:** +``` +ID: 01 +Role: Software Engineer Intern +Company: Google +Duration: Not Stated +Skills: Not Stated +``` + +**Example Input 2:** +`add -name Embedded Software Engineer Intern -company Continental -duration /from 05/25 /to 08/25` + +**Example Output 2:** +``` +ID: 02 +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated +``` + +## Update Command +`update` + +This feature allows you to update any field of an internship application. For example, when updating the status of an internship application, you can mark the status as ‘application pending’, ‘application completed’, ‘accepted’, ‘rejected’ etc. + +The default status for any internship that is stored in the database is ‘application pending’. + +**Format:** +`update {ID} {-field} {updated information}` + +**Example:** + +`update 02 -status application completed` + +``` +ID: 02 **Status** +Role: Embedded Software Engineer Intern application completed +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated +``` + +`Update 02 -status interview scheduled` + +``` +ID: 02 Status +Role: Embedded Software Engineer Intern interview scheduled +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated +``` + +`Update 02 -company Venti` + +``` +ID: 02 Status +Role: Embedded Software Engineer Intern interview scheduled +Company: Venti +Duration: 05/25 to 08/25 +Skills: Not Stated +``` + +`Update 02 -duration /from 04/25` + +``` +ID: 02 Status +Role: Embedded Software Engineer Intern interview scheduled +Company: Venti +Duration: 04/25 to 08/25 +Skills: Not Stated +``` + +`update 02 -skills Python SQL` + +``` +ID: 02 Status +Role: Embedded Software Engineer Intern interview scheduled +Company: Venti +Duration: 04/25 to 08/25 +Skills: Python, SQL +``` +## Sort Command +`sort` + +This feature allows you to sort and list all the internships saved in your database. The default display format is in increasing order of their ID’s (based on time of creation) + +Users can specify a flag to display them in alphabetical order of their role titles or by deadline. + +**Format:** + +`list` + +`sort {field}` + +**Example:** + +`list` + +``` +ID: 01 +Role: Software Engineer Intern +Company: Google +Duration: Not Stated +Skills: Not Stated + +ID: 02 +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated +``` +`sort -alphabet` + +``` +ID: 02 +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated + +ID: 01 +Role: Software Engineer Intern +Company: Google +Duration: Not Stated +Skills: Not Stated +``` +## Filter command: +`filter` + +This feature is an extension of the previous list feature. It allows the user to specify certain values for any of the role name, company name or duration parameters based on which only the relevant internships are shown. + +The role and company name parameters are case-insensitive, For the duration parameter, this feature displays all relevant internships whose start dates and end dates are within the duration timeline specified by the user. For the MVP version of the product, user can only sort by 1 field at a time. + +**Format:** + +`filter -role {Role name} -` + +`filter -company {Company name}` + +`filter -duration /from {start date} /to {end date}` + +`filter -skills {skill}` + +`filter -deadline /by {date}` + +**Example:** + +`list` + +``` +ID: 01 +Role: Software Engineer Intern +Company: Google +Duration: Not Stated +Skills: Not Stated + +ID: 02 +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated +``` +`filter -company Google` + +``` +ID: 01 +Role: Software Engineer Intern +Company: Google +Duration: Not Stated +Skills: Not Stated +``` + +`filter -duration /from 04/25 /to 09/25` + +``` +ID: 02 +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated +``` + +## Delete Command: +`del` + +This feature removes an entire listing from the tracker. + +**Format:** `del {ID}` + +**Example:** + +`list` + +``` +ID: 01 +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated + +ID: 02 +Role: Software Engineer Intern +Company: Google +Duration: Not Stated +Skills: Not Stated +``` + +`del {01}` + +``` +You have deleted this listing: + +ID: 01 +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated +``` + +`list` + +``` +ID: 02 +Role: Software Engineer Intern +Company: Google +Duration: Not Stated +Skills: Not Stated +``` + +## Help Command: +`help` + +Shows the commands available for the user. +Describes the available functions and inputs that are needed +Other basic commands. + +**Format:** `/help` + +**Example Output** + +``` + add -name {Role name} -company {Company name}: Adds internship to the list of internships currently being tracked by the user. + + + update {ID} {-field} {updated information}: Adds information to the field of the entry tagged to the ID. + Eg. update 02 -status application completed +``` + + +## Exit Command + +Terminates the program. + +**Format:** `/exit` + + + +## Invalid Inputs +Shows whenever an incomplete or invalid search call is performed. Output also shows what corrective action can be taken. + +Example Output: +Please include a duration if you are using the -duration flag! +Eg. Update 02 -duration /from 04/25 -{Give detailed description of each feature} +Please include specific skills if you are using the -skills flag! -### Adding a todo: `todo` -Adds a new item to the list of todo items. +I do not understand what flag you are using, type /help to get a list of valid commands. -Format: `todo n/TODO_NAME d/DEADLINE` -* The `DEADLINE` can be in a natural language format. -* The `TODO_NAME` cannot contain punctuation. -Example of usage: -`todo n/Write the rest of the User Guide d/next week` -`todo n/Refactor the User Guide to remove passive voice d/13/04/2020` ## FAQ From c59a8b20b9ffdce090298f222c2e65c910b8f12a Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 30 Sep 2024 13:10:34 +0800 Subject: [PATCH 003/359] created Internship and InternshipList class --- src/main/java/Internship.java | 91 +++++++++++++++++++++++++++++++ src/main/java/InternshipList.java | 53 ++++++++++++++++++ 2 files changed, 144 insertions(+) create mode 100644 src/main/java/Internship.java create mode 100644 src/main/java/InternshipList.java diff --git a/src/main/java/Internship.java b/src/main/java/Internship.java new file mode 100644 index 0000000000..362130c58f --- /dev/null +++ b/src/main/java/Internship.java @@ -0,0 +1,91 @@ +import java.time.YearMonth; +import java.time.format.DateTimeFormatter; + +public class Internship { + private String id; + private String role; + private String company; + private YearMonth startDate; + private YearMonth endDate; + private String skills; + private String status; + + private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/yy"); + + public Internship (String role, String company, String start, String end, String skills, String status) { + this.role = role; + this.company = company; + this.startDate = (start == null || start.isEmpty()) ? YearMonth.parse("01/00", formatter) : YearMonth.parse(start, formatter); + this.endDate = (end == null || end.isEmpty()) ? YearMonth.parse("01/00", formatter) : YearMonth.parse(end, formatter); + this.skills = (skills == null || skills.isEmpty()) ? "" : skills; + this.status = (status == null || status.isEmpty()) ? "Application Pending" : status; + } + + // Set ID based on the index of the internship in the list + public void setId(int index) { + this.id = String.format("%02d", index); // Format the index as 2-digit ID + } + + // Getters and Setters + public String getId() { + return id; + } + + public String getRole() { + return role; + } + + public void setRole(String role) { + this.role = role; + } + + public String getCompany() { + return company; + } + + public void setCompany(String company) { + this.company = company; + } + + public String getStartDate() { + return startDate.format(formatter); // Format as MM/yy + } + + public void setStartDate(String start) { + this.startDate = YearMonth.parse(start, formatter); + } + + public String getEndDate() { + return endDate.format(formatter); // Format as MM/yy + } + + public void setEndDate(String end) { + this.endDate = YearMonth.parse(end, formatter); + } + + public String getSkills() { + return skills; + } + + public void setSkills(String skills) { + this.skills = skills.equals("") ? "Not Stated" : skills; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status.equals("") ? "Pending" : status; + } + + // toString method for displaying the details + @Override + public String toString() { + return "ID: " + id + "\tStatus: " + status + "\n" + + "Role: " + role + "\n" + + "Company: " + company + "\n" + + "Duration: " + getStartDate() + " to " + getEndDate() + "\n" + + "Skills: " + skills; + } +} diff --git a/src/main/java/InternshipList.java b/src/main/java/InternshipList.java new file mode 100644 index 0000000000..ee4e97ce6e --- /dev/null +++ b/src/main/java/InternshipList.java @@ -0,0 +1,53 @@ +import java.util.ArrayList; + +public class InternshipList { + private ArrayList internships; + + public InternshipList() { + this.internships = new ArrayList<>(); + } + + public void addInternship(Internship internship) { + internship.setId(internships.size() + 1); + internships.add(internship); + } + + // Method to remove an internship by index (0-based) + public void removeInternship(int index) { + if (index >= 0 && index < internships.size()) { + internships.remove(index); + updateIds(); // Reassign IDs after removal + } else { + System.out.println("Invalid index"); + } + } + + // Private method to update the IDs after an addition/removal + private void updateIds() { + for (int i = 0; i < internships.size(); i++) { + internships.get(i).setId(i + 1); // ID is 1-based + } + } + + // Method to get an internship by index + public Internship getInternship(int index) { + if (index >= 0 && index < internships.size()) { + return internships.get(index); + } else { + System.out.println("Invalid index"); + return null; + } + } + + // Method to list all internships + public void listAllInternships() { + if (internships.isEmpty()) { + System.out.println("No internships added."); + } else { + for (Internship internship : internships) { + System.out.println(internship); + System.out.println("---------------------------------"); + } + } + } +} From 34ff8b6e667857ebe9273d25ee54a02562760b07 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Wed, 2 Oct 2024 21:13:04 +0800 Subject: [PATCH 004/359] edited according to java coding standard --- src/main/java/Internship.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/Internship.java b/src/main/java/Internship.java index 362130c58f..8879d9ae9e 100644 --- a/src/main/java/Internship.java +++ b/src/main/java/Internship.java @@ -2,6 +2,8 @@ import java.time.format.DateTimeFormatter; public class Internship { + private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/yy"); + private String id; private String role; private String company; @@ -10,13 +12,17 @@ public class Internship { private String skills; private String status; - private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/yy"); + public Internship (String role, String company, String start, String end, String skills, String status) { this.role = role; this.company = company; - this.startDate = (start == null || start.isEmpty()) ? YearMonth.parse("01/00", formatter) : YearMonth.parse(start, formatter); - this.endDate = (end == null || end.isEmpty()) ? YearMonth.parse("01/00", formatter) : YearMonth.parse(end, formatter); + this.startDate = (start == null || start.isEmpty()) + ? YearMonth.parse("01/00", formatter) + : YearMonth.parse(start, formatter); + this.endDate = (end == null || end.isEmpty()) + ? YearMonth.parse("01/00", formatter) + : YearMonth.parse(end, formatter); this.skills = (skills == null || skills.isEmpty()) ? "" : skills; this.status = (status == null || status.isEmpty()) ? "Application Pending" : status; } From 29b48c0da988a68d3392019c3ea6fc77f9c5410e Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Thu, 3 Oct 2024 00:10:17 +0800 Subject: [PATCH 005/359] created command class and addCommand implementation --- README.md | 2 +- docs/UserGuide.md | 2 +- src/main/java/seedu/duke/AddCommand.java | 45 +++++++++++++++++++ src/main/java/seedu/duke/Command.java | 6 +++ src/main/java/seedu/duke/Duke.java | 21 --------- src/main/java/seedu/duke/EasInternship.java | 31 +++++++++++++ .../java/{ => seedu/duke}/Internship.java | 10 +++-- .../java/{ => seedu/duke}/InternshipList.java | 10 ++--- 8 files changed, 95 insertions(+), 32 deletions(-) create mode 100644 src/main/java/seedu/duke/AddCommand.java create mode 100644 src/main/java/seedu/duke/Command.java delete mode 100644 src/main/java/seedu/duke/Duke.java create mode 100644 src/main/java/seedu/duke/EasInternship.java rename src/main/java/{ => seedu/duke}/Internship.java (89%) rename src/main/java/{ => seedu/duke}/InternshipList.java (89%) diff --git a/README.md b/README.md index 90facb33c8..4fd7531864 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ This product aims to streamline the tracking of internship applications for the **By using this tool, the user can:** -**Store Important Internship Information:** Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes. +**Store Important seedu.duke.Internship Information:** Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes. **Track Application Status:** Users can save the current status of their application (e.g., not applied, applied, interview scheduled, offer received) and update it as the application progresses. diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 44eaed9d4b..d0bbba9266 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -5,7 +5,7 @@ This product aims to streamline the tracking of internship applications for the **By using this tool, the user can:** -**Store Important Internship Information:** Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes. +**Store Important seedu.duke.Internship Information:** Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes. **Track Application Status:** Users can save the current status of their application (e.g., not applied, applied, interview scheduled, offer received) and update it as the application progresses. diff --git a/src/main/java/seedu/duke/AddCommand.java b/src/main/java/seedu/duke/AddCommand.java new file mode 100644 index 0000000000..8d37ed51be --- /dev/null +++ b/src/main/java/seedu/duke/AddCommand.java @@ -0,0 +1,45 @@ +package seedu.duke; + +public class AddCommand implements Command { + @Override + public void execute(String[] args) { + String role = ""; + String company = ""; + String startDate = ""; + String endDate = ""; + + for (int i = 0; i < args.length; i++) { + switch (args[i]) { + case "-name": + if (i + 1 < args.length) { + role = args[i++]; + } + break; + case "-company": + if (i + 1 < args.length) { + company = args[i++]; + } + break; + case "-from": + if (i + 1 < args.length) { + startDate = args[i++]; + } + break; + case "-to": + if (i + 1 < args.length) { + endDate = args[i++]; + } + break; + default: + System.out.println("Unknown flag: " + args[i]); + + } + } + + Internship newInternship = new Internship(role, company, startDate, endDate); + } + @Override + public String getUsage() { + return "Usage: add -name {Role name} -company {Company name} -from {start date} -to {end date}"; + } +} diff --git a/src/main/java/seedu/duke/Command.java b/src/main/java/seedu/duke/Command.java new file mode 100644 index 0000000000..aed4f1f957 --- /dev/null +++ b/src/main/java/seedu/duke/Command.java @@ -0,0 +1,6 @@ +package seedu.duke; + +public interface Command { + void execute(String[] args); + String getUsage(); +} diff --git a/src/main/java/seedu/duke/Duke.java b/src/main/java/seedu/duke/Duke.java deleted file mode 100644 index 5c74e68d59..0000000000 --- a/src/main/java/seedu/duke/Duke.java +++ /dev/null @@ -1,21 +0,0 @@ -package seedu.duke; - -import java.util.Scanner; - -public class Duke { - /** - * Main entry-point for the java.duke.Duke application. - */ - public static void main(String[] args) { - String logo = " ____ _ \n" - + "| _ \\ _ _| | _____ \n" - + "| | | | | | | |/ / _ \\\n" - + "| |_| | |_| | < __/\n" - + "|____/ \\__,_|_|\\_\\___|\n"; - System.out.println("Hello from\n" + logo); - System.out.println("What is your name?"); - - Scanner in = new Scanner(System.in); - System.out.println("Hello " + in.nextLine()); - } -} diff --git a/src/main/java/seedu/duke/EasInternship.java b/src/main/java/seedu/duke/EasInternship.java new file mode 100644 index 0000000000..1e5f9df0d8 --- /dev/null +++ b/src/main/java/seedu/duke/EasInternship.java @@ -0,0 +1,31 @@ +package seedu.duke; + +import java.util.Scanner; + +/** + * The EasInternship class contains the main method which is the entry point for the application. + * It manages the application's main loop, where user input is read, commands are parsed, + * and the task list is displayed and updated accordingly. + */ +public class EasInternship { + /** + * The main method initializes the UI, loads tasks from the storage, and continuously + * prompts the user for commands to update and manipulate the task list until an + * exit command is given. + * + * @param args Command-line arguments (not used in this application) + */ + public static void main(String[] args) { + String logo = " ____ _ \n" + + "| _ \\ _ _| | _____ \n" + + "| | | | | | | |/ / _ \\\n" + + "| |_| | |_| | < __/\n" + + "|____/ \\__,_|_|\\_\\___|\n"; + System.out.println("Hello from\n" + logo); + InternshipList.listAllInternships(); + System.out.println("What is your name?"); + + Scanner in = new Scanner(System.in); + System.out.println("Hello " + in.nextLine()); + } +} diff --git a/src/main/java/Internship.java b/src/main/java/seedu/duke/Internship.java similarity index 89% rename from src/main/java/Internship.java rename to src/main/java/seedu/duke/Internship.java index 8879d9ae9e..1d6fc942ab 100644 --- a/src/main/java/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -1,3 +1,5 @@ +package seedu.duke; + import java.time.YearMonth; import java.time.format.DateTimeFormatter; @@ -14,7 +16,7 @@ public class Internship { - public Internship (String role, String company, String start, String end, String skills, String status) { + public Internship (String role, String company, String start, String end) { this.role = role; this.company = company; this.startDate = (start == null || start.isEmpty()) @@ -23,8 +25,10 @@ public Internship (String role, String company, String start, String end, String this.endDate = (end == null || end.isEmpty()) ? YearMonth.parse("01/00", formatter) : YearMonth.parse(end, formatter); - this.skills = (skills == null || skills.isEmpty()) ? "" : skills; - this.status = (status == null || status.isEmpty()) ? "Application Pending" : status; +// this.skills = (skills == null || skills.isEmpty()) ? "" : skills; +// this.status = (status == null || status.isEmpty()) ? "Application Pending" : status; + this.skills = "No Skills Entered"; + this.status = "Application Pending"; } // Set ID based on the index of the internship in the list diff --git a/src/main/java/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java similarity index 89% rename from src/main/java/InternshipList.java rename to src/main/java/seedu/duke/InternshipList.java index ee4e97ce6e..301f393f27 100644 --- a/src/main/java/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -1,11 +1,9 @@ +package seedu.duke; + import java.util.ArrayList; public class InternshipList { - private ArrayList internships; - - public InternshipList() { - this.internships = new ArrayList<>(); - } + public static ArrayList internships; public void addInternship(Internship internship) { internship.setId(internships.size() + 1); @@ -40,7 +38,7 @@ public Internship getInternship(int index) { } // Method to list all internships - public void listAllInternships() { + public static void listAllInternships() { if (internships.isEmpty()) { System.out.println("No internships added."); } else { From be8f9e177d68b0764fd3cec9857a446cf4c0b06e Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Thu, 3 Oct 2024 00:22:26 +0800 Subject: [PATCH 006/359] fixed formatting errors --- src/main/java/seedu/duke/AddCommand.java | 20 +++++++++++++++----- src/main/java/seedu/duke/Internship.java | 2 -- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/main/java/seedu/duke/AddCommand.java b/src/main/java/seedu/duke/AddCommand.java index 8d37ed51be..406305d5ce 100644 --- a/src/main/java/seedu/duke/AddCommand.java +++ b/src/main/java/seedu/duke/AddCommand.java @@ -12,32 +12,42 @@ public void execute(String[] args) { switch (args[i]) { case "-name": if (i + 1 < args.length) { - role = args[i++]; + role = args[++i]; + } else { + System.out.println("Role not specified."); } break; case "-company": if (i + 1 < args.length) { - company = args[i++]; + company = args[++i]; + } else { + System.out.println("Company not specified."); } break; case "-from": if (i + 1 < args.length) { - startDate = args[i++]; + startDate = args[++i]; + } else { + System.out.println("Start date not specified."); } break; case "-to": if (i + 1 < args.length) { - endDate = args[i++]; + endDate = args[++i]; + } else { + System.out.println("End date not specified."); } break; default: System.out.println("Unknown flag: " + args[i]); - + break; } } Internship newInternship = new Internship(role, company, startDate, endDate); + System.out.println("Internship added: " + newInternship); } + @Override public String getUsage() { return "Usage: add -name {Role name} -company {Company name} -from {start date} -to {end date}"; diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 1d6fc942ab..3590fa8c3d 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -25,8 +25,6 @@ public Internship (String role, String company, String start, String end) { this.endDate = (end == null || end.isEmpty()) ? YearMonth.parse("01/00", formatter) : YearMonth.parse(end, formatter); -// this.skills = (skills == null || skills.isEmpty()) ? "" : skills; -// this.status = (status == null || status.isEmpty()) ? "Application Pending" : status; this.skills = "No Skills Entered"; this.status = "Application Pending"; } From 2f0b8cd86d657a4ab9e5d142ff1d57becb135a0e Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Thu, 3 Oct 2024 00:27:45 +0800 Subject: [PATCH 007/359] fix formatting errors --- src/main/java/seedu/duke/AddCommand.java | 62 ++++++++++++------------ 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/src/main/java/seedu/duke/AddCommand.java b/src/main/java/seedu/duke/AddCommand.java index 406305d5ce..47757f8782 100644 --- a/src/main/java/seedu/duke/AddCommand.java +++ b/src/main/java/seedu/duke/AddCommand.java @@ -10,37 +10,37 @@ public void execute(String[] args) { for (int i = 0; i < args.length; i++) { switch (args[i]) { - case "-name": - if (i + 1 < args.length) { - role = args[++i]; - } else { - System.out.println("Role not specified."); - } - break; - case "-company": - if (i + 1 < args.length) { - company = args[++i]; - } else { - System.out.println("Company not specified."); - } - break; - case "-from": - if (i + 1 < args.length) { - startDate = args[++i]; - } else { - System.out.println("Start date not specified."); - } - break; - case "-to": - if (i + 1 < args.length) { - endDate = args[++i]; - } else { - System.out.println("End date not specified."); - } - break; - default: - System.out.println("Unknown flag: " + args[i]); - break; + case "-name": + if (i + 1 < args.length) { + role = args[++i]; + } else { + System.out.println("Role not specified."); + } + break; + case "-company": + if (i + 1 < args.length) { + company = args[++i]; + } else { + System.out.println("Company not specified."); + } + break; + case "-from": + if (i + 1 < args.length) { + startDate = args[++i]; + } else { + System.out.println("Start date not specified."); + } + break; + case "-to": + if (i + 1 < args.length) { + endDate = args[++i]; + } else { + System.out.println("End date not specified."); + } + break; + default: + System.out.println("Unknown flag: " + args[i]); + break; } } From 0b700f8fda40c51458df06a7564afb56720fa9fd Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Thu, 3 Oct 2024 00:33:36 +0800 Subject: [PATCH 008/359] fix formatting errors --- src/main/java/seedu/duke/{EasInternship.java => Duke.java} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename src/main/java/seedu/duke/{EasInternship.java => Duke.java} (97%) diff --git a/src/main/java/seedu/duke/EasInternship.java b/src/main/java/seedu/duke/Duke.java similarity index 97% rename from src/main/java/seedu/duke/EasInternship.java rename to src/main/java/seedu/duke/Duke.java index 1e5f9df0d8..b6786d155b 100644 --- a/src/main/java/seedu/duke/EasInternship.java +++ b/src/main/java/seedu/duke/Duke.java @@ -7,7 +7,7 @@ * It manages the application's main loop, where user input is read, commands are parsed, * and the task list is displayed and updated accordingly. */ -public class EasInternship { +public class Duke { /** * The main method initializes the UI, loads tasks from the storage, and continuously * prompts the user for commands to update and manipulate the task list until an From e19535b7fb7a07f62605e9c3a75ab9a1b0324286 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Thu, 3 Oct 2024 00:42:21 +0800 Subject: [PATCH 009/359] fix formatting errors --- src/main/java/seedu/duke/Duke.java | 3 ++- src/main/java/seedu/duke/InternshipList.java | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/duke/Duke.java b/src/main/java/seedu/duke/Duke.java index b6786d155b..47217bcf35 100644 --- a/src/main/java/seedu/duke/Duke.java +++ b/src/main/java/seedu/duke/Duke.java @@ -22,7 +22,8 @@ public static void main(String[] args) { + "| |_| | |_| | < __/\n" + "|____/ \\__,_|_|\\_\\___|\n"; System.out.println("Hello from\n" + logo); - InternshipList.listAllInternships(); + InternshipList internshipList = new InternshipList(); + internshipList.listAllInternships(); System.out.println("What is your name?"); Scanner in = new Scanner(System.in); diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 301f393f27..d144f028c2 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -5,6 +5,11 @@ public class InternshipList { public static ArrayList internships; + // Constructor + public InternshipList() { + internships = new ArrayList<>(); + } + public void addInternship(Internship internship) { internship.setId(internships.size() + 1); internships.add(internship); @@ -38,7 +43,7 @@ public Internship getInternship(int index) { } // Method to list all internships - public static void listAllInternships() { + public void listAllInternships() { if (internships.isEmpty()) { System.out.println("No internships added."); } else { From 5e540ed72ada2ec26ec8a7f97a2fb80e5648fed4 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Thu, 3 Oct 2024 00:45:17 +0800 Subject: [PATCH 010/359] fix formatting errors --- src/main/java/seedu/duke/Duke.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/seedu/duke/Duke.java b/src/main/java/seedu/duke/Duke.java index 47217bcf35..3199a305e1 100644 --- a/src/main/java/seedu/duke/Duke.java +++ b/src/main/java/seedu/duke/Duke.java @@ -23,6 +23,7 @@ public static void main(String[] args) { + "|____/ \\__,_|_|\\_\\___|\n"; System.out.println("Hello from\n" + logo); InternshipList internshipList = new InternshipList(); + internshipList.addInternship(new Internship("Software Engineer", "Company A", "2024-01-01", "2024-01-31")); internshipList.listAllInternships(); System.out.println("What is your name?"); From 9cdcbed694cb8feb524b0bc76e4f536e6572d891 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Thu, 3 Oct 2024 00:49:46 +0800 Subject: [PATCH 011/359] fix formatting error --- src/main/java/seedu/duke/Duke.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/seedu/duke/Duke.java b/src/main/java/seedu/duke/Duke.java index 3199a305e1..533f632b52 100644 --- a/src/main/java/seedu/duke/Duke.java +++ b/src/main/java/seedu/duke/Duke.java @@ -23,7 +23,7 @@ public static void main(String[] args) { + "|____/ \\__,_|_|\\_\\___|\n"; System.out.println("Hello from\n" + logo); InternshipList internshipList = new InternshipList(); - internshipList.addInternship(new Internship("Software Engineer", "Company A", "2024-01-01", "2024-01-31")); + internshipList.addInternship(new Internship("Software Engineer", "Company A", "01/24", "04/24")); internshipList.listAllInternships(); System.out.println("What is your name?"); From 7a48d169fbdec3af2a98d6a59d587ba0c8fe90b1 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Thu, 3 Oct 2024 10:15:22 +0800 Subject: [PATCH 012/359] Added personal detais to AboutUs --- docs/AboutUs.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 0f072953ea..40806a6ffe 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -1,9 +1,5 @@ # About us -Display | Name | Github Profile | Portfolio ---------|:----:|:--------------:|:---------: -![](https://via.placeholder.com/100.png?text=Photo) | John Doe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | Don Joe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | Ron John | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | John Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | Don Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) +Display | Name | Github Profile | Portfolio +--------|:------------:|:--------------:|:---------: +![](https://via.placeholder.com/100.png?text=Photo) | Tan Ting Hui | [Github](https://github.com/Ridiculouswifi) | [Portfolio](ridiculouswifi) From d5a0c39d88dd200897daa8a51387a28d97c6317b Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Thu, 3 Oct 2024 10:17:24 +0800 Subject: [PATCH 013/359] Update the first line in the docs.AboutUs.md page and delete the rest of the lines --- docs/AboutUs.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 0f072953ea..f2822f34bf 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -1,9 +1,5 @@ # About us -Display | Name | Github Profile | Portfolio ---------|:----:|:--------------:|:---------: -![](https://via.placeholder.com/100.png?text=Photo) | John Doe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | Don Joe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | Ron John | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | John Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | Don Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) +Display | Name | Github Profile | Portfolio +--------|:----------:|:--------------:|:---------: +![](https://via.placeholder.com/100.png?text=Photo) | Yu Man Kit | [Github](https://github.com/Toby-Yu) | [Portfolio](docs/team/toby-yu.md) From 8939ad38deae32a8acc87c43ebf49e4776a5ab5d Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Thu, 3 Oct 2024 10:18:27 +0800 Subject: [PATCH 014/359] fix formatting --- src/main/java/seedu/duke/Duke.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/main/java/seedu/duke/Duke.java b/src/main/java/seedu/duke/Duke.java index 533f632b52..233a614f2c 100644 --- a/src/main/java/seedu/duke/Duke.java +++ b/src/main/java/seedu/duke/Duke.java @@ -22,9 +22,6 @@ public static void main(String[] args) { + "| |_| | |_| | < __/\n" + "|____/ \\__,_|_|\\_\\___|\n"; System.out.println("Hello from\n" + logo); - InternshipList internshipList = new InternshipList(); - internshipList.addInternship(new Internship("Software Engineer", "Company A", "01/24", "04/24")); - internshipList.listAllInternships(); System.out.println("What is your name?"); Scanner in = new Scanner(System.in); From fd42a03a0d3d592f38213b23eb14e5f95d06a037 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Thu, 3 Oct 2024 10:19:01 +0800 Subject: [PATCH 015/359] correct version of update of AboutUs --- docs/AboutUs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index f2822f34bf..19290b0c50 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -2,4 +2,4 @@ Display | Name | Github Profile | Portfolio --------|:----------:|:--------------:|:---------: -![](https://via.placeholder.com/100.png?text=Photo) | Yu Man Kit | [Github](https://github.com/Toby-Yu) | [Portfolio](docs/team/toby-yu.md) +![](https://via.placeholder.com/100.png?text=Photo) | Yu Man Kit | [Github](https://github.com/Toby-Yu) | [Portfolio](toby-yu) From 6ddb5c442f6a8088e8be1d19bf091faa0b1d2179 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Thu, 3 Oct 2024 10:19:44 +0800 Subject: [PATCH 016/359] Change AboutUs document to reflect real name and profile --- docs/AboutUs.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 0f072953ea..165221b1e6 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -1,9 +1,5 @@ # About us -Display | Name | Github Profile | Portfolio ---------|:----:|:--------------:|:---------: -![](https://via.placeholder.com/100.png?text=Photo) | John Doe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | Don Joe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | Ron John | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | John Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | Don Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) +Display | Name | Github Profile | Portfolio +--------|:-----:|:--------------:|:---------: +![](https://via.placeholder.com/100.png?text=Photo) | Rahul | [Github](https://github.com/rahuljai-05) | [Portfolio](rahuljai-05) From bf834ec09d8828f5eec5c627c4dcd7f7be9ac596 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Thu, 3 Oct 2024 10:21:35 +0800 Subject: [PATCH 017/359] updated AboutMe --- docs/AboutUs.md | 14 +++++++------- docs/img.png | Bin 0 -> 288380 bytes 2 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 docs/img.png diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 0f072953ea..683bf1a214 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -1,9 +1,9 @@ # About us -Display | Name | Github Profile | Portfolio ---------|:----:|:--------------:|:---------: -![](https://via.placeholder.com/100.png?text=Photo) | John Doe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | Don Joe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | Ron John | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | John Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | Don Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) +Display | Name | Github Profile | Portfolio +--------|:---------:|:---------------------------------------:|:---------: +![](https://media.licdn.com/dms/image/v2/D5603AQFCr_rvns6kkg/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1705644829729?e=1733356800&v=beta&t=tA3e9UWHefQM8c2YhsC7viw2rl1QnVMzIox4Mi3bcN4) | Jaden Lim | [Github](https://github.com/jadenlimjc) | [Portfolio](https://www.linkedin.com/in/jadenlimjc/) +![](https://via.placeholder.com/100.png?text=Photo) | Don Joe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) +![](https://via.placeholder.com/100.png?text=Photo) | Ron John | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) +![](https://via.placeholder.com/100.png?text=Photo) | John Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) +![](https://via.placeholder.com/100.png?text=Photo) | Don Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) diff --git a/docs/img.png b/docs/img.png new file mode 100644 index 0000000000000000000000000000000000000000..84820f2651127f0180bbcb1ea9693deb64a9c17f GIT binary patch literal 288380 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 z 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%0D}H-WOW3!{41TzmAU&be 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 K+dsd& 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%0A|f+etDEA%<}HK*{>yhmLrh;Ym!rUFtoTC(=Ua~f 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 LNkvXXu0mjf93SmZ diff --git a/src/main/java/seedu/duke/AddCommand.java b/src/main/java/seedu/duke/AddCommand.java deleted file mode 100644 index 47757f8782..0000000000 --- a/src/main/java/seedu/duke/AddCommand.java +++ /dev/null @@ -1,55 +0,0 @@ -package seedu.duke; - -public class AddCommand implements Command { - @Override - public void execute(String[] args) { - String role = ""; - String company = ""; - String startDate = ""; - String endDate = ""; - - for (int i = 0; i < args.length; i++) { - switch (args[i]) { - case "-name": - if (i + 1 < args.length) { - role = args[++i]; - } else { - System.out.println("Role not specified."); - } - break; - case "-company": - if (i + 1 < args.length) { - company = args[++i]; - } else { - System.out.println("Company not specified."); - } - break; - case "-from": - if (i + 1 < args.length) { - startDate = args[++i]; - } else { - System.out.println("Start date not specified."); - } - break; - case "-to": - if (i + 1 < args.length) { - endDate = args[++i]; - } else { - System.out.println("End date not specified."); - } - break; - default: - System.out.println("Unknown flag: " + args[i]); - break; - } - } - - Internship newInternship = new Internship(role, company, startDate, endDate); - System.out.println("Internship added: " + newInternship); - } - - @Override - public String getUsage() { - return "Usage: add -name {Role name} -company {Company name} -from {start date} -to {end date}"; - } -} diff --git a/src/main/java/seedu/duke/Command.java b/src/main/java/seedu/duke/Command.java deleted file mode 100644 index aed4f1f957..0000000000 --- a/src/main/java/seedu/duke/Command.java +++ /dev/null @@ -1,6 +0,0 @@ -package seedu.duke; - -public interface Command { - void execute(String[] args); - String getUsage(); -} diff --git a/src/main/java/seedu/duke/Duke.java b/src/main/java/seedu/duke/Duke.java index 233a614f2c..5c74e68d59 100644 --- a/src/main/java/seedu/duke/Duke.java +++ b/src/main/java/seedu/duke/Duke.java @@ -2,18 +2,9 @@ import java.util.Scanner; -/** - * The EasInternship class contains the main method which is the entry point for the application. - * It manages the application's main loop, where user input is read, commands are parsed, - * and the task list is displayed and updated accordingly. - */ public class Duke { /** - * The main method initializes the UI, loads tasks from the storage, and continuously - * prompts the user for commands to update and manipulate the task list until an - * exit command is given. - * - * @param args Command-line arguments (not used in this application) + * Main entry-point for the java.duke.Duke application. */ public static void main(String[] args) { String logo = " ____ _ \n" diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java deleted file mode 100644 index 3590fa8c3d..0000000000 --- a/src/main/java/seedu/duke/Internship.java +++ /dev/null @@ -1,99 +0,0 @@ -package seedu.duke; - -import java.time.YearMonth; -import java.time.format.DateTimeFormatter; - -public class Internship { - private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/yy"); - - private String id; - private String role; - private String company; - private YearMonth startDate; - private YearMonth endDate; - private String skills; - private String status; - - - - public Internship (String role, String company, String start, String end) { - this.role = role; - this.company = company; - this.startDate = (start == null || start.isEmpty()) - ? YearMonth.parse("01/00", formatter) - : YearMonth.parse(start, formatter); - this.endDate = (end == null || end.isEmpty()) - ? YearMonth.parse("01/00", formatter) - : YearMonth.parse(end, formatter); - this.skills = "No Skills Entered"; - this.status = "Application Pending"; - } - - // Set ID based on the index of the internship in the list - public void setId(int index) { - this.id = String.format("%02d", index); // Format the index as 2-digit ID - } - - // Getters and Setters - public String getId() { - return id; - } - - public String getRole() { - return role; - } - - public void setRole(String role) { - this.role = role; - } - - public String getCompany() { - return company; - } - - public void setCompany(String company) { - this.company = company; - } - - public String getStartDate() { - return startDate.format(formatter); // Format as MM/yy - } - - public void setStartDate(String start) { - this.startDate = YearMonth.parse(start, formatter); - } - - public String getEndDate() { - return endDate.format(formatter); // Format as MM/yy - } - - public void setEndDate(String end) { - this.endDate = YearMonth.parse(end, formatter); - } - - public String getSkills() { - return skills; - } - - public void setSkills(String skills) { - this.skills = skills.equals("") ? "Not Stated" : skills; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status.equals("") ? "Pending" : status; - } - - // toString method for displaying the details - @Override - public String toString() { - return "ID: " + id + "\tStatus: " + status + "\n" + - "Role: " + role + "\n" + - "Company: " + company + "\n" + - "Duration: " + getStartDate() + " to " + getEndDate() + "\n" + - "Skills: " + skills; - } -} diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java deleted file mode 100644 index d144f028c2..0000000000 --- a/src/main/java/seedu/duke/InternshipList.java +++ /dev/null @@ -1,56 +0,0 @@ -package seedu.duke; - -import java.util.ArrayList; - -public class InternshipList { - public static ArrayList internships; - - // Constructor - public InternshipList() { - internships = new ArrayList<>(); - } - - public void addInternship(Internship internship) { - internship.setId(internships.size() + 1); - internships.add(internship); - } - - // Method to remove an internship by index (0-based) - public void removeInternship(int index) { - if (index >= 0 && index < internships.size()) { - internships.remove(index); - updateIds(); // Reassign IDs after removal - } else { - System.out.println("Invalid index"); - } - } - - // Private method to update the IDs after an addition/removal - private void updateIds() { - for (int i = 0; i < internships.size(); i++) { - internships.get(i).setId(i + 1); // ID is 1-based - } - } - - // Method to get an internship by index - public Internship getInternship(int index) { - if (index >= 0 && index < internships.size()) { - return internships.get(index); - } else { - System.out.println("Invalid index"); - return null; - } - } - - // Method to list all internships - public void listAllInternships() { - if (internships.isEmpty()) { - System.out.println("No internships added."); - } else { - for (Internship internship : internships) { - System.out.println(internship); - System.out.println("---------------------------------"); - } - } - } -} From 96a744840e413c95790165fbb363a619e25b02df Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Thu, 3 Oct 2024 10:58:20 +0800 Subject: [PATCH 022/359] Reapply "Merge branch 'pr/5'" This reverts commit 00d14fd90cec6c795e6b263d502bacb7f0862b8e. --- README.md | 28 ++ docs/AboutUs.md | 12 +- docs/UserGuide.md | 310 ++++++++++++++++++- docs/img.png | Bin 0 -> 288380 bytes src/main/java/seedu/duke/AddCommand.java | 55 ++++ src/main/java/seedu/duke/Command.java | 6 + src/main/java/seedu/duke/Duke.java | 11 +- src/main/java/seedu/duke/Internship.java | 99 ++++++ src/main/java/seedu/duke/InternshipList.java | 56 ++++ 9 files changed, 559 insertions(+), 18 deletions(-) create mode 100644 docs/img.png create mode 100644 src/main/java/seedu/duke/AddCommand.java create mode 100644 src/main/java/seedu/duke/Command.java create mode 100644 src/main/java/seedu/duke/Internship.java create mode 100644 src/main/java/seedu/duke/InternshipList.java diff --git a/README.md b/README.md index e243ece764..1f31692fac 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,22 @@ 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. + +## Product Description +This product aims to streamline the tracking of internship applications for the user, where the user is able to store key details of the internship as well as save and edit the status of the application. + +**By using this tool, the user can:** + +**Store Important seedu.duke.Internship Information:** Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes. + +**Track Application Status:** Users can save the current status of their application (e.g., not applied, applied, interview scheduled, offer received) and update it as the application progresses. + +**Edit and Manage Internships:** Users have the ability to edit saved internships as needed, modify statuses, update deadlines, or remove outdated internships from the list. + +**Filter Internships by Key Criteria:** The user can filter the tracked internships by relevant skills, application status, or upcoming deadlines, allowing for better organization and prioritization. + +**Monitor Deadlines Easily:** The tool helps ensure users stay on top of their internship deadlines by flagging or sorting applications with approaching deadlines. + ## Setting up in Intellij Prerequisites: JDK 17 (use the exact version), update Intellij to the most recent version. @@ -25,6 +41,18 @@ Prerequisites: JDK 17 (use the exact version), update Intellij to the most recen What is your name? ``` Type some word and press enter to let the execution proceed to the end. +**CS2113 T10 Team 1** + +**Jaden Lim Jie Chen** + +**Tan Ting Hui** + +**Jai Vinod Kumar Rahul** + +**Man Kit Yu**** + + + ## Build automation using Gradle diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 847020a652..003d6ac305 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -1,7 +1,9 @@ # About us -Display | Name | Github Profile | Portfolio ---------|:----------:|:--------------:|:---------: -![](https://via.placeholder.com/100.png?text=Photo) | Yu Man Kit | [Github](https://github.com/Toby-Yu) | [Portfolio](toby-yu) -![](https://via.placeholder.com/100.png?text=Photo) | Rahul | [Github](https://github.com/rahuljai-05) | [Portfolio](rahuljai-05) -![](https://via.placeholder.com/100.png?text=Photo) | Tan Ting Hui | [Github](https://github.com/Ridiculouswifi) | [Portfolio](ridiculouswifi) +Display | Name | Github Profile | Portfolio +--------|:---------:|:---------------------------------------:|:---------: +![](https://via.placeholder.com/100.png?text=Photo) | Jaden Lim | [Github](https://github.com/jadenlimjc) | [Portfolio](https://www.linkedin.com/in/jadenlimjc/) +![](https://via.placeholder.com/100.png?text=Photo) | Don Joe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) +![](https://via.placeholder.com/100.png?text=Photo) | Ron John | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) +![](https://via.placeholder.com/100.png?text=Photo) | John Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) +![](https://via.placeholder.com/100.png?text=Photo) | Don Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index d6cf4c3b3a..d0bbba9266 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -1,8 +1,20 @@ # User Guide -## Introduction +## Product Description +This product aims to streamline the tracking of internship applications for the user, where the user is able to store key details of the internship as well as save and edit the status of the application. + +**By using this tool, the user can:** + +**Store Important seedu.duke.Internship Information:** Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes. + +**Track Application Status:** Users can save the current status of their application (e.g., not applied, applied, interview scheduled, offer received) and update it as the application progresses. + +**Edit and Manage Internships:** Users have the ability to edit saved internships as needed, modify statuses, update deadlines, or remove outdated internships from the list. + +**Filter Internships by Key Criteria:** The user can filter the tracked internships by relevant skills, application status, or upcoming deadlines, allowing for better organization and prioritization. + +**Monitor Deadlines Easily:** The tool helps ensure users stay on top of their internship deadlines by flagging or sorting applications with approaching deadlines. -{Give a product intro} ## Quick Start @@ -11,23 +23,297 @@ 1. Ensure that you have Java 17 or above installed. 1. Down the latest version of `Duke` from [here](http://link.to/duke). -## Features +# Features + +## Add Command +`add` + +Adds internship to the list of internships currently being tracked by the user. The information added is automatically saved to a .txt file. Each internship you add is assigned a unique ID for editing purposes, which is generated based on the order in which these internships were created and stored. + + +This function can be expanded upon to add different features to each internship. + +**Format:** + +`add -name {Role name} -company {Company name} // default param` +`-duration /from {start date} /to {end date} // additional params` + +**Example Input 1:** +`add -name Software Engineer Intern -company Google` + +**Example Output 1:** +``` +ID: 01 +Role: Software Engineer Intern +Company: Google +Duration: Not Stated +Skills: Not Stated +``` + +**Example Input 2:** +`add -name Embedded Software Engineer Intern -company Continental -duration /from 05/25 /to 08/25` + +**Example Output 2:** +``` +ID: 02 +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated +``` + +## Update Command +`update` + +This feature allows you to update any field of an internship application. For example, when updating the status of an internship application, you can mark the status as ‘application pending’, ‘application completed’, ‘accepted’, ‘rejected’ etc. + +The default status for any internship that is stored in the database is ‘application pending’. + +**Format:** +`update {ID} {-field} {updated information}` + +**Example:** + +`update 02 -status application completed` + +``` +ID: 02 **Status** +Role: Embedded Software Engineer Intern application completed +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated +``` + +`Update 02 -status interview scheduled` + +``` +ID: 02 Status +Role: Embedded Software Engineer Intern interview scheduled +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated +``` + +`Update 02 -company Venti` + +``` +ID: 02 Status +Role: Embedded Software Engineer Intern interview scheduled +Company: Venti +Duration: 05/25 to 08/25 +Skills: Not Stated +``` + +`Update 02 -duration /from 04/25` + +``` +ID: 02 Status +Role: Embedded Software Engineer Intern interview scheduled +Company: Venti +Duration: 04/25 to 08/25 +Skills: Not Stated +``` + +`update 02 -skills Python SQL` + +``` +ID: 02 Status +Role: Embedded Software Engineer Intern interview scheduled +Company: Venti +Duration: 04/25 to 08/25 +Skills: Python, SQL +``` +## Sort Command +`sort` + +This feature allows you to sort and list all the internships saved in your database. The default display format is in increasing order of their ID’s (based on time of creation) + +Users can specify a flag to display them in alphabetical order of their role titles or by deadline. + +**Format:** + +`list` + +`sort {field}` + +**Example:** + +`list` + +``` +ID: 01 +Role: Software Engineer Intern +Company: Google +Duration: Not Stated +Skills: Not Stated + +ID: 02 +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated +``` +`sort -alphabet` + +``` +ID: 02 +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated + +ID: 01 +Role: Software Engineer Intern +Company: Google +Duration: Not Stated +Skills: Not Stated +``` +## Filter command: +`filter` + +This feature is an extension of the previous list feature. It allows the user to specify certain values for any of the role name, company name or duration parameters based on which only the relevant internships are shown. + +The role and company name parameters are case-insensitive, For the duration parameter, this feature displays all relevant internships whose start dates and end dates are within the duration timeline specified by the user. For the MVP version of the product, user can only sort by 1 field at a time. + +**Format:** + +`filter -role {Role name} -` + +`filter -company {Company name}` + +`filter -duration /from {start date} /to {end date}` + +`filter -skills {skill}` + +`filter -deadline /by {date}` + +**Example:** + +`list` + +``` +ID: 01 +Role: Software Engineer Intern +Company: Google +Duration: Not Stated +Skills: Not Stated + +ID: 02 +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated +``` +`filter -company Google` + +``` +ID: 01 +Role: Software Engineer Intern +Company: Google +Duration: Not Stated +Skills: Not Stated +``` + +`filter -duration /from 04/25 /to 09/25` + +``` +ID: 02 +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated +``` + +## Delete Command: +`del` + +This feature removes an entire listing from the tracker. + +**Format:** `del {ID}` + +**Example:** + +`list` + +``` +ID: 01 +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated + +ID: 02 +Role: Software Engineer Intern +Company: Google +Duration: Not Stated +Skills: Not Stated +``` + +`del {01}` + +``` +You have deleted this listing: + +ID: 01 +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated +``` + +`list` + +``` +ID: 02 +Role: Software Engineer Intern +Company: Google +Duration: Not Stated +Skills: Not Stated +``` + +## Help Command: +`help` + +Shows the commands available for the user. +Describes the available functions and inputs that are needed +Other basic commands. + +**Format:** `/help` + +**Example Output** + +``` + add -name {Role name} -company {Company name}: Adds internship to the list of internships currently being tracked by the user. + + + update {ID} {-field} {updated information}: Adds information to the field of the entry tagged to the ID. + Eg. update 02 -status application completed +``` + + +## Exit Command + +Terminates the program. + +**Format:** `/exit` + + + +## Invalid Inputs +Shows whenever an incomplete or invalid search call is performed. Output also shows what corrective action can be taken. + +Example Output: +Please include a duration if you are using the -duration flag! +Eg. Update 02 -duration /from 04/25 -{Give detailed description of each feature} +Please include specific skills if you are using the -skills flag! -### Adding a todo: `todo` -Adds a new item to the list of todo items. +I do not understand what flag you are using, type /help to get a list of valid commands. -Format: `todo n/TODO_NAME d/DEADLINE` -* The `DEADLINE` can be in a natural language format. -* The `TODO_NAME` cannot contain punctuation. -Example of usage: -`todo n/Write the rest of the User Guide d/next week` -`todo n/Refactor the User Guide to remove passive voice d/13/04/2020` ## FAQ diff --git a/docs/img.png b/docs/img.png new file mode 100644 index 0000000000000000000000000000000000000000..84820f2651127f0180bbcb1ea9693deb64a9c17f GIT binary patch literal 288380 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 z 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%0D}H-WOW3!{41TzmAU&be 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 K+dsd& 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%0A|f+etDEA%<}HK*{>yhmLrh;Ym!rUFtoTC(=Ua~f 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 LNkvXXu0mjf93SmZ literal 0 HcmV?d00001 diff --git a/src/main/java/seedu/duke/AddCommand.java b/src/main/java/seedu/duke/AddCommand.java new file mode 100644 index 0000000000..47757f8782 --- /dev/null +++ b/src/main/java/seedu/duke/AddCommand.java @@ -0,0 +1,55 @@ +package seedu.duke; + +public class AddCommand implements Command { + @Override + public void execute(String[] args) { + String role = ""; + String company = ""; + String startDate = ""; + String endDate = ""; + + for (int i = 0; i < args.length; i++) { + switch (args[i]) { + case "-name": + if (i + 1 < args.length) { + role = args[++i]; + } else { + System.out.println("Role not specified."); + } + break; + case "-company": + if (i + 1 < args.length) { + company = args[++i]; + } else { + System.out.println("Company not specified."); + } + break; + case "-from": + if (i + 1 < args.length) { + startDate = args[++i]; + } else { + System.out.println("Start date not specified."); + } + break; + case "-to": + if (i + 1 < args.length) { + endDate = args[++i]; + } else { + System.out.println("End date not specified."); + } + break; + default: + System.out.println("Unknown flag: " + args[i]); + break; + } + } + + Internship newInternship = new Internship(role, company, startDate, endDate); + System.out.println("Internship added: " + newInternship); + } + + @Override + public String getUsage() { + return "Usage: add -name {Role name} -company {Company name} -from {start date} -to {end date}"; + } +} diff --git a/src/main/java/seedu/duke/Command.java b/src/main/java/seedu/duke/Command.java new file mode 100644 index 0000000000..aed4f1f957 --- /dev/null +++ b/src/main/java/seedu/duke/Command.java @@ -0,0 +1,6 @@ +package seedu.duke; + +public interface Command { + void execute(String[] args); + String getUsage(); +} diff --git a/src/main/java/seedu/duke/Duke.java b/src/main/java/seedu/duke/Duke.java index 5c74e68d59..233a614f2c 100644 --- a/src/main/java/seedu/duke/Duke.java +++ b/src/main/java/seedu/duke/Duke.java @@ -2,9 +2,18 @@ import java.util.Scanner; +/** + * The EasInternship class contains the main method which is the entry point for the application. + * It manages the application's main loop, where user input is read, commands are parsed, + * and the task list is displayed and updated accordingly. + */ public class Duke { /** - * Main entry-point for the java.duke.Duke application. + * The main method initializes the UI, loads tasks from the storage, and continuously + * prompts the user for commands to update and manipulate the task list until an + * exit command is given. + * + * @param args Command-line arguments (not used in this application) */ public static void main(String[] args) { String logo = " ____ _ \n" diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java new file mode 100644 index 0000000000..3590fa8c3d --- /dev/null +++ b/src/main/java/seedu/duke/Internship.java @@ -0,0 +1,99 @@ +package seedu.duke; + +import java.time.YearMonth; +import java.time.format.DateTimeFormatter; + +public class Internship { + private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/yy"); + + private String id; + private String role; + private String company; + private YearMonth startDate; + private YearMonth endDate; + private String skills; + private String status; + + + + public Internship (String role, String company, String start, String end) { + this.role = role; + this.company = company; + this.startDate = (start == null || start.isEmpty()) + ? YearMonth.parse("01/00", formatter) + : YearMonth.parse(start, formatter); + this.endDate = (end == null || end.isEmpty()) + ? YearMonth.parse("01/00", formatter) + : YearMonth.parse(end, formatter); + this.skills = "No Skills Entered"; + this.status = "Application Pending"; + } + + // Set ID based on the index of the internship in the list + public void setId(int index) { + this.id = String.format("%02d", index); // Format the index as 2-digit ID + } + + // Getters and Setters + public String getId() { + return id; + } + + public String getRole() { + return role; + } + + public void setRole(String role) { + this.role = role; + } + + public String getCompany() { + return company; + } + + public void setCompany(String company) { + this.company = company; + } + + public String getStartDate() { + return startDate.format(formatter); // Format as MM/yy + } + + public void setStartDate(String start) { + this.startDate = YearMonth.parse(start, formatter); + } + + public String getEndDate() { + return endDate.format(formatter); // Format as MM/yy + } + + public void setEndDate(String end) { + this.endDate = YearMonth.parse(end, formatter); + } + + public String getSkills() { + return skills; + } + + public void setSkills(String skills) { + this.skills = skills.equals("") ? "Not Stated" : skills; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status.equals("") ? "Pending" : status; + } + + // toString method for displaying the details + @Override + public String toString() { + return "ID: " + id + "\tStatus: " + status + "\n" + + "Role: " + role + "\n" + + "Company: " + company + "\n" + + "Duration: " + getStartDate() + " to " + getEndDate() + "\n" + + "Skills: " + skills; + } +} diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java new file mode 100644 index 0000000000..d144f028c2 --- /dev/null +++ b/src/main/java/seedu/duke/InternshipList.java @@ -0,0 +1,56 @@ +package seedu.duke; + +import java.util.ArrayList; + +public class InternshipList { + public static ArrayList internships; + + // Constructor + public InternshipList() { + internships = new ArrayList<>(); + } + + public void addInternship(Internship internship) { + internship.setId(internships.size() + 1); + internships.add(internship); + } + + // Method to remove an internship by index (0-based) + public void removeInternship(int index) { + if (index >= 0 && index < internships.size()) { + internships.remove(index); + updateIds(); // Reassign IDs after removal + } else { + System.out.println("Invalid index"); + } + } + + // Private method to update the IDs after an addition/removal + private void updateIds() { + for (int i = 0; i < internships.size(); i++) { + internships.get(i).setId(i + 1); // ID is 1-based + } + } + + // Method to get an internship by index + public Internship getInternship(int index) { + if (index >= 0 && index < internships.size()) { + return internships.get(index); + } else { + System.out.println("Invalid index"); + return null; + } + } + + // Method to list all internships + public void listAllInternships() { + if (internships.isEmpty()) { + System.out.println("No internships added."); + } else { + for (Internship internship : internships) { + System.out.println(internship); + System.out.println("---------------------------------"); + } + } + } +} From 2ab274874893e49589f5ffba355e9dfac439e1e6 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Thu, 3 Oct 2024 12:06:01 +0800 Subject: [PATCH 023/359] fixed merge conflicts --- docs/AboutUs.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 003d6ac305..e2c18bc9e9 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -3,7 +3,6 @@ Display | Name | Github Profile | Portfolio --------|:---------:|:---------------------------------------:|:---------: ![](https://via.placeholder.com/100.png?text=Photo) | Jaden Lim | [Github](https://github.com/jadenlimjc) | [Portfolio](https://www.linkedin.com/in/jadenlimjc/) -![](https://via.placeholder.com/100.png?text=Photo) | Don Joe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | Ron John | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | John Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | Don Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) +![](https://via.placeholder.com/100.png?text=Photo) | Yu Man Kit | [Github](https://github.com/Toby-Yu) | [Portfolio](toby-yu) +![](https://via.placeholder.com/100.png?text=Photo) | Rahul | [Github](https://github.com/rahuljai-05) | [Portfolio](rahuljai-05) +![](https://via.placeholder.com/100.png?text=Photo) | Tan Ting Hui | [Github](https://github.com/Ridiculouswifi) | [Portfolio](ridiculouswifi) From e6d9150afcf0eaa1b50932072752de5d8d47f24b Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Fri, 4 Oct 2024 18:45:08 +0800 Subject: [PATCH 024/359] Update AddCommand Function --- src/main/java/seedu/duke/AddCommand.java | 11 +++++++---- src/main/java/seedu/duke/Internship.java | 17 ++++++----------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/src/main/java/seedu/duke/AddCommand.java b/src/main/java/seedu/duke/AddCommand.java index 47757f8782..b937120bff 100644 --- a/src/main/java/seedu/duke/AddCommand.java +++ b/src/main/java/seedu/duke/AddCommand.java @@ -1,12 +1,15 @@ package seedu.duke; +import java.time.YearMonth; +import java.time.format.DateTimeFormatter; + public class AddCommand implements Command { @Override public void execute(String[] args) { String role = ""; String company = ""; - String startDate = ""; - String endDate = ""; + YearMonth startDate = YearMonth.parse("01/00"); + YearMonth endDate = YearMonth.parse("01/00"); for (int i = 0; i < args.length; i++) { switch (args[i]) { @@ -26,14 +29,14 @@ public void execute(String[] args) { break; case "-from": if (i + 1 < args.length) { - startDate = args[++i]; + startDate = YearMonth.parse(args[++i]); } else { System.out.println("Start date not specified."); } break; case "-to": if (i + 1 < args.length) { - endDate = args[++i]; + endDate = YearMonth.parse(args[++i]); } else { System.out.println("End date not specified."); } diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 3590fa8c3d..09086d1736 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -15,23 +15,18 @@ public class Internship { private String status; - - public Internship (String role, String company, String start, String end) { + public Internship(String role, String company, YearMonth start, YearMonth end) { this.role = role; this.company = company; - this.startDate = (start == null || start.isEmpty()) - ? YearMonth.parse("01/00", formatter) - : YearMonth.parse(start, formatter); - this.endDate = (end == null || end.isEmpty()) - ? YearMonth.parse("01/00", formatter) - : YearMonth.parse(end, formatter); + this.startDate = start; + this.endDate = end; this.skills = "No Skills Entered"; this.status = "Application Pending"; } // Set ID based on the index of the internship in the list public void setId(int index) { - this.id = String.format("%02d", index); // Format the index as 2-digit ID + this.id = String.format("%02d", index); } // Getters and Setters @@ -76,7 +71,7 @@ public String getSkills() { } public void setSkills(String skills) { - this.skills = skills.equals("") ? "Not Stated" : skills; + this.skills = skills.isEmpty() ? "Not Stated" : skills; } public String getStatus() { @@ -84,7 +79,7 @@ public String getStatus() { } public void setStatus(String status) { - this.status = status.equals("") ? "Pending" : status; + this.status = status.isEmpty() ? "Pending" : status; } // toString method for displaying the details From 5127826561a6252260b86e7f3d295f4f5aecee06 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Fri, 4 Oct 2024 18:49:33 +0800 Subject: [PATCH 025/359] Update AddCommand Function --- src/main/java/seedu/duke/AddCommand.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/seedu/duke/AddCommand.java b/src/main/java/seedu/duke/AddCommand.java index b937120bff..8b23a5e399 100644 --- a/src/main/java/seedu/duke/AddCommand.java +++ b/src/main/java/seedu/duke/AddCommand.java @@ -1,7 +1,6 @@ package seedu.duke; import java.time.YearMonth; -import java.time.format.DateTimeFormatter; public class AddCommand implements Command { @Override From 0b7eef6c7a5073726f76fad7e99f3c4c15024fa5 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Sat, 5 Oct 2024 13:28:45 +0800 Subject: [PATCH 026/359] Created Delete Command, Changed AddCommand to reference InternshipList --- src/main/java/seedu/duke/AddCommand.java | 6 ++++++ src/main/java/seedu/duke/DeleteCommand.java | 20 ++++++++++++++++++++ src/main/java/seedu/duke/Internship.java | 6 +++--- src/main/java/seedu/duke/InternshipList.java | 2 +- 4 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 src/main/java/seedu/duke/DeleteCommand.java diff --git a/src/main/java/seedu/duke/AddCommand.java b/src/main/java/seedu/duke/AddCommand.java index 8b23a5e399..b51df9f28a 100644 --- a/src/main/java/seedu/duke/AddCommand.java +++ b/src/main/java/seedu/duke/AddCommand.java @@ -3,6 +3,11 @@ import java.time.YearMonth; public class AddCommand implements Command { + private final InternshipList internships; + + public AddCommand(InternshipList internshipList) { + this.internships = internshipList; + } @Override public void execute(String[] args) { String role = ""; @@ -47,6 +52,7 @@ public void execute(String[] args) { } Internship newInternship = new Internship(role, company, startDate, endDate); + internships.addInternship(newInternship); System.out.println("Internship added: " + newInternship); } diff --git a/src/main/java/seedu/duke/DeleteCommand.java b/src/main/java/seedu/duke/DeleteCommand.java new file mode 100644 index 0000000000..693315eb73 --- /dev/null +++ b/src/main/java/seedu/duke/DeleteCommand.java @@ -0,0 +1,20 @@ +package seedu.duke; + +public class DeleteCommand implements Command { + private final InternshipList internships; + private int index; + + public DeleteCommand(InternshipList internshipList, int index) { + this.internships = internshipList; + this.index = index; + } + public void execute (String[] args) { + index = Integer.parseInt(args[1]); + int id = index - 1; + internships.removeInternship(id); + } + + public String getUsage() { + return "Usage: del {ID}"; + } +} diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 09086d1736..c5762ee47d 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -6,7 +6,7 @@ public class Internship { private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/yy"); - private String id; + private int id; private String role; private String company; private YearMonth startDate; @@ -26,11 +26,11 @@ public Internship(String role, String company, YearMonth start, YearMonth end) { // Set ID based on the index of the internship in the list public void setId(int index) { - this.id = String.format("%02d", index); + this.id = index + 1; } // Getters and Setters - public String getId() { + public int getId() { return id; } diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index d144f028c2..ac1c1643cf 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -25,7 +25,7 @@ public void removeInternship(int index) { } } - // Private method to update the IDs after an addition/removal + // Private method to update the IDs after a removal private void updateIds() { for (int i = 0; i < internships.size(); i++) { internships.get(i).setId(i + 1); // ID is 1-based From 9547adc239ab5123fabaa9a273047e7681a0e079 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Sat, 5 Oct 2024 14:11:08 +0800 Subject: [PATCH 027/359] Change reference names to suit logic better --- src/main/java/seedu/duke/DeleteCommand.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/seedu/duke/DeleteCommand.java b/src/main/java/seedu/duke/DeleteCommand.java index 693315eb73..f80cef3d18 100644 --- a/src/main/java/seedu/duke/DeleteCommand.java +++ b/src/main/java/seedu/duke/DeleteCommand.java @@ -2,16 +2,16 @@ public class DeleteCommand implements Command { private final InternshipList internships; - private int index; + private int id; - public DeleteCommand(InternshipList internshipList, int index) { + public DeleteCommand(InternshipList internshipList, int id) { this.internships = internshipList; - this.index = index; + this.id = id; } public void execute (String[] args) { - index = Integer.parseInt(args[1]); - int id = index - 1; - internships.removeInternship(id); + id = Integer.parseInt(args[1]); + int index = id - 1; + internships.removeInternship(index); } public String getUsage() { From ce00c9bf319fc1195f099189cdc05d9bfdbdbf6e Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Sat, 5 Oct 2024 23:31:48 +0800 Subject: [PATCH 028/359] Add SortCommand class and update some part in InternshipList to help with the implenmentation of SortCommand Class --- src/main/java/seedu/duke/InternshipList.java | 37 ++++++++++++++++++++ src/main/java/seedu/duke/SortCommand.java | 28 +++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 src/main/java/seedu/duke/SortCommand.java diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index ac1c1643cf..b5da78445c 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -1,6 +1,8 @@ package seedu.duke; import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; public class InternshipList { public static ArrayList internships; @@ -53,4 +55,39 @@ public void listAllInternships() { } } } + + // Method to list all internships in sorted order without modifying the IDs + public void listInternshipsSortedByRole() { + ArrayList sortedList = new ArrayList<>(internships); + Collections.sort(sortedList, Comparator.comparing(Internship::getRole)); + + // Display the sorted list without changing IDs + for (Internship internship : sortedList) { + System.out.println(internship); + System.out.println("---------------------------------"); + } + } + + // Method to list all internships sorted by start date, then end date + public void listInternshipsSortedByDeadline() { + ArrayList sortedList = new ArrayList<>(internships); + Collections.sort(sortedList, new Comparator() { + @Override + public int compare(Internship i1, Internship i2) { + // Compare start dates + int startComparison = i1.getStartDate().compareTo(i2.getStartDate()); + if (startComparison != 0) { + return startComparison; + } + // If start dates are equal, compare end dates + return i1.getEndDate().compareTo(i2.getEndDate()); + } + }); + + // Display the sorted list without changing IDs + for (Internship internship : sortedList) { + System.out.println(internship); + System.out.println("---------------------------------"); + } + } } diff --git a/src/main/java/seedu/duke/SortCommand.java b/src/main/java/seedu/duke/SortCommand.java new file mode 100644 index 0000000000..5978bdd4a8 --- /dev/null +++ b/src/main/java/seedu/duke/SortCommand.java @@ -0,0 +1,28 @@ +package seedu.duke; + +public class SortCommand implements Command { + private final InternshipList internships; + + public SortCommand(InternshipList internshipList) { + this.internships = internshipList; + } + + @Override + public void execute(String[] args) { + if (args.length > 1 && args[1].equals("-alphabet")) { + internships.listInternshipsSortedByRole(); // Sort by role alphabetically + System.out.println("Sorted internships by role alphabetically."); + } else if (args.length > 1 && args[1].equals("-deadline")) { + internships.listInternshipsSortedByDeadline(); // Sort by deadline (start date, then end date) + System.out.println("Sorted internships by start date, then end date."); + } else { + System.out.println("Unknown or missing flag. Listing internships by ID."); + internships.listAllInternships(); // Default to listing by original order (ID) + } + } + + @Override + public String getUsage() { + return "Usage: sort [-alphabet | -deadline]"; + } +} From e2c1c0fbe9fe037c8657d1c81445f18154c95431 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Sun, 6 Oct 2024 10:32:26 +0800 Subject: [PATCH 029/359] Refractor the name of sortedList to sortedInternships --- src/main/java/seedu/duke/InternshipList.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index b5da78445c..eded9dc6f1 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -70,8 +70,8 @@ public void listInternshipsSortedByRole() { // Method to list all internships sorted by start date, then end date public void listInternshipsSortedByDeadline() { - ArrayList sortedList = new ArrayList<>(internships); - Collections.sort(sortedList, new Comparator() { + ArrayList sortedInternships = new ArrayList<>(internships); + Collections.sort(sortedInternships, new Comparator() { @Override public int compare(Internship i1, Internship i2) { // Compare start dates @@ -85,7 +85,7 @@ public int compare(Internship i1, Internship i2) { }); // Display the sorted list without changing IDs - for (Internship internship : sortedList) { + for (Internship internship : sortedInternships) { System.out.println(internship); System.out.println("---------------------------------"); } From a321e13c9974ea5ff8b4402e3daa9c1c34498766 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 6 Oct 2024 11:16:19 +0800 Subject: [PATCH 030/359] Added update status method to Internship --- src/main/java/seedu/duke/AddCommand.java | 8 +-- src/main/java/seedu/duke/Internship.java | 55 +++++++++++++++++-- .../java/seedu/exceptions/InvalidStatus.java | 5 ++ src/test/java/seedu/duke/InternshipTest.java | 35 ++++++++++++ 4 files changed, 95 insertions(+), 8 deletions(-) create mode 100644 src/main/java/seedu/exceptions/InvalidStatus.java create mode 100644 src/test/java/seedu/duke/InternshipTest.java diff --git a/src/main/java/seedu/duke/AddCommand.java b/src/main/java/seedu/duke/AddCommand.java index 8b23a5e399..df9e46ef11 100644 --- a/src/main/java/seedu/duke/AddCommand.java +++ b/src/main/java/seedu/duke/AddCommand.java @@ -7,8 +7,8 @@ public class AddCommand implements Command { public void execute(String[] args) { String role = ""; String company = ""; - YearMonth startDate = YearMonth.parse("01/00"); - YearMonth endDate = YearMonth.parse("01/00"); + String startDate = ""; + String endDate = ""; for (int i = 0; i < args.length; i++) { switch (args[i]) { @@ -28,14 +28,14 @@ public void execute(String[] args) { break; case "-from": if (i + 1 < args.length) { - startDate = YearMonth.parse(args[++i]); + startDate = args[++i]; } else { System.out.println("Start date not specified."); } break; case "-to": if (i + 1 < args.length) { - endDate = YearMonth.parse(args[++i]); + endDate = args[++i]; } else { System.out.println("End date not specified."); } diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 09086d1736..d2d11636df 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -1,8 +1,15 @@ package seedu.duke; +import seedu.exceptions.InvalidStatus; + import java.time.YearMonth; import java.time.format.DateTimeFormatter; +import java.util.Arrays; +import java.util.List; +/** + * Class to store the relevant information for an internship. + */ public class Internship { private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/yy"); @@ -15,20 +22,60 @@ public class Internship { private String status; - public Internship(String role, String company, YearMonth start, YearMonth end) { + /** + * Constructs an Internship instance with information provided. + * Skills and Status fields are initialised with default values. + * + * @param role description of role. + * @param company company name. + * @param start start year/month. + * @param end end year/month. + */ + public Internship(String role, String company, String start, String end) { this.role = role; this.company = company; - this.startDate = start; - this.endDate = end; + setStartDate(start); + setEndDate(end); this.skills = "No Skills Entered"; this.status = "Application Pending"; } - // Set ID based on the index of the internship in the list + /** + * Sets ID based on the index of the internship in the list. + */ public void setId(int index) { this.id = String.format("%02d", index); } + /** + * Updates the status of the Internship with a valid status. + * Does not update with invalid statuses and will prompt for a valid status. + * + * @param userStatus user-inputted status. + */ + public void updateStatus(String userStatus) { + List STATUSES = Arrays.asList( + "Application Pending", + "Application Completed", + "Accepted", + "Rejected" + ); + try { + for (String status : STATUSES) { + if (status.equalsIgnoreCase(userStatus)) { + this.status = status; + System.out.println(this); + return; + } + } + throw new InvalidStatus(); + } catch (InvalidStatus e) { + System.out.println("Status provided is not recognised:"); + System.out.println("Please provide one of the following:"); + System.out.println("Application Pending\nApplication Completed\nAccepted\nRejected"); + } + } + // Getters and Setters public String getId() { return id; diff --git a/src/main/java/seedu/exceptions/InvalidStatus.java b/src/main/java/seedu/exceptions/InvalidStatus.java new file mode 100644 index 0000000000..ed89c33b2b --- /dev/null +++ b/src/main/java/seedu/exceptions/InvalidStatus.java @@ -0,0 +1,5 @@ +package seedu.exceptions; + +public class InvalidStatus extends Exception { + +} diff --git a/src/test/java/seedu/duke/InternshipTest.java b/src/test/java/seedu/duke/InternshipTest.java new file mode 100644 index 0000000000..f7b59596bb --- /dev/null +++ b/src/test/java/seedu/duke/InternshipTest.java @@ -0,0 +1,35 @@ +package seedu.duke; + +import org.junit.jupiter.api.Test; +import seedu.exceptions.InvalidStatus; + +import java.time.YearMonth; + +import static org.junit.jupiter.api.Assertions.*; + +class InternshipTest { + + @Test + void updateStatus_validStatus1_expectNormal() { + Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); + internship.updateStatus("application completed"); + + assertEquals("Application Completed", internship.getStatus()); + } + + @Test + void updateStatus_validStatus2_expectNormal() { + Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); + internship.updateStatus("accepted"); + + assertEquals("Accepted", internship.getStatus()); + } + + @Test + void updateStatus_invalidStatus_expectException() { + Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); + internship.updateStatus("interview pending"); + + assertEquals("Application Pending", internship.getStatus()); + } +} \ No newline at end of file From 2c54d399147a446950a06e958f1cc78c1511b4a6 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 6 Oct 2024 11:22:44 +0800 Subject: [PATCH 031/359] Fixed checkstyle erros --- src/main/java/seedu/duke/AddCommand.java | 2 -- src/main/java/seedu/duke/Internship.java | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/main/java/seedu/duke/AddCommand.java b/src/main/java/seedu/duke/AddCommand.java index df9e46ef11..47757f8782 100644 --- a/src/main/java/seedu/duke/AddCommand.java +++ b/src/main/java/seedu/duke/AddCommand.java @@ -1,7 +1,5 @@ package seedu.duke; -import java.time.YearMonth; - public class AddCommand implements Command { @Override public void execute(String[] args) { diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index d2d11636df..cd6979ec0c 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -54,14 +54,14 @@ public void setId(int index) { * @param userStatus user-inputted status. */ public void updateStatus(String userStatus) { - List STATUSES = Arrays.asList( + List statuses = Arrays.asList( "Application Pending", "Application Completed", "Accepted", "Rejected" ); try { - for (String status : STATUSES) { + for (String status : statuses) { if (status.equalsIgnoreCase(userStatus)) { this.status = status; System.out.println(this); From bbbb36c5e1083d68ad6b849c4facc42ca7504a2e Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 6 Oct 2024 15:42:52 +0800 Subject: [PATCH 032/359] Implemented UpdateCommand class --- .../seedu/{duke => commands}/AddCommand.java | 4 ++- .../seedu/{duke => commands}/Command.java | 2 +- .../java/seedu/commands/UpdateCommand.java | 35 +++++++++++++++++++ src/main/java/seedu/duke/InternshipList.java | 9 +++++ .../java/seedu/duke/InternshipListTest.java | 18 ++++++++++ 5 files changed, 66 insertions(+), 2 deletions(-) rename src/main/java/seedu/{duke => commands}/AddCommand.java (96%) rename src/main/java/seedu/{duke => commands}/Command.java (78%) create mode 100644 src/main/java/seedu/commands/UpdateCommand.java create mode 100644 src/test/java/seedu/duke/InternshipListTest.java diff --git a/src/main/java/seedu/duke/AddCommand.java b/src/main/java/seedu/commands/AddCommand.java similarity index 96% rename from src/main/java/seedu/duke/AddCommand.java rename to src/main/java/seedu/commands/AddCommand.java index 47757f8782..b37b3187a2 100644 --- a/src/main/java/seedu/duke/AddCommand.java +++ b/src/main/java/seedu/commands/AddCommand.java @@ -1,4 +1,6 @@ -package seedu.duke; +package seedu.commands; + +import seedu.duke.Internship; public class AddCommand implements Command { @Override diff --git a/src/main/java/seedu/duke/Command.java b/src/main/java/seedu/commands/Command.java similarity index 78% rename from src/main/java/seedu/duke/Command.java rename to src/main/java/seedu/commands/Command.java index aed4f1f957..ced9c02062 100644 --- a/src/main/java/seedu/duke/Command.java +++ b/src/main/java/seedu/commands/Command.java @@ -1,4 +1,4 @@ -package seedu.duke; +package seedu.commands; public interface Command { void execute(String[] args); diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java new file mode 100644 index 0000000000..97d7d13f10 --- /dev/null +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -0,0 +1,35 @@ +package seedu.commands; + +import seedu.duke.InternshipList; + +public class UpdateCommand implements Command { + @Override + public void execute(String[] args) { + final int INDEX_FIELD = 0; + int internshipIndex = -1; + String status = ""; + for (int i = 0; i < args.length; i++) { + String[] words = args[i].split(" "); + switch (words[INDEX_FIELD]) { + case "id": + final int INDEX_ID = 1; + internshipIndex = Integer.parseInt(words[INDEX_ID]); + case "status": + status = args[i].replaceFirst("status", "").trim(); + } + } + InternshipList.internships.get(internshipIndex).updateStatus(status); + } + + public String getUsage() { + return """ + Usage: update -id {ID} -status {status} + + Choose from the following statuses" + - Application Pending + - Application Completed + - Accepted + - Rejected + """; + } +} diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index d144f028c2..5a1e45e264 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -42,6 +42,15 @@ public Internship getInternship(int index) { } } + // Method to update the status of applications, might not be needed + public void updateStatus(int index, String status) { + if (index >= 0 && index < internships.size()) { + internships.get(index).setStatus(status); + } else { + System.out.println("Invalid index"); + } + } + // Method to list all internships public void listAllInternships() { if (internships.isEmpty()) { diff --git a/src/test/java/seedu/duke/InternshipListTest.java b/src/test/java/seedu/duke/InternshipListTest.java new file mode 100644 index 0000000000..7e50f3d1f0 --- /dev/null +++ b/src/test/java/seedu/duke/InternshipListTest.java @@ -0,0 +1,18 @@ +package seedu.duke; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class InternshipListTest { + + @Test + void updateStatus_validIndexStatus_expectUpdated() { + InternshipList internshipList = new InternshipList(); + Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); + internshipList.addInternship(internship); + internshipList.updateStatus(0, "Application Completed"); + + assertEquals("Application Completed", internshipList.getInternship(0).getStatus()); + } +} \ No newline at end of file From b0812ac38cf12227964126e402bc71ed658483a5 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 6 Oct 2024 15:46:18 +0800 Subject: [PATCH 033/359] Resolved errors in AddCommand class --- src/main/java/seedu/commands/AddCommand.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/seedu/commands/AddCommand.java b/src/main/java/seedu/commands/AddCommand.java index 0c70f29d6c..f42a20c203 100644 --- a/src/main/java/seedu/commands/AddCommand.java +++ b/src/main/java/seedu/commands/AddCommand.java @@ -1,6 +1,7 @@ package seedu.commands; import seedu.duke.Internship; +import seedu.duke.InternshipList; public class AddCommand implements Command { private final InternshipList internships; From 525e17d4de1d265edbe6906e2cac9a1907241a00 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 6 Oct 2024 15:52:44 +0800 Subject: [PATCH 034/359] Shifted DeleteCommand and SortCommand to appropriate package --- src/main/java/seedu/{duke => commands}/DeleteCommand.java | 4 +++- src/main/java/seedu/{duke => commands}/SortCommand.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) rename src/main/java/seedu/{duke => commands}/DeleteCommand.java (89%) rename src/main/java/seedu/{duke => commands}/SortCommand.java (94%) diff --git a/src/main/java/seedu/duke/DeleteCommand.java b/src/main/java/seedu/commands/DeleteCommand.java similarity index 89% rename from src/main/java/seedu/duke/DeleteCommand.java rename to src/main/java/seedu/commands/DeleteCommand.java index f80cef3d18..afef4ce105 100644 --- a/src/main/java/seedu/duke/DeleteCommand.java +++ b/src/main/java/seedu/commands/DeleteCommand.java @@ -1,4 +1,6 @@ -package seedu.duke; +package seedu.commands; + +import seedu.duke.InternshipList; public class DeleteCommand implements Command { private final InternshipList internships; diff --git a/src/main/java/seedu/duke/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java similarity index 94% rename from src/main/java/seedu/duke/SortCommand.java rename to src/main/java/seedu/commands/SortCommand.java index 5978bdd4a8..c179c76411 100644 --- a/src/main/java/seedu/duke/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -1,4 +1,6 @@ -package seedu.duke; +package seedu.commands; + +import seedu.duke.InternshipList; public class SortCommand implements Command { private final InternshipList internships; From b9911210b57d38d40a5116803009b252bd9947ea Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 6 Oct 2024 15:58:50 +0800 Subject: [PATCH 035/359] Fixed checkstyle issue --- src/main/java/seedu/commands/UpdateCommand.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index 97d7d13f10..cf476943ca 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -3,19 +3,25 @@ import seedu.duke.InternshipList; public class UpdateCommand implements Command { + private static final int INDEX_FIELD = 0; + private static final int INDEX_ID = 1; + @Override public void execute(String[] args) { - final int INDEX_FIELD = 0; int internshipIndex = -1; String status = ""; for (int i = 0; i < args.length; i++) { String[] words = args[i].split(" "); switch (words[INDEX_FIELD]) { case "id": - final int INDEX_ID = 1; internshipIndex = Integer.parseInt(words[INDEX_ID]); + break; case "status": status = args[i].replaceFirst("status", "").trim(); + break; + default: + System.out.println("Unknown flag: " + words[INDEX_FIELD]); + break; } } InternshipList.internships.get(internshipIndex).updateStatus(status); From eba5449637e1570e30dc1dafa5b0c4eadf6883a8 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 6 Oct 2024 16:05:51 +0800 Subject: [PATCH 036/359] Fixed checkstyle issues for test classes --- src/test/java/seedu/duke/InternshipListTest.java | 4 ++-- src/test/java/seedu/duke/InternshipTest.java | 7 ++----- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/test/java/seedu/duke/InternshipListTest.java b/src/test/java/seedu/duke/InternshipListTest.java index 7e50f3d1f0..248262f9aa 100644 --- a/src/test/java/seedu/duke/InternshipListTest.java +++ b/src/test/java/seedu/duke/InternshipListTest.java @@ -2,7 +2,7 @@ import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; class InternshipListTest { @@ -15,4 +15,4 @@ void updateStatus_validIndexStatus_expectUpdated() { assertEquals("Application Completed", internshipList.getInternship(0).getStatus()); } -} \ No newline at end of file +} diff --git a/src/test/java/seedu/duke/InternshipTest.java b/src/test/java/seedu/duke/InternshipTest.java index f7b59596bb..13c4c0d8b9 100644 --- a/src/test/java/seedu/duke/InternshipTest.java +++ b/src/test/java/seedu/duke/InternshipTest.java @@ -1,11 +1,8 @@ package seedu.duke; import org.junit.jupiter.api.Test; -import seedu.exceptions.InvalidStatus; -import java.time.YearMonth; - -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; class InternshipTest { @@ -32,4 +29,4 @@ void updateStatus_invalidStatus_expectException() { assertEquals("Application Pending", internship.getStatus()); } -} \ No newline at end of file +} From 327401e4f30d5df4958cabf52811aaad45a057d4 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 6 Oct 2024 19:16:20 +0800 Subject: [PATCH 037/359] Implemented Ui class --- src/main/java/seedu/duke/Ui.java | 61 ++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 src/main/java/seedu/duke/Ui.java diff --git a/src/main/java/seedu/duke/Ui.java b/src/main/java/seedu/duke/Ui.java new file mode 100644 index 0000000000..4cc792bfb2 --- /dev/null +++ b/src/main/java/seedu/duke/Ui.java @@ -0,0 +1,61 @@ +package seedu.duke; + +import java.util.Scanner; + +/** + * Class to facilitate program interactions with the user. + */ +public class Ui { + private static final String DIVIDER = "__________________________________________________\n"; + private static Scanner scanner = new Scanner(System.in); + + private static final String MESSAGE_WELCOME = """ + Hello! Welcome to EasInternship! + Ready to rock some internships?? :)"""; + private static final String MESSAGE_GOODBYE = "Peace out! Have fun at the internship."; + + /** + * Reads and returns the user's input. + */ + public String readInput() { + return scanner.nextLine(); + } + + /** + * Prints the welcome message of the chatbot. + */ + public void showWelcome() { + showOutput(MESSAGE_WELCOME); + } + + /** + * Prints the goodbye message of the chatbot. + */ + public void showGoodbye() { + showOutput(MESSAGE_GOODBYE); + } + + /** + * Prints the specified output String. + * Includes a line break at the end. + */ + public void showOutput(String output) { + printHeadDivider(); + System.out.println(output); + printTailDivider(); + } + + /** + * Prints horizontal line to indicate the start of a chatbot response. + */ + public void printHeadDivider() { + System.out.print(DIVIDER); + } + + /** + * Prints horizontal line to indicate the end of a chatbot response. + */ + public void printTailDivider() { + System.out.println(DIVIDER); + } +} From 1d2f0140174c3d911b56743297a32c4017818404 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Mon, 7 Oct 2024 09:37:18 +0800 Subject: [PATCH 038/359] Implement basic filter command functionality Added a FilterCommand class Added a functional interface so as to be able to create lambdas within the FilterCommand class Changed a string in the InternshipList class to better describe the general case where no internships are found in the Array list --- src/main/java/seedu/duke/FilterCommand.java | 53 +++++++++++++++++++ .../seedu/duke/InternshipFieldGetter.java | 6 +++ src/main/java/seedu/duke/InternshipList.java | 10 +++- 3 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 src/main/java/seedu/duke/FilterCommand.java create mode 100644 src/main/java/seedu/duke/InternshipFieldGetter.java diff --git a/src/main/java/seedu/duke/FilterCommand.java b/src/main/java/seedu/duke/FilterCommand.java new file mode 100644 index 0000000000..20f0e4cb15 --- /dev/null +++ b/src/main/java/seedu/duke/FilterCommand.java @@ -0,0 +1,53 @@ +package seedu.duke; +import java.util.HashMap; +import java.util.Map; + +public class FilterCommand implements Command { + private final InternshipList internships; + private InternshipList filteredInternships; + + public FilterCommand(InternshipList internshipList) { + this.internships = internshipList; + this.filteredInternships = new InternshipList(); + } + + @Override + public void execute(String[] args) { + if (args.length > 1) { + String flag = args[0]; // The flag (e.g., -role, -company) + String searchTerm = args[1]; // What you are searching for + + // Map flags to getter methods using lambdas + Map fieldGetters = new HashMap<>(); + fieldGetters.put("-name", Internship::getRole); + fieldGetters.put("-company", Internship::getCompany); + fieldGetters.put("-from", Internship::getStartDate); + fieldGetters.put("-to", Internship::getEndDate); + + // Retrieve the corresponding getter method based on the flag + InternshipFieldGetter getter = fieldGetters.get(flag); + + if (getter == null) { + System.out.println("Unknown flag: " + flag); + return; + } + + // Iterate over the internships and apply the getter for comparison + for (Internship internship : internships.getAllInternships()) { + String fieldValue = getter.getField(internship); // Dynamically calls getRole(), getCompany(), etc. + if (fieldValue.equals(searchTerm)) { + filteredInternships.addInternship(internship); + } + } + + filteredInternships.listAllInternships(); + } else { + System.out.println("Insufficient arguments."); + } + } + + @Override + public String getUsage() { + return "Usage: filter -name {Role name}"; + } +} diff --git a/src/main/java/seedu/duke/InternshipFieldGetter.java b/src/main/java/seedu/duke/InternshipFieldGetter.java new file mode 100644 index 0000000000..b86c4b2141 --- /dev/null +++ b/src/main/java/seedu/duke/InternshipFieldGetter.java @@ -0,0 +1,6 @@ +package seedu.duke; + +@FunctionalInterface +public interface InternshipFieldGetter { + String getField(Internship internship); +} diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index ac1c1643cf..77845ff113 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -1,9 +1,11 @@ package seedu.duke; import java.util.ArrayList; +import java.util.Collections; +import java.util.List; public class InternshipList { - public static ArrayList internships; + public ArrayList internships; // Constructor public InternshipList() { @@ -45,7 +47,7 @@ public Internship getInternship(int index) { // Method to list all internships public void listAllInternships() { if (internships.isEmpty()) { - System.out.println("No internships added."); + System.out.println("No internships found."); } else { for (Internship internship : internships) { System.out.println(internship); @@ -53,4 +55,8 @@ public void listAllInternships() { } } } + + public List getAllInternships() { + return Collections.unmodifiableList(internships); + } } From 2065fd37868882b95ff580eb0e109c196436aa6f Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 7 Oct 2024 10:28:21 +0800 Subject: [PATCH 039/359] Included updating multiple fields --- .../java/seedu/commands/UpdateCommand.java | 28 +++++++++++--- src/main/java/seedu/duke/Internship.java | 38 ++++++++++++++++++- .../seedu/commands/UpdateCommandTest.java | 28 ++++++++++++++ 3 files changed, 87 insertions(+), 7 deletions(-) create mode 100644 src/test/java/seedu/commands/UpdateCommandTest.java diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index cf476943ca..cb3feddce6 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -6,10 +6,22 @@ public class UpdateCommand implements Command { private static final int INDEX_FIELD = 0; private static final int INDEX_ID = 1; + private static InternshipList internships; + + public UpdateCommand(InternshipList internshipList) { + internships = internshipList; + } + + /** + * Updates specific internship entries. + * + * @param args user input split by fields and the new values. + */ @Override public void execute(String[] args) { int internshipIndex = -1; - String status = ""; + String field = ""; + String value = ""; for (int i = 0; i < args.length; i++) { String[] words = args[i].split(" "); switch (words[INDEX_FIELD]) { @@ -17,21 +29,27 @@ public void execute(String[] args) { internshipIndex = Integer.parseInt(words[INDEX_ID]); break; case "status": - status = args[i].replaceFirst("status", "").trim(); + case "skills": + case "role": + case "company": + case "end": + field = words[INDEX_FIELD]; + value = words[INDEX_ID].replace(field, "").trim(); + internships.getInternship(internshipIndex).updateField(field, value); break; default: System.out.println("Unknown flag: " + words[INDEX_FIELD]); break; } } - InternshipList.internships.get(internshipIndex).updateStatus(status); + System.out.println(internships.toString()); } public String getUsage() { return """ - Usage: update -id {ID} -status {status} + Usage: update -id {ID} -{field} {status} - Choose from the following statuses" + Choose from the following statuses: - Application Pending - Application Completed - Accepted diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 368a8f8876..609bc923ee 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -47,6 +47,41 @@ public void setId(int index) { this.id = index + 1; } + /** + * Updates the internship field with the new value. + * + * @param field field to be updated. + * @param value new value to update field with. + */ + public void updateField(String field, String value) { + switch (field) { + case "id": + setId(Integer.parseInt(value)); + break; + case "status": + updateStatus(value); + break; + case "skills": + setSkills(value); + break; + case "role": + setRole(value); + break; + case "company": + setCompany(value); + break; + case "start": + setStartDate(value); + break; + case "end": + setEndDate(value); + break; + default: + System.out.println("Invalid field: " + field); + } + System.out.println(field + " updated: " + value); + } + /** * Updates the status of the Internship with a valid status. * Does not update with invalid statuses and will prompt for a valid status. @@ -64,7 +99,6 @@ public void updateStatus(String userStatus) { for (String status : statuses) { if (status.equalsIgnoreCase(userStatus)) { this.status = status; - System.out.println(this); return; } } @@ -72,7 +106,7 @@ public void updateStatus(String userStatus) { } catch (InvalidStatus e) { System.out.println("Status provided is not recognised:"); System.out.println("Please provide one of the following:"); - System.out.println("Application Pending\nApplication Completed\nAccepted\nRejected"); + System.out.println("- Application Pending\n- Application Completed\n- Accepted\n- Rejected"); } } diff --git a/src/test/java/seedu/commands/UpdateCommandTest.java b/src/test/java/seedu/commands/UpdateCommandTest.java new file mode 100644 index 0000000000..5d84325ce9 --- /dev/null +++ b/src/test/java/seedu/commands/UpdateCommandTest.java @@ -0,0 +1,28 @@ +package seedu.commands; + +import org.junit.jupiter.api.Test; +import seedu.duke.Internship; +import seedu.duke.InternshipList; + +import java.util.Arrays; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class UpdateCommandTest { + + @Test + void execute_validInput1_expectUpdated() { + InternshipList internshipList = new InternshipList(); + Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); + internshipList.addInternship(internship); + + assertEquals(internship.getCompany(), "ABC"); + + UpdateCommand updateCommand = new UpdateCommand(internshipList); + String input = "update -id 0 -company XYZ"; + String[] words = input.split("-"); + updateCommand.execute(Arrays.copyOfRange(words, 1, words.length)); + + assertEquals(internship.getCompany(), "XYZ"); + } +} From 1b1c66f17e602a08dd7618adcc25c43d563ff3a4 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Mon, 7 Oct 2024 13:19:36 +0800 Subject: [PATCH 040/359] Fix checkstyle issue Removed unused imports Placed the static members above the non static members in the UpdateCommand class --- src/main/java/seedu/commands/UpdateCommand.java | 3 ++- src/main/java/seedu/duke/Duke.java | 2 -- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index 31bea2a70d..18e1ddca61 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -3,10 +3,11 @@ import seedu.duke.InternshipList; public class UpdateCommand implements Command { - private InternshipList internships; private static final int INDEX_FIELD = 0; private static final int INDEX_ID = 1; + private InternshipList internships; + public UpdateCommand(InternshipList internshipList) { this.internships = internshipList; } diff --git a/src/main/java/seedu/duke/Duke.java b/src/main/java/seedu/duke/Duke.java index 7b688d2c4b..233a614f2c 100644 --- a/src/main/java/seedu/duke/Duke.java +++ b/src/main/java/seedu/duke/Duke.java @@ -1,7 +1,5 @@ package seedu.duke; -import seedu.commands.*; -import java.time.YearMonth; import java.util.Scanner; /** From 89bebf52430d5af4aa0141292b451f97a270f394 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Tue, 8 Oct 2024 13:34:55 +0800 Subject: [PATCH 041/359] Modified the Duke main class and modify the the SortCommand. --- src/main/java/seedu/commands/ListCommand.java | 24 +++++++ src/main/java/seedu/commands/SortCommand.java | 31 ++++++--- src/main/java/seedu/duke/Duke.java | 69 +++++++++++++++---- 3 files changed, 102 insertions(+), 22 deletions(-) create mode 100644 src/main/java/seedu/commands/ListCommand.java diff --git a/src/main/java/seedu/commands/ListCommand.java b/src/main/java/seedu/commands/ListCommand.java new file mode 100644 index 0000000000..6144061fbc --- /dev/null +++ b/src/main/java/seedu/commands/ListCommand.java @@ -0,0 +1,24 @@ +package seedu.commands; + +import seedu.duke.InternshipList; + +/** + * Command to list all internships in the system. + */ +public class ListCommand implements Command { + private final InternshipList internships; + + public ListCommand(InternshipList internshipList) { + this.internships = internshipList; + } + + @Override + public void execute(String[] args) { + internships.listAllInternships(); + } + + @Override + public String getUsage() { + return "Usage: list"; + } +} \ No newline at end of file diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index c179c76411..0ff7651afa 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -11,15 +11,28 @@ public SortCommand(InternshipList internshipList) { @Override public void execute(String[] args) { - if (args.length > 1 && args[1].equals("-alphabet")) { - internships.listInternshipsSortedByRole(); // Sort by role alphabetically - System.out.println("Sorted internships by role alphabetically."); - } else if (args.length > 1 && args[1].equals("-deadline")) { - internships.listInternshipsSortedByDeadline(); // Sort by deadline (start date, then end date) - System.out.println("Sorted internships by start date, then end date."); - } else { - System.out.println("Unknown or missing flag. Listing internships by ID."); + // Ensure that the args array contains at least one argument after "sort" + if (args.length == 0) { + System.out.println("No sorting option provided. Listing internships by ID."); internships.listAllInternships(); // Default to listing by original order (ID) + return; + } + + // Check if the user requested to sort by alphabet or deadline + String sortOption = args[0].toLowerCase(); + + switch (sortOption) { + case "-alphabet": + internships.listInternshipsSortedByRole(); // Sort by role alphabetically + System.out.println("Sorted internships by role alphabetically."); + break; + case "-deadline": + internships.listInternshipsSortedByDeadline(); // Sort by deadline (start date, then end date) + System.out.println("Sorted internships by start date, then end date."); + break; + default: + System.out.println("Unknown or missing flag. Listing internships by ID."); + internships.listAllInternships(); // Default to listing by original order (ID) } } @@ -27,4 +40,4 @@ public void execute(String[] args) { public String getUsage() { return "Usage: sort [-alphabet | -deadline]"; } -} +} \ No newline at end of file diff --git a/src/main/java/seedu/duke/Duke.java b/src/main/java/seedu/duke/Duke.java index 233a614f2c..e4359c5408 100644 --- a/src/main/java/seedu/duke/Duke.java +++ b/src/main/java/seedu/duke/Duke.java @@ -1,6 +1,9 @@ package seedu.duke; +import seedu.commands.*; import java.util.Scanner; +import java.util.HashMap; +import java.util.Map; /** * The EasInternship class contains the main method which is the entry point for the application. @@ -8,23 +11,63 @@ * and the task list is displayed and updated accordingly. */ public class Duke { + private static final Ui ui = new Ui(); + private static final InternshipList internshipList = new InternshipList(); + private static final Map commands = new HashMap<>(); + /** - * The main method initializes the UI, loads tasks from the storage, and continuously - * prompts the user for commands to update and manipulate the task list until an - * exit command is given. + * The main method initializes the UI and command handlers, and continuously + * prompts the user for input until an exit command is given. * * @param args Command-line arguments (not used in this application) */ public static void main(String[] args) { - String logo = " ____ _ \n" - + "| _ \\ _ _| | _____ \n" - + "| | | | | | | |/ / _ \\\n" - + "| |_| | |_| | < __/\n" - + "|____/ \\__,_|_|\\_\\___|\n"; - System.out.println("Hello from\n" + logo); - System.out.println("What is your name?"); - - Scanner in = new Scanner(System.in); - System.out.println("Hello " + in.nextLine()); + + ui.showWelcome(); + + // Initialize command map + initializeCommands(); + + // Main loop + Scanner scanner = new Scanner(System.in); + boolean isExit = false; + + while (!isExit) { + System.out.print("Enter command: "); + String input = scanner.nextLine(); + String[] inputArgs = input.split("\\s+", 2); + String commandWord = inputArgs[0].toLowerCase(); // Extract command word + + if (commandWord.equals("bye")) { + ui.showGoodbye(); + isExit = true; + continue; + } + + Command command = commands.get(commandWord); + if (command == null) { + System.out.println("Unknown command: " + commandWord); + continue; + } + + try { + String[] commandArgs = inputArgs.length > 1 ? inputArgs[1].split("\\s+") : new String[0]; + command.execute(commandArgs); + } catch (Exception e) { + System.out.println("Error executing command: " + e.getMessage()); + } + } + } + + /** + * Initializes the available commands and maps them to their respective handlers. + */ + private static void initializeCommands() { + commands.put("add", new AddCommand(internshipList)); + commands.put("del", new DeleteCommand(internshipList)); + commands.put("update", new UpdateCommand(internshipList)); + commands.put("sort", new SortCommand(internshipList)); + commands.put("filter", new FilterCommand(internshipList)); + commands.put("list", new ListCommand(internshipList)); // Custom command to list all internships } } From 0658ff56c2f2b2c2bc7e7fb83a08810533e5c3f8 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Tue, 8 Oct 2024 14:29:51 +0800 Subject: [PATCH 042/359] Update the formatting problem in SortCommand and Duke --- src/main/java/seedu/commands/SortCommand.java | 22 +++++++++---------- src/main/java/seedu/duke/Duke.java | 10 ++++++++- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index 0ff7651afa..a675d28148 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -22,17 +22,17 @@ public void execute(String[] args) { String sortOption = args[0].toLowerCase(); switch (sortOption) { - case "-alphabet": - internships.listInternshipsSortedByRole(); // Sort by role alphabetically - System.out.println("Sorted internships by role alphabetically."); - break; - case "-deadline": - internships.listInternshipsSortedByDeadline(); // Sort by deadline (start date, then end date) - System.out.println("Sorted internships by start date, then end date."); - break; - default: - System.out.println("Unknown or missing flag. Listing internships by ID."); - internships.listAllInternships(); // Default to listing by original order (ID) + case "-alphabet": + internships.listInternshipsSortedByRole(); // Sort by role alphabetically + System.out.println("Sorted internships by role alphabetically."); + break; + case "-deadline": + internships.listInternshipsSortedByDeadline(); // Sort by deadline (start date, then end date) + System.out.println("Sorted internships by start date, then end date."); + break; + default: + System.out.println("Unknown or missing flag. Listing internships by ID."); + internships.listAllInternships(); // Default to listing by original order (ID) } } diff --git a/src/main/java/seedu/duke/Duke.java b/src/main/java/seedu/duke/Duke.java index e4359c5408..9092c8085f 100644 --- a/src/main/java/seedu/duke/Duke.java +++ b/src/main/java/seedu/duke/Duke.java @@ -1,6 +1,14 @@ package seedu.duke; -import seedu.commands.*; +import seedu.commands.AddCommand; +import seedu.commands.Command; +import seedu.commands.FilterCommand; +import seedu.commands.DeleteCommand; +import seedu.commands.InternshipFieldGetter; +import seedu.commands.ListCommand; +import seedu.commands.SortCommand; +import seedu.commands.UpdateCommand; + import java.util.Scanner; import java.util.HashMap; import java.util.Map; From 8a2268dcca808e65abc334f63518ef2da4426d6e Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Tue, 8 Oct 2024 14:39:00 +0800 Subject: [PATCH 043/359] Add newline at the end of SortCommand and ListCommand --- src/main/java/seedu/commands/ListCommand.java | 2 +- src/main/java/seedu/commands/SortCommand.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/commands/ListCommand.java b/src/main/java/seedu/commands/ListCommand.java index 6144061fbc..4b98d5d99a 100644 --- a/src/main/java/seedu/commands/ListCommand.java +++ b/src/main/java/seedu/commands/ListCommand.java @@ -21,4 +21,4 @@ public void execute(String[] args) { public String getUsage() { return "Usage: list"; } -} \ No newline at end of file +} diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index a675d28148..e22145da37 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -40,4 +40,4 @@ public void execute(String[] args) { public String getUsage() { return "Usage: sort [-alphabet | -deadline]"; } -} \ No newline at end of file +} From cf764e1856e5c994907c976d0bd63f45646df437 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Tue, 8 Oct 2024 14:42:01 +0800 Subject: [PATCH 044/359] Remove unused import line in Duke class --- src/main/java/seedu/duke/Duke.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/seedu/duke/Duke.java b/src/main/java/seedu/duke/Duke.java index 9092c8085f..6e91a9c851 100644 --- a/src/main/java/seedu/duke/Duke.java +++ b/src/main/java/seedu/duke/Duke.java @@ -4,7 +4,6 @@ import seedu.commands.Command; import seedu.commands.FilterCommand; import seedu.commands.DeleteCommand; -import seedu.commands.InternshipFieldGetter; import seedu.commands.ListCommand; import seedu.commands.SortCommand; import seedu.commands.UpdateCommand; From 6b8c0520b614450cbf4481519b668b6c634d4f42 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Tue, 8 Oct 2024 15:32:17 +0800 Subject: [PATCH 045/359] Add the hasNextLine in the condition of the while loop in the Duke class --- src/main/java/seedu/duke/Duke.java | 2 +- src/main/java/seedu/duke/EasInternship.java | 80 +++++++++++++++++++++ 2 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 src/main/java/seedu/duke/EasInternship.java diff --git a/src/main/java/seedu/duke/Duke.java b/src/main/java/seedu/duke/Duke.java index 6e91a9c851..b80dc40a51 100644 --- a/src/main/java/seedu/duke/Duke.java +++ b/src/main/java/seedu/duke/Duke.java @@ -39,7 +39,7 @@ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); boolean isExit = false; - while (!isExit) { + while (!isExit && scanner.hasNext()) { System.out.print("Enter command: "); String input = scanner.nextLine(); String[] inputArgs = input.split("\\s+", 2); diff --git a/src/main/java/seedu/duke/EasInternship.java b/src/main/java/seedu/duke/EasInternship.java new file mode 100644 index 0000000000..c41a32a6f5 --- /dev/null +++ b/src/main/java/seedu/duke/EasInternship.java @@ -0,0 +1,80 @@ +package seedu.duke; + +import seedu.commands.AddCommand; +import seedu.commands.Command; +import seedu.commands.FilterCommand; +import seedu.commands.DeleteCommand; +import seedu.commands.ListCommand; +import seedu.commands.SortCommand; +import seedu.commands.UpdateCommand; + +import java.util.Scanner; +import java.util.HashMap; +import java.util.Map; + +/** + * The EasInternship class contains the main method which is the entry point for the application. + * It manages the application's main loop, where user input is read, commands are parsed, + * and the task list is displayed and updated accordingly. + */ +public class EasInternship { + private static final Ui ui = new Ui(); + private static final InternshipList internshipList = new InternshipList(); + private static final Map commands = new HashMap<>(); + + /** + * The main method initializes the UI and command handlers, and continuously + * prompts the user for input until an exit command is given. + * + * @param args Command-line arguments (not used in this application) + */ + public static void main(String[] args) { + + ui.showWelcome(); + + // Initialize command map + initializeCommands(); + + // Main loop + Scanner scanner = new Scanner(System.in); + boolean isExit = false; + + while (!isExit) { + System.out.print("Enter command: "); + String input = scanner.nextLine(); + String[] inputArgs = input.split("\\s+", 2); + String commandWord = inputArgs[0].toLowerCase(); // Extract command word + + if (commandWord.equals("bye")) { + ui.showGoodbye(); + isExit = true; + continue; + } + + Command command = commands.get(commandWord); + if (command == null) { + System.out.println("Unknown command: " + commandWord); + continue; + } + + try { + String[] commandArgs = inputArgs.length > 1 ? inputArgs[1].split("\\s+") : new String[0]; + command.execute(commandArgs); + } catch (Exception e) { + System.out.println("Error executing command: " + e.getMessage()); + } + } + } + + /** + * Initializes the available commands and maps them to their respective handlers. + */ + private static void initializeCommands() { + commands.put("add", new AddCommand(internshipList)); + commands.put("del", new DeleteCommand(internshipList)); + commands.put("update", new UpdateCommand(internshipList)); + commands.put("sort", new SortCommand(internshipList)); + commands.put("filter", new FilterCommand(internshipList)); + commands.put("list", new ListCommand(internshipList)); // Custom command to list all internships + } +} From 59ab539b3ec1cd5518aa67617cd070fad622c61a Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Tue, 8 Oct 2024 15:41:31 +0800 Subject: [PATCH 046/359] Add scanner.hasNextLine() Check in the Duke class to prevent the NoSuchElementException --- src/main/java/seedu/duke/Duke.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/duke/Duke.java b/src/main/java/seedu/duke/Duke.java index b80dc40a51..b93206ea09 100644 --- a/src/main/java/seedu/duke/Duke.java +++ b/src/main/java/seedu/duke/Duke.java @@ -39,8 +39,15 @@ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); boolean isExit = false; - while (!isExit && scanner.hasNext()) { + while (!isExit) { System.out.print("Enter command: "); + + // Check if there is a next line to avoid NoSuchElementException + if (!scanner.hasNextLine()) { + System.out.println("No input found. Exiting..."); + break; // Exit the loop if no input is available + } + String input = scanner.nextLine(); String[] inputArgs = input.split("\\s+", 2); String commandWord = inputArgs[0].toLowerCase(); // Extract command word From c64e7fd8f96c94be3fa6a8e7059742b7bb7229e0 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Tue, 8 Oct 2024 15:49:06 +0800 Subject: [PATCH 047/359] Modify the Duke class back to the default one --- src/main/java/seedu/duke/Duke.java | 85 +++++------------------------- 1 file changed, 14 insertions(+), 71 deletions(-) diff --git a/src/main/java/seedu/duke/Duke.java b/src/main/java/seedu/duke/Duke.java index b93206ea09..9a279cd2ac 100644 --- a/src/main/java/seedu/duke/Duke.java +++ b/src/main/java/seedu/duke/Duke.java @@ -1,16 +1,6 @@ package seedu.duke; -import seedu.commands.AddCommand; -import seedu.commands.Command; -import seedu.commands.FilterCommand; -import seedu.commands.DeleteCommand; -import seedu.commands.ListCommand; -import seedu.commands.SortCommand; -import seedu.commands.UpdateCommand; - import java.util.Scanner; -import java.util.HashMap; -import java.util.Map; /** * The EasInternship class contains the main method which is the entry point for the application. @@ -18,70 +8,23 @@ * and the task list is displayed and updated accordingly. */ public class Duke { - private static final Ui ui = new Ui(); - private static final InternshipList internshipList = new InternshipList(); - private static final Map commands = new HashMap<>(); - /** - * The main method initializes the UI and command handlers, and continuously - * prompts the user for input until an exit command is given. + * The main method initializes the UI, loads tasks from the storage, and continuously + * prompts the user for commands to update and manipulate the task list until an + * exit command is given. * * @param args Command-line arguments (not used in this application) */ public static void main(String[] args) { - - ui.showWelcome(); - - // Initialize command map - initializeCommands(); - - // Main loop - Scanner scanner = new Scanner(System.in); - boolean isExit = false; - - while (!isExit) { - System.out.print("Enter command: "); - - // Check if there is a next line to avoid NoSuchElementException - if (!scanner.hasNextLine()) { - System.out.println("No input found. Exiting..."); - break; // Exit the loop if no input is available - } - - String input = scanner.nextLine(); - String[] inputArgs = input.split("\\s+", 2); - String commandWord = inputArgs[0].toLowerCase(); // Extract command word - - if (commandWord.equals("bye")) { - ui.showGoodbye(); - isExit = true; - continue; - } - - Command command = commands.get(commandWord); - if (command == null) { - System.out.println("Unknown command: " + commandWord); - continue; - } - - try { - String[] commandArgs = inputArgs.length > 1 ? inputArgs[1].split("\\s+") : new String[0]; - command.execute(commandArgs); - } catch (Exception e) { - System.out.println("Error executing command: " + e.getMessage()); - } - } - } - - /** - * Initializes the available commands and maps them to their respective handlers. - */ - private static void initializeCommands() { - commands.put("add", new AddCommand(internshipList)); - commands.put("del", new DeleteCommand(internshipList)); - commands.put("update", new UpdateCommand(internshipList)); - commands.put("sort", new SortCommand(internshipList)); - commands.put("filter", new FilterCommand(internshipList)); - commands.put("list", new ListCommand(internshipList)); // Custom command to list all internships + String logo = " ____ _ \n" + + "| _ \\ _ _| | _____ \n" + + "| | | | | | | |/ / _ \\\n" + + "| |_| | |_| | < __/\n" + + "|____/ \\__,_|_|\\_\\___|\n"; + System.out.println("Hello from\n" + logo); + System.out.println("What is your name?"); + + Scanner in = new Scanner(System.in); + System.out.println("Hello " + in.nextLine()); } -} +} \ No newline at end of file From adca8190f0f22c50acbe5fa9112819d13bb536e6 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Tue, 8 Oct 2024 15:51:26 +0800 Subject: [PATCH 048/359] Add newline at the end of the Duke class --- src/main/java/seedu/duke/Duke.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/seedu/duke/Duke.java b/src/main/java/seedu/duke/Duke.java index 9a279cd2ac..233a614f2c 100644 --- a/src/main/java/seedu/duke/Duke.java +++ b/src/main/java/seedu/duke/Duke.java @@ -27,4 +27,4 @@ public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("Hello " + in.nextLine()); } -} \ No newline at end of file +} From fc03b8784ea39d5429c7750382f178105ae15427 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Tue, 8 Oct 2024 21:54:04 +0800 Subject: [PATCH 049/359] completed Storage class --- src/main/java/seedu/duke/Storage.java | 80 +++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 src/main/java/seedu/duke/Storage.java diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java new file mode 100644 index 0000000000..fb3665770c --- /dev/null +++ b/src/main/java/seedu/duke/Storage.java @@ -0,0 +1,80 @@ +package seedu.duke; + +import java.io.File; +import java.io.FileWriter; +import java.io.FileReader; +import java.io.BufferedReader; +import java.io.IOException; +import java.util.List; + +/** + * Handles the saving and loading of internships from a file. + * The tasks are saved in a specified format and can be restored upon loading from the file. + */ +public class Storage { + //define filepath + private static final String FILE_PATH = "./data/EasInternship.txt"; + + + /** + * Saves all the Internships in the InternshipList to a file. + * Internships are stored in a specific format, depending on the fields relevant to each internship (ID, Role, Company, Duration, Skills, Status). + */ + public static void saveToFile(InternshipList internshipList) { + try { + File dir = new File("./data"); + //create directory if file does not exist + if (!dir.exists()) { + dir.mkdirs(); + } + FileWriter writer = new FileWriter(FILE_PATH); + List internships = internshipList.getAllInternships(); + for (Internship internship : internships) { + writer.write(internship.getId() + " | " + + internship.getRole() + " | " + + internship.getCompany() + " | " + + internship.getStartDate() + " | " + + internship.getEndDate() + " | " + + internship.getSkills() + " | " + + internship.getStatus() + "\n"); + } + writer.close(); + } catch (IOException e) { + System.out.println("Error while saving tasks: " + e.getMessage()); + } + } + + /** + * Loads internships from the file into the InternshipList. + * The method parses each line to recreate the Internship objects and adds them to the InternshipList. + */ + public static void loadFromFile(InternshipList internshipList) { + try { + File file = new File(FILE_PATH); + if (!file.exists()) { + System.out.println("No data file found."); + return; + } + BufferedReader reader = new BufferedReader(new FileReader(FILE_PATH)); + String line; + while ((line = reader.readLine()) != null) { + String[] data = line.split(" \\| "); + String role = data[1]; + String company = data[2]; + String startDate = data[3]; + String endDate = data[4]; + String skills = data[5]; + String status = data[6]; + + Internship internship = new Internship(role, company, startDate, endDate); + internship.setSkills(skills); + internship.setStatus(status); + internshipList.addInternship(internship); + } + reader.close(); + } catch (IOException e) { + System.out.println("Error while loading tasks: " + e.getMessage()); + } + } + +} From a4acd2fc62979c5121267eadc6fcef56bb18d756 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Tue, 8 Oct 2024 22:38:05 +0800 Subject: [PATCH 050/359] Implement new Parser class and integrate with existing code Changed the Command interface to an abstract class so as to facilitate the sharing of common members such as INDEX_FIELD, INDEX_DATA and the main internships list. Also, added a function so as to set from the main loop - the common internship list for all commands to access, read and modify, Deleted constructors within the subclass commands as they are instantiated from the parent abstract class already. Changed the parameter type of the execute function from String[] to ArrayList so that we can call more functions to easily manipulate the arguments that are passed into the function. Gave a default id value for internships which haven't been instantiated yet. Added a new file under the test folder just to showcase how to operate the program and the expected behaviour/syntax. Sample inputs and outputs only cover the basic cases without testing too many edge cases. --- src/main/java/seedu/commands/AddCommand.java | 42 ++++----- src/main/java/seedu/commands/Command.java | 18 +++- .../java/seedu/commands/DeleteCommand.java | 15 ++- .../java/seedu/commands/FilterCommand.java | 70 +++++++------- src/main/java/seedu/commands/ListCommand.java | 12 +-- src/main/java/seedu/commands/SortCommand.java | 20 ++-- .../java/seedu/commands/UpdateCommand.java | 27 ++---- src/main/java/seedu/duke/EasInternship.java | 38 +++----- src/main/java/seedu/duke/Internship.java | 2 +- src/main/java/seedu/duke/InternshipList.java | 4 +- src/main/java/seedu/duke/Parser.java | 90 ++++++++++++++++++ src/test/Example Test Run | 94 +++++++++++++++++++ 12 files changed, 294 insertions(+), 138 deletions(-) create mode 100644 src/main/java/seedu/duke/Parser.java create mode 100644 src/test/Example Test Run diff --git a/src/main/java/seedu/commands/AddCommand.java b/src/main/java/seedu/commands/AddCommand.java index a47b261883..6db7156620 100644 --- a/src/main/java/seedu/commands/AddCommand.java +++ b/src/main/java/seedu/commands/AddCommand.java @@ -1,53 +1,51 @@ package seedu.commands; import seedu.duke.Internship; -import seedu.duke.InternshipList; -public class AddCommand implements Command { - private final InternshipList internships; +import java.util.ArrayList; - public AddCommand(InternshipList internshipList) { - this.internships = internshipList; - } +public class AddCommand extends Command { @Override - public void execute(String[] args) { + public void execute(ArrayList args) { String role = ""; String company = ""; String startDate = "01/01"; String endDate = "01/01"; - for (int i = 0; i < args.length; i++) { - switch (args[i]) { - case "-name": - if (i + 1 < args.length) { - role = args[++i]; + for (String arg : args) { + String[] words = arg.split(" ", 2); + String flag = words[0]; + switch (flag) { + case "name": + if (words.length > 1) { + role = words[INDEX_DATA]; } else { System.out.println("Role not specified."); } break; - case "-company": - if (i + 1 < args.length) { - company = args[++i]; + case "company": + if (words.length > 1) { + company = words[INDEX_DATA]; } else { System.out.println("Company not specified."); } break; - case "-from": - if (i + 1 < args.length) { - startDate = args[++i]; + case "from": + if (words.length > 1) { + startDate = words[INDEX_DATA]; } else { System.out.println("Start date not specified."); } break; - case "-to": - if (i + 1 < args.length) { - endDate = args[++i]; + case "to": + if (words.length > 1) { + endDate = words[INDEX_DATA]; } else { System.out.println("End date not specified."); } break; default: - System.out.println("Unknown flag: " + args[i]); + System.out.println("Unknown flag: " + flag); break; } } diff --git a/src/main/java/seedu/commands/Command.java b/src/main/java/seedu/commands/Command.java index ced9c02062..8104c56d83 100644 --- a/src/main/java/seedu/commands/Command.java +++ b/src/main/java/seedu/commands/Command.java @@ -1,6 +1,18 @@ package seedu.commands; -public interface Command { - void execute(String[] args); - String getUsage(); +import seedu.duke.InternshipList; + +import java.util.ArrayList; + +public abstract class Command { + protected static final int INDEX_FIELD = 0; + protected static final int INDEX_DATA = 1; + protected InternshipList internships; + + public void setInternshipList(InternshipList internships) { + this.internships = internships; + } + + public abstract void execute(ArrayList args); + public abstract String getUsage(); } diff --git a/src/main/java/seedu/commands/DeleteCommand.java b/src/main/java/seedu/commands/DeleteCommand.java index 833079ec8d..2f3cc1c098 100644 --- a/src/main/java/seedu/commands/DeleteCommand.java +++ b/src/main/java/seedu/commands/DeleteCommand.java @@ -1,19 +1,16 @@ package seedu.commands; -import seedu.duke.InternshipList; +import java.util.ArrayList; -public class DeleteCommand implements Command { - private final InternshipList internships; - - public DeleteCommand(InternshipList internshipList) { - this.internships = internshipList; - } - public void execute (String[] args) { - int id = Integer.parseInt(args[1]); +public class DeleteCommand extends Command { + @Override + public void execute (ArrayList args) { + int id = Integer.parseInt(args.get(0)); int index = id - 1; internships.removeInternship(index); } + @Override public String getUsage() { return "Usage: del {ID}"; } diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index edf1f75e5c..49f5e97665 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -1,52 +1,54 @@ package seedu.commands; -import seedu.duke.Internship; + import seedu.duke.InternshipList; +import seedu.duke.Internship; +import java.util.ArrayList; import java.util.HashMap; import java.util.Map; -public class FilterCommand implements Command { - private final InternshipList internships; +public class FilterCommand extends Command { private InternshipList filteredInternships; - public FilterCommand(InternshipList internshipList) { - this.internships = internshipList; + public FilterCommand() { this.filteredInternships = new InternshipList(); } @Override - public void execute(String[] args) { - if (args.length > 1) { - String flag = args[0]; // The flag (e.g., -role, -company) - String searchTerm = args[1]; // What you are searching for - - // Map flags to getter methods using lambdas - Map fieldGetters = new HashMap<>(); - fieldGetters.put("-name", Internship::getRole); - fieldGetters.put("-company", Internship::getCompany); - fieldGetters.put("-from", Internship::getStartDate); - fieldGetters.put("-to", Internship::getEndDate); - - // Retrieve the corresponding getter method based on the flag - InternshipFieldGetter getter = fieldGetters.get(flag); - - if (getter == null) { - System.out.println("Unknown flag: " + flag); - return; - } + public void execute(ArrayList args) { + if (args.isEmpty()) { + System.out.println("Insufficient arguments."); + return; + } - // Iterate over the internships and apply the getter for comparison - for (Internship internship : internships.getAllInternships()) { - String fieldValue = getter.getField(internship); // Dynamically calls getRole(), getCompany(), etc. - if (fieldValue.equals(searchTerm)) { - filteredInternships.addInternship(internship); - } - } + String[] words = args.get(0).split(" ", 2); + String flag = words[0]; + String searchTerm = words[1]; - filteredInternships.listAllInternships(); - } else { - System.out.println("Insufficient arguments."); + // Map flags to getter methods using lambdas + Map fieldGetters = new HashMap<>(); + fieldGetters.put("name", Internship::getRole); + fieldGetters.put("company", Internship::getCompany); + fieldGetters.put("from", Internship::getStartDate); + fieldGetters.put("to", Internship::getEndDate); + + // Retrieve the corresponding getter method based on the flag + InternshipFieldGetter getter = fieldGetters.get(flag); + + if (getter == null) { + System.out.println("Unknown flag: " + flag); + return; } + + // Iterate over the internships and apply the getter for comparison + for (Internship internship : internships.getAllInternships()) { + String fieldValue = getter.getField(internship); // Dynamically calls getRole(), getCompany(), etc. + if (fieldValue.equals(searchTerm)) { + filteredInternships.addInternship(internship); + } + } + + filteredInternships.listAllInternships(); } @Override diff --git a/src/main/java/seedu/commands/ListCommand.java b/src/main/java/seedu/commands/ListCommand.java index 4b98d5d99a..6c9d4d2380 100644 --- a/src/main/java/seedu/commands/ListCommand.java +++ b/src/main/java/seedu/commands/ListCommand.java @@ -1,19 +1,13 @@ package seedu.commands; -import seedu.duke.InternshipList; +import java.util.ArrayList; /** * Command to list all internships in the system. */ -public class ListCommand implements Command { - private final InternshipList internships; - - public ListCommand(InternshipList internshipList) { - this.internships = internshipList; - } - +public class ListCommand extends Command { @Override - public void execute(String[] args) { + public void execute(ArrayList args) { internships.listAllInternships(); } diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index e22145da37..74dfbae0ee 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -1,32 +1,26 @@ package seedu.commands; -import seedu.duke.InternshipList; - -public class SortCommand implements Command { - private final InternshipList internships; - - public SortCommand(InternshipList internshipList) { - this.internships = internshipList; - } +import java.util.ArrayList; +public class SortCommand extends Command { @Override - public void execute(String[] args) { + public void execute(ArrayList args) { // Ensure that the args array contains at least one argument after "sort" - if (args.length == 0) { + if (args.size() == 0) { System.out.println("No sorting option provided. Listing internships by ID."); internships.listAllInternships(); // Default to listing by original order (ID) return; } // Check if the user requested to sort by alphabet or deadline - String sortOption = args[0].toLowerCase(); + String sortOption = args.get(0).toLowerCase(); switch (sortOption) { - case "-alphabet": + case "alphabet": internships.listInternshipsSortedByRole(); // Sort by role alphabetically System.out.println("Sorted internships by role alphabetically."); break; - case "-deadline": + case "deadline": internships.listInternshipsSortedByDeadline(); // Sort by deadline (start date, then end date) System.out.println("Sorted internships by start date, then end date."); break; diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index 18e1ddca61..1fd1f0f7d5 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -1,29 +1,18 @@ package seedu.commands; -import seedu.duke.InternshipList; - -public class UpdateCommand implements Command { - private static final int INDEX_FIELD = 0; - private static final int INDEX_ID = 1; - - private InternshipList internships; - - public UpdateCommand(InternshipList internshipList) { - this.internships = internshipList; - } +import java.util.ArrayList; +public class UpdateCommand extends Command { @Override - public void execute(String[] args) { - int internshipId = -1; + public void execute(ArrayList args) { + int internshipId = Integer.parseInt(args.get(0)); + args.remove(0); String status = ""; - for (int i = 0; i < args.length; i++) { - String[] words = args[i].split(" "); + for (String arg : args) { + String[] words = arg.split(" ", 2); switch (words[INDEX_FIELD]) { - case "id": - internshipId = Integer.parseInt(words[INDEX_ID]); - break; case "status": - status = args[i].replaceFirst("status", "").trim(); + status = words[INDEX_DATA].trim(); break; default: System.out.println("Unknown flag: " + words[INDEX_FIELD]); diff --git a/src/main/java/seedu/duke/EasInternship.java b/src/main/java/seedu/duke/EasInternship.java index c41a32a6f5..d61ea3b662 100644 --- a/src/main/java/seedu/duke/EasInternship.java +++ b/src/main/java/seedu/duke/EasInternship.java @@ -8,9 +8,8 @@ import seedu.commands.SortCommand; import seedu.commands.UpdateCommand; +import java.util.ArrayList; import java.util.Scanner; -import java.util.HashMap; -import java.util.Map; /** * The EasInternship class contains the main method which is the entry point for the application. @@ -18,10 +17,6 @@ * and the task list is displayed and updated accordingly. */ public class EasInternship { - private static final Ui ui = new Ui(); - private static final InternshipList internshipList = new InternshipList(); - private static final Map commands = new HashMap<>(); - /** * The main method initializes the UI and command handlers, and continuously * prompts the user for input until an exit command is given. @@ -29,12 +24,12 @@ public class EasInternship { * @param args Command-line arguments (not used in this application) */ public static void main(String[] args) { + Ui ui = new Ui(); + InternshipList internshipList = new InternshipList(); + Parser parser = new Parser(); ui.showWelcome(); - // Initialize command map - initializeCommands(); - // Main loop Scanner scanner = new Scanner(System.in); boolean isExit = false; @@ -42,39 +37,28 @@ public static void main(String[] args) { while (!isExit) { System.out.print("Enter command: "); String input = scanner.nextLine(); - String[] inputArgs = input.split("\\s+", 2); - String commandWord = inputArgs[0].toLowerCase(); // Extract command word - if (commandWord.equals("bye")) { + if (input.equals("exit")) { ui.showGoodbye(); isExit = true; continue; } - Command command = commands.get(commandWord); + Command command = parser.parseCommand(input); + if (command == null) { - System.out.println("Unknown command: " + commandWord); + System.out.println("Unknown command: " + input); continue; } + command.setInternshipList(internshipList); + ArrayList commandArgs = parser.parseData(command, input); + try { - String[] commandArgs = inputArgs.length > 1 ? inputArgs[1].split("\\s+") : new String[0]; command.execute(commandArgs); } catch (Exception e) { System.out.println("Error executing command: " + e.getMessage()); } } } - - /** - * Initializes the available commands and maps them to their respective handlers. - */ - private static void initializeCommands() { - commands.put("add", new AddCommand(internshipList)); - commands.put("del", new DeleteCommand(internshipList)); - commands.put("update", new UpdateCommand(internshipList)); - commands.put("sort", new SortCommand(internshipList)); - commands.put("filter", new FilterCommand(internshipList)); - commands.put("list", new ListCommand(internshipList)); // Custom command to list all internships - } } diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index d05f9a6275..832cb23f60 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -13,7 +13,7 @@ public class Internship { private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/yy"); - private int id; + private int id = -1; private String role; private String company; private YearMonth startDate; diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index eeb75b9047..844cd8c8c2 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -14,7 +14,9 @@ public InternshipList() { } public void addInternship(Internship internship) { - internship.setId(internships.size()); + if (internship.getId() == -1) { + internship.setId(internships.size()); + } internships.add(internship); } diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java new file mode 100644 index 0000000000..a69434ad80 --- /dev/null +++ b/src/main/java/seedu/duke/Parser.java @@ -0,0 +1,90 @@ +package seedu.duke; + +import seedu.commands.*; + +import java.util.*; +import java.util.function.Supplier; + +public class Parser { + private Map> commands = new HashMap<>(); + + public Parser() { + // Initialize command map + initializeCommands(); + } + + // Initialize map with suppliers + private void initializeCommands() { + commands.put("add", AddCommand::new); + commands.put("del", DeleteCommand::new); + commands.put("update", UpdateCommand::new); + commands.put("sort", SortCommand::new); + commands.put("filter", FilterCommand::new); + commands.put("list", ListCommand::new); + } + + public Command parseCommand(String input) { + String inputCommand = input.split(" ")[0]; + if (commands.containsKey(inputCommand)) { + Supplier commandSupplier = commands.get(inputCommand); + return commandSupplier.get(); + } + return null; + } + + public ArrayList parseData(Command command, String input) { + if (command instanceof ListCommand) { + return null; + } + + String inputData = input.split(" ", 2)[1]; + + if (command instanceof AddCommand) { + return parseAddCommandData(inputData); + } else if (command instanceof DeleteCommand) { + return parseDeleteCommandData(inputData); + } else if (command instanceof UpdateCommand) { + return parseUpdateCommandData(inputData); + } else if (command instanceof SortCommand) { + return parseSortCommandData(inputData); + } else if (command instanceof FilterCommand) { + return parseFilterCommandData(inputData); + } else { + throw new IllegalArgumentException("Unknown command type"); + } + } + + private ArrayList parseFlagData(String inputData) { + ArrayList commandArgs = new ArrayList<>(Arrays.asList(inputData.split("-"))); + commandArgs.remove(0); + commandArgs.replaceAll(String::trim); + return commandArgs; + } + + private ArrayList parseAddCommandData(String inputData) { + return parseFlagData(inputData); + } + + private ArrayList parseDeleteCommandData(String inputData) { + ArrayList commandArgs = new ArrayList<>(); + commandArgs.add(inputData); + commandArgs.set(0, commandArgs.get(0).trim()); + return commandArgs; + } + + private ArrayList parseUpdateCommandData(String inputData) { + String id = inputData.split(" ", 2)[0]; + String fields = inputData.split(" ", 2)[1]; + ArrayList commandArgs = parseFlagData(fields); + commandArgs.add(0, id); + return commandArgs; + } + + private ArrayList parseSortCommandData(String inputData) { + return parseFlagData(inputData); + } + + private ArrayList parseFilterCommandData(String inputData) { + return parseFlagData(inputData); + } +} diff --git a/src/test/Example Test Run b/src/test/Example Test Run new file mode 100644 index 0000000000..789a4bf814 --- /dev/null +++ b/src/test/Example Test Run @@ -0,0 +1,94 @@ +__________________________________________________ +Hello! Welcome to EasInternship! +Ready to rock some internships?? :) +__________________________________________________ + +Enter command: add -name engineer -company google +Internship added: ID: 1 Status: Application Pending +Role: engineer +Company: google +Duration: 01/01 to 01/01 +Skills: No Skills Entered +Enter command: add -name doctor -company -from 01/02 -to 01/06 +Company not specified. +Internship added: ID: 2 Status: Application Pending +Role: doctor +Company: +Duration: 01/02 to 01/06 +Skills: No Skills Entered +Enter command: add -name research assistant -company A*STAR +Internship added: ID: 3 Status: Application Pending +Role: research assistant +Company: A*STAR +Duration: 01/01 to 01/01 +Skills: No Skills Entered +Enter command: list +ID: 1 Status: Application Pending +Role: engineer +Company: google +Duration: 01/01 to 01/01 +Skills: No Skills Entered +--------------------------------- +ID: 2 Status: Application Pending +Role: doctor +Company: +Duration: 01/02 to 01/06 +Skills: No Skills Entered +--------------------------------- +ID: 3 Status: Application Pending +Role: research assistant +Company: A*STAR +Duration: 01/01 to 01/01 +Skills: No Skills Entered +--------------------------------- +Enter command: sort -alphabet +ID: 2 Status: Application Pending +Role: doctor +Company: +Duration: 01/02 to 01/06 +Skills: No Skills Entered +--------------------------------- +ID: 1 Status: Application Pending +Role: engineer +Company: google +Duration: 01/01 to 01/01 +Skills: No Skills Entered +--------------------------------- +ID: 3 Status: Application Pending +Role: research assistant +Company: A*STAR +Duration: 01/01 to 01/01 +Skills: No Skills Entered +--------------------------------- +Sorted internships by role alphabetically. +Enter command: update 1 -status accepted +ID: 1 Status: Accepted +Role: engineer +Company: google +Duration: 01/01 to 01/01 +Skills: No Skills Entered +Enter command: del 2 +Enter command: list +ID: 1 Status: Accepted +Role: engineer +Company: google +Duration: 01/01 to 01/01 +Skills: No Skills Entered +--------------------------------- +ID: 2 Status: Application Pending +Role: research assistant +Company: A*STAR +Duration: 01/01 to 01/01 +Skills: No Skills Entered +--------------------------------- +Enter command: filter -company A*STAR +ID: 2 Status: Application Pending +Role: research assistant +Company: A*STAR +Duration: 01/01 to 01/01 +Skills: No Skills Entered +--------------------------------- +Enter command: exit +__________________________________________________ +Peace out! Have fun at the internship. +__________________________________________________ From 1b03461d2cbc338d306e597d42ff3b1594f5a5c7 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Tue, 8 Oct 2024 22:56:19 +0800 Subject: [PATCH 051/359] Fix checkstyle issues --- src/main/java/seedu/duke/EasInternship.java | 7 ------- src/main/java/seedu/duke/Parser.java | 13 +++++++++++-- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/main/java/seedu/duke/EasInternship.java b/src/main/java/seedu/duke/EasInternship.java index d61ea3b662..c093afa350 100644 --- a/src/main/java/seedu/duke/EasInternship.java +++ b/src/main/java/seedu/duke/EasInternship.java @@ -1,13 +1,6 @@ package seedu.duke; -import seedu.commands.AddCommand; import seedu.commands.Command; -import seedu.commands.FilterCommand; -import seedu.commands.DeleteCommand; -import seedu.commands.ListCommand; -import seedu.commands.SortCommand; -import seedu.commands.UpdateCommand; - import java.util.ArrayList; import java.util.Scanner; diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index a69434ad80..162929dbea 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -1,8 +1,17 @@ package seedu.duke; -import seedu.commands.*; +import seedu.commands.Command; +import seedu.commands.AddCommand; +import seedu.commands.DeleteCommand; +import seedu.commands.FilterCommand; +import seedu.commands.ListCommand; +import seedu.commands.SortCommand; +import seedu.commands.UpdateCommand; -import java.util.*; +import java.util.Map; +import java.util.HashMap; +import java.util.Arrays; +import java.util.ArrayList; import java.util.function.Supplier; public class Parser { From 3a885f5020e6daa904198346567b52b9404eed8b Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 9 Oct 2024 16:41:16 +0800 Subject: [PATCH 052/359] Add update functionality to other fields --- src/main/java/seedu/commands/UpdateCommand.java | 4 ++-- src/main/java/seedu/duke/InternshipList.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index b4a228e943..95298ac47d 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -6,7 +6,7 @@ public class UpdateCommand implements Command { private static final int INDEX_FIELD = 0; private static final int INDEX_ID = 1; - private InternshipList internships; + private final InternshipList internships; public UpdateCommand(InternshipList internshipList) { this.internships = internshipList; @@ -36,7 +36,7 @@ public void execute(String[] args) { case "end": field = words[INDEX_FIELD]; value = words[INDEX_ID].replace(field, "").trim(); - internships.getInternship(internshipIndex).updateField(field, value); + internships.getInternship(internshipId).updateField(field, value); break; default: System.out.println("Unknown flag: " + words[INDEX_FIELD]); diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index eeb75b9047..fd8c07fb7d 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -48,7 +48,7 @@ public Internship getInternship(int index) { // Method to update the status of applications, might not be needed public void updateStatus(int index, String status) { if (index >= 0 && index < internships.size()) { - internships.get(index).setStatus(status); + internships.get(index).updateStatus(status); } else { System.out.println("Invalid index"); } From 0e2ea84ea806d8575c706c20fbdbdb0487575a3f Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 9 Oct 2024 17:00:06 +0800 Subject: [PATCH 053/359] Refactor UpdateCommand and Test it --- .../java/seedu/commands/UpdateCommand.java | 11 +++--- .../seedu/commands/UpdateCommandTest.java | 34 ++++++++++++++++--- 2 files changed, 34 insertions(+), 11 deletions(-) diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index ccf9d637c0..23b5d5caf6 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -6,10 +6,12 @@ public class UpdateCommand extends Command { @Override public void execute(ArrayList args) { int internshipId = Integer.parseInt(args.get(0)); + int internshipIndex = internshipId - 1; args.remove(0); + String field = ""; String value = ""; - String status = ""; + for (String arg : args) { String[] words = arg.split(" ", 2); switch (words[INDEX_FIELD]) { @@ -18,18 +20,15 @@ public void execute(ArrayList args) { case "role": case "company": case "end": - status = words[INDEX_DATA].trim(); field = words[INDEX_FIELD]; - value = words[INDEX_ID].replace(field, "").trim(); - internships.getInternship(internshipId).updateField(field, value); + value = words[INDEX_DATA].replace(field, "").trim(); + internships.getInternship(internshipIndex).updateField(field, value); break; default: System.out.println("Unknown flag: " + words[INDEX_FIELD]); break; } } - int internshipIndex = internshipId - 1; - internships.getInternship(internshipIndex).updateStatus(status); System.out.println(internships.toString()); } diff --git a/src/test/java/seedu/commands/UpdateCommandTest.java b/src/test/java/seedu/commands/UpdateCommandTest.java index 5d84325ce9..805f3f9d77 100644 --- a/src/test/java/seedu/commands/UpdateCommandTest.java +++ b/src/test/java/seedu/commands/UpdateCommandTest.java @@ -4,25 +4,49 @@ import seedu.duke.Internship; import seedu.duke.InternshipList; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; class UpdateCommandTest { @Test - void execute_validInput1_expectUpdated() { + void execute_validCompany1_expectUpdated() { InternshipList internshipList = new InternshipList(); Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); internshipList.addInternship(internship); assertEquals(internship.getCompany(), "ABC"); - UpdateCommand updateCommand = new UpdateCommand(internshipList); - String input = "update -id 0 -company XYZ"; - String[] words = input.split("-"); - updateCommand.execute(Arrays.copyOfRange(words, 1, words.length)); + UpdateCommand updateCommand = new UpdateCommand(); + updateCommand.setInternshipList(internshipList); + + String[] parsedInputs = {"01", "company XYZ"}; + ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); + + updateCommand.execute(arguments); assertEquals(internship.getCompany(), "XYZ"); } + + @Test + void execute_validStatus1_expectUpdated() { + InternshipList internshipList = new InternshipList(); + Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); + internshipList.addInternship(internship); + + assertEquals(internship.getStatus(), "Application Pending"); + + UpdateCommand updateCommand = new UpdateCommand(); + updateCommand.setInternshipList(internshipList); + + String[] parsedInputs = {"01", "status application completed"}; + ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); + + updateCommand.execute(arguments); + + assertEquals(internship.getStatus(), "Application Completed"); + } } From 9058abcc673b3a99e7dcee8f9c1662acea3ed186 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 9 Oct 2024 17:03:27 +0800 Subject: [PATCH 054/359] Resolve Checkstyle Errors --- src/test/java/seedu/commands/UpdateCommandTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/test/java/seedu/commands/UpdateCommandTest.java b/src/test/java/seedu/commands/UpdateCommandTest.java index 805f3f9d77..4997f9d9c6 100644 --- a/src/test/java/seedu/commands/UpdateCommandTest.java +++ b/src/test/java/seedu/commands/UpdateCommandTest.java @@ -5,7 +5,6 @@ import seedu.duke.InternshipList; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; From e54e260ee29661dbed7142e8c2c80b44e58fe82b Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Wed, 9 Oct 2024 19:48:14 +0800 Subject: [PATCH 055/359] fixed indentation errors --- src/main/java/seedu/duke/Storage.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index fb3665770c..cb3f4f0a4e 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -18,7 +18,8 @@ public class Storage { /** * Saves all the Internships in the InternshipList to a file. - * Internships are stored in a specific format, depending on the fields relevant to each internship (ID, Role, Company, Duration, Skills, Status). + * Internships are stored in a specific format, depending on the fields relevant to each internship + * (ID, Role, Company, Duration, Skills, Status). */ public static void saveToFile(InternshipList internshipList) { try { @@ -30,13 +31,13 @@ public static void saveToFile(InternshipList internshipList) { FileWriter writer = new FileWriter(FILE_PATH); List internships = internshipList.getAllInternships(); for (Internship internship : internships) { - writer.write(internship.getId() + " | " - + internship.getRole() + " | " - + internship.getCompany() + " | " - + internship.getStartDate() + " | " - + internship.getEndDate() + " | " - + internship.getSkills() + " | " - + internship.getStatus() + "\n"); + writer.write(internship.getId() + " | " + + internship.getRole() + " | " + + internship.getCompany() + " | " + + internship.getStartDate() + " | " + + internship.getEndDate() + " | " + + internship.getSkills() + " | " + + internship.getStatus() + "\n"); } writer.close(); } catch (IOException e) { From 95bc3fb3cf28f3be0c0ffb2551ccf962e51fd4d0 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Wed, 9 Oct 2024 20:01:57 +0800 Subject: [PATCH 056/359] fixed indentation errors --- src/main/java/seedu/duke/Storage.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index cb3f4f0a4e..382b8d18ce 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -31,13 +31,13 @@ public static void saveToFile(InternshipList internshipList) { FileWriter writer = new FileWriter(FILE_PATH); List internships = internshipList.getAllInternships(); for (Internship internship : internships) { - writer.write(internship.getId() + " | " - + internship.getRole() + " | " - + internship.getCompany() + " | " - + internship.getStartDate() + " | " - + internship.getEndDate() + " | " - + internship.getSkills() + " | " - + internship.getStatus() + "\n"); + writer.write(internship.getId() + " | " + + internship.getRole() + " | " + + internship.getCompany() + " | " + + internship.getStartDate() + " | " + + internship.getEndDate() + " | " + + internship.getSkills() + " | " + + internship.getStatus() + "\n"); } writer.close(); } catch (IOException e) { From 945129331fc4b4c4c57c87749d6dee98a61c4d4a Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Wed, 9 Oct 2024 20:25:22 +0800 Subject: [PATCH 057/359] fixed indentation errors --- src/main/java/seedu/duke/Storage.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index 382b8d18ce..53a9422ae1 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -30,14 +30,14 @@ public static void saveToFile(InternshipList internshipList) { } FileWriter writer = new FileWriter(FILE_PATH); List internships = internshipList.getAllInternships(); - for (Internship internship : internships) { - writer.write(internship.getId() + " | " - + internship.getRole() + " | " - + internship.getCompany() + " | " - + internship.getStartDate() + " | " - + internship.getEndDate() + " | " - + internship.getSkills() + " | " - + internship.getStatus() + "\n"); + for (Internship internship : internships) { + writer.write(internship.getId() + " | " + + internship.getRole() + " | " + + internship.getCompany() + " | " + + internship.getStartDate() + " | " + + internship.getEndDate() + " | " + + internship.getSkills() + " | " + + internship.getStatus() + "\n"); } writer.close(); } catch (IOException e) { From 7eb5794d17becd8dbd935f3aeed190315a4ab157 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Wed, 9 Oct 2024 20:27:18 +0800 Subject: [PATCH 058/359] fixed indentation errors --- src/main/java/seedu/duke/Storage.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index 53a9422ae1..1d5cc7cd16 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -31,13 +31,13 @@ public static void saveToFile(InternshipList internshipList) { FileWriter writer = new FileWriter(FILE_PATH); List internships = internshipList.getAllInternships(); for (Internship internship : internships) { - writer.write(internship.getId() + " | " - + internship.getRole() + " | " - + internship.getCompany() + " | " - + internship.getStartDate() + " | " - + internship.getEndDate() + " | " - + internship.getSkills() + " | " - + internship.getStatus() + "\n"); + writer.write(internship.getId() + " | " + + internship.getRole() + " | " + + internship.getCompany() + " | " + + internship.getStartDate() + " | " + + internship.getEndDate() + " | " + + internship.getSkills() + " | " + + internship.getStatus() + "\n"); } writer.close(); } catch (IOException e) { From 46344dedf9d2e6eb7316c231c8d03967a17fd872 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Wed, 9 Oct 2024 20:29:13 +0800 Subject: [PATCH 059/359] fixed indentation errors --- src/main/java/seedu/duke/Storage.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index 1d5cc7cd16..6f8cc092e8 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -30,14 +30,14 @@ public static void saveToFile(InternshipList internshipList) { } FileWriter writer = new FileWriter(FILE_PATH); List internships = internshipList.getAllInternships(); - for (Internship internship : internships) { - writer.write(internship.getId() + " | " - + internship.getRole() + " | " - + internship.getCompany() + " | " - + internship.getStartDate() + " | " - + internship.getEndDate() + " | " - + internship.getSkills() + " | " - + internship.getStatus() + "\n"); + for (Internship internship : internships) { + writer.write(internship.getId() + " | " + + internship.getRole() + " | " + + internship.getCompany() + " | " + + internship.getStartDate() + " | " + + internship.getEndDate() + " | " + + internship.getSkills() + " | " + + internship.getStatus() + "\n"); } writer.close(); } catch (IOException e) { From be3b4b167f303228c50c2fae5f677c67958b5710 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Wed, 9 Oct 2024 20:33:00 +0800 Subject: [PATCH 060/359] fixed indentation errors --- src/main/java/seedu/duke/Storage.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index 6f8cc092e8..8c81de25f4 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -30,15 +30,15 @@ public static void saveToFile(InternshipList internshipList) { } FileWriter writer = new FileWriter(FILE_PATH); List internships = internshipList.getAllInternships(); - for (Internship internship : internships) { - writer.write(internship.getId() + " | " - + internship.getRole() + " | " - + internship.getCompany() + " | " - + internship.getStartDate() + " | " - + internship.getEndDate() + " | " - + internship.getSkills() + " | " - + internship.getStatus() + "\n"); - } + for (Internship internship : internships) { + writer.write(internship.getId() + " | " + + internship.getRole() + " | " + + internship.getCompany() + " | " + + internship.getStartDate() + " | " + + internship.getEndDate() + " | " + + internship.getSkills() + " | " + + internship.getStatus() + "\n"); + } writer.close(); } catch (IOException e) { System.out.println("Error while saving tasks: " + e.getMessage()); From 7283749c73e1d7411a82db7e5a6fc013f3b25b70 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Wed, 9 Oct 2024 20:34:48 +0800 Subject: [PATCH 061/359] fixed indentation errors --- src/main/java/seedu/duke/Storage.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index 8c81de25f4..d2d6855737 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -32,12 +32,12 @@ public static void saveToFile(InternshipList internshipList) { List internships = internshipList.getAllInternships(); for (Internship internship : internships) { writer.write(internship.getId() + " | " - + internship.getRole() + " | " - + internship.getCompany() + " | " - + internship.getStartDate() + " | " - + internship.getEndDate() + " | " - + internship.getSkills() + " | " - + internship.getStatus() + "\n"); + + internship.getRole() + " | " + + internship.getCompany() + " | " + + internship.getStartDate() + " | " + + internship.getEndDate() + " | " + + internship.getSkills() + " | " + + internship.getStatus() + "\n"); } writer.close(); } catch (IOException e) { From a7a187b2a6ade1bff35cac929f044b4af7172536 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Wed, 9 Oct 2024 20:37:18 +0800 Subject: [PATCH 062/359] fixed indentation errors --- src/main/java/seedu/duke/Storage.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index d2d6855737..9ae93a9f92 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -30,15 +30,15 @@ public static void saveToFile(InternshipList internshipList) { } FileWriter writer = new FileWriter(FILE_PATH); List internships = internshipList.getAllInternships(); - for (Internship internship : internships) { - writer.write(internship.getId() + " | " - + internship.getRole() + " | " - + internship.getCompany() + " | " - + internship.getStartDate() + " | " - + internship.getEndDate() + " | " - + internship.getSkills() + " | " - + internship.getStatus() + "\n"); - } + for (Internship internship : internships) { + writer.write(internship.getId() + " | " + + internship.getRole() + " | " + + internship.getCompany() + " | " + + internship.getStartDate() + " | " + + internship.getEndDate() + " | " + + internship.getSkills() + " | " + + internship.getStatus() + "\n"); + } writer.close(); } catch (IOException e) { System.out.println("Error while saving tasks: " + e.getMessage()); From 9836dfacee07f1517d03a63abf90c3ec3607bf87 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Wed, 9 Oct 2024 20:39:06 +0800 Subject: [PATCH 063/359] fixed indentation errors --- src/main/java/seedu/duke/Storage.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index 9ae93a9f92..625bba3862 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -32,12 +32,12 @@ public static void saveToFile(InternshipList internshipList) { List internships = internshipList.getAllInternships(); for (Internship internship : internships) { writer.write(internship.getId() + " | " - + internship.getRole() + " | " - + internship.getCompany() + " | " - + internship.getStartDate() + " | " - + internship.getEndDate() + " | " - + internship.getSkills() + " | " - + internship.getStatus() + "\n"); + + internship.getRole() + " | " + + internship.getCompany() + " | " + + internship.getStartDate() + " | " + + internship.getEndDate() + " | " + + internship.getSkills() + " | " + + internship.getStatus() + "\n"); } writer.close(); } catch (IOException e) { From d853d536cb968c6ac5154790a38f1eb08c89b96a Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Thu, 10 Oct 2024 10:06:02 +0800 Subject: [PATCH 064/359] added storage to main class --- src/main/java/seedu/duke/EasInternship.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/seedu/duke/EasInternship.java b/src/main/java/seedu/duke/EasInternship.java index c093afa350..29954b883c 100644 --- a/src/main/java/seedu/duke/EasInternship.java +++ b/src/main/java/seedu/duke/EasInternship.java @@ -19,6 +19,7 @@ public class EasInternship { public static void main(String[] args) { Ui ui = new Ui(); InternshipList internshipList = new InternshipList(); + Storage.loadFromFile(internshipList); Parser parser = new Parser(); ui.showWelcome(); @@ -32,6 +33,7 @@ public static void main(String[] args) { String input = scanner.nextLine(); if (input.equals("exit")) { + Storage.saveToFile(internshipList); ui.showGoodbye(); isExit = true; continue; From 0b4507a88f526b654f64058085f8ea517618e0e0 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Thu, 10 Oct 2024 12:38:23 +0800 Subject: [PATCH 065/359] Revise UpdateCommand to include start date --- .../java/seedu/commands/UpdateCommand.java | 23 +++++++++++++++---- src/main/java/seedu/duke/InternshipList.java | 14 ++++++++--- .../java/seedu/duke/InternshipListTest.java | 2 +- 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index 23b5d5caf6..a0fa9c9dda 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -2,6 +2,10 @@ import java.util.ArrayList; +//@@author Ridiculouswifi +/** + * Subclass of Command to handle updating Internship attributes + */ public class UpdateCommand extends Command { @Override public void execute(ArrayList args) { @@ -9,8 +13,8 @@ public void execute(ArrayList args) { int internshipIndex = internshipId - 1; args.remove(0); - String field = ""; - String value = ""; + String field; + String value; for (String arg : args) { String[] words = arg.split(" ", 2); @@ -19,22 +23,31 @@ public void execute(ArrayList args) { case "skills": case "role": case "company": + case "start": case "end": field = words[INDEX_FIELD]; value = words[INDEX_DATA].replace(field, "").trim(); - internships.getInternship(internshipIndex).updateField(field, value); + internships.updateField(internshipIndex, field, value); break; default: System.out.println("Unknown flag: " + words[INDEX_FIELD]); break; } } - System.out.println(internships.toString()); + System.out.println(internships.getInternship(internshipIndex).toString()); } public String getUsage() { return """ - Usage: update -id {ID} -{field} {status} + Usage: update -id {ID} -{field} {new value} + + List of fields: + - status (refer to below for valid statuses) + - skills + - role + - company + - start (in MM/yy format) + - end (in MM/yy format) Choose from the following statuses: - Application Pending diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 2396a2f72e..b5027063e6 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -47,10 +47,18 @@ public Internship getInternship(int index) { } } - // Method to update the status of applications, might not be needed - public void updateStatus(int index, String status) { + //@@author Ridiculouswifi + + /** + * Updates the specified field with new values.. + * + * @param index Internship index in InternshipList. + * @param field Specific attribute to update. + * @param value Updated value + */ + public void updateField(int index, String field, String value) { if (index >= 0 && index < internships.size()) { - internships.get(index).updateStatus(status); + internships.get(index).updateField(field, value); } else { System.out.println("Invalid index"); } diff --git a/src/test/java/seedu/duke/InternshipListTest.java b/src/test/java/seedu/duke/InternshipListTest.java index 248262f9aa..c5d9877d88 100644 --- a/src/test/java/seedu/duke/InternshipListTest.java +++ b/src/test/java/seedu/duke/InternshipListTest.java @@ -11,7 +11,7 @@ void updateStatus_validIndexStatus_expectUpdated() { InternshipList internshipList = new InternshipList(); Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); internshipList.addInternship(internship); - internshipList.updateStatus(0, "Application Completed"); + internshipList.updateField(0, "status", "Application Completed"); assertEquals("Application Completed", internshipList.getInternship(0).getStatus()); } From 31c4d14e4d5ed89b586a789cf80b214bc0ad2e6b Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Thu, 10 Oct 2024 12:40:46 +0800 Subject: [PATCH 066/359] Revise output of UpdateCommand --- src/main/java/seedu/commands/UpdateCommand.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index a0fa9c9dda..77a292b467 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -34,6 +34,7 @@ public void execute(ArrayList args) { break; } } + System.out.println("Internship Updated:"); System.out.println(internships.getInternship(internshipIndex).toString()); } From 5017e409a46af7edba0e2565339540c80d46fbe3 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Thu, 10 Oct 2024 16:42:21 +0800 Subject: [PATCH 067/359] Structure output for Command and subclasses --- data/EasInternship.txt | 4 + src/main/java/seedu/commands/AddCommand.java | 13 +- src/main/java/seedu/commands/Command.java | 2 + .../java/seedu/commands/DeleteCommand.java | 1 + .../java/seedu/commands/FilterCommand.java | 6 +- src/main/java/seedu/commands/SortCommand.java | 8 +- .../java/seedu/commands/UpdateCommand.java | 8 +- src/main/java/seedu/duke/EasInternship.java | 2 + src/main/java/seedu/duke/Internship.java | 1 - src/main/java/seedu/{duke => ui}/Ui.java | 20 ++- src/main/java/seedu/ui/UiCommand.java | 141 ++++++++++++++++++ 11 files changed, 185 insertions(+), 21 deletions(-) create mode 100644 data/EasInternship.txt rename src/main/java/seedu/{duke => ui}/Ui.java (70%) create mode 100644 src/main/java/seedu/ui/UiCommand.java diff --git a/data/EasInternship.txt b/data/EasInternship.txt new file mode 100644 index 0000000000..da03e9a92b --- /dev/null +++ b/data/EasInternship.txt @@ -0,0 +1,4 @@ +1 | ABC | XYZ | 01/01 | 01/01 | No Skills Entered | Application Pending +2 | finance accountant | BBB | 01/01 | 01/01 | No Skills Entered | Application Pending +3 | engineer | ABS | 01/01 | 01/01 | No Skills Entered | Application Pending +4 | software engineer | abs | 01/01 | 03/24 | python | Application Completed diff --git a/src/main/java/seedu/commands/AddCommand.java b/src/main/java/seedu/commands/AddCommand.java index 6db7156620..eceaebbb78 100644 --- a/src/main/java/seedu/commands/AddCommand.java +++ b/src/main/java/seedu/commands/AddCommand.java @@ -12,6 +12,7 @@ public void execute(ArrayList args) { String startDate = "01/01"; String endDate = "01/01"; + ui.clearInvalidFlags(); for (String arg : args) { String[] words = arg.split(" ", 2); String flag = words[0]; @@ -20,39 +21,39 @@ public void execute(ArrayList args) { if (words.length > 1) { role = words[INDEX_DATA]; } else { - System.out.println("Role not specified."); + ui.addInvalidFlag(flag); } break; case "company": if (words.length > 1) { company = words[INDEX_DATA]; } else { - System.out.println("Company not specified."); + ui.addInvalidFlag(flag); } break; case "from": if (words.length > 1) { startDate = words[INDEX_DATA]; } else { - System.out.println("Start date not specified."); + ui.addInvalidFlag(flag); } break; case "to": if (words.length > 1) { endDate = words[INDEX_DATA]; } else { - System.out.println("End date not specified."); + ui.addInvalidFlag(flag); } break; default: - System.out.println("Unknown flag: " + flag); + ui.addInvalidFlag(flag); break; } } Internship newInternship = new Internship(role, company, startDate, endDate); internships.addInternship(newInternship); - System.out.println("Internship added: " + newInternship); + ui.showEditedInternship(newInternship, "add"); } @Override diff --git a/src/main/java/seedu/commands/Command.java b/src/main/java/seedu/commands/Command.java index 8104c56d83..a19c481815 100644 --- a/src/main/java/seedu/commands/Command.java +++ b/src/main/java/seedu/commands/Command.java @@ -1,12 +1,14 @@ package seedu.commands; import seedu.duke.InternshipList; +import seedu.ui.UiCommand; import java.util.ArrayList; public abstract class Command { protected static final int INDEX_FIELD = 0; protected static final int INDEX_DATA = 1; + protected static final UiCommand ui = new UiCommand(); protected InternshipList internships; public void setInternshipList(InternshipList internships) { diff --git a/src/main/java/seedu/commands/DeleteCommand.java b/src/main/java/seedu/commands/DeleteCommand.java index 2f3cc1c098..e83f3e0862 100644 --- a/src/main/java/seedu/commands/DeleteCommand.java +++ b/src/main/java/seedu/commands/DeleteCommand.java @@ -8,6 +8,7 @@ public void execute (ArrayList args) { int id = Integer.parseInt(args.get(0)); int index = id - 1; internships.removeInternship(index); + ui.showDeletedInternship(id); } @Override diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index 49f5e97665..8c37a94b97 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -17,7 +17,7 @@ public FilterCommand() { @Override public void execute(ArrayList args) { if (args.isEmpty()) { - System.out.println("Insufficient arguments."); + ui.showInsufficientArguments(); return; } @@ -36,7 +36,9 @@ public void execute(ArrayList args) { InternshipFieldGetter getter = fieldGetters.get(flag); if (getter == null) { - System.out.println("Unknown flag: " + flag); + ui.clearInvalidFlags(); + ui.addInvalidFlag(flag); + ui.printInvalidFlags(); return; } diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index 74dfbae0ee..643a1812ea 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -7,7 +7,7 @@ public class SortCommand extends Command { public void execute(ArrayList args) { // Ensure that the args array contains at least one argument after "sort" if (args.size() == 0) { - System.out.println("No sorting option provided. Listing internships by ID."); + ui.showSortedInternships("none"); internships.listAllInternships(); // Default to listing by original order (ID) return; } @@ -17,15 +17,15 @@ public void execute(ArrayList args) { switch (sortOption) { case "alphabet": + ui.showSortedInternships(sortOption); internships.listInternshipsSortedByRole(); // Sort by role alphabetically - System.out.println("Sorted internships by role alphabetically."); break; case "deadline": + ui.showSortedInternships(sortOption); internships.listInternshipsSortedByDeadline(); // Sort by deadline (start date, then end date) - System.out.println("Sorted internships by start date, then end date."); break; default: - System.out.println("Unknown or missing flag. Listing internships by ID."); + ui.showSortedInternships(sortOption); internships.listAllInternships(); // Default to listing by original order (ID) } } diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index 23b5d5caf6..3ad3b03d3a 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -12,6 +12,9 @@ public void execute(ArrayList args) { String field = ""; String value = ""; + ui.clearInvalidFlags(); + ui.clearUpdatedFields(); + for (String arg : args) { String[] words = arg.split(" ", 2); switch (words[INDEX_FIELD]) { @@ -23,13 +26,14 @@ public void execute(ArrayList args) { field = words[INDEX_FIELD]; value = words[INDEX_DATA].replace(field, "").trim(); internships.getInternship(internshipIndex).updateField(field, value); + ui.addUpdatedField(field, value); break; default: - System.out.println("Unknown flag: " + words[INDEX_FIELD]); + ui.addInvalidFlag(words[INDEX_FIELD]); break; } } - System.out.println(internships.toString()); + ui.showEditedInternship(internships.getInternship(internshipIndex), "update"); } public String getUsage() { diff --git a/src/main/java/seedu/duke/EasInternship.java b/src/main/java/seedu/duke/EasInternship.java index 29954b883c..da3f858bc8 100644 --- a/src/main/java/seedu/duke/EasInternship.java +++ b/src/main/java/seedu/duke/EasInternship.java @@ -1,6 +1,8 @@ package seedu.duke; import seedu.commands.Command; +import seedu.ui.Ui; + import java.util.ArrayList; import java.util.Scanner; diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 44ef157e06..4e407e8956 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -72,7 +72,6 @@ public void updateField(String field, String value) { default: System.out.println("Invalid field: " + field); } - System.out.println(field + " updated: " + value); } /** diff --git a/src/main/java/seedu/duke/Ui.java b/src/main/java/seedu/ui/Ui.java similarity index 70% rename from src/main/java/seedu/duke/Ui.java rename to src/main/java/seedu/ui/Ui.java index 4cc792bfb2..192754fa1c 100644 --- a/src/main/java/seedu/duke/Ui.java +++ b/src/main/java/seedu/ui/Ui.java @@ -1,12 +1,13 @@ -package seedu.duke; +package seedu.ui; import java.util.Scanner; +//@@author Ridiculouswifi /** * Class to facilitate program interactions with the user. */ public class Ui { - private static final String DIVIDER = "__________________________________________________\n"; + protected static final String DIVIDER = "__________________________________________________\n"; private static Scanner scanner = new Scanner(System.in); private static final String MESSAGE_WELCOME = """ @@ -46,16 +47,23 @@ public void showOutput(String output) { } /** - * Prints horizontal line to indicate the start of a chatbot response. + * Prints double horizontal line to indicate the start of a chatbot response. */ public void printHeadDivider() { - System.out.print(DIVIDER); + System.out.print(DIVIDER + DIVIDER); } /** - * Prints horizontal line to indicate the end of a chatbot response. + * Prints double horizontal line to indicate the end of a chatbot response. */ public void printTailDivider() { - System.out.println(DIVIDER); + System.out.println(DIVIDER + DIVIDER + "\n"); + } + + /** + * Prints horizontal line to indicate separation. + */ + public void printDivider() { + System.out.print(DIVIDER); } } diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java new file mode 100644 index 0000000000..795fdf9304 --- /dev/null +++ b/src/main/java/seedu/ui/UiCommand.java @@ -0,0 +1,141 @@ +package seedu.ui; + +import seedu.duke.Internship; + +//@@author Ridiculouswifi +/** + * Subclass of Ui to print outputs from Command subclasses + */ +public class UiCommand extends Ui { + private String invalidFlags; + private String updatedFields; + + /** + * Prints newly added or updated internship and invalid flags (if any). + */ + public void showEditedInternship(Internship internship, String action) { + String message = ""; + if (!getInvalidFlags().isEmpty()) { + message += getInvalidFlags() + DIVIDER; + } + switch (action) { + case "add": + message += "Internship added:\n"; + break; + case "update": + message += getUpdatedFields() + DIVIDER + "Internship updated:\n"; + break; + default: + message += "Internship edited:\n"; + break; + } + showOutput(message + internship.toString()); + } + + /** + * Resets invalidFlags to empty String. + */ + public void clearInvalidFlags() { + setInvalidFlags(""); + } + + /** + * Resets updatedFields to empty String. + */ + public void clearUpdatedFields() { + setUpdatedFields(""); + } + + public void addUpdatedField(String updatedField, String updatedValue) { + String newUpdatedFields = getUpdatedFields(); + newUpdatedFields += updatedField + " updated: " + updatedValue + "\n"; + setUpdatedFields(newUpdatedFields); + } + + /** + * Adds appropriate message to invalidFlags for specified flag. + */ + public void addInvalidFlag(String flag) { + String newInvalidFlags = getInvalidFlags(); + switch (flag) { + case "name": + newInvalidFlags += "Role not specified." + "\n"; + break; + case "company": + newInvalidFlags += "Company not specified." + "\n"; + break; + case "from": + newInvalidFlags += "Start date not specified." + "\n"; + break; + case "to": + newInvalidFlags += "End date not specified." + "\n"; + break; + default: + newInvalidFlags += "Unknown flag: " + flag + "\n"; + break; + } + setInvalidFlags(newInvalidFlags); + } + + /** + * Prints invalid flags of a command. + */ + public void printInvalidFlags() { + printHeadDivider(); + System.out.print(getInvalidFlags()); + printTailDivider(); + } + + /** + * Prints message to show internship of specified id has been deleted from InternshipList. + */ + public void showDeletedInternship(int id) { + showOutput("Internship deleted: " + id); + } + + /** + * Prints message to show no flags available to filter. + */ + public void showInsufficientArguments() { + showOutput("Insufficient arguments! Please include a flag to filter by."); + } + + /** + * Prints message indicating how internships are sorted. + * + * @param field Criteria that internships are sorted by. + */ + public void showSortedInternships(String field) { + printHeadDivider(); + switch (field) { + case "none": + System.out.println("No sorting option provided. Listing internships by ID."); + break; + case "alphabet": + System.out.println("Sorted internships by role alphabetically."); + break; + case "deadline": + System.out.println("Sorted internships by start date, then end date."); + break; + default: + System.out.println("Unknown or missing flag. Listing internships by ID."); + break; + } + } + + public String getInvalidFlags() { + return invalidFlags; + } + + public void setInvalidFlags(String invalidFlags) { + this.invalidFlags = invalidFlags; + } + + public String getUpdatedFields() { + return updatedFields; + } + + public void setUpdatedFields(String updatedFields) { + this.updatedFields = updatedFields; + } +} From b297d0bae5d6365ab2ccaa5f929721bf9e43215e Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Thu, 10 Oct 2024 17:51:26 +0800 Subject: [PATCH 068/359] Structure output for InternshipList --- src/main/java/seedu/duke/Internship.java | 16 ++++++--- src/main/java/seedu/duke/InternshipList.java | 29 +++++++-------- src/main/java/seedu/ui/UiInternshipList.java | 38 ++++++++++++++++++++ 3 files changed, 62 insertions(+), 21 deletions(-) create mode 100644 src/main/java/seedu/ui/UiInternshipList.java diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 4e407e8956..179cd60b5d 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -40,6 +40,7 @@ public Internship(String role, String company, String start, String end) { this.status = "Application Pending"; } + //@@author Ridiculouswifi /** * Updates the internship field with the new value. * @@ -70,10 +71,11 @@ public void updateField(String field, String value) { setEndDate(value); break; default: - System.out.println("Invalid field: " + field); + break; } } + //@@author Ridiculouswifi /** * Updates the status of the Internship with a valid status. * Does not update with invalid statuses and will prompt for a valid status. @@ -91,9 +93,15 @@ public void updateStatus(String userStatus) { } throw new InvalidStatus(); } catch (InvalidStatus e) { - System.out.println("Status provided is not recognised:"); - System.out.println("Please provide one of the following:"); - System.out.println("- Application Pending\n- Application Completed\n- Accepted\n- Rejected"); + String message = """ + Status provided is not recognised: + Please provide one of the following: + - Application Pending + - Application Completed + - Accepted + - Rejected + """; + System.out.println(message); } } diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 2396a2f72e..1f5c3affac 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -1,11 +1,14 @@ package seedu.duke; +import seedu.ui.UiInternshipList; + import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Comparator; public class InternshipList { + private static final UiInternshipList ui = new UiInternshipList(); public ArrayList internships; // Constructor @@ -26,7 +29,7 @@ public void removeInternship(int index) { internships.remove(index); updateIds(); // Reassign IDs after removal } else { - System.out.println("Invalid index"); + ui.showInvalidIndex(); } } @@ -42,29 +45,27 @@ public Internship getInternship(int index) { if (index >= 0 && index < internships.size()) { return internships.get(index); } else { - System.out.println("Invalid index"); + ui.showInvalidIndex(); return null; } } - // Method to update the status of applications, might not be needed + //@@author Ridiculouswifi + // Method to update the status of applications public void updateStatus(int index, String status) { if (index >= 0 && index < internships.size()) { internships.get(index).updateStatus(status); } else { - System.out.println("Invalid index"); + ui.showInvalidIndex(); } } // Method to list all internships public void listAllInternships() { if (internships.isEmpty()) { - System.out.println("No internships found."); + ui.showEmptyInternshipList(); } else { - for (Internship internship : internships) { - System.out.println(internship); - System.out.println("---------------------------------"); - } + ui.showInternships(internships); } } @@ -78,10 +79,7 @@ public void listInternshipsSortedByRole() { Collections.sort(sortedList, Comparator.comparing(Internship::getRole)); // Display the sorted list without changing IDs - for (Internship internship : sortedList) { - System.out.println(internship); - System.out.println("---------------------------------"); - } + ui.showInternships(sortedList); } // Method to list all internships sorted by start date, then end date @@ -101,9 +99,6 @@ public int compare(Internship i1, Internship i2) { }); // Display the sorted list without changing IDs - for (Internship internship : sortedInternships) { - System.out.println(internship); - System.out.println("---------------------------------"); - } + ui.showInternships(sortedInternships); } } diff --git a/src/main/java/seedu/ui/UiInternshipList.java b/src/main/java/seedu/ui/UiInternshipList.java new file mode 100644 index 0000000000..bfde604601 --- /dev/null +++ b/src/main/java/seedu/ui/UiInternshipList.java @@ -0,0 +1,38 @@ +package seedu.ui; + +import seedu.duke.Internship; + +import java.util.ArrayList; + +//@@author Ridiculouswifi +/** + * Subclass of Ui to print outputs from InternshipList. + */ +public class UiInternshipList extends Ui { + /** + * Prints message when InternshipList is empty. + */ + public void showEmptyInternshipList() { + showOutput("No internships found."); + } + + /** + * Prints out all internships in a specified ArrayList. + */ + public void showInternships(ArrayList internships) { + printHeadDivider(); + for (Internship internship : internships) { + System.out.println(internship.toString()); + printDivider(); + } + printDivider(); + System.out.println("\n"); + } + + /** + * Prints message when index provided is out of bounds. + */ + public void showInvalidIndex() { + showOutput("Invalid index!\nPlease use list to find internship ID"); + } +} From 641d342e0d0b89e62f0e3814f2b0a3f081de95fb Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Thu, 10 Oct 2024 18:02:14 +0800 Subject: [PATCH 069/359] Structure error outputs in EasInternship main --- src/main/java/seedu/duke/EasInternship.java | 7 +++---- src/main/java/seedu/ui/Ui.java | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/main/java/seedu/duke/EasInternship.java b/src/main/java/seedu/duke/EasInternship.java index da3f858bc8..c60e6fab23 100644 --- a/src/main/java/seedu/duke/EasInternship.java +++ b/src/main/java/seedu/duke/EasInternship.java @@ -27,12 +27,11 @@ public static void main(String[] args) { ui.showWelcome(); // Main loop - Scanner scanner = new Scanner(System.in); boolean isExit = false; while (!isExit) { System.out.print("Enter command: "); - String input = scanner.nextLine(); + String input = ui.readInput(); if (input.equals("exit")) { Storage.saveToFile(internshipList); @@ -44,7 +43,7 @@ public static void main(String[] args) { Command command = parser.parseCommand(input); if (command == null) { - System.out.println("Unknown command: " + input); + ui.showUnknownCommand(input); continue; } @@ -54,7 +53,7 @@ public static void main(String[] args) { try { command.execute(commandArgs); } catch (Exception e) { - System.out.println("Error executing command: " + e.getMessage()); + ui.showErrorCommand(e.getMessage()); } } } diff --git a/src/main/java/seedu/ui/Ui.java b/src/main/java/seedu/ui/Ui.java index 192754fa1c..aff06d56ff 100644 --- a/src/main/java/seedu/ui/Ui.java +++ b/src/main/java/seedu/ui/Ui.java @@ -46,6 +46,24 @@ public void showOutput(String output) { printTailDivider(); } + /** + * Prints when unknown command is given. + * + * @param input Command by user. + */ + public void showUnknownCommand(String input) { + showOutput("Unknown command: " + input); + } + + /** + * Prints when there is an error executing the commands. + * + * @param errorMessage Message given by exception. + */ + public void showErrorCommand(String errorMessage) { + showOutput("Error executing command: " + errorMessage); + } + /** * Prints double horizontal line to indicate the start of a chatbot response. */ From a9611d2713137d1a7a96ab864411d083edb5c21d Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Thu, 10 Oct 2024 18:07:42 +0800 Subject: [PATCH 070/359] Standardise flags --- data/EasInternship.txt | 1 + src/main/java/seedu/commands/AddCommand.java | 2 +- src/main/java/seedu/commands/UpdateCommand.java | 3 ++- src/main/java/seedu/duke/Internship.java | 4 ++-- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/data/EasInternship.txt b/data/EasInternship.txt index da03e9a92b..6fa1f8852a 100644 --- a/data/EasInternship.txt +++ b/data/EasInternship.txt @@ -2,3 +2,4 @@ 2 | finance accountant | BBB | 01/01 | 01/01 | No Skills Entered | Application Pending 3 | engineer | ABS | 01/01 | 01/01 | No Skills Entered | Application Pending 4 | software engineer | abs | 01/01 | 03/24 | python | Application Completed +5 | lawyer | lolo pte ltd | 04/23 | 01/01 | No Skills Entered | Application Pending diff --git a/src/main/java/seedu/commands/AddCommand.java b/src/main/java/seedu/commands/AddCommand.java index eceaebbb78..6167a044d9 100644 --- a/src/main/java/seedu/commands/AddCommand.java +++ b/src/main/java/seedu/commands/AddCommand.java @@ -17,7 +17,7 @@ public void execute(ArrayList args) { String[] words = arg.split(" ", 2); String flag = words[0]; switch (flag) { - case "name": + case "role": if (words.length > 1) { role = words[INDEX_DATA]; } else { diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index 3ad3b03d3a..d95c7979b1 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -22,7 +22,8 @@ public void execute(ArrayList args) { case "skills": case "role": case "company": - case "end": + case "from": + case "to": field = words[INDEX_FIELD]; value = words[INDEX_DATA].replace(field, "").trim(); internships.getInternship(internshipIndex).updateField(field, value); diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 179cd60b5d..0a282b6b75 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -64,10 +64,10 @@ public void updateField(String field, String value) { case "company": setCompany(value); break; - case "start": + case "from": setStartDate(value); break; - case "end": + case "to": setEndDate(value); break; default: From dda3f013881325268e11a8e761442dfd5c4e70e9 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Thu, 10 Oct 2024 18:27:30 +0800 Subject: [PATCH 071/359] Fix Checkstyle Errors --- src/main/java/seedu/commands/Command.java | 2 +- src/main/java/seedu/duke/EasInternship.java | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/seedu/commands/Command.java b/src/main/java/seedu/commands/Command.java index a19c481815..125111f705 100644 --- a/src/main/java/seedu/commands/Command.java +++ b/src/main/java/seedu/commands/Command.java @@ -8,7 +8,7 @@ public abstract class Command { protected static final int INDEX_FIELD = 0; protected static final int INDEX_DATA = 1; - protected static final UiCommand ui = new UiCommand(); + protected static UiCommand ui = new UiCommand(); protected InternshipList internships; public void setInternshipList(InternshipList internships) { diff --git a/src/main/java/seedu/duke/EasInternship.java b/src/main/java/seedu/duke/EasInternship.java index c60e6fab23..1071afe932 100644 --- a/src/main/java/seedu/duke/EasInternship.java +++ b/src/main/java/seedu/duke/EasInternship.java @@ -4,7 +4,6 @@ import seedu.ui.Ui; import java.util.ArrayList; -import java.util.Scanner; /** * The EasInternship class contains the main method which is the entry point for the application. From 0eedce6fc1f24581a539a254d1bd51ef98fefd8a Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Sun, 13 Oct 2024 13:25:21 +0800 Subject: [PATCH 072/359] Add JUnit test for SortCommand class, modify the code to deal with some invalid output. Also add getSortMessage inside the UiCommand and modify a bit in the showSortedInternships. --- src/main/java/seedu/commands/SortCommand.java | 38 ++++---- src/main/java/seedu/ui/UiCommand.java | 36 +++++--- .../java/seedu/commands/SortCommandTest.java | 90 +++++++++++++++++++ 3 files changed, 134 insertions(+), 30 deletions(-) create mode 100644 src/test/java/seedu/commands/SortCommandTest.java diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index 643a1812ea..a3fe9a332e 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -5,33 +5,35 @@ public class SortCommand extends Command { @Override public void execute(ArrayList args) { - // Ensure that the args array contains at least one argument after "sort" - if (args.size() == 0) { - ui.showSortedInternships("none"); - internships.listAllInternships(); // Default to listing by original order (ID) + // Check if no arguments are provided after "sort" + if (args.isEmpty()) { + ui.showSortedInternships("none"); // No valid sort option provided + internships.listAllInternships(); // Default to listing by ID return; } - // Check if the user requested to sort by alphabet or deadline + // Get the first argument, which should be the sort option String sortOption = args.get(0).toLowerCase(); + // Handle valid sorting options switch (sortOption) { - case "alphabet": - ui.showSortedInternships(sortOption); - internships.listInternshipsSortedByRole(); // Sort by role alphabetically - break; - case "deadline": - ui.showSortedInternships(sortOption); - internships.listInternshipsSortedByDeadline(); // Sort by deadline (start date, then end date) - break; - default: - ui.showSortedInternships(sortOption); - internships.listAllInternships(); // Default to listing by original order (ID) + case "alphabet": + ui.showSortedInternships(sortOption); // Show sorting message for alphabet + internships.listInternshipsSortedByRole(); // Sort by role alphabetically + break; + case "deadline": + ui.showSortedInternships(sortOption); // Show sorting message for deadline + internships.listInternshipsSortedByDeadline(); // Sort by start date, then end date + break; + default: + // Handle invalid sorting options + ui.showSortedInternships(sortOption); // Show error message for invalid option + internships.listAllInternships(); // Default to listing by ID } } @Override public String getUsage() { - return "Usage: sort [-alphabet | -deadline]"; + return "Usage: sort [alphabet | deadline]"; } -} +} \ No newline at end of file diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index 795fdf9304..cd1eb311c6 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -108,19 +108,31 @@ public void showInsufficientArguments() { public void showSortedInternships(String field) { printHeadDivider(); switch (field) { - case "none": - System.out.println("No sorting option provided. Listing internships by ID."); - break; - case "alphabet": - System.out.println("Sorted internships by role alphabetically."); - break; - case "deadline": - System.out.println("Sorted internships by start date, then end date."); - break; - default: - System.out.println("Unknown or missing flag. Listing internships by ID."); - break; + case "none": + System.out.println("No sorting option provided. Listing internships by ID."); + break; + case "alphabet": + System.out.println("Sorted internships by role alphabetically."); + break; + case "deadline": + System.out.println("Sorted internships by start date, then end date."); + break; + default: + // Handling invalid sorting options + System.out.println("Error: Unknown or invalid sorting option: \"" + field + "\"."); + System.out.println(getSortUsageMessage()); + break; } + printTailDivider(); + } + + /** + * Prints the correct usage message for the sort command. + */ + public String getSortUsageMessage() { + return "Usage: sort [alphabet | deadline]\n" + + "alphabet: Sort internships alphabetically by role.\n" + + "deadline: Sort internships by start date, then end date."; } public String getInvalidFlags() { diff --git a/src/test/java/seedu/commands/SortCommandTest.java b/src/test/java/seedu/commands/SortCommandTest.java new file mode 100644 index 0000000000..94a2340b0a --- /dev/null +++ b/src/test/java/seedu/commands/SortCommandTest.java @@ -0,0 +1,90 @@ +package seedu.commands; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import seedu.duke.Internship; +import seedu.duke.InternshipList; + +import java.util.ArrayList; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; + +class SortCommandTest { + + private InternshipList internshipList; + + @BeforeEach + void setUp() { + internshipList = new InternshipList(); + + // Add some internships to the list for testing + Internship internship1 = new Internship("Software Engineer", "Google", "01/24", "06/24"); + Internship internship2 = new Internship("Data Scientist", "Facebook", "02/24", "08/24"); + Internship internship3 = new Internship("Product Manager", "Amazon", "01/24", "09/24"); + + internshipList.addInternship(internship1); + internshipList.addInternship(internship2); + internshipList.addInternship(internship3); + } + + @Test + void execute_sortNoArgs_expectNoCrash() { + SortCommand sortCommand = new SortCommand(); + sortCommand.setInternshipList(internshipList); + + // Test "sort" with no additional arguments + ArrayList arguments = new ArrayList<>(); + assertDoesNotThrow(() -> sortCommand.execute(arguments)); + } + + @Test + void execute_sortEmptyFlag_expectNoCrash() { + SortCommand sortCommand = new SortCommand(); + sortCommand.setInternshipList(internshipList); + + // Test "sort -" with an empty flag + ArrayList arguments = new ArrayList<>(List.of("-")); + assertDoesNotThrow(() -> sortCommand.execute(arguments)); + } + + @Test + void execute_sortAlphabet_expectSortedByRole() { + SortCommand sortCommand = new SortCommand(); + sortCommand.setInternshipList(internshipList); + + // Test "sort -alphabet" + ArrayList arguments = new ArrayList<>(List.of("alphabet")); + assertDoesNotThrow(() -> sortCommand.execute(arguments)); + } + + @Test + void execute_sortDeadline_expectSortedByDate() { + SortCommand sortCommand = new SortCommand(); + sortCommand.setInternshipList(internshipList); + + // Test "sort -deadline" + ArrayList arguments = new ArrayList<>(List.of("deadline")); + assertDoesNotThrow(() -> sortCommand.execute(arguments)); + } + + @Test + void execute_sortInvalid_expectNoCrash() { + SortCommand sortCommand = new SortCommand(); + sortCommand.setInternshipList(internshipList); + + // Test "sort -invalid" + ArrayList arguments = new ArrayList<>(List.of("invalid")); + assertDoesNotThrow(() -> sortCommand.execute(arguments)); + } + + @Test + void execute_sortUnknown_expectNoCrash() { + SortCommand sortCommand = new SortCommand(); + sortCommand.setInternshipList(internshipList); + + // Test "sort -unknown" + ArrayList arguments = new ArrayList<>(List.of("unknown")); + assertDoesNotThrow(() -> sortCommand.execute(arguments)); + } +} \ No newline at end of file From 433fa825e603754aec9e7579bc586a6876e2ec1b Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Sun, 13 Oct 2024 13:30:28 +0800 Subject: [PATCH 073/359] modify the code indentation of the case --- src/main/java/seedu/commands/SortCommand.java | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index a3fe9a332e..43984e8f47 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -17,18 +17,18 @@ public void execute(ArrayList args) { // Handle valid sorting options switch (sortOption) { - case "alphabet": - ui.showSortedInternships(sortOption); // Show sorting message for alphabet - internships.listInternshipsSortedByRole(); // Sort by role alphabetically - break; - case "deadline": - ui.showSortedInternships(sortOption); // Show sorting message for deadline - internships.listInternshipsSortedByDeadline(); // Sort by start date, then end date - break; - default: - // Handle invalid sorting options - ui.showSortedInternships(sortOption); // Show error message for invalid option - internships.listAllInternships(); // Default to listing by ID + case "alphabet": + ui.showSortedInternships(sortOption); // Show sorting message for alphabet + internships.listInternshipsSortedByRole(); // Sort by role alphabetically + break; + case "deadline": + ui.showSortedInternships(sortOption); // Show sorting message for deadline + internships.listInternshipsSortedByDeadline(); // Sort by start date, then end date + break; + default: + // Handle invalid sorting options + ui.showSortedInternships(sortOption); // Show error message for invalid option + internships.listAllInternships(); // Default to listing by ID } } @@ -36,4 +36,4 @@ public void execute(ArrayList args) { public String getUsage() { return "Usage: sort [alphabet | deadline]"; } -} \ No newline at end of file +} From 36c723d2fb93a765b36f7f6057ebc9d05fbd6a85 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Sun, 13 Oct 2024 13:35:06 +0800 Subject: [PATCH 074/359] modify the code standard in UiCommand and add a newline in the end of the SortCommandTest --- src/main/java/seedu/ui/UiCommand.java | 28 +++++++++---------- .../java/seedu/commands/SortCommandTest.java | 2 +- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index cd1eb311c6..72cacc882a 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -108,20 +108,20 @@ public void showInsufficientArguments() { public void showSortedInternships(String field) { printHeadDivider(); switch (field) { - case "none": - System.out.println("No sorting option provided. Listing internships by ID."); - break; - case "alphabet": - System.out.println("Sorted internships by role alphabetically."); - break; - case "deadline": - System.out.println("Sorted internships by start date, then end date."); - break; - default: - // Handling invalid sorting options - System.out.println("Error: Unknown or invalid sorting option: \"" + field + "\"."); - System.out.println(getSortUsageMessage()); - break; + case "none": + System.out.println("No sorting option provided. Listing internships by ID."); + break; + case "alphabet": + System.out.println("Sorted internships by role alphabetically."); + break; + case "deadline": + System.out.println("Sorted internships by start date, then end date."); + break; + default: + // Handling invalid sorting options + System.out.println("Error: Unknown or invalid sorting option: \"" + field + "\"."); + System.out.println(getSortUsageMessage()); + break; } printTailDivider(); } diff --git a/src/test/java/seedu/commands/SortCommandTest.java b/src/test/java/seedu/commands/SortCommandTest.java index 94a2340b0a..52870fdfe7 100644 --- a/src/test/java/seedu/commands/SortCommandTest.java +++ b/src/test/java/seedu/commands/SortCommandTest.java @@ -87,4 +87,4 @@ void execute_sortUnknown_expectNoCrash() { ArrayList arguments = new ArrayList<>(List.of("unknown")); assertDoesNotThrow(() -> sortCommand.execute(arguments)); } -} \ No newline at end of file +} From 325c19008f7ad9aaf0a1fc2a36648f4ecdb5d0d8 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 13 Oct 2024 15:10:54 +0800 Subject: [PATCH 075/359] Handle invalid index (Non-numbers) --- .../java/seedu/commands/UpdateCommand.java | 56 ++++++++++--------- src/main/java/seedu/duke/InternshipList.java | 14 ++++- .../seedu/commands/UpdateCommandTest.java | 43 ++++++++++---- 3 files changed, 73 insertions(+), 40 deletions(-) diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index 90b506ad9b..e30eb799d3 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -9,41 +9,45 @@ public class UpdateCommand extends Command { @Override public void execute(ArrayList args) { - int internshipId = Integer.parseInt(args.get(0)); - int internshipIndex = internshipId - 1; - args.remove(0); + try { + int internshipId = Integer.parseInt(args.get(0)); + int internshipIndex = internshipId - 1; + args.remove(0); - String field; - String value; + String field; + String value; - ui.clearInvalidFlags(); - ui.clearUpdatedFields(); + ui.clearInvalidFlags(); + ui.clearUpdatedFields(); - for (String arg : args) { - String[] words = arg.split(" ", 2); - switch (words[INDEX_FIELD]) { - case "status": - case "skills": - case "role": - case "company": - case "from": - case "to": - field = words[INDEX_FIELD]; - value = words[INDEX_DATA].replace(field, "").trim(); - internships.updateField(internshipIndex, field, value); - ui.addUpdatedField(field, value); - break; - default: - ui.addInvalidFlag(words[INDEX_FIELD]); - break; + for (String arg : args) { + String[] words = arg.split(" ", 2); + switch (words[INDEX_FIELD]) { + case "status": + case "skills": + case "role": + case "company": + case "from": + case "to": + field = words[INDEX_FIELD]; + value = words[INDEX_DATA].replace(field, "").trim(); + internships.updateField(internshipIndex, field, value); + ui.addUpdatedField(field, value); + break; + default: + ui.addInvalidFlag(words[INDEX_FIELD]); + break; + } } + ui.showEditedInternship(internships.getInternship(internshipIndex), "update"); + } catch (NumberFormatException e) { + System.out.println("Invalid integer, please provide a valid internship ID"); } - ui.showEditedInternship(internships.getInternship(internshipIndex), "update"); } public String getUsage() { return """ - Usage: update -id {ID} -{field} {new value} + Usage: update {ID} -{field} {new value} List of fields: - status (refer to below for valid statuses) diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index ae24129238..48413efd27 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -11,6 +11,14 @@ public class InternshipList { private static final UiInternshipList ui = new UiInternshipList(); public ArrayList internships; + //@@ Ridiculouswifi + /** + * Returns whether the index given is within the boundaries of the list. + */ + private boolean isWithinBounds(int index) { + return index >= 0 && index < internships.size(); + } + // Constructor public InternshipList() { internships = new ArrayList<>(); @@ -25,7 +33,7 @@ public void addInternship(Internship internship) { // Method to remove an internship by index (0-based) public void removeInternship(int index) { - if (index >= 0 && index < internships.size()) { + if (isWithinBounds(index)) { internships.remove(index); updateIds(); // Reassign IDs after removal } else { @@ -42,7 +50,7 @@ private void updateIds() { // Method to get an internship by index public Internship getInternship(int index) { - if (index >= 0 && index < internships.size()) { + if (isWithinBounds(index)) { return internships.get(index); } else { ui.showInvalidIndex(); @@ -59,7 +67,7 @@ public Internship getInternship(int index) { * @param value Updated value */ public void updateField(int index, String field, String value) { - if (index >= 0 && index < internships.size()) { + if (isWithinBounds(index)) { internships.get(index).updateField(field, value); } else { ui.showInvalidIndex(); diff --git a/src/test/java/seedu/commands/UpdateCommandTest.java b/src/test/java/seedu/commands/UpdateCommandTest.java index 4997f9d9c6..62745aad14 100644 --- a/src/test/java/seedu/commands/UpdateCommandTest.java +++ b/src/test/java/seedu/commands/UpdateCommandTest.java @@ -8,44 +8,65 @@ import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; class UpdateCommandTest { - @Test - void execute_validCompany1_expectUpdated() { + InternshipList createList() { InternshipList internshipList = new InternshipList(); Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); internshipList.addInternship(internship); + return internshipList; + } + + @Test + void execute_validCompany1_expectUpdated() { + InternshipList internships = createList(); - assertEquals(internship.getCompany(), "ABC"); + assertEquals(internships.getInternship(0).getCompany(), "ABC"); UpdateCommand updateCommand = new UpdateCommand(); - updateCommand.setInternshipList(internshipList); + updateCommand.setInternshipList(internships); String[] parsedInputs = {"01", "company XYZ"}; ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); updateCommand.execute(arguments); - assertEquals(internship.getCompany(), "XYZ"); + assertEquals(internships.getInternship(0).getCompany(), "XYZ"); } @Test void execute_validStatus1_expectUpdated() { - InternshipList internshipList = new InternshipList(); - Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); - internshipList.addInternship(internship); + InternshipList internships = createList(); - assertEquals(internship.getStatus(), "Application Pending"); + assertEquals(internships.getInternship(0).getStatus(), "Application Pending"); UpdateCommand updateCommand = new UpdateCommand(); - updateCommand.setInternshipList(internshipList); + updateCommand.setInternshipList(internships); String[] parsedInputs = {"01", "status application completed"}; ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); updateCommand.execute(arguments); - assertEquals(internship.getStatus(), "Application Completed"); + assertEquals(internships.getInternship(0).getStatus(), "Application Completed"); + } + + @Test + void execute_invalidIndex1_expectThrow() { + InternshipList internships = createList(); + + assertEquals(internships.getInternship(0).getCompany(), "ABC"); + + UpdateCommand updateCommand = new UpdateCommand(); + updateCommand.setInternshipList(internships); + + String[] parsedInputs = {"A1", "company XYZ"}; + ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); + + updateCommand.execute(arguments); + + assertEquals(internships.getInternship(0).getCompany(), "ABC"); } } From c4abe0a82d7771eaa301d796167304fce04cdddf Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 13 Oct 2024 16:14:52 +0800 Subject: [PATCH 076/359] Handle out of bounds index --- .../java/seedu/commands/UpdateCommand.java | 2 + src/main/java/seedu/duke/InternshipList.java | 7 ++-- .../seedu/commands/UpdateCommandTest.java | 38 ++++++++++++++++++- .../java/seedu/duke/InternshipListTest.java | 14 +++++++ 4 files changed, 56 insertions(+), 5 deletions(-) diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index e30eb799d3..138c710cb6 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -42,6 +42,8 @@ public void execute(ArrayList args) { ui.showEditedInternship(internships.getInternship(internshipIndex), "update"); } catch (NumberFormatException e) { System.out.println("Invalid integer, please provide a valid internship ID"); + } catch (IndexOutOfBoundsException e) { + // Exception message is already handled in InternshipList class } } diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 48413efd27..53ddc5492f 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -66,11 +66,12 @@ public Internship getInternship(int index) { * @param field Specific attribute to update. * @param value Updated value */ - public void updateField(int index, String field, String value) { - if (isWithinBounds(index)) { + public void updateField(int index, String field, String value) throws IndexOutOfBoundsException { + try { internships.get(index).updateField(field, value); - } else { + } catch (IndexOutOfBoundsException e) { ui.showInvalidIndex(); + throw e; } } diff --git a/src/test/java/seedu/commands/UpdateCommandTest.java b/src/test/java/seedu/commands/UpdateCommandTest.java index 62745aad14..6040505594 100644 --- a/src/test/java/seedu/commands/UpdateCommandTest.java +++ b/src/test/java/seedu/commands/UpdateCommandTest.java @@ -8,8 +8,8 @@ import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertThrows; +//@@ Ridiculouswifi class UpdateCommandTest { InternshipList createList() { @@ -54,7 +54,7 @@ void execute_validStatus1_expectUpdated() { } @Test - void execute_invalidIndex1_expectThrow() { + void execute_nonNumberId_expectNoUpdate() { InternshipList internships = createList(); assertEquals(internships.getInternship(0).getCompany(), "ABC"); @@ -69,4 +69,38 @@ void execute_invalidIndex1_expectThrow() { assertEquals(internships.getInternship(0).getCompany(), "ABC"); } + + @Test + void execute_emptyId_expectNoUpdate() { + InternshipList internships = createList(); + + assertEquals(internships.getInternship(0).getCompany(), "ABC"); + + UpdateCommand updateCommand = new UpdateCommand(); + updateCommand.setInternshipList(internships); + + String[] parsedInputs = {"", "company XYZ"}; + ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); + + updateCommand.execute(arguments); + + assertEquals(internships.getInternship(0).getCompany(), "ABC"); + } + + @Test + void execute_outOfBoundsIndex_expectNoUpdate() { + InternshipList internships = createList(); + + assertEquals(internships.getInternship(0).getCompany(), "ABC"); + + UpdateCommand updateCommand = new UpdateCommand(); + updateCommand.setInternshipList(internships); + + String[] parsedInputs = {"2", "company XYZ"}; + ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); + + updateCommand.execute(arguments); + + assertEquals(internships.getInternship(0).getCompany(), "ABC"); + } } diff --git a/src/test/java/seedu/duke/InternshipListTest.java b/src/test/java/seedu/duke/InternshipListTest.java index c5d9877d88..ab947557c5 100644 --- a/src/test/java/seedu/duke/InternshipListTest.java +++ b/src/test/java/seedu/duke/InternshipListTest.java @@ -3,9 +3,12 @@ import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +//@@ Ridiculouswifi class InternshipListTest { + //@@ Ridiculouswifi @Test void updateStatus_validIndexStatus_expectUpdated() { InternshipList internshipList = new InternshipList(); @@ -15,4 +18,15 @@ void updateStatus_validIndexStatus_expectUpdated() { assertEquals("Application Completed", internshipList.getInternship(0).getStatus()); } + + //@@Ridiculouswifi + @Test + void updateStatus_outOfBoundsIndex_expectThrow() { + InternshipList internshipList = new InternshipList(); + Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); + internshipList.addInternship(internship); + + assertThrows(IndexOutOfBoundsException.class, + () -> internshipList.updateField(1, "status", "Application Completed")); + } } From b696fb60f43aff5ad6b3cf2a067c3207f762cc0f Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 13 Oct 2024 18:31:52 +0800 Subject: [PATCH 077/359] Handle empty fields --- .../java/seedu/commands/UpdateCommand.java | 22 +++++++- src/main/java/seedu/duke/InternshipList.java | 5 +- .../java/seedu/exceptions/InvalidIndex.java | 5 ++ .../seedu/commands/UpdateCommandTest.java | 55 +++++++++++++++---- .../java/seedu/duke/InternshipListTest.java | 5 +- 5 files changed, 76 insertions(+), 16 deletions(-) create mode 100644 src/main/java/seedu/exceptions/InvalidIndex.java diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index 138c710cb6..e215bcffc3 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -1,5 +1,7 @@ package seedu.commands; +import seedu.exceptions.InvalidIndex; + import java.util.ArrayList; //@@author Ridiculouswifi @@ -30,7 +32,10 @@ public void execute(ArrayList args) { case "from": case "to": field = words[INDEX_FIELD]; - value = words[INDEX_DATA].replace(field, "").trim(); + if (!isValidValue(words)) { + continue; + } + value = words[INDEX_DATA].trim(); internships.updateField(internshipIndex, field, value); ui.addUpdatedField(field, value); break; @@ -42,11 +47,24 @@ public void execute(ArrayList args) { ui.showEditedInternship(internships.getInternship(internshipIndex), "update"); } catch (NumberFormatException e) { System.out.println("Invalid integer, please provide a valid internship ID"); - } catch (IndexOutOfBoundsException e) { + } catch (InvalidIndex e) { // Exception message is already handled in InternshipList class } } + private boolean isValidValue(String[] words) { + try { + String value = words[INDEX_DATA].trim(); + if (value.isEmpty()) { + throw new IndexOutOfBoundsException(); + } + return true; + } catch (IndexOutOfBoundsException e) { + System.out.println("Field cannot be empty"); + return false; + } + } + public String getUsage() { return """ Usage: update {ID} -{field} {new value} diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 53ddc5492f..32f2fbf506 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -1,5 +1,6 @@ package seedu.duke; +import seedu.exceptions.InvalidIndex; import seedu.ui.UiInternshipList; import java.util.ArrayList; @@ -66,12 +67,12 @@ public Internship getInternship(int index) { * @param field Specific attribute to update. * @param value Updated value */ - public void updateField(int index, String field, String value) throws IndexOutOfBoundsException { + public void updateField(int index, String field, String value) throws InvalidIndex { try { internships.get(index).updateField(field, value); } catch (IndexOutOfBoundsException e) { ui.showInvalidIndex(); - throw e; + throw new InvalidIndex(); } } diff --git a/src/main/java/seedu/exceptions/InvalidIndex.java b/src/main/java/seedu/exceptions/InvalidIndex.java new file mode 100644 index 0000000000..59fadd9766 --- /dev/null +++ b/src/main/java/seedu/exceptions/InvalidIndex.java @@ -0,0 +1,5 @@ +package seedu.exceptions; + +public class InvalidIndex extends Exception { + +} diff --git a/src/test/java/seedu/commands/UpdateCommandTest.java b/src/test/java/seedu/commands/UpdateCommandTest.java index 6040505594..8d3422b63f 100644 --- a/src/test/java/seedu/commands/UpdateCommandTest.java +++ b/src/test/java/seedu/commands/UpdateCommandTest.java @@ -23,7 +23,7 @@ InternshipList createList() { void execute_validCompany1_expectUpdated() { InternshipList internships = createList(); - assertEquals(internships.getInternship(0).getCompany(), "ABC"); + assertEquals("ABC", internships.getInternship(0).getCompany()); UpdateCommand updateCommand = new UpdateCommand(); updateCommand.setInternshipList(internships); @@ -33,14 +33,14 @@ void execute_validCompany1_expectUpdated() { updateCommand.execute(arguments); - assertEquals(internships.getInternship(0).getCompany(), "XYZ"); + assertEquals("XYZ", internships.getInternship(0).getCompany()); } @Test void execute_validStatus1_expectUpdated() { InternshipList internships = createList(); - assertEquals(internships.getInternship(0).getStatus(), "Application Pending"); + assertEquals("Application Pending", internships.getInternship(0).getStatus()); UpdateCommand updateCommand = new UpdateCommand(); updateCommand.setInternshipList(internships); @@ -50,14 +50,14 @@ void execute_validStatus1_expectUpdated() { updateCommand.execute(arguments); - assertEquals(internships.getInternship(0).getStatus(), "Application Completed"); + assertEquals("Application Completed", internships.getInternship(0).getStatus()); } @Test void execute_nonNumberId_expectNoUpdate() { InternshipList internships = createList(); - assertEquals(internships.getInternship(0).getCompany(), "ABC"); + assertEquals("ABC", internships.getInternship(0).getCompany()); UpdateCommand updateCommand = new UpdateCommand(); updateCommand.setInternshipList(internships); @@ -67,14 +67,14 @@ void execute_nonNumberId_expectNoUpdate() { updateCommand.execute(arguments); - assertEquals(internships.getInternship(0).getCompany(), "ABC"); + assertEquals("ABC", internships.getInternship(0).getCompany()); } @Test void execute_emptyId_expectNoUpdate() { InternshipList internships = createList(); - assertEquals(internships.getInternship(0).getCompany(), "ABC"); + assertEquals("ABC", internships.getInternship(0).getCompany()); UpdateCommand updateCommand = new UpdateCommand(); updateCommand.setInternshipList(internships); @@ -84,14 +84,14 @@ void execute_emptyId_expectNoUpdate() { updateCommand.execute(arguments); - assertEquals(internships.getInternship(0).getCompany(), "ABC"); + assertEquals("ABC", internships.getInternship(0).getCompany()); } @Test void execute_outOfBoundsIndex_expectNoUpdate() { InternshipList internships = createList(); - assertEquals(internships.getInternship(0).getCompany(), "ABC"); + assertEquals("ABC", internships.getInternship(0).getCompany()); UpdateCommand updateCommand = new UpdateCommand(); updateCommand.setInternshipList(internships); @@ -101,6 +101,41 @@ void execute_outOfBoundsIndex_expectNoUpdate() { updateCommand.execute(arguments); - assertEquals(internships.getInternship(0).getCompany(), "ABC"); + assertEquals("ABC", internships.getInternship(0).getCompany()); + } + + @Test + void execute_emptyValue_expectNoUpdate() { + InternshipList internships = createList(); + + assertEquals("ABC", internships.getInternship(0).getCompany()); + + UpdateCommand updateCommand = new UpdateCommand(); + updateCommand.setInternshipList(internships); + + String[] parsedInputs = {"1", "company "}; + ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); + + updateCommand.execute(arguments); + + assertEquals("ABC", internships.getInternship(0).getCompany()); + } + + @Test + void execute_oneValidoneInvalidValue_expectUpdateValidValue() { + InternshipList internships = createList(); + + assertEquals("ABC", internships.getInternship(0).getCompany()); + + UpdateCommand updateCommand = new UpdateCommand(); + updateCommand.setInternshipList(internships); + + String[] parsedInputs = {"1", "company ", "role Engineer"}; + ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); + + updateCommand.execute(arguments); + + assertEquals("ABC", internships.getInternship(0).getCompany()); + assertEquals("Engineer", internships.getInternship(0).getRole()); } } diff --git a/src/test/java/seedu/duke/InternshipListTest.java b/src/test/java/seedu/duke/InternshipListTest.java index ab947557c5..7b8d592bf0 100644 --- a/src/test/java/seedu/duke/InternshipListTest.java +++ b/src/test/java/seedu/duke/InternshipListTest.java @@ -1,6 +1,7 @@ package seedu.duke; import org.junit.jupiter.api.Test; +import seedu.exceptions.InvalidIndex; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; @@ -10,7 +11,7 @@ class InternshipListTest { //@@ Ridiculouswifi @Test - void updateStatus_validIndexStatus_expectUpdated() { + void updateStatus_validIndexStatus_expectUpdated() throws InvalidIndex { InternshipList internshipList = new InternshipList(); Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); internshipList.addInternship(internship); @@ -26,7 +27,7 @@ void updateStatus_outOfBoundsIndex_expectThrow() { Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); internshipList.addInternship(internship); - assertThrows(IndexOutOfBoundsException.class, + assertThrows(InvalidIndex.class, () -> internshipList.updateField(1, "status", "Application Completed")); } } From 8bd5c25ebb11f77f50453f35d96f094f0fcd6913 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 13 Oct 2024 18:39:00 +0800 Subject: [PATCH 078/359] Edit updateField in Internship --- src/main/java/seedu/duke/Internship.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 0a282b6b75..c87b379312 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -49,9 +49,6 @@ public Internship(String role, String company, String start, String end) { */ public void updateField(String field, String value) { switch (field) { - case "id": - setId(Integer.parseInt(value)); - break; case "status": updateStatus(value); break; From 1d7b5b11ca686c9d09748b6844d5b71703c42cbb Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 13 Oct 2024 20:41:42 +0800 Subject: [PATCH 079/359] Handle invalid dates for from and to --- .../java/seedu/commands/UpdateCommand.java | 47 +++++++++++-------- src/main/java/seedu/duke/Internship.java | 5 +- src/main/java/seedu/duke/InternshipList.java | 23 ++++++++- src/main/java/seedu/ui/UiCommand.java | 3 ++ .../seedu/commands/UpdateCommandTest.java | 17 +++++++ .../java/seedu/duke/InternshipListTest.java | 16 ++++++- src/test/java/seedu/duke/InternshipTest.java | 32 +++++++++++-- 7 files changed, 116 insertions(+), 27 deletions(-) diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index e215bcffc3..fc94d86536 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -2,6 +2,7 @@ import seedu.exceptions.InvalidIndex; +import java.time.format.DateTimeParseException; import java.util.ArrayList; //@@author Ridiculouswifi @@ -24,25 +25,7 @@ public void execute(ArrayList args) { for (String arg : args) { String[] words = arg.split(" ", 2); - switch (words[INDEX_FIELD]) { - case "status": - case "skills": - case "role": - case "company": - case "from": - case "to": - field = words[INDEX_FIELD]; - if (!isValidValue(words)) { - continue; - } - value = words[INDEX_DATA].trim(); - internships.updateField(internshipIndex, field, value); - ui.addUpdatedField(field, value); - break; - default: - ui.addInvalidFlag(words[INDEX_FIELD]); - break; - } + updateOneField(words, internshipIndex); } ui.showEditedInternship(internships.getInternship(internshipIndex), "update"); } catch (NumberFormatException e) { @@ -65,6 +48,32 @@ private boolean isValidValue(String[] words) { } } + private void updateOneField(String[] words, int internshipIndex) throws InvalidIndex { + try { + switch (words[INDEX_FIELD]) { + case "status": + case "skills": + case "role": + case "company": + case "from": + case "to": + String field = words[INDEX_FIELD]; + if (!isValidValue(words)) { + return; + } + String value = words[INDEX_DATA].trim(); + internships.updateField(internshipIndex, field, value); + ui.addUpdatedField(field, value); + break; + default: + ui.addInvalidFlag(words[INDEX_FIELD]); + break; + } + } catch (DateTimeParseException e) { + System.out.println("Invalid date format"); + } + } + public String getUsage() { return """ Usage: update {ID} -{field} {new value} diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index c87b379312..1bc6771c93 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -4,6 +4,7 @@ import java.time.YearMonth; import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; import java.util.Arrays; import java.util.List; @@ -134,7 +135,7 @@ public String getStartDate() { return startDate.format(formatter); // Format as MM/yy } - public void setStartDate(String start) { + public void setStartDate(String start) throws DateTimeParseException { this.startDate = YearMonth.parse(start, formatter); } @@ -142,7 +143,7 @@ public String getEndDate() { return endDate.format(formatter); // Format as MM/yy } - public void setEndDate(String end) { + public void setEndDate(String end) throws DateTimeParseException { this.endDate = YearMonth.parse(end, formatter); } diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 32f2fbf506..a740697008 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -69,7 +69,28 @@ public Internship getInternship(int index) { */ public void updateField(int index, String field, String value) throws InvalidIndex { try { - internships.get(index).updateField(field, value); + switch (field) { + case "status": + internships.get(index).updateStatus(value); + break; + case "skills": + internships.get(index).setSkills(value); + break; + case "role": + internships.get(index).setRole(value); + break; + case "company": + internships.get(index).setCompany(value); + break; + case "from": + internships.get(index).setStartDate(value); + break; + case "to": + internships.get(index).setEndDate(value); + break; + default: + break; + } } catch (IndexOutOfBoundsException e) { ui.showInvalidIndex(); throw new InvalidIndex(); diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index 72cacc882a..86abfc524d 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -23,6 +23,9 @@ public void showEditedInternship(Internship internship, String action) { message += "Internship added:\n"; break; case "update": + if (getUpdatedFields().isEmpty()) { + message += "No Fields Updated\n"; + } message += getUpdatedFields() + DIVIDER + "Internship updated:\n"; break; default: diff --git a/src/test/java/seedu/commands/UpdateCommandTest.java b/src/test/java/seedu/commands/UpdateCommandTest.java index 8d3422b63f..a6432cb583 100644 --- a/src/test/java/seedu/commands/UpdateCommandTest.java +++ b/src/test/java/seedu/commands/UpdateCommandTest.java @@ -3,11 +3,13 @@ import org.junit.jupiter.api.Test; import seedu.duke.Internship; import seedu.duke.InternshipList; +import seedu.exceptions.InvalidIndex; import java.util.ArrayList; import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; //@@ Ridiculouswifi class UpdateCommandTest { @@ -138,4 +140,19 @@ void execute_oneValidoneInvalidValue_expectUpdateValidValue() { assertEquals("ABC", internships.getInternship(0).getCompany()); assertEquals("Engineer", internships.getInternship(0).getRole()); } + + @Test + void execute_invalidStartDate_expectNoUpdate() { + InternshipList internships = createList(); + + UpdateCommand updateCommand = new UpdateCommand(); + updateCommand.setInternshipList(internships); + + String[] parsedInputs = {"1", "from 20/20"}; + ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); + + updateCommand.execute(arguments); + + assertEquals("01/24", internships.getInternship(0).getStartDate()); + } } diff --git a/src/test/java/seedu/duke/InternshipListTest.java b/src/test/java/seedu/duke/InternshipListTest.java index 7b8d592bf0..e7dc8608d2 100644 --- a/src/test/java/seedu/duke/InternshipListTest.java +++ b/src/test/java/seedu/duke/InternshipListTest.java @@ -3,6 +3,8 @@ import org.junit.jupiter.api.Test; import seedu.exceptions.InvalidIndex; +import java.time.format.DateTimeParseException; + import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; @@ -11,7 +13,7 @@ class InternshipListTest { //@@ Ridiculouswifi @Test - void updateStatus_validIndexStatus_expectUpdated() throws InvalidIndex { + void updateField_validIndexStatus_expectUpdated() throws InvalidIndex { InternshipList internshipList = new InternshipList(); Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); internshipList.addInternship(internship); @@ -22,7 +24,7 @@ void updateStatus_validIndexStatus_expectUpdated() throws InvalidIndex { //@@Ridiculouswifi @Test - void updateStatus_outOfBoundsIndex_expectThrow() { + void updateField_outOfBoundsIndex_expectThrow() { InternshipList internshipList = new InternshipList(); Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); internshipList.addInternship(internship); @@ -30,4 +32,14 @@ void updateStatus_outOfBoundsIndex_expectThrow() { assertThrows(InvalidIndex.class, () -> internshipList.updateField(1, "status", "Application Completed")); } + + @Test + void updateField_invalidStartDate_expectThrow() { + InternshipList internshipList = new InternshipList(); + Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); + internshipList.addInternship(internship); + + assertThrows(DateTimeParseException.class, + () -> internshipList.updateField(0, "from", "20/20")); + } } diff --git a/src/test/java/seedu/duke/InternshipTest.java b/src/test/java/seedu/duke/InternshipTest.java index 13c4c0d8b9..7ecc268afe 100644 --- a/src/test/java/seedu/duke/InternshipTest.java +++ b/src/test/java/seedu/duke/InternshipTest.java @@ -2,31 +2,57 @@ import org.junit.jupiter.api.Test; +import java.time.DateTimeException; + import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +//@@ Ridiculouswifi class InternshipTest { + Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); + + //@@ Ridiculouswifi @Test void updateStatus_validStatus1_expectNormal() { - Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); internship.updateStatus("application completed"); assertEquals("Application Completed", internship.getStatus()); } + //@@ Ridiculouswifi @Test void updateStatus_validStatus2_expectNormal() { - Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); internship.updateStatus("accepted"); assertEquals("Accepted", internship.getStatus()); } + //@@ Ridiculouswifi @Test void updateStatus_invalidStatus_expectException() { - Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); internship.updateStatus("interview pending"); assertEquals("Application Pending", internship.getStatus()); } + + //@@ Ridiculouswifi + @Test + void setStartDate_validStartDate_expectNormal() { + internship.setStartDate("01/23"); + + assertEquals("01/23", internship.getStartDate()); + } + + //@@ Ridiculouswifi + @Test + void setStartDate_invalidFormat_expectDateTimeException() { + assertThrows(DateTimeException.class, () -> internship.setStartDate("01/02/2024")); + } + + //@@ Ridiculouswifi + @Test + void setStartDate_invalidDate_expectDateTimeException() { + assertThrows(DateTimeException.class, () -> internship.setStartDate("20/10")); + } } From 9811c26fa6a9034d733f765912d43cec18904a4e Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 13 Oct 2024 22:19:36 +0800 Subject: [PATCH 080/359] Refactor Internship class --- src/main/java/seedu/duke/Internship.java | 32 ------------------------ 1 file changed, 32 deletions(-) diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 1bc6771c93..05516edb26 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -41,38 +41,6 @@ public Internship(String role, String company, String start, String end) { this.status = "Application Pending"; } - //@@author Ridiculouswifi - /** - * Updates the internship field with the new value. - * - * @param field field to be updated. - * @param value new value to update field with. - */ - public void updateField(String field, String value) { - switch (field) { - case "status": - updateStatus(value); - break; - case "skills": - setSkills(value); - break; - case "role": - setRole(value); - break; - case "company": - setCompany(value); - break; - case "from": - setStartDate(value); - break; - case "to": - setEndDate(value); - break; - default: - break; - } - } - //@@author Ridiculouswifi /** * Updates the status of the Internship with a valid status. From 5953b2ceef0470dc7ff568a43bf386c2681da447 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 14 Oct 2024 09:49:44 +0800 Subject: [PATCH 081/359] Structure output for UpdateCommand --- .../java/seedu/commands/UpdateCommand.java | 18 +++-- src/main/java/seedu/duke/Internship.java | 24 ++----- src/main/java/seedu/duke/InternshipList.java | 19 +++--- src/main/java/seedu/ui/UiCommand.java | 28 ++++++++ .../seedu/commands/UpdateCommandTest.java | 67 ++++++++----------- .../java/seedu/duke/InternshipListTest.java | 3 +- src/test/java/seedu/duke/InternshipTest.java | 7 +- 7 files changed, 92 insertions(+), 74 deletions(-) diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index fc94d86536..9f46e4bcca 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -1,6 +1,7 @@ package seedu.commands; import seedu.exceptions.InvalidIndex; +import seedu.exceptions.InvalidStatus; import java.time.format.DateTimeParseException; import java.util.ArrayList; @@ -17,11 +18,9 @@ public void execute(ArrayList args) { int internshipIndex = internshipId - 1; args.remove(0); - String field; - String value; - ui.clearInvalidFlags(); ui.clearUpdatedFields(); + ui.clearInvalidFields(); for (String arg : args) { String[] words = arg.split(" ", 2); @@ -49,6 +48,7 @@ private boolean isValidValue(String[] words) { } private void updateOneField(String[] words, int internshipIndex) throws InvalidIndex { + String field = words[INDEX_FIELD]; try { switch (words[INDEX_FIELD]) { case "status": @@ -57,7 +57,6 @@ private void updateOneField(String[] words, int internshipIndex) throws InvalidI case "company": case "from": case "to": - String field = words[INDEX_FIELD]; if (!isValidValue(words)) { return; } @@ -70,7 +69,16 @@ private void updateOneField(String[] words, int internshipIndex) throws InvalidI break; } } catch (DateTimeParseException e) { - System.out.println("Invalid date format"); + ui.addInvalidField(field, "Invalid date format"); + } catch (InvalidStatus e) { + String message = """ + Status provided is not recognised: + Please provide one of the following: + - Application Pending + - Application Completed + - Accepted + - Rejected"""; + ui.addInvalidField(field, message); } } diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 05516edb26..1b569511db 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -48,27 +48,15 @@ public Internship(String role, String company, String start, String end) { * * @param userStatus user-inputted status. */ - public void updateStatus(String userStatus) { + public void updateStatus(String userStatus) throws InvalidStatus { List statuses = Arrays.asList("Application Pending", "Application Completed", "Accepted", "Rejected"); - try { - for (String status : statuses) { - if (status.equalsIgnoreCase(userStatus)) { - this.status = status; - return; - } + for (String status : statuses) { + if (status.equalsIgnoreCase(userStatus)) { + this.status = status; + return; } - throw new InvalidStatus(); - } catch (InvalidStatus e) { - String message = """ - Status provided is not recognised: - Please provide one of the following: - - Application Pending - - Application Completed - - Accepted - - Rejected - """; - System.out.println(message); } + throw new InvalidStatus(); } // Getters and Setters diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index a740697008..19c2c97955 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -1,6 +1,7 @@ package seedu.duke; import seedu.exceptions.InvalidIndex; +import seedu.exceptions.InvalidStatus; import seedu.ui.UiInternshipList; import java.util.ArrayList; @@ -12,14 +13,6 @@ public class InternshipList { private static final UiInternshipList ui = new UiInternshipList(); public ArrayList internships; - //@@ Ridiculouswifi - /** - * Returns whether the index given is within the boundaries of the list. - */ - private boolean isWithinBounds(int index) { - return index >= 0 && index < internships.size(); - } - // Constructor public InternshipList() { internships = new ArrayList<>(); @@ -32,6 +25,14 @@ public void addInternship(Internship internship) { internships.add(internship); } + //@@ Ridiculouswifi + /** + * Returns whether the index given is within the boundaries of the list. + */ + private boolean isWithinBounds(int index) { + return index >= 0 && index < internships.size(); + } + // Method to remove an internship by index (0-based) public void removeInternship(int index) { if (isWithinBounds(index)) { @@ -67,7 +68,7 @@ public Internship getInternship(int index) { * @param field Specific attribute to update. * @param value Updated value */ - public void updateField(int index, String field, String value) throws InvalidIndex { + public void updateField(int index, String field, String value) throws InvalidIndex, InvalidStatus { try { switch (field) { case "status": diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index 86abfc524d..d4a08241ea 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -9,6 +9,7 @@ public class UiCommand extends Ui { private String invalidFlags; private String updatedFields; + private String invalidFields; /** * Prints newly added or updated internship and invalid flags (if any). @@ -23,6 +24,9 @@ public void showEditedInternship(Internship internship, String action) { message += "Internship added:\n"; break; case "update": + if (!getInvalidFields().isEmpty()) { + message += getInvalidFields() + DIVIDER; + } if (getUpdatedFields().isEmpty()) { message += "No Fields Updated\n"; } @@ -49,6 +53,13 @@ public void clearUpdatedFields() { setUpdatedFields(""); } + /** + * Resets invalidFields to empty String. + */ + public void clearInvalidFields() { + setInvalidFields(""); + } + public void addUpdatedField(String updatedField, String updatedValue) { String newUpdatedFields = getUpdatedFields(); newUpdatedFields += updatedField + " updated: " + updatedValue + "\n"; @@ -80,6 +91,15 @@ public void addInvalidFlag(String flag) { setInvalidFlags(newInvalidFlags); } + /** + * Adds appropriate message to invalidFields for specified field. + */ + public void addInvalidField(String field, String invalidMessage) { + String newInvalidFields = getInvalidFields(); + newInvalidFields += field + ": " + invalidMessage + "\n"; + setInvalidFields(newInvalidFields); + } + /** * Prints invalid flags of a command. */ @@ -153,4 +173,12 @@ public String getUpdatedFields() { public void setUpdatedFields(String updatedFields) { this.updatedFields = updatedFields; } + + public String getInvalidFields() { + return invalidFields; + } + + public void setInvalidFields(String invalidFields) { + this.invalidFields = invalidFields; + } } diff --git a/src/test/java/seedu/commands/UpdateCommandTest.java b/src/test/java/seedu/commands/UpdateCommandTest.java index a6432cb583..1e0deada18 100644 --- a/src/test/java/seedu/commands/UpdateCommandTest.java +++ b/src/test/java/seedu/commands/UpdateCommandTest.java @@ -3,33 +3,33 @@ import org.junit.jupiter.api.Test; import seedu.duke.Internship; import seedu.duke.InternshipList; -import seedu.exceptions.InvalidIndex; import java.util.ArrayList; import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertThrows; //@@ Ridiculouswifi class UpdateCommandTest { - InternshipList createList() { - InternshipList internshipList = new InternshipList(); + InternshipList internships; + UpdateCommand updateCommand; + + void createList() { + internships = new InternshipList(); Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); - internshipList.addInternship(internship); - return internshipList; + internships.addInternship(internship); + + updateCommand = new UpdateCommand(); + updateCommand.setInternshipList(internships); } @Test void execute_validCompany1_expectUpdated() { - InternshipList internships = createList(); + createList(); assertEquals("ABC", internships.getInternship(0).getCompany()); - UpdateCommand updateCommand = new UpdateCommand(); - updateCommand.setInternshipList(internships); - String[] parsedInputs = {"01", "company XYZ"}; ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); @@ -40,13 +40,10 @@ void execute_validCompany1_expectUpdated() { @Test void execute_validStatus1_expectUpdated() { - InternshipList internships = createList(); + createList(); assertEquals("Application Pending", internships.getInternship(0).getStatus()); - UpdateCommand updateCommand = new UpdateCommand(); - updateCommand.setInternshipList(internships); - String[] parsedInputs = {"01", "status application completed"}; ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); @@ -55,15 +52,24 @@ void execute_validStatus1_expectUpdated() { assertEquals("Application Completed", internships.getInternship(0).getStatus()); } + @Test + void execute_invalidStatus_expectNoUpdate() { + createList(); + + String[] parsedInputs = {"01", "status application redacted"}; + ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); + + updateCommand.execute(arguments); + + assertEquals("Application Pending", internships.getInternship(0).getStatus()); + } + @Test void execute_nonNumberId_expectNoUpdate() { - InternshipList internships = createList(); + createList(); assertEquals("ABC", internships.getInternship(0).getCompany()); - UpdateCommand updateCommand = new UpdateCommand(); - updateCommand.setInternshipList(internships); - String[] parsedInputs = {"A1", "company XYZ"}; ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); @@ -74,13 +80,10 @@ void execute_nonNumberId_expectNoUpdate() { @Test void execute_emptyId_expectNoUpdate() { - InternshipList internships = createList(); + createList(); assertEquals("ABC", internships.getInternship(0).getCompany()); - UpdateCommand updateCommand = new UpdateCommand(); - updateCommand.setInternshipList(internships); - String[] parsedInputs = {"", "company XYZ"}; ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); @@ -91,13 +94,10 @@ void execute_emptyId_expectNoUpdate() { @Test void execute_outOfBoundsIndex_expectNoUpdate() { - InternshipList internships = createList(); + createList(); assertEquals("ABC", internships.getInternship(0).getCompany()); - UpdateCommand updateCommand = new UpdateCommand(); - updateCommand.setInternshipList(internships); - String[] parsedInputs = {"2", "company XYZ"}; ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); @@ -108,13 +108,10 @@ void execute_outOfBoundsIndex_expectNoUpdate() { @Test void execute_emptyValue_expectNoUpdate() { - InternshipList internships = createList(); + createList(); assertEquals("ABC", internships.getInternship(0).getCompany()); - UpdateCommand updateCommand = new UpdateCommand(); - updateCommand.setInternshipList(internships); - String[] parsedInputs = {"1", "company "}; ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); @@ -125,13 +122,10 @@ void execute_emptyValue_expectNoUpdate() { @Test void execute_oneValidoneInvalidValue_expectUpdateValidValue() { - InternshipList internships = createList(); + createList(); assertEquals("ABC", internships.getInternship(0).getCompany()); - UpdateCommand updateCommand = new UpdateCommand(); - updateCommand.setInternshipList(internships); - String[] parsedInputs = {"1", "company ", "role Engineer"}; ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); @@ -143,10 +137,7 @@ void execute_oneValidoneInvalidValue_expectUpdateValidValue() { @Test void execute_invalidStartDate_expectNoUpdate() { - InternshipList internships = createList(); - - UpdateCommand updateCommand = new UpdateCommand(); - updateCommand.setInternshipList(internships); + createList(); String[] parsedInputs = {"1", "from 20/20"}; ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); diff --git a/src/test/java/seedu/duke/InternshipListTest.java b/src/test/java/seedu/duke/InternshipListTest.java index e7dc8608d2..5b84e562f6 100644 --- a/src/test/java/seedu/duke/InternshipListTest.java +++ b/src/test/java/seedu/duke/InternshipListTest.java @@ -2,6 +2,7 @@ import org.junit.jupiter.api.Test; import seedu.exceptions.InvalidIndex; +import seedu.exceptions.InvalidStatus; import java.time.format.DateTimeParseException; @@ -13,7 +14,7 @@ class InternshipListTest { //@@ Ridiculouswifi @Test - void updateField_validIndexStatus_expectUpdated() throws InvalidIndex { + void updateField_validIndexStatus_expectUpdated() throws InvalidIndex, InvalidStatus { InternshipList internshipList = new InternshipList(); Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); internshipList.addInternship(internship); diff --git a/src/test/java/seedu/duke/InternshipTest.java b/src/test/java/seedu/duke/InternshipTest.java index 7ecc268afe..6ad07dfd7c 100644 --- a/src/test/java/seedu/duke/InternshipTest.java +++ b/src/test/java/seedu/duke/InternshipTest.java @@ -1,6 +1,7 @@ package seedu.duke; import org.junit.jupiter.api.Test; +import seedu.exceptions.InvalidStatus; import java.time.DateTimeException; @@ -14,7 +15,7 @@ class InternshipTest { //@@ Ridiculouswifi @Test - void updateStatus_validStatus1_expectNormal() { + void updateStatus_validStatus1_expectNormal() throws InvalidStatus { internship.updateStatus("application completed"); assertEquals("Application Completed", internship.getStatus()); @@ -22,7 +23,7 @@ void updateStatus_validStatus1_expectNormal() { //@@ Ridiculouswifi @Test - void updateStatus_validStatus2_expectNormal() { + void updateStatus_validStatus2_expectNormal() throws InvalidStatus { internship.updateStatus("accepted"); assertEquals("Accepted", internship.getStatus()); @@ -30,7 +31,7 @@ void updateStatus_validStatus2_expectNormal() { //@@ Ridiculouswifi @Test - void updateStatus_invalidStatus_expectException() { + void updateStatus_invalidStatus_expectException() throws InvalidStatus { internship.updateStatus("interview pending"); assertEquals("Application Pending", internship.getStatus()); From 79df44e158ef796b9f69ccaae78a2af7c29c5093 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 14 Oct 2024 10:02:30 +0800 Subject: [PATCH 082/359] Fix InternshipTest test cases --- src/test/java/seedu/duke/InternshipTest.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/test/java/seedu/duke/InternshipTest.java b/src/test/java/seedu/duke/InternshipTest.java index 6ad07dfd7c..a472243348 100644 --- a/src/test/java/seedu/duke/InternshipTest.java +++ b/src/test/java/seedu/duke/InternshipTest.java @@ -32,9 +32,7 @@ void updateStatus_validStatus2_expectNormal() throws InvalidStatus { //@@ Ridiculouswifi @Test void updateStatus_invalidStatus_expectException() throws InvalidStatus { - internship.updateStatus("interview pending"); - - assertEquals("Application Pending", internship.getStatus()); + assertThrows(InvalidStatus.class, () -> internship.updateStatus("interview pending")); } //@@ Ridiculouswifi From edcb02f093580f77f3e8a14fa4c51f1bc68d7720 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 14 Oct 2024 20:24:29 +0800 Subject: [PATCH 083/359] moved ui.showDeletedInternship to InternshipList to prevent case where the deleted internship is showed even when invalid index is entered. --- src/main/java/seedu/commands/AddCommand.java | 3 ++- src/main/java/seedu/commands/DeleteCommand.java | 3 +-- src/main/java/seedu/duke/Internship.java | 1 + src/main/java/seedu/duke/InternshipList.java | 2 ++ src/main/java/seedu/ui/UiCommand.java | 7 +------ src/main/java/seedu/ui/UiInternshipList.java | 7 +++++++ 6 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/main/java/seedu/commands/AddCommand.java b/src/main/java/seedu/commands/AddCommand.java index 6167a044d9..56722ddb3d 100644 --- a/src/main/java/seedu/commands/AddCommand.java +++ b/src/main/java/seedu/commands/AddCommand.java @@ -4,6 +4,7 @@ import java.util.ArrayList; +//@@author jadenlimjc public class AddCommand extends Command { @Override public void execute(ArrayList args) { @@ -58,6 +59,6 @@ public void execute(ArrayList args) { @Override public String getUsage() { - return "Usage: add -name {Role name} -company {Company name} -from {start date} -to {end date}"; + return "Usage: add -role {Role name} -company {Company name} -from {start date} -to {end date}"; } } diff --git a/src/main/java/seedu/commands/DeleteCommand.java b/src/main/java/seedu/commands/DeleteCommand.java index e83f3e0862..555f53bf05 100644 --- a/src/main/java/seedu/commands/DeleteCommand.java +++ b/src/main/java/seedu/commands/DeleteCommand.java @@ -1,14 +1,13 @@ package seedu.commands; import java.util.ArrayList; - +//@@author jadenlimjc public class DeleteCommand extends Command { @Override public void execute (ArrayList args) { int id = Integer.parseInt(args.get(0)); int index = id - 1; internships.removeInternship(index); - ui.showDeletedInternship(id); } @Override diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 1b569511db..c868e7d9f5 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -11,6 +11,7 @@ /** * Class to store the relevant information for an internship. */ +//@@author jadenlimjc public class Internship { private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/yy"); diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 19c2c97955..c7bac8ceb9 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -9,6 +9,7 @@ import java.util.List; import java.util.Comparator; +//@@author jadenlimjc public class InternshipList { private static final UiInternshipList ui = new UiInternshipList(); public ArrayList internships; @@ -37,6 +38,7 @@ private boolean isWithinBounds(int index) { public void removeInternship(int index) { if (isWithinBounds(index)) { internships.remove(index); + ui.showDeletedInternship(index); updateIds(); // Reassign IDs after removal } else { ui.showInvalidIndex(); diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index d4a08241ea..f0ac327596 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -109,12 +109,7 @@ public void printInvalidFlags() { printTailDivider(); } - /** - * Prints message to show internship of specified id has been deleted from InternshipList. - */ - public void showDeletedInternship(int id) { - showOutput("Internship deleted: " + id); - } + /** * Prints message to show no flags available to filter. diff --git a/src/main/java/seedu/ui/UiInternshipList.java b/src/main/java/seedu/ui/UiInternshipList.java index bfde604601..c8bbb7b154 100644 --- a/src/main/java/seedu/ui/UiInternshipList.java +++ b/src/main/java/seedu/ui/UiInternshipList.java @@ -35,4 +35,11 @@ public void showInternships(ArrayList internships) { public void showInvalidIndex() { showOutput("Invalid index!\nPlease use list to find internship ID"); } + + /** + * Prints message to show internship of specified id has been deleted from InternshipList. + */ + public void showDeletedInternship(int id) { + showOutput("Internship deleted: " + id); + } } From d31ca73ff72e9fa2b9ccb7e15d4fc0efeb45d072 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 14 Oct 2024 21:24:34 +0800 Subject: [PATCH 084/359] added error handling for add command --- src/main/java/seedu/commands/AddCommand.java | 11 +++++++++++ src/main/java/seedu/duke/InternshipList.java | 4 ++++ src/main/java/seedu/ui/UiCommand.java | 6 +++--- src/test/java/seedu/commands/AddCommandTest.java | 4 ++++ 4 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 src/test/java/seedu/commands/AddCommandTest.java diff --git a/src/main/java/seedu/commands/AddCommand.java b/src/main/java/seedu/commands/AddCommand.java index 56722ddb3d..4ffaec2064 100644 --- a/src/main/java/seedu/commands/AddCommand.java +++ b/src/main/java/seedu/commands/AddCommand.java @@ -51,6 +51,17 @@ public void execute(ArrayList args) { break; } } + // Error handling: Abort if role or company are missing + if (role.isEmpty()) { + ui.addInvalidFlag("role"); + } + if (company.isEmpty()) { + ui.addInvalidFlag("company"); + } + if (!ui.getInvalidFlags().isEmpty()) { + ui.printInvalidFlags(); + return; + } Internship newInternship = new Internship(role, company, startDate, endDate); internships.addInternship(newInternship); diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index c7bac8ceb9..ea55888365 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -113,6 +113,10 @@ public List getAllInternships() { return Collections.unmodifiableList(internships); } + public int getSize() { + return internships.size(); + } + // Method to list all internships in sorted order without modifying the IDs public void listInternshipsSortedByRole() { ArrayList sortedList = new ArrayList<>(internships); diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index f0ac327596..1426b68fb0 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -72,11 +72,11 @@ public void addUpdatedField(String updatedField, String updatedValue) { public void addInvalidFlag(String flag) { String newInvalidFlags = getInvalidFlags(); switch (flag) { - case "name": - newInvalidFlags += "Role not specified." + "\n"; + case "role": + newInvalidFlags += "Role not specified. Internship not added." + "\n"; break; case "company": - newInvalidFlags += "Company not specified." + "\n"; + newInvalidFlags += "Company not specified. Internship not added." + "\n"; break; case "from": newInvalidFlags += "Start date not specified." + "\n"; diff --git a/src/test/java/seedu/commands/AddCommandTest.java b/src/test/java/seedu/commands/AddCommandTest.java new file mode 100644 index 0000000000..7cdc6a66cc --- /dev/null +++ b/src/test/java/seedu/commands/AddCommandTest.java @@ -0,0 +1,4 @@ +package seedu.commands; + +public class AddCommandTest { +} From 0641edc661cd30f563caecc64f87429dca400d51 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 16 Oct 2024 02:44:52 +0800 Subject: [PATCH 085/359] Add HelpCommand class --- src/main/java/seedu/commands/HelpCommand.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/main/java/seedu/commands/HelpCommand.java diff --git a/src/main/java/seedu/commands/HelpCommand.java b/src/main/java/seedu/commands/HelpCommand.java new file mode 100644 index 0000000000..f7f4cd98c5 --- /dev/null +++ b/src/main/java/seedu/commands/HelpCommand.java @@ -0,0 +1,26 @@ +package seedu.commands; + +import java.util.ArrayList; + +//@@ Ridiculouswifi +public class HelpCommand extends Command { + @Override + public void execute(ArrayList args) { + ArrayList commands = new ArrayList<>(); + commands.add(new AddCommand()); + commands.add(new DeleteCommand()); + commands.add(new ListCommand()); + commands.add(new FilterCommand()); + commands.add(new SortCommand()); + commands.add(new UpdateCommand()); + + for (Command command : commands) { + System.out.println(command.getUsage()); + } + } + + @Override + public String getUsage() { + return "Usage: help"; + } +} From 9d46ed409993f353c6b7241765defc375d79f0c6 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 16 Oct 2024 02:55:41 +0800 Subject: [PATCH 086/359] Add help command to parser class --- src/main/java/seedu/duke/Parser.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index 162929dbea..a64cce170e 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -1,12 +1,6 @@ package seedu.duke; -import seedu.commands.Command; -import seedu.commands.AddCommand; -import seedu.commands.DeleteCommand; -import seedu.commands.FilterCommand; -import seedu.commands.ListCommand; -import seedu.commands.SortCommand; -import seedu.commands.UpdateCommand; +import seedu.commands.*; import java.util.Map; import java.util.HashMap; @@ -30,6 +24,7 @@ private void initializeCommands() { commands.put("sort", SortCommand::new); commands.put("filter", FilterCommand::new); commands.put("list", ListCommand::new); + commands.put("help", HelpCommand::new); } public Command parseCommand(String input) { @@ -44,6 +39,8 @@ public Command parseCommand(String input) { public ArrayList parseData(Command command, String input) { if (command instanceof ListCommand) { return null; + } else if (command instanceof HelpCommand) { + return null; } String inputData = input.split(" ", 2)[1]; @@ -96,4 +93,5 @@ private ArrayList parseSortCommandData(String inputData) { private ArrayList parseFilterCommandData(String inputData) { return parseFlagData(inputData); } + } From 3d3a52e1fca112ec97333248e93f7252d9403c1e Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 16 Oct 2024 02:57:05 +0800 Subject: [PATCH 087/359] Refactor Parser class --- src/main/java/seedu/duke/Parser.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index a64cce170e..2efd6e8d57 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -37,9 +37,7 @@ public Command parseCommand(String input) { } public ArrayList parseData(Command command, String input) { - if (command instanceof ListCommand) { - return null; - } else if (command instanceof HelpCommand) { + if (command instanceof ListCommand || command instanceof HelpCommand) { return null; } From 83024dd8f2b7bf81f26ca68dcebfe5ded0a66373 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 16 Oct 2024 03:05:47 +0800 Subject: [PATCH 088/359] Add Javadoc for HelpCommand class --- src/main/java/seedu/commands/HelpCommand.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/seedu/commands/HelpCommand.java b/src/main/java/seedu/commands/HelpCommand.java index f7f4cd98c5..9fdb5f676f 100644 --- a/src/main/java/seedu/commands/HelpCommand.java +++ b/src/main/java/seedu/commands/HelpCommand.java @@ -3,6 +3,10 @@ import java.util.ArrayList; //@@ Ridiculouswifi + +/** + * Subclass of Command to handle showing the usages for all commands available. + */ public class HelpCommand extends Command { @Override public void execute(ArrayList args) { From 70e178277e058ac3605f38192ccc2e963c4f0089 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 16 Oct 2024 03:08:18 +0800 Subject: [PATCH 089/359] Structure output for help command --- src/main/java/seedu/commands/HelpCommand.java | 4 +--- src/main/java/seedu/commands/UpdateCommand.java | 3 +-- src/main/java/seedu/ui/UiCommand.java | 13 +++++++++++++ 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/main/java/seedu/commands/HelpCommand.java b/src/main/java/seedu/commands/HelpCommand.java index 9fdb5f676f..463990c4a0 100644 --- a/src/main/java/seedu/commands/HelpCommand.java +++ b/src/main/java/seedu/commands/HelpCommand.java @@ -18,9 +18,7 @@ public void execute(ArrayList args) { commands.add(new SortCommand()); commands.add(new UpdateCommand()); - for (Command command : commands) { - System.out.println(command.getUsage()); - } + ui.showCommands(commands); } @Override diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index 9f46e4bcca..34ca62ed8c 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -98,7 +98,6 @@ public String getUsage() { - Application Pending - Application Completed - Accepted - - Rejected - """; + - Rejected"""; } } diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index f0ac327596..8bc1f7a35b 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -1,7 +1,10 @@ package seedu.ui; +import seedu.commands.Command; import seedu.duke.Internship; +import java.util.ArrayList; + //@@author Ridiculouswifi /** * Subclass of Ui to print outputs from Command subclasses @@ -153,6 +156,16 @@ public String getSortUsageMessage() { "deadline: Sort internships by start date, then end date."; } + public void showCommands(ArrayList commands) { + printHeadDivider(); + for (Command command : commands) { + System.out.println(command.getUsage()); + printDivider(); + } + printDivider(); + System.out.println("\n"); + } + public String getInvalidFlags() { return invalidFlags; } From 7026c2fc18438825a09e3910bc2c77c5b50ad39b Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 16 Oct 2024 03:13:52 +0800 Subject: [PATCH 090/359] Further structuring of output for help --- src/main/java/seedu/commands/AddCommand.java | 4 +++- src/main/java/seedu/commands/DeleteCommand.java | 4 +++- src/main/java/seedu/commands/FilterCommand.java | 4 +++- src/main/java/seedu/commands/ListCommand.java | 4 +++- src/main/java/seedu/commands/SortCommand.java | 4 +++- src/main/java/seedu/commands/UpdateCommand.java | 1 + 6 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/main/java/seedu/commands/AddCommand.java b/src/main/java/seedu/commands/AddCommand.java index 56722ddb3d..1bb540272c 100644 --- a/src/main/java/seedu/commands/AddCommand.java +++ b/src/main/java/seedu/commands/AddCommand.java @@ -59,6 +59,8 @@ public void execute(ArrayList args) { @Override public String getUsage() { - return "Usage: add -role {Role name} -company {Company name} -from {start date} -to {end date}"; + return """ + add + Usage: add -role {Role name} -company {Company name} -from {start date} -to {end date}"""; } } diff --git a/src/main/java/seedu/commands/DeleteCommand.java b/src/main/java/seedu/commands/DeleteCommand.java index 555f53bf05..d06348c1c8 100644 --- a/src/main/java/seedu/commands/DeleteCommand.java +++ b/src/main/java/seedu/commands/DeleteCommand.java @@ -12,6 +12,8 @@ public void execute (ArrayList args) { @Override public String getUsage() { - return "Usage: del {ID}"; + return """ + delete + Usage: del {ID}"""; } } diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index 8c37a94b97..1780b84e4a 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -55,6 +55,8 @@ public void execute(ArrayList args) { @Override public String getUsage() { - return "Usage: filter -name {Role name}"; + return """ + filter + Usage: filter -name {Role name}"""; } } diff --git a/src/main/java/seedu/commands/ListCommand.java b/src/main/java/seedu/commands/ListCommand.java index 6c9d4d2380..d364f8659f 100644 --- a/src/main/java/seedu/commands/ListCommand.java +++ b/src/main/java/seedu/commands/ListCommand.java @@ -13,6 +13,8 @@ public void execute(ArrayList args) { @Override public String getUsage() { - return "Usage: list"; + return """ + list + Usage: list"""; } } diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index 43984e8f47..f8d993f9a9 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -34,6 +34,8 @@ public void execute(ArrayList args) { @Override public String getUsage() { - return "Usage: sort [alphabet | deadline]"; + return """ + sort + Usage: sort [alphabet | deadline]"""; } } diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index 34ca62ed8c..8aca1aecbf 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -84,6 +84,7 @@ private void updateOneField(String[] words, int internshipIndex) throws InvalidI public String getUsage() { return """ + update Usage: update {ID} -{field} {new value} List of fields: From d3576b3e9802e8b4e6005b0361459c0b4f2a462a Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 16 Oct 2024 03:15:39 +0800 Subject: [PATCH 091/359] Add exit to list of commands featured --- src/main/java/seedu/ui/UiCommand.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index 8bc1f7a35b..cb42ab0363 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -162,8 +162,10 @@ public void showCommands(ArrayList commands) { System.out.println(command.getUsage()); printDivider(); } - printDivider(); - System.out.println("\n"); + System.out.println(""" + exit + Usage: exit"""); + printTailDivider(); } public String getInvalidFlags() { From 6bf6ed4b75a8a4604f1f3afbb259d0178cff710b Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 16 Oct 2024 03:19:47 +0800 Subject: [PATCH 092/359] Resolve checkstyle errors --- src/main/java/seedu/duke/Parser.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index 2efd6e8d57..f6eee918f6 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -1,6 +1,13 @@ package seedu.duke; -import seedu.commands.*; +import seedu.commands.Command; +import seedu.commands.AddCommand; +import seedu.commands.DeleteCommand; +import seedu.commands.HelpCommand; +import seedu.commands.ListCommand; +import seedu.commands.UpdateCommand; +import seedu.commands.SortCommand; +import seedu.commands.FilterCommand; import java.util.Map; import java.util.HashMap; From b071b31166a0505865a18007a1cdab9af8feade7 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 16 Oct 2024 15:20:25 +0800 Subject: [PATCH 093/359] Debug output for DeleteCommand --- data/EasInternship.txt | 7 +++---- src/main/java/seedu/duke/InternshipList.java | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/data/EasInternship.txt b/data/EasInternship.txt index 6fa1f8852a..a9a2426c22 100644 --- a/data/EasInternship.txt +++ b/data/EasInternship.txt @@ -1,5 +1,4 @@ 1 | ABC | XYZ | 01/01 | 01/01 | No Skills Entered | Application Pending -2 | finance accountant | BBB | 01/01 | 01/01 | No Skills Entered | Application Pending -3 | engineer | ABS | 01/01 | 01/01 | No Skills Entered | Application Pending -4 | software engineer | abs | 01/01 | 03/24 | python | Application Completed -5 | lawyer | lolo pte ltd | 04/23 | 01/01 | No Skills Entered | Application Pending +2 | software engineer | abs | 01/01 | 03/24 | python | Application Completed +3 | lawyer | lolo pte ltd | 04/23 | 01/01 | No Skills Entered | Application Pending +4 | Technician | Nokia | 12/22 | 12/30 | No Skills Entered | Application Pending diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index ea55888365..91177e3093 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -38,7 +38,7 @@ private boolean isWithinBounds(int index) { public void removeInternship(int index) { if (isWithinBounds(index)) { internships.remove(index); - ui.showDeletedInternship(index); + ui.showDeletedInternship(index + 1); updateIds(); // Reassign IDs after removal } else { ui.showInvalidIndex(); From 6aee9f4c21bf08d12767eee13eaa13682b4e39b0 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Wed, 16 Oct 2024 16:10:15 +0800 Subject: [PATCH 094/359] change some value in the JUnit test for SortCommand --- src/test/java/seedu/commands/SortCommandTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/seedu/commands/SortCommandTest.java b/src/test/java/seedu/commands/SortCommandTest.java index 52870fdfe7..209a135e00 100644 --- a/src/test/java/seedu/commands/SortCommandTest.java +++ b/src/test/java/seedu/commands/SortCommandTest.java @@ -20,8 +20,8 @@ void setUp() { // Add some internships to the list for testing Internship internship1 = new Internship("Software Engineer", "Google", "01/24", "06/24"); - Internship internship2 = new Internship("Data Scientist", "Facebook", "02/24", "08/24"); - Internship internship3 = new Internship("Product Manager", "Amazon", "01/24", "09/24"); + Internship internship2 = new Internship("Data Scientist", "Facebook", "02/23", "08/23"); + Internship internship3 = new Internship("Product Manager", "Amazon", "01/23", "09/23"); internshipList.addInternship(internship1); internshipList.addInternship(internship2); From aeaf102add6e63832cc933efd2f7991ab0d91c5c Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 16 Oct 2024 16:29:17 +0800 Subject: [PATCH 095/359] Fix output for update command exceptions --- src/main/java/seedu/commands/UpdateCommand.java | 7 +++++-- src/main/java/seedu/duke/InternshipList.java | 14 +++++++------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index 8aca1aecbf..e17d17d307 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -16,6 +16,9 @@ public void execute(ArrayList args) { try { int internshipId = Integer.parseInt(args.get(0)); int internshipIndex = internshipId - 1; + if (!internships.isWithinBounds(internshipIndex)) { + throw new InvalidIndex(); + } args.remove(0); ui.clearInvalidFlags(); @@ -28,7 +31,7 @@ public void execute(ArrayList args) { } ui.showEditedInternship(internships.getInternship(internshipIndex), "update"); } catch (NumberFormatException e) { - System.out.println("Invalid integer, please provide a valid internship ID"); + ui.showOutput("Invalid integer, please provide a valid internship ID"); } catch (InvalidIndex e) { // Exception message is already handled in InternshipList class } @@ -42,7 +45,7 @@ private boolean isValidValue(String[] words) { } return true; } catch (IndexOutOfBoundsException e) { - System.out.println("Field cannot be empty"); + ui.addInvalidField(words[INDEX_FIELD], "Field cannot be empty"); return false; } } diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 91177e3093..6e31568560 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -30,8 +30,12 @@ public void addInternship(Internship internship) { /** * Returns whether the index given is within the boundaries of the list. */ - private boolean isWithinBounds(int index) { - return index >= 0 && index < internships.size(); + public boolean isWithinBounds(int index) { + if (index >= 0 && index < internships.size()) { + return true; + } + ui.showInvalidIndex(); + return false; } // Method to remove an internship by index (0-based) @@ -40,8 +44,6 @@ public void removeInternship(int index) { internships.remove(index); ui.showDeletedInternship(index + 1); updateIds(); // Reassign IDs after removal - } else { - ui.showInvalidIndex(); } } @@ -56,10 +58,8 @@ private void updateIds() { public Internship getInternship(int index) { if (isWithinBounds(index)) { return internships.get(index); - } else { - ui.showInvalidIndex(); - return null; } + return null; } //@@author Ridiculouswifi From fb9ccd0521f851f7c6816ab8a2208df8afdaab3c Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Wed, 16 Oct 2024 17:20:25 +0800 Subject: [PATCH 096/359] Modify the sortCommand with more accurate sort by deadline and sort by alphabet --- src/main/java/seedu/commands/SortCommand.java | 30 +++++++------ src/main/java/seedu/duke/InternshipList.java | 42 +++++++++++++------ src/main/java/seedu/ui/UiCommand.java | 32 +++++++------- 3 files changed, 62 insertions(+), 42 deletions(-) diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index f8d993f9a9..1aeda2d4e9 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -1,8 +1,11 @@ package seedu.commands; import java.util.ArrayList; +import java.util.Comparator; public class SortCommand extends Command { + + // Execute method for the SortCommand @Override public void execute(ArrayList args) { // Check if no arguments are provided after "sort" @@ -17,18 +20,19 @@ public void execute(ArrayList args) { // Handle valid sorting options switch (sortOption) { - case "alphabet": - ui.showSortedInternships(sortOption); // Show sorting message for alphabet - internships.listInternshipsSortedByRole(); // Sort by role alphabetically - break; - case "deadline": - ui.showSortedInternships(sortOption); // Show sorting message for deadline - internships.listInternshipsSortedByDeadline(); // Sort by start date, then end date - break; - default: - // Handle invalid sorting options - ui.showSortedInternships(sortOption); // Show error message for invalid option - internships.listAllInternships(); // Default to listing by ID + case "alphabet": + ui.showSortedInternships(sortOption); // Show sorting message for alphabet + internships.listInternshipsSortedByRole(); // Sort by role alphabetically (case-insensitive) + break; + case "deadline": + ui.showSortedInternships(sortOption); // Show sorting message for deadline + internships.listInternshipsSortedByDeadline(); // Sort by start date, then end date (year first) + break; + default: + // Handle invalid sorting options + ui.showSortedInternships(sortOption); // Show error message for invalid option + System.out.println(ui.getSortUsageMessage()); // Show correct usage message + internships.listAllInternships(); // Default to listing by ID } } @@ -38,4 +42,4 @@ public String getUsage() { sort Usage: sort [alphabet | deadline]"""; } -} +} \ No newline at end of file diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 91177e3093..f2242fdbb2 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -117,32 +117,48 @@ public int getSize() { return internships.size(); } - // Method to list all internships in sorted order without modifying the IDs + // Method to list all internships in sorted order by role (case-insensitive) public void listInternshipsSortedByRole() { ArrayList sortedList = new ArrayList<>(internships); - Collections.sort(sortedList, Comparator.comparing(Internship::getRole)); + + // Sort roles alphabetically, ignoring case sensitivity + Collections.sort(sortedList, Comparator.comparing(internship -> internship.getRole().toLowerCase())); // Display the sorted list without changing IDs ui.showInternships(sortedList); } - // Method to list all internships sorted by start date, then end date + // Method to list all internships sorted by start date (year first), then end date public void listInternshipsSortedByDeadline() { ArrayList sortedInternships = new ArrayList<>(internships); - Collections.sort(sortedInternships, new Comparator() { - @Override - public int compare(Internship i1, Internship i2) { - // Compare start dates - int startComparison = i1.getStartDate().compareTo(i2.getStartDate()); - if (startComparison != 0) { - return startComparison; - } - // If start dates are equal, compare end dates - return i1.getEndDate().compareTo(i2.getEndDate()); + + Collections.sort(sortedInternships, (i1, i2) -> { + // First compare start dates (year then month) + int startComparison = compareYearMonth(i1.getStartDate(), i2.getStartDate()); + if (startComparison != 0) { + return startComparison; } + // If start dates are equal, compare end dates (year then month) + return compareYearMonth(i1.getEndDate(), i2.getEndDate()); }); // Display the sorted list without changing IDs ui.showInternships(sortedInternships); } + + // Helper method to compare YearMonth strings in "MM/yy" format (year first, then month) + private int compareYearMonth(String date1, String date2) { + String[] parts1 = date1.split("/"); + String[] parts2 = date2.split("/"); + + int year1 = Integer.parseInt(parts1[1]); + int year2 = Integer.parseInt(parts2[1]); + int month1 = Integer.parseInt(parts1[0]); + int month2 = Integer.parseInt(parts2[0]); + + if (year1 != year2) { + return Integer.compare(year1, year2); + } + return Integer.compare(month1, month2); + } } diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index f77536391e..7e8c4b3690 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -129,20 +129,20 @@ public void showInsufficientArguments() { public void showSortedInternships(String field) { printHeadDivider(); switch (field) { - case "none": - System.out.println("No sorting option provided. Listing internships by ID."); - break; - case "alphabet": - System.out.println("Sorted internships by role alphabetically."); - break; - case "deadline": - System.out.println("Sorted internships by start date, then end date."); - break; - default: - // Handling invalid sorting options - System.out.println("Error: Unknown or invalid sorting option: \"" + field + "\"."); - System.out.println(getSortUsageMessage()); - break; + case "none": + System.out.println("No sorting option provided. Listing internships by ID."); + break; + case "alphabet": + System.out.println("Sorted internships by role alphabetically (case-insensitive)."); + break; + case "deadline": + System.out.println("Sorted internships by start date (year first), then end date."); + break; + default: + // Handling invalid sorting options + System.out.println("Error: Unknown or invalid sorting option: \"" + field + "\"."); + System.out.println(getSortUsageMessage()); + break; } printTailDivider(); } @@ -152,8 +152,8 @@ public void showSortedInternships(String field) { */ public String getSortUsageMessage() { return "Usage: sort [alphabet | deadline]\n" + - "alphabet: Sort internships alphabetically by role.\n" + - "deadline: Sort internships by start date, then end date."; + "alphabet: Sort internships alphabetically by role (case-insensitive).\n" + + "deadline: Sort internships by start date (year first), then end date."; } public void showCommands(ArrayList commands) { From 1965fb234538af2a505ded74ee918848e1f64b74 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Wed, 16 Oct 2024 17:25:16 +0800 Subject: [PATCH 097/359] Add description on the Userguide line of the sort function. --- docs/UserGuide.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index d0bbba9266..79f595ded4 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -128,29 +128,28 @@ Skills: Python, SQL This feature allows you to sort and list all the internships saved in your database. The default display format is in increasing order of their ID’s (based on time of creation) -Users can specify a flag to display them in alphabetical order of their role titles or by deadline. +Users can specify a flag to display them in alphabetical order (regardless of uppercase or lowercase) of their role titles or by deadline. **Format:** -`list` `sort {field}` **Example:** -`list` +`sort -deadline` ``` -ID: 01 +ID: 02 Role: Software Engineer Intern Company: Google -Duration: Not Stated +Duration: 05/23 to 08/25 Skills: Not Stated -ID: 02 +ID: 01 Role: Embedded Software Engineer Intern Company: Continental -Duration: 05/25 to 08/25 +Duration: 05/24 to 08/24 Skills: Not Stated ``` `sort -alphabet` From 7c131f67fb8def47b3649deb0e7c524786d3781a Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Wed, 16 Oct 2024 17:29:08 +0800 Subject: [PATCH 098/359] Fix the code standard --- src/main/java/seedu/commands/SortCommand.java | 29 +++++++++---------- src/main/java/seedu/ui/UiCommand.java | 28 +++++++++--------- 2 files changed, 28 insertions(+), 29 deletions(-) diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index 1aeda2d4e9..2ee80dd0ee 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -1,7 +1,6 @@ package seedu.commands; import java.util.ArrayList; -import java.util.Comparator; public class SortCommand extends Command { @@ -20,19 +19,19 @@ public void execute(ArrayList args) { // Handle valid sorting options switch (sortOption) { - case "alphabet": - ui.showSortedInternships(sortOption); // Show sorting message for alphabet - internships.listInternshipsSortedByRole(); // Sort by role alphabetically (case-insensitive) - break; - case "deadline": - ui.showSortedInternships(sortOption); // Show sorting message for deadline - internships.listInternshipsSortedByDeadline(); // Sort by start date, then end date (year first) - break; - default: - // Handle invalid sorting options - ui.showSortedInternships(sortOption); // Show error message for invalid option - System.out.println(ui.getSortUsageMessage()); // Show correct usage message - internships.listAllInternships(); // Default to listing by ID + case "alphabet": + ui.showSortedInternships(sortOption); // Show sorting message for alphabet + internships.listInternshipsSortedByRole(); // Sort by role alphabetically (case-insensitive) + break; + case "deadline": + ui.showSortedInternships(sortOption); // Show sorting message for deadline + internships.listInternshipsSortedByDeadline(); // Sort by start date, then end date (year first) + break; + default: + // Handle invalid sorting options + ui.showSortedInternships(sortOption); // Show error message for invalid option + System.out.println(ui.getSortUsageMessage()); // Show correct usage message + internships.listAllInternships(); // Default to listing by ID } } @@ -42,4 +41,4 @@ public String getUsage() { sort Usage: sort [alphabet | deadline]"""; } -} \ No newline at end of file +} diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index 7e8c4b3690..87a2dae750 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -129,20 +129,20 @@ public void showInsufficientArguments() { public void showSortedInternships(String field) { printHeadDivider(); switch (field) { - case "none": - System.out.println("No sorting option provided. Listing internships by ID."); - break; - case "alphabet": - System.out.println("Sorted internships by role alphabetically (case-insensitive)."); - break; - case "deadline": - System.out.println("Sorted internships by start date (year first), then end date."); - break; - default: - // Handling invalid sorting options - System.out.println("Error: Unknown or invalid sorting option: \"" + field + "\"."); - System.out.println(getSortUsageMessage()); - break; + case "none": + System.out.println("No sorting option provided. Listing internships by ID."); + break; + case "alphabet": + System.out.println("Sorted internships by role alphabetically (case-insensitive)."); + break; + case "deadline": + System.out.println("Sorted internships by start date (year first), then end date."); + break; + default: + // Handling invalid sorting options + System.out.println("Error: Unknown or invalid sorting option: \"" + field + "\"."); + System.out.println(getSortUsageMessage()); + break; } printTailDivider(); } From a7d9464c46a88b96e3417313150c06084312a1a7 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Wed, 16 Oct 2024 17:55:21 +0800 Subject: [PATCH 099/359] made error handling for add command more comprehensive --- src/main/java/seedu/commands/AddCommand.java | 12 +++++++++--- src/main/java/seedu/ui/UiCommand.java | 4 ++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/java/seedu/commands/AddCommand.java b/src/main/java/seedu/commands/AddCommand.java index 4ffaec2064..1ad2ae0192 100644 --- a/src/main/java/seedu/commands/AddCommand.java +++ b/src/main/java/seedu/commands/AddCommand.java @@ -12,6 +12,8 @@ public void execute(ArrayList args) { String company = ""; String startDate = "01/01"; String endDate = "01/01"; + boolean hasRole = false; + boolean hasCompany = false; ui.clearInvalidFlags(); for (String arg : args) { @@ -19,6 +21,7 @@ public void execute(ArrayList args) { String flag = words[0]; switch (flag) { case "role": + hasRole = true; if (words.length > 1) { role = words[INDEX_DATA]; } else { @@ -26,6 +29,7 @@ public void execute(ArrayList args) { } break; case "company": + hasCompany = true; if (words.length > 1) { company = words[INDEX_DATA]; } else { @@ -50,12 +54,14 @@ public void execute(ArrayList args) { ui.addInvalidFlag(flag); break; } + } - // Error handling: Abort if role or company are missing - if (role.isEmpty()) { + + if (!hasRole) { ui.addInvalidFlag("role"); } - if (company.isEmpty()) { + + if (!hasCompany) { ui.addInvalidFlag("company"); } if (!ui.getInvalidFlags().isEmpty()) { diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index 1426b68fb0..21c6d810c3 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -73,10 +73,10 @@ public void addInvalidFlag(String flag) { String newInvalidFlags = getInvalidFlags(); switch (flag) { case "role": - newInvalidFlags += "Role not specified. Internship not added." + "\n"; + newInvalidFlags += "Role not specified." + "\n"; break; case "company": - newInvalidFlags += "Company not specified. Internship not added." + "\n"; + newInvalidFlags += "Company not specified." + "\n"; break; case "from": newInvalidFlags += "Start date not specified." + "\n"; From b194731e2d7dfde17eeb8d657ac2f67f59f323a7 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Wed, 16 Oct 2024 21:59:26 +0800 Subject: [PATCH 100/359] Handle edge cases Fixed bugs in DeleteCommand, FilterCommand, SortCommand and Parser input to UpdateCommand --- src/main/java/seedu/commands/AddCommand.java | 22 +++---- src/main/java/seedu/commands/Command.java | 2 +- .../java/seedu/commands/DeleteCommand.java | 11 +++- .../java/seedu/commands/FilterCommand.java | 62 +++++++++++-------- src/main/java/seedu/commands/HelpCommand.java | 2 +- src/main/java/seedu/commands/SortCommand.java | 10 +-- .../java/seedu/commands/UpdateCommand.java | 20 +++--- src/main/java/seedu/duke/EasInternship.java | 4 ++ src/main/java/seedu/duke/Parser.java | 21 +++++-- src/main/java/seedu/ui/Ui.java | 4 ++ 10 files changed, 96 insertions(+), 62 deletions(-) diff --git a/src/main/java/seedu/commands/AddCommand.java b/src/main/java/seedu/commands/AddCommand.java index 4ada302197..c846d13aea 100644 --- a/src/main/java/seedu/commands/AddCommand.java +++ b/src/main/java/seedu/commands/AddCommand.java @@ -15,7 +15,7 @@ public void execute(ArrayList args) { boolean hasRole = false; boolean hasCompany = false; - ui.clearInvalidFlags(); + uiCommand.clearInvalidFlags(); for (String arg : args) { String[] words = arg.split(" ", 2); String flag = words[0]; @@ -25,7 +25,7 @@ public void execute(ArrayList args) { if (words.length > 1) { role = words[INDEX_DATA]; } else { - ui.addInvalidFlag(flag); + uiCommand.addInvalidFlag(flag); } break; case "company": @@ -33,45 +33,45 @@ public void execute(ArrayList args) { if (words.length > 1) { company = words[INDEX_DATA]; } else { - ui.addInvalidFlag(flag); + uiCommand.addInvalidFlag(flag); } break; case "from": if (words.length > 1) { startDate = words[INDEX_DATA]; } else { - ui.addInvalidFlag(flag); + uiCommand.addInvalidFlag(flag); } break; case "to": if (words.length > 1) { endDate = words[INDEX_DATA]; } else { - ui.addInvalidFlag(flag); + uiCommand.addInvalidFlag(flag); } break; default: - ui.addInvalidFlag(flag); + uiCommand.addInvalidFlag(flag); break; } } if (!hasRole) { - ui.addInvalidFlag("role"); + uiCommand.addInvalidFlag("role"); } if (!hasCompany) { - ui.addInvalidFlag("company"); + uiCommand.addInvalidFlag("company"); } - if (!ui.getInvalidFlags().isEmpty()) { - ui.printInvalidFlags(); + if (!uiCommand.getInvalidFlags().isEmpty()) { + uiCommand.printInvalidFlags(); return; } Internship newInternship = new Internship(role, company, startDate, endDate); internships.addInternship(newInternship); - ui.showEditedInternship(newInternship, "add"); + uiCommand.showEditedInternship(newInternship, "add"); } @Override diff --git a/src/main/java/seedu/commands/Command.java b/src/main/java/seedu/commands/Command.java index 125111f705..5136705e35 100644 --- a/src/main/java/seedu/commands/Command.java +++ b/src/main/java/seedu/commands/Command.java @@ -8,7 +8,7 @@ public abstract class Command { protected static final int INDEX_FIELD = 0; protected static final int INDEX_DATA = 1; - protected static UiCommand ui = new UiCommand(); + protected static UiCommand uiCommand = new UiCommand(); protected InternshipList internships; public void setInternshipList(InternshipList internships) { diff --git a/src/main/java/seedu/commands/DeleteCommand.java b/src/main/java/seedu/commands/DeleteCommand.java index d06348c1c8..fd89c57a54 100644 --- a/src/main/java/seedu/commands/DeleteCommand.java +++ b/src/main/java/seedu/commands/DeleteCommand.java @@ -5,9 +5,14 @@ public class DeleteCommand extends Command { @Override public void execute (ArrayList args) { - int id = Integer.parseInt(args.get(0)); - int index = id - 1; - internships.removeInternship(index); + try { + int id = Integer.parseInt(args.get(0)); + int index = id - 1; + internships.removeInternship(index); + } + catch (NumberFormatException e) { + uiCommand.showOutput("Invalid integer, please provide a valid internship ID"); + } } @Override diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index 1780b84e4a..f15bf06896 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -17,40 +17,50 @@ public FilterCommand() { @Override public void execute(ArrayList args) { if (args.isEmpty()) { - ui.showInsufficientArguments(); + uiCommand.showInsufficientArguments(); return; } - String[] words = args.get(0).split(" ", 2); - String flag = words[0]; - String searchTerm = words[1]; - - // Map flags to getter methods using lambdas - Map fieldGetters = new HashMap<>(); - fieldGetters.put("name", Internship::getRole); - fieldGetters.put("company", Internship::getCompany); - fieldGetters.put("from", Internship::getStartDate); - fieldGetters.put("to", Internship::getEndDate); - - // Retrieve the corresponding getter method based on the flag - InternshipFieldGetter getter = fieldGetters.get(flag); - - if (getter == null) { - ui.clearInvalidFlags(); - ui.addInvalidFlag(flag); - ui.printInvalidFlags(); + if (args.size() > 1) { + uiCommand.showOutput("Too many flags provided. Can only filter by one flag at a time"); return; } - // Iterate over the internships and apply the getter for comparison - for (Internship internship : internships.getAllInternships()) { - String fieldValue = getter.getField(internship); // Dynamically calls getRole(), getCompany(), etc. - if (fieldValue.equals(searchTerm)) { - filteredInternships.addInternship(internship); + String[] words = args.get(0).split(" ", 2); + String flag = words[0]; + try { + // Map flags to getter methods using lambdas + Map fieldGetters = new HashMap<>(); + fieldGetters.put("role", Internship::getRole); + fieldGetters.put("company", Internship::getCompany); + fieldGetters.put("from", Internship::getStartDate); + fieldGetters.put("to", Internship::getEndDate); + + // Retrieve the corresponding getter method based on the flag + InternshipFieldGetter getter = fieldGetters.get(flag); + + if (getter == null) { + uiCommand.clearInvalidFlags(); + uiCommand.addInvalidFlag(flag); + uiCommand.printInvalidFlags(); + return; + } + + String searchTerm = words[1]; + + // Iterate over the internships and apply the getter for comparison + for (Internship internship : internships.getAllInternships()) { + String fieldValue = getter.getField(internship); // Dynamically calls getRole(), getCompany(), etc. + if (fieldValue.equalsIgnoreCase(searchTerm)) { + filteredInternships.addInternship(internship); + } } - } - filteredInternships.listAllInternships(); + filteredInternships.listAllInternships(); + } + catch (ArrayIndexOutOfBoundsException e) { + uiCommand.showOutput(words[INDEX_FIELD] + " field cannot be empty"); + } } @Override diff --git a/src/main/java/seedu/commands/HelpCommand.java b/src/main/java/seedu/commands/HelpCommand.java index 463990c4a0..8016511376 100644 --- a/src/main/java/seedu/commands/HelpCommand.java +++ b/src/main/java/seedu/commands/HelpCommand.java @@ -18,7 +18,7 @@ public void execute(ArrayList args) { commands.add(new SortCommand()); commands.add(new UpdateCommand()); - ui.showCommands(commands); + uiCommand.showCommands(commands); } @Override diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index 2ee80dd0ee..314c251c0e 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -9,7 +9,7 @@ public class SortCommand extends Command { public void execute(ArrayList args) { // Check if no arguments are provided after "sort" if (args.isEmpty()) { - ui.showSortedInternships("none"); // No valid sort option provided + uiCommand.showSortedInternships("none"); // No valid sort option provided internships.listAllInternships(); // Default to listing by ID return; } @@ -20,17 +20,17 @@ public void execute(ArrayList args) { // Handle valid sorting options switch (sortOption) { case "alphabet": - ui.showSortedInternships(sortOption); // Show sorting message for alphabet + uiCommand.showSortedInternships(sortOption); // Show sorting message for alphabet internships.listInternshipsSortedByRole(); // Sort by role alphabetically (case-insensitive) break; case "deadline": - ui.showSortedInternships(sortOption); // Show sorting message for deadline + uiCommand.showSortedInternships(sortOption); // Show sorting message for deadline internships.listInternshipsSortedByDeadline(); // Sort by start date, then end date (year first) break; default: // Handle invalid sorting options - ui.showSortedInternships(sortOption); // Show error message for invalid option - System.out.println(ui.getSortUsageMessage()); // Show correct usage message + uiCommand.showOutput("Invalid field"); // Show error message for invalid option + System.out.println(uiCommand.getSortUsageMessage()); // Show correct usage message internships.listAllInternships(); // Default to listing by ID } } diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index e17d17d307..0cdf831e0b 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -21,17 +21,17 @@ public void execute(ArrayList args) { } args.remove(0); - ui.clearInvalidFlags(); - ui.clearUpdatedFields(); - ui.clearInvalidFields(); + uiCommand.clearInvalidFlags(); + uiCommand.clearUpdatedFields(); + uiCommand.clearInvalidFields(); for (String arg : args) { String[] words = arg.split(" ", 2); updateOneField(words, internshipIndex); } - ui.showEditedInternship(internships.getInternship(internshipIndex), "update"); + uiCommand.showEditedInternship(internships.getInternship(internshipIndex), "update"); } catch (NumberFormatException e) { - ui.showOutput("Invalid integer, please provide a valid internship ID"); + uiCommand.showOutput("Invalid integer, please provide a valid internship ID"); } catch (InvalidIndex e) { // Exception message is already handled in InternshipList class } @@ -45,7 +45,7 @@ private boolean isValidValue(String[] words) { } return true; } catch (IndexOutOfBoundsException e) { - ui.addInvalidField(words[INDEX_FIELD], "Field cannot be empty"); + uiCommand.addInvalidField(words[INDEX_FIELD], "Field cannot be empty"); return false; } } @@ -65,14 +65,14 @@ private void updateOneField(String[] words, int internshipIndex) throws InvalidI } String value = words[INDEX_DATA].trim(); internships.updateField(internshipIndex, field, value); - ui.addUpdatedField(field, value); + uiCommand.addUpdatedField(field, value); break; default: - ui.addInvalidFlag(words[INDEX_FIELD]); + uiCommand.addInvalidFlag(words[INDEX_FIELD]); break; } } catch (DateTimeParseException e) { - ui.addInvalidField(field, "Invalid date format"); + uiCommand.addInvalidField(field, "Invalid date format"); } catch (InvalidStatus e) { String message = """ Status provided is not recognised: @@ -81,7 +81,7 @@ private void updateOneField(String[] words, int internshipIndex) throws InvalidI - Application Completed - Accepted - Rejected"""; - ui.addInvalidField(field, message); + uiCommand.addInvalidField(field, message); } } diff --git a/src/main/java/seedu/duke/EasInternship.java b/src/main/java/seedu/duke/EasInternship.java index 1071afe932..d03cb4f2f7 100644 --- a/src/main/java/seedu/duke/EasInternship.java +++ b/src/main/java/seedu/duke/EasInternship.java @@ -49,6 +49,10 @@ public static void main(String[] args) { command.setInternshipList(internshipList); ArrayList commandArgs = parser.parseData(command, input); + if (commandArgs == null) { + continue; + } + try { command.execute(commandArgs); } catch (Exception e) { diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index f6eee918f6..8fbd8f5ca4 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -8,6 +8,7 @@ import seedu.commands.UpdateCommand; import seedu.commands.SortCommand; import seedu.commands.FilterCommand; +import seedu.ui.Ui; import java.util.Map; import java.util.HashMap; @@ -16,6 +17,7 @@ import java.util.function.Supplier; public class Parser { + private static final Ui ui = new Ui(); private Map> commands = new HashMap<>(); public Parser() { @@ -84,11 +86,20 @@ private ArrayList parseDeleteCommandData(String inputData) { } private ArrayList parseUpdateCommandData(String inputData) { - String id = inputData.split(" ", 2)[0]; - String fields = inputData.split(" ", 2)[1]; - ArrayList commandArgs = parseFlagData(fields); - commandArgs.add(0, id); - return commandArgs; + String[] splitArray = inputData.split(" ", 2); + String id = splitArray[0]; + try { + String fields = splitArray[1]; + if (fields.isBlank()) { + throw new ArrayIndexOutOfBoundsException(); + } + ArrayList commandArgs = parseFlagData(fields); + commandArgs.add(0, id); + return commandArgs; + } catch (ArrayIndexOutOfBoundsException e) { + ui.showEmptyFlags(); + return null; + } } private ArrayList parseSortCommandData(String inputData) { diff --git a/src/main/java/seedu/ui/Ui.java b/src/main/java/seedu/ui/Ui.java index aff06d56ff..a4325d5f16 100644 --- a/src/main/java/seedu/ui/Ui.java +++ b/src/main/java/seedu/ui/Ui.java @@ -46,6 +46,10 @@ public void showOutput(String output) { printTailDivider(); } + public void showEmptyFlags() { + showOutput("No flag provided"); + } + /** * Prints when unknown command is given. * From 8f7621fa2a981f16a5924d44c63fd78098bda889 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Wed, 16 Oct 2024 22:19:32 +0800 Subject: [PATCH 101/359] Fix bugs Fixed an issue because of which the list command and help command did not work. Fixed an issue related to the case where no input is given after a command which requires additional input. --- src/main/java/seedu/duke/Parser.java | 34 ++++++++++++++++------------ 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index 8fbd8f5ca4..3435620299 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -47,23 +47,27 @@ public Command parseCommand(String input) { public ArrayList parseData(Command command, String input) { if (command instanceof ListCommand || command instanceof HelpCommand) { - return null; + return new ArrayList<>(); } - String inputData = input.split(" ", 2)[1]; - - if (command instanceof AddCommand) { - return parseAddCommandData(inputData); - } else if (command instanceof DeleteCommand) { - return parseDeleteCommandData(inputData); - } else if (command instanceof UpdateCommand) { - return parseUpdateCommandData(inputData); - } else if (command instanceof SortCommand) { - return parseSortCommandData(inputData); - } else if (command instanceof FilterCommand) { - return parseFilterCommandData(inputData); - } else { - throw new IllegalArgumentException("Unknown command type"); + try { + String inputData = input.split(" ", 2)[1]; + if (command instanceof AddCommand) { + return parseAddCommandData(inputData); + } else if (command instanceof DeleteCommand) { + return parseDeleteCommandData(inputData); + } else if (command instanceof UpdateCommand) { + return parseUpdateCommandData(inputData); + } else if (command instanceof SortCommand) { + return parseSortCommandData(inputData); + } else if (command instanceof FilterCommand) { + return parseFilterCommandData(inputData); + } else { + throw new IllegalArgumentException("Unknown command type"); + } + } catch (ArrayIndexOutOfBoundsException e) { + ui.showOutput("Please input some ID or flag following the command"); + return null; } } From 41902584dd44b9a03ec1f35e1ddc174e1961cd87 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Wed, 16 Oct 2024 22:41:46 +0800 Subject: [PATCH 102/359] added AddCommand jUnit Test --- .../java/seedu/commands/AddCommandTest.java | 64 ++++++++++++++++++- 1 file changed, 63 insertions(+), 1 deletion(-) diff --git a/src/test/java/seedu/commands/AddCommandTest.java b/src/test/java/seedu/commands/AddCommandTest.java index 7cdc6a66cc..d33508dbbe 100644 --- a/src/test/java/seedu/commands/AddCommandTest.java +++ b/src/test/java/seedu/commands/AddCommandTest.java @@ -1,4 +1,66 @@ package seedu.commands; +import org.junit.jupiter.api.Test; +import seedu.duke.Internship; +import seedu.duke.InternshipList; + +import java.util.ArrayList; + +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; + +//@@ author jadenlimjc public class AddCommandTest { -} + InternshipList internships; + AddCommand addCommand; + + void createList() { + internships = new InternshipList(); + addCommand = new AddCommand(); + addCommand.setInternshipList(internships); + } + + @Test + void execute_missingRole_abortsAddition() { + createList(); + ArrayList args = new ArrayList<>(); + args.add("company Google"); + args.add("from 01/24"); + args.add("to 08/24"); + + addCommand.execute(args); + + assertEquals(0, internships.getSize()); + } + + @Test + public void execute_missingCompany_abortsAddition() { + createList(); + ArrayList args = new ArrayList<>(); + args.add("role Software Engineer"); + args.add("from 01/24"); + args.add("to 08/24"); + + addCommand.execute(args); + + assertEquals(0, internships.getSize()); + } + + @Test + public void execute_validArguments_InternshipAdded() { + createList(); + ArrayList args = new ArrayList<>(); + args.add("role Software Engineer"); + args.add("company Google"); + args.add("from 01/24"); + args.add("to 08/24"); + + addCommand.execute(args); + + assertEquals(1, internships.getSize()); + Internship added = internships.getInternship(0); + assertEquals("Software Engineer", added.getRole()); + assertEquals("Google", added.getCompany()); + } + +} \ No newline at end of file From ff74833189bbfee1bf703c0aedb68575189adbbf Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Wed, 16 Oct 2024 22:45:51 +0800 Subject: [PATCH 103/359] changed checkstyle errors --- src/main/java/seedu/commands/DeleteCommand.java | 3 +-- src/main/java/seedu/commands/FilterCommand.java | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/main/java/seedu/commands/DeleteCommand.java b/src/main/java/seedu/commands/DeleteCommand.java index fd89c57a54..b5539f8123 100644 --- a/src/main/java/seedu/commands/DeleteCommand.java +++ b/src/main/java/seedu/commands/DeleteCommand.java @@ -9,8 +9,7 @@ public void execute (ArrayList args) { int id = Integer.parseInt(args.get(0)); int index = id - 1; internships.removeInternship(index); - } - catch (NumberFormatException e) { + } catch (NumberFormatException e) { uiCommand.showOutput("Invalid integer, please provide a valid internship ID"); } } diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index f15bf06896..07a5c0303e 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -57,8 +57,7 @@ public void execute(ArrayList args) { } filteredInternships.listAllInternships(); - } - catch (ArrayIndexOutOfBoundsException e) { + } catch (ArrayIndexOutOfBoundsException e) { uiCommand.showOutput(words[INDEX_FIELD] + " field cannot be empty"); } } From ce2ffc6dc2dada87b85cc29fb849211ad200a8ed Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Wed, 16 Oct 2024 22:52:07 +0800 Subject: [PATCH 104/359] fixed checkstyle errors --- src/test/java/seedu/commands/AddCommandTest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/test/java/seedu/commands/AddCommandTest.java b/src/test/java/seedu/commands/AddCommandTest.java index d33508dbbe..4f0d90ee8e 100644 --- a/src/test/java/seedu/commands/AddCommandTest.java +++ b/src/test/java/seedu/commands/AddCommandTest.java @@ -6,11 +6,11 @@ import java.util.ArrayList; -import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.assertEquals; //@@ author jadenlimjc public class AddCommandTest { + InternshipList internships; AddCommand addCommand; @@ -47,7 +47,7 @@ public void execute_missingCompany_abortsAddition() { } @Test - public void execute_validArguments_InternshipAdded() { + public void execute_validArguments_internshipAdded() { createList(); ArrayList args = new ArrayList<>(); args.add("role Software Engineer"); @@ -63,4 +63,4 @@ public void execute_validArguments_InternshipAdded() { assertEquals("Google", added.getCompany()); } -} \ No newline at end of file +} From 9c3cde33da7e71a088a667dd0916a738e2899392 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Wed, 16 Oct 2024 23:26:41 +0800 Subject: [PATCH 105/359] created jar file --- META-INF/MANIFEST.MF | 3 +++ README.md | 1 + 2 files changed, 4 insertions(+) create mode 100644 META-INF/MANIFEST.MF diff --git a/META-INF/MANIFEST.MF b/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..fe5277d41b --- /dev/null +++ b/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: seedu.duke.EasInternship + diff --git a/README.md b/README.md index 1f31692fac..b1961676e3 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ +//@@ jadenlimjc # Duke 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. From 24aa87a74896846db14bc6db6cb8dc848b0e77cb Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Wed, 23 Oct 2024 15:37:06 +0800 Subject: [PATCH 106/359] Add comment for the RepoSense and update the developerGuide for SortCommand and EasInternship --- docs/DeveloperGuide.md | 120 +++++++++++++++++- src/main/java/seedu/commands/ListCommand.java | 1 + src/main/java/seedu/commands/SortCommand.java | 1 + src/main/java/seedu/duke/EasInternship.java | 1 + src/main/java/seedu/duke/InternshipList.java | 1 + src/main/java/seedu/ui/UiCommand.java | 3 +- 6 files changed, 125 insertions(+), 2 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 64e1f0ed2b..ebbce89a11 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -8,8 +8,126 @@ {Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.} +### EasInternship (main class) -## Product scope +1. [Design](#design) + 1. [Architecture](#architecture) + 2. [UI Component](#ui-component) + 3. [Logic Component](#logic-component) + 4. [Model Component](#model-component) + 5. [Storage Component](#storage-component) +2. [Implementation](#implementation) + 1. [Parsing Input](#parsing-input) + 2. [Command Execution](#command-execution) + 3. [Task Management](#task-management) + +--- + +## 1. Design + +### 1.1 Architecture +The architecture of EasInternship is designed to follow the MVC (Model-View-Controller) pattern to facilitate separation of concerns, modularity, and maintainability. + +- **View (UI)**: Responsible for interacting with the user by displaying output and reading input. +- **Controller (Command and Parser)**: Responsible for parsing user input and invoking the appropriate commands. +- **Model (InternshipList)**: Manages the state of the application, including the list of internships and tasks. +- **Storage**: Responsible for loading and saving data from and to the disk. + +--- + +### 1.2 UI Component + +The UI component is responsible for displaying information to the user and reading input. It interacts with the user by printing messages and prompts, and retrieves commands for the rest of the application to process. + +### 1.3 Logic Component + +The logic component is handled by the `Parser` and `Command` classes. The `Parser` interprets the user's input and returns a command object, which is then executed to perform the desired operation. + +### 1.4 Model Component + +The model component includes the `InternshipList`, which stores the list of internships or tasks that the user manages. It provides methods for retrieving, adding, and removing internships from the list. + +### 1.5 Storage Component + +The storage component is responsible for saving the current state of the `InternshipList` to a file and loading it back when the application is restarted. This ensures that users' progress is preserved between sessions. + +--- + +## 2. Implementation + +### 2.1 Parsing Input + +The `Parser` class is responsible for parsing the input strings provided by the user. It breaks down the input into individual components like the command and its accompanying arguments. After parsing, it returns a `Command` object. + +### 2.2 Command Execution + +The `Command` class and its subclasses handle the execution of specific commands. Once a command is parsed, it is executed with the required arguments, and the result is displayed to the user. + +### 2.3 Task Management + +The `InternshipList` class handles adding, removing, and retrieving internships from the list. It interacts with both the UI and the storage components to ensure that updates are reflected in the user interface and persisted to disk. + +--- + +### Overview + +The `EasInternship` class serves as the entry point of the application. It manages the application's main loop, where the user is continually prompted for input, and commands are processed in response. The class is responsible for initializing the UI, loading saved data, and handling user input until the user chooses to exit the program. + +### Key Responsibilities + +- **Initialization**: Initializes the necessary components for the application, such as the `Ui`, `InternshipList`, and `Parser` classes. It also loads any saved data from the storage into the `InternshipList`. +- **Main Loop**: Continuously prompts the user for input. The input is parsed by the `Parser`, and the corresponding `Command` is executed. If the user enters the exit command, the loop terminates. +- **Command Processing**: After parsing the user input, the corresponding `Command` object is executed. The application catches and displays any errors that occur during command execution. +- **Saving State**: Upon exiting, the current state of the `InternshipList` is saved to a file to ensure persistence across sessions. + +### Flow of Execution + +1. **Welcome Message**: The `Ui` class displays a welcome message to the user. +2. **Load Data**: The `Storage` class loads any saved internships into the `InternshipList`. +3. **Input Loop**: The application enters a loop, prompting the user for input. +4. **Command Parsing**: The `Parser` interprets the input and returns the appropriate `Command`. +5. **Command Execution**: The command is executed, and the `InternshipList` is updated accordingly. +6. **Exit Flow**: If the user enters the exit command, the `InternshipList` is saved, and the application displays a goodbye message. + +### Methods + +- `public static void main(String[] args)`: The entry point of the application. It handles initialization, the main user input loop, and command execution. + +### Error Handling + +If the user inputs an unknown command or a command fails during execution, the `Ui` class displays an appropriate error message. This ensures that the application can continue running despite errors in user input. + +--- + +### SortCommand Implementation + +#### Overview: +The `SortCommand` class is responsible for sorting the internship listings based on different criteria such as the internship role (alphabetically) or the application deadline (by start and end dates). It extends the `Command` class, providing the sorting functionality as part of the command execution framework. + +#### Design: +- The `SortCommand` class processes user input to determine which sorting method to apply (e.g., role or deadline). +- If no arguments or invalid arguments are given, it defaults to listing internships by ID. + +#### Key Methods: +- **`execute(ArrayList args)`**: Handles sorting logic based on the first argument provided. If the argument is "alphabet", internships are sorted by role; if the argument is "deadline", internships are sorted by start and end dates. If no valid argument is provided, it defaults to listing by ID. +- **`getUsage()`**: Returns a string showing the correct usage of the `sort` command, including valid options like "alphabet" or "deadline". + +#### Example Usage Scenario: +1. The user enters `sort alphabet`, and the `execute` method sorts the internships by role. +2. The user enters `sort deadline`, and the internships are sorted by their start and end dates. +3. If the user enters an invalid sort option, the command returns an error and lists the internships by ID. + +#### Sequence Diagram: +The following sequence diagram shows how the `SortCommand` is executed: + +```plaintext +User -> System: sort alphabet +System -> SortCommand: execute("alphabet") +SortCommand -> InternshipList: listInternshipsSortedByRole() +InternshipList -> UI: showSortedInternshipsByRole() +``` + +### Product scope ### Target user profile {Describe the target user profile} diff --git a/src/main/java/seedu/commands/ListCommand.java b/src/main/java/seedu/commands/ListCommand.java index d364f8659f..0de73f2c13 100644 --- a/src/main/java/seedu/commands/ListCommand.java +++ b/src/main/java/seedu/commands/ListCommand.java @@ -2,6 +2,7 @@ import java.util.ArrayList; +//@@author Toby-Yu /** * Command to list all internships in the system. */ diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index 314c251c0e..dd7e2d94e5 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -2,6 +2,7 @@ import java.util.ArrayList; +//@@author Toby-Yu public class SortCommand extends Command { // Execute method for the SortCommand diff --git a/src/main/java/seedu/duke/EasInternship.java b/src/main/java/seedu/duke/EasInternship.java index d03cb4f2f7..46c69bbc2b 100644 --- a/src/main/java/seedu/duke/EasInternship.java +++ b/src/main/java/seedu/duke/EasInternship.java @@ -5,6 +5,7 @@ import java.util.ArrayList; +//@@author Toby-Yu /** * The EasInternship class contains the main method which is the entry point for the application. * It manages the application's main loop, where user input is read, commands are parsed, diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index e73fbe435d..d5cd07b7de 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -117,6 +117,7 @@ public int getSize() { return internships.size(); } + //@@author Toby-Yu // Method to list all internships in sorted order by role (case-insensitive) public void listInternshipsSortedByRole() { ArrayList sortedList = new ArrayList<>(internships); diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index 3de2592a7d..bd17e21824 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -113,7 +113,6 @@ public void printInvalidFlags() { } - /** * Prints message to show no flags available to filter. */ @@ -121,6 +120,7 @@ public void showInsufficientArguments() { showOutput("Insufficient arguments! Please include a flag to filter by."); } + //@@author Toby-Yu /** * Prints message indicating how internships are sorted. * @@ -156,6 +156,7 @@ public String getSortUsageMessage() { "deadline: Sort internships by start date (year first), then end date."; } + //@@author Ridiculouswifi public void showCommands(ArrayList commands) { printHeadDivider(); for (Command command : commands) { From 8c9e1044d01b8dd63ca314eea0e32001e4b39cc5 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Thu, 24 Oct 2024 09:38:03 +0800 Subject: [PATCH 107/359] Add Junit Tests for FilterCommand --- .../java/seedu/commands/FilterCommand.java | 6 +- .../seedu/commands/FilterCommandTest.java | 107 ++++++++++++++++++ 2 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 src/test/java/seedu/commands/FilterCommandTest.java diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index 07a5c0303e..1ce01915f6 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -14,6 +14,10 @@ public FilterCommand() { this.filteredInternships = new InternshipList(); } + public InternshipList getFilteredInternships() { + return filteredInternships; + } + @Override public void execute(ArrayList args) { if (args.isEmpty()) { @@ -66,6 +70,6 @@ public void execute(ArrayList args) { public String getUsage() { return """ filter - Usage: filter -name {Role name}"""; + Usage: filter -{flag} {field data}"""; } } diff --git a/src/test/java/seedu/commands/FilterCommandTest.java b/src/test/java/seedu/commands/FilterCommandTest.java new file mode 100644 index 0000000000..48ca6b6ee9 --- /dev/null +++ b/src/test/java/seedu/commands/FilterCommandTest.java @@ -0,0 +1,107 @@ +package seedu.commands; + +import org.junit.jupiter.api.Test; +import seedu.duke.Internship; +import seedu.duke.InternshipList; + +import java.util.ArrayList; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class FilterCommandTest { + + InternshipList internships; + FilterCommand filterCommand; + + void createList() { + internships = new InternshipList(); + filterCommand = new FilterCommand(); + filterCommand.setInternshipList(internships); + } + + @Test + void execute_noArguments_abortsFiltering() { + createList(); + ArrayList args = new ArrayList<>(); + + filterCommand.execute(args); + + assertEquals(0, filterCommand.getFilteredInternships().getSize()); + } + + @Test + void execute_tooManyFlags_abortsFiltering() { + createList(); + ArrayList args = new ArrayList<>(); + args.add("role Software Engineer"); + args.add("company Google"); + + filterCommand.execute(args); + + assertEquals(0, filterCommand.getFilteredInternships().getSize()); + } + + @Test + void execute_invalidFlag_abortsFiltering() { + createList(); + ArrayList args = new ArrayList<>(); + args.add("invalidflag Google"); + + filterCommand.execute(args); + + assertEquals(0, filterCommand.getFilteredInternships().getSize()); + } + + @Test + void execute_emptyField_abortsFiltering() { + createList(); + ArrayList args = new ArrayList<>(); + args.add("company"); + + filterCommand.execute(args); + + assertEquals(0, filterCommand.getFilteredInternships().getSize()); + } + + @Test + void execute_validRoleFilter_internshipFiltered() { + createList(); + internships.addInternship(new Internship("Software Engineer", "Google", "01/24", "08/24")); + internships.addInternship(new Internship("Data Scientist", "Meta", "02/24", "07/24")); + ArrayList args = new ArrayList<>(); + args.add("role Software Engineer"); + + filterCommand.execute(args); + + assertEquals(1, filterCommand.getFilteredInternships().getSize()); + assertEquals("Software Engineer", filterCommand.getFilteredInternships().getInternship(0).getRole()); + } + + @Test + void execute_validCompanyFilter_internshipFiltered() { + createList(); + internships.addInternship(new Internship("Software Engineer", "Google", "01/24", "08/24")); + internships.addInternship(new Internship("Data Scientist", "Meta", "02/24", "07/24")); + ArrayList args = new ArrayList<>(); + args.add("company Meta"); + + filterCommand.execute(args); + + assertEquals(1, filterCommand.getFilteredInternships().getSize()); + assertEquals("Meta", filterCommand.getFilteredInternships().getInternship(0).getCompany()); + } + + @Test + void execute_validDateFilter_internshipFiltered() { + createList(); + internships.addInternship(new Internship("Software Engineer", "Google", "01/24", "08/24")); + internships.addInternship(new Internship("Data Scientist", "Meta", "02/24", "07/24")); + ArrayList args = new ArrayList<>(); + args.add("from 01/24"); + + filterCommand.execute(args); + + assertEquals(1, filterCommand.getFilteredInternships().getSize()); + assertEquals("01/24", filterCommand.getFilteredInternships().getInternship(0).getStartDate()); + } +} From 2d7a8031086848088eb3157dae6386b3095e7915 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Thu, 24 Oct 2024 09:42:26 +0800 Subject: [PATCH 108/359] Change DeleteCommand flag --- src/main/java/seedu/commands/DeleteCommand.java | 2 +- src/main/java/seedu/duke/Parser.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/commands/DeleteCommand.java b/src/main/java/seedu/commands/DeleteCommand.java index b5539f8123..c267cf0c7a 100644 --- a/src/main/java/seedu/commands/DeleteCommand.java +++ b/src/main/java/seedu/commands/DeleteCommand.java @@ -18,6 +18,6 @@ public void execute (ArrayList args) { public String getUsage() { return """ delete - Usage: del {ID}"""; + Usage: delete {ID}"""; } } diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index 3435620299..beee8c4032 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -28,7 +28,7 @@ public Parser() { // Initialize map with suppliers private void initializeCommands() { commands.put("add", AddCommand::new); - commands.put("del", DeleteCommand::new); + commands.put("delete", DeleteCommand::new); commands.put("update", UpdateCommand::new); commands.put("sort", SortCommand::new); commands.put("filter", FilterCommand::new); From d2a674c4840a833f1260bfdc6d922171035f7850 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Sat, 26 Oct 2024 01:04:33 +0800 Subject: [PATCH 109/359] Filter by multiple flags --- .../java/seedu/commands/FilterCommand.java | 74 +++++++++++-------- src/main/java/seedu/duke/InternshipList.java | 4 + .../seedu/commands/FilterCommandTest.java | 29 +++++--- 3 files changed, 63 insertions(+), 44 deletions(-) diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index 1ce01915f6..e477d3eb3a 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -8,10 +8,16 @@ import java.util.Map; public class FilterCommand extends Command { + Map fieldGetters = new HashMap<>(); + private ArrayList internshipList = new ArrayList<>(); private InternshipList filteredInternships; public FilterCommand() { - this.filteredInternships = new InternshipList(); + // Map flags to getter methods using lambdas + fieldGetters.put("role", Internship::getRole); + fieldGetters.put("company", Internship::getCompany); + fieldGetters.put("from", Internship::getStartDate); + fieldGetters.put("to", Internship::getEndDate); } public InternshipList getFilteredInternships() { @@ -20,49 +26,53 @@ public InternshipList getFilteredInternships() { @Override public void execute(ArrayList args) { + + internshipList = new ArrayList<>(internships.getAllInternships()); + filteredInternships = new InternshipList(internshipList); + if (args.isEmpty()) { uiCommand.showInsufficientArguments(); return; } - if (args.size() > 1) { - uiCommand.showOutput("Too many flags provided. Can only filter by one flag at a time"); - return; + for (String arg : args) { + String[] words = arg.split(" ", 2); + try { + executeFilterByOneFlag(words); + } catch (IllegalArgumentException e) { + return; + } } - String[] words = args.get(0).split(" ", 2); - String flag = words[0]; - try { - // Map flags to getter methods using lambdas - Map fieldGetters = new HashMap<>(); - fieldGetters.put("role", Internship::getRole); - fieldGetters.put("company", Internship::getCompany); - fieldGetters.put("from", Internship::getStartDate); - fieldGetters.put("to", Internship::getEndDate); + filteredInternships.listAllInternships(); + } - // Retrieve the corresponding getter method based on the flag - InternshipFieldGetter getter = fieldGetters.get(flag); + private void executeFilterByOneFlag(String[] words) { + String flag = words[INDEX_FIELD]; + // Retrieve the corresponding getter method based on the flag + InternshipFieldGetter getter = fieldGetters.get(flag); + ArrayList internshipListIterator = new ArrayList<>(internshipList); - if (getter == null) { - uiCommand.clearInvalidFlags(); - uiCommand.addInvalidFlag(flag); - uiCommand.printInvalidFlags(); - return; - } + if (getter == null) { + uiCommand.clearInvalidFlags(); + uiCommand.addInvalidFlag(flag); + uiCommand.printInvalidFlags(); + throw new IllegalArgumentException(); + } - String searchTerm = words[1]; + if (words.length < 2) { + uiCommand.showOutput(words[INDEX_FIELD] + " field cannot be empty"); + throw new IllegalArgumentException(); + } + String searchTerm = words[INDEX_DATA]; - // Iterate over the internships and apply the getter for comparison - for (Internship internship : internships.getAllInternships()) { - String fieldValue = getter.getField(internship); // Dynamically calls getRole(), getCompany(), etc. - if (fieldValue.equalsIgnoreCase(searchTerm)) { - filteredInternships.addInternship(internship); - } + // Iterate over the internships and apply the getter for comparison + for (Internship internship : internshipListIterator) { + String fieldValue = getter.getField(internship); // Dynamically calls getRole(), getCompany(), + // etc. + if (!fieldValue.equalsIgnoreCase(searchTerm)) { + internshipList.remove(internship); } - - filteredInternships.listAllInternships(); - } catch (ArrayIndexOutOfBoundsException e) { - uiCommand.showOutput(words[INDEX_FIELD] + " field cannot be empty"); } } diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index d5cd07b7de..6c05448844 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -19,6 +19,10 @@ public InternshipList() { internships = new ArrayList<>(); } + public InternshipList(ArrayList internships) { + this.internships = internships; + } + public void addInternship(Internship internship) { if (internship.getId() == -1) { internship.setId(internships.size()); diff --git a/src/test/java/seedu/commands/FilterCommandTest.java b/src/test/java/seedu/commands/FilterCommandTest.java index 48ca6b6ee9..c1f164cd4e 100644 --- a/src/test/java/seedu/commands/FilterCommandTest.java +++ b/src/test/java/seedu/commands/FilterCommandTest.java @@ -29,18 +29,6 @@ void execute_noArguments_abortsFiltering() { assertEquals(0, filterCommand.getFilteredInternships().getSize()); } - @Test - void execute_tooManyFlags_abortsFiltering() { - createList(); - ArrayList args = new ArrayList<>(); - args.add("role Software Engineer"); - args.add("company Google"); - - filterCommand.execute(args); - - assertEquals(0, filterCommand.getFilteredInternships().getSize()); - } - @Test void execute_invalidFlag_abortsFiltering() { createList(); @@ -104,4 +92,21 @@ void execute_validDateFilter_internshipFiltered() { assertEquals(1, filterCommand.getFilteredInternships().getSize()); assertEquals("01/24", filterCommand.getFilteredInternships().getInternship(0).getStartDate()); } + + @Test + void execute_validMultipleFlags_internshipFiltered() { + createList(); + internships.addInternship(new Internship("Software Engineer", "Google", "01/24", "08/24")); + internships.addInternship(new Internship("Data Scientist", "Meta", "02/24", "07/24")); + internships.addInternship(new Internship("Software Engineer", "Meta", "04/24", "09/24")); + ArrayList args = new ArrayList<>(); + args.add("role Software Engineer"); + args.add("company Meta"); + + filterCommand.execute(args); + + assertEquals(1, filterCommand.getFilteredInternships().getSize()); + assertEquals("Software Engineer", filterCommand.getFilteredInternships().getInternship(0).getRole()); + assertEquals("Meta", filterCommand.getFilteredInternships().getInternship(0).getCompany()); + } } From 338caba54aa55c4f04c10bd2ebc183a2f7ca51d7 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Sat, 26 Oct 2024 19:12:00 +0800 Subject: [PATCH 110/359] Enable assertions --- build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/build.gradle b/build.gradle index ea82051fab..9b00c6e5d0 100644 --- a/build.gradle +++ b/build.gradle @@ -43,4 +43,5 @@ checkstyle { run{ standardInput = System.in + enableAssertions = true; } From 67fc1d5985f53f9f2d777be04d56ae3fabfc7699 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Sat, 26 Oct 2024 19:13:48 +0800 Subject: [PATCH 111/359] Add filter by date intervals functionality and assertions to code --- .../java/seedu/commands/FilterCommand.java | 63 ++++++++++++++++++- 1 file changed, 60 insertions(+), 3 deletions(-) diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index e477d3eb3a..f58907d9b7 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -7,10 +7,16 @@ import java.util.HashMap; import java.util.Map; +import java.time.YearMonth; +import java.time.format.DateTimeFormatter; +import java.util.function.BiPredicate; + public class FilterCommand extends Command { Map fieldGetters = new HashMap<>(); private ArrayList internshipList = new ArrayList<>(); private InternshipList filteredInternships; + private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/yy"); + boolean functionComplete = false; // For testing purposes public FilterCommand() { // Map flags to getter methods using lambdas @@ -26,7 +32,7 @@ public InternshipList getFilteredInternships() { @Override public void execute(ArrayList args) { - + assert internships != null: "Internship list should always be set before a command can be executed"; internshipList = new ArrayList<>(internships.getAllInternships()); filteredInternships = new InternshipList(internshipList); @@ -44,6 +50,7 @@ public void execute(ArrayList args) { } } + functionComplete = true; filteredInternships.listAllInternships(); } @@ -51,7 +58,6 @@ private void executeFilterByOneFlag(String[] words) { String flag = words[INDEX_FIELD]; // Retrieve the corresponding getter method based on the flag InternshipFieldGetter getter = fieldGetters.get(flag); - ArrayList internshipListIterator = new ArrayList<>(internshipList); if (getter == null) { uiCommand.clearInvalidFlags(); @@ -64,13 +70,64 @@ private void executeFilterByOneFlag(String[] words) { uiCommand.showOutput(words[INDEX_FIELD] + " field cannot be empty"); throw new IllegalArgumentException(); } + String searchTerm = words[INDEX_DATA]; + BiPredicate dateComparator = null; + + switch (flag) { + case "role": + case "company": + filterByRoleAndCompany(getter, searchTerm); + return; + + case "from": + dateComparator = YearMonth::isBefore; + break; + + case "to": + dateComparator = YearMonth::isAfter; + break; + + default: + assert false: "Should never be able to reach this statement if all flags are accounted for"; + } + + if (isValidDate(flag, searchTerm)) { + filterByDate(getter, searchTerm, dateComparator); + } + } + private boolean isValidDate(String flag, String searchTerm) { + if (!searchTerm.matches("\\d{2}/\\d{2}")) { + uiCommand.showOutput("Please enter a valid date for the " + flag + " flag"); + throw new IllegalArgumentException(); + } + return true; + } + + private void filterByRoleAndCompany(InternshipFieldGetter getter, String searchTerm) { + ArrayList internshipListIterator = new ArrayList<>(internshipList); // Iterate over the internships and apply the getter for comparison for (Internship internship : internshipListIterator) { String fieldValue = getter.getField(internship); // Dynamically calls getRole(), getCompany(), // etc. - if (!fieldValue.equalsIgnoreCase(searchTerm)) { + boolean isEqualToSearchTerm = fieldValue.equalsIgnoreCase(searchTerm); + if (!isEqualToSearchTerm) { + internshipList.remove(internship); + } + } + } + + private void filterByDate(InternshipFieldGetter getter, String searchTerm, + BiPredicate dateComparator) { + assert dateComparator != null : "dateComparator should not be null in filterByDate method"; + + ArrayList internshipListIterator = new ArrayList<>(internshipList); + for (Internship internship : internshipListIterator) { + String fieldValue = getter.getField(internship); // Dynamically calls getRole(), getCompany(), etc. + YearMonth fieldDate = YearMonth.parse(fieldValue, formatter); + YearMonth searchDate = YearMonth.parse(searchTerm, formatter); + if (dateComparator.test(fieldDate, searchDate)) { internshipList.remove(internship); } } From d460b32a5bb1266fb40b9402b9ff9b35203a4630 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Sat, 26 Oct 2024 19:16:22 +0800 Subject: [PATCH 112/359] Add more test cases for FilterCommand --- .../seedu/commands/FilterCommandTest.java | 133 +++++++++++++++--- 1 file changed, 111 insertions(+), 22 deletions(-) diff --git a/src/test/java/seedu/commands/FilterCommandTest.java b/src/test/java/seedu/commands/FilterCommandTest.java index c1f164cd4e..e8e0b796e4 100644 --- a/src/test/java/seedu/commands/FilterCommandTest.java +++ b/src/test/java/seedu/commands/FilterCommandTest.java @@ -7,6 +7,7 @@ import java.util.ArrayList; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; public class FilterCommandTest { @@ -19,43 +20,73 @@ void createList() { filterCommand.setInternshipList(internships); } + void createListOne() { + createList(); + internships.addInternship(new Internship("Software Engineer", "Google", "01/24", "08/24")); + internships.addInternship(new Internship("Data Scientist", "Meta", "02/24", "07/24")); + } + + void createListTwo() { + createList(); + internships.addInternship(new Internship("Software Engineer", "Meta", "01/24", "09/24")); + internships.addInternship(new Internship("Data Scientist", "Meta", "09/23", "05/24")); + internships.addInternship(new Internship("Data Scientist", "Google", "04/24", "07/24")); + } + + void createListThree() { + createList(); + internships.addInternship(new Internship("Data Scientist", "Meta", "04/24", "07/24")); + internships.addInternship(new Internship("Software Engineer", "Google", "01/24", "09/24")); + internships.addInternship(new Internship("Data Scientist", "Google", "09/23", "05/24")); + } + + @Test void execute_noArguments_abortsFiltering() { - createList(); + createListOne(); ArrayList args = new ArrayList<>(); filterCommand.execute(args); - assertEquals(0, filterCommand.getFilteredInternships().getSize()); + assertFalse(filterCommand.functionComplete); } @Test void execute_invalidFlag_abortsFiltering() { - createList(); + createListOne(); ArrayList args = new ArrayList<>(); args.add("invalidflag Google"); filterCommand.execute(args); - assertEquals(0, filterCommand.getFilteredInternships().getSize()); + assertFalse(filterCommand.functionComplete); } @Test void execute_emptyField_abortsFiltering() { - createList(); + createListOne(); ArrayList args = new ArrayList<>(); args.add("company"); filterCommand.execute(args); - assertEquals(0, filterCommand.getFilteredInternships().getSize()); + assertFalse(filterCommand.functionComplete); + } + + @Test + void execute_invalidDateField_abortsFiltering() { + createListOne(); + ArrayList args = new ArrayList<>(); + args.add("from blah"); + + filterCommand.execute(args); + + assertFalse(filterCommand.functionComplete); } @Test void execute_validRoleFilter_internshipFiltered() { - createList(); - internships.addInternship(new Internship("Software Engineer", "Google", "01/24", "08/24")); - internships.addInternship(new Internship("Data Scientist", "Meta", "02/24", "07/24")); + createListOne(); ArrayList args = new ArrayList<>(); args.add("role Software Engineer"); @@ -67,9 +98,7 @@ void execute_validRoleFilter_internshipFiltered() { @Test void execute_validCompanyFilter_internshipFiltered() { - createList(); - internships.addInternship(new Internship("Software Engineer", "Google", "01/24", "08/24")); - internships.addInternship(new Internship("Data Scientist", "Meta", "02/24", "07/24")); + createListOne(); ArrayList args = new ArrayList<>(); args.add("company Meta"); @@ -80,25 +109,34 @@ void execute_validCompanyFilter_internshipFiltered() { } @Test - void execute_validDateFilter_internshipFiltered() { - createList(); - internships.addInternship(new Internship("Software Engineer", "Google", "01/24", "08/24")); - internships.addInternship(new Internship("Data Scientist", "Meta", "02/24", "07/24")); + void execute_validFromDateFilter_internshipFiltered() { + createListTwo(); ArrayList args = new ArrayList<>(); args.add("from 01/24"); filterCommand.execute(args); - assertEquals(1, filterCommand.getFilteredInternships().getSize()); + assertEquals(2, filterCommand.getFilteredInternships().getSize()); assertEquals("01/24", filterCommand.getFilteredInternships().getInternship(0).getStartDate()); + assertEquals("04/24", filterCommand.getFilteredInternships().getInternship(1).getStartDate()); } @Test - void execute_validMultipleFlags_internshipFiltered() { - createList(); - internships.addInternship(new Internship("Software Engineer", "Google", "01/24", "08/24")); - internships.addInternship(new Internship("Data Scientist", "Meta", "02/24", "07/24")); - internships.addInternship(new Internship("Software Engineer", "Meta", "04/24", "09/24")); + void execute_validEndDateFilter_internshipFiltered() { + createListTwo(); + ArrayList args = new ArrayList<>(); + args.add("to 08/24"); + + filterCommand.execute(args); + + assertEquals(2, filterCommand.getFilteredInternships().getSize()); + assertEquals("05/24", filterCommand.getFilteredInternships().getInternship(0).getEndDate()); + assertEquals("07/24", filterCommand.getFilteredInternships().getInternship(1).getEndDate()); + } + + @Test + void execute_validRoleAndCompanyFilter_internshipFiltered() { + createListTwo(); ArrayList args = new ArrayList<>(); args.add("role Software Engineer"); args.add("company Meta"); @@ -109,4 +147,55 @@ void execute_validMultipleFlags_internshipFiltered() { assertEquals("Software Engineer", filterCommand.getFilteredInternships().getInternship(0).getRole()); assertEquals("Meta", filterCommand.getFilteredInternships().getInternship(0).getCompany()); } + + @Test + void execute_validFromAndEndDateFilter_noInternshipFiltered() { + createListTwo(); + ArrayList args = new ArrayList<>(); + args.add("from 10/23"); + args.add("to 06/24"); + + filterCommand.execute(args); + + assertEquals(0, filterCommand.getFilteredInternships().getSize()); + } + + @Test + void execute_validFromAndEndDateFilter_internshipFiltered() { + createListTwo(); + ArrayList args = new ArrayList<>(); + args.add("from 10/23"); + args.add("to 07/24"); + + filterCommand.execute(args); + + assertEquals(1, filterCommand.getFilteredInternships().getSize()); + assertEquals("04/24", filterCommand.getFilteredInternships().getInternship(0).getStartDate()); + } + + @Test + void execute_validFromDateAndCompanyFilter_internshipFiltered() { + createListThree(); + ArrayList args = new ArrayList<>(); + args.add("from 01/24"); + args.add("company Google"); + + filterCommand.execute(args); + + assertEquals(1, filterCommand.getFilteredInternships().getSize()); + assertEquals("01/24", filterCommand.getFilteredInternships().getInternship(0).getStartDate()); + } + + @Test + void execute_validRoleAndEndDateFilter_internshipFiltered() { + createListThree(); + ArrayList args = new ArrayList<>(); + args.add("role Data Scientist"); + args.add("to 06/24"); + + filterCommand.execute(args); + + assertEquals(1, filterCommand.getFilteredInternships().getSize()); + assertEquals("09/23", filterCommand.getFilteredInternships().getInternship(0).getStartDate()); + } } From a7be450f07761b71e7be26069f60967012488910 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Sat, 26 Oct 2024 19:32:05 +0800 Subject: [PATCH 113/359] Clean up test code --- .../seedu/commands/FilterCommandTest.java | 23 +++++-------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/src/test/java/seedu/commands/FilterCommandTest.java b/src/test/java/seedu/commands/FilterCommandTest.java index e8e0b796e4..030beec65b 100644 --- a/src/test/java/seedu/commands/FilterCommandTest.java +++ b/src/test/java/seedu/commands/FilterCommandTest.java @@ -13,28 +13,30 @@ public class FilterCommandTest { InternshipList internships; FilterCommand filterCommand; + ArrayList args; - void createList() { + void initializeParams() { internships = new InternshipList(); filterCommand = new FilterCommand(); + args = new ArrayList<>(); filterCommand.setInternshipList(internships); } void createListOne() { - createList(); + initializeParams(); internships.addInternship(new Internship("Software Engineer", "Google", "01/24", "08/24")); internships.addInternship(new Internship("Data Scientist", "Meta", "02/24", "07/24")); } void createListTwo() { - createList(); + initializeParams(); internships.addInternship(new Internship("Software Engineer", "Meta", "01/24", "09/24")); internships.addInternship(new Internship("Data Scientist", "Meta", "09/23", "05/24")); internships.addInternship(new Internship("Data Scientist", "Google", "04/24", "07/24")); } void createListThree() { - createList(); + initializeParams(); internships.addInternship(new Internship("Data Scientist", "Meta", "04/24", "07/24")); internships.addInternship(new Internship("Software Engineer", "Google", "01/24", "09/24")); internships.addInternship(new Internship("Data Scientist", "Google", "09/23", "05/24")); @@ -44,7 +46,6 @@ void createListThree() { @Test void execute_noArguments_abortsFiltering() { createListOne(); - ArrayList args = new ArrayList<>(); filterCommand.execute(args); @@ -54,7 +55,6 @@ void execute_noArguments_abortsFiltering() { @Test void execute_invalidFlag_abortsFiltering() { createListOne(); - ArrayList args = new ArrayList<>(); args.add("invalidflag Google"); filterCommand.execute(args); @@ -65,7 +65,6 @@ void execute_invalidFlag_abortsFiltering() { @Test void execute_emptyField_abortsFiltering() { createListOne(); - ArrayList args = new ArrayList<>(); args.add("company"); filterCommand.execute(args); @@ -76,7 +75,6 @@ void execute_emptyField_abortsFiltering() { @Test void execute_invalidDateField_abortsFiltering() { createListOne(); - ArrayList args = new ArrayList<>(); args.add("from blah"); filterCommand.execute(args); @@ -87,7 +85,6 @@ void execute_invalidDateField_abortsFiltering() { @Test void execute_validRoleFilter_internshipFiltered() { createListOne(); - ArrayList args = new ArrayList<>(); args.add("role Software Engineer"); filterCommand.execute(args); @@ -99,7 +96,6 @@ void execute_validRoleFilter_internshipFiltered() { @Test void execute_validCompanyFilter_internshipFiltered() { createListOne(); - ArrayList args = new ArrayList<>(); args.add("company Meta"); filterCommand.execute(args); @@ -111,7 +107,6 @@ void execute_validCompanyFilter_internshipFiltered() { @Test void execute_validFromDateFilter_internshipFiltered() { createListTwo(); - ArrayList args = new ArrayList<>(); args.add("from 01/24"); filterCommand.execute(args); @@ -124,7 +119,6 @@ void execute_validFromDateFilter_internshipFiltered() { @Test void execute_validEndDateFilter_internshipFiltered() { createListTwo(); - ArrayList args = new ArrayList<>(); args.add("to 08/24"); filterCommand.execute(args); @@ -137,7 +131,6 @@ void execute_validEndDateFilter_internshipFiltered() { @Test void execute_validRoleAndCompanyFilter_internshipFiltered() { createListTwo(); - ArrayList args = new ArrayList<>(); args.add("role Software Engineer"); args.add("company Meta"); @@ -151,7 +144,6 @@ void execute_validRoleAndCompanyFilter_internshipFiltered() { @Test void execute_validFromAndEndDateFilter_noInternshipFiltered() { createListTwo(); - ArrayList args = new ArrayList<>(); args.add("from 10/23"); args.add("to 06/24"); @@ -163,7 +155,6 @@ void execute_validFromAndEndDateFilter_noInternshipFiltered() { @Test void execute_validFromAndEndDateFilter_internshipFiltered() { createListTwo(); - ArrayList args = new ArrayList<>(); args.add("from 10/23"); args.add("to 07/24"); @@ -176,7 +167,6 @@ void execute_validFromAndEndDateFilter_internshipFiltered() { @Test void execute_validFromDateAndCompanyFilter_internshipFiltered() { createListThree(); - ArrayList args = new ArrayList<>(); args.add("from 01/24"); args.add("company Google"); @@ -189,7 +179,6 @@ void execute_validFromDateAndCompanyFilter_internshipFiltered() { @Test void execute_validRoleAndEndDateFilter_internshipFiltered() { createListThree(); - ArrayList args = new ArrayList<>(); args.add("role Data Scientist"); args.add("to 06/24"); From a4f951b63295358eda34e7779822809799747782 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Sat, 26 Oct 2024 19:46:54 +0800 Subject: [PATCH 114/359] Fix checkstyle errors Reordered the declaration of member variables within the FilterCommand class --- src/main/java/seedu/commands/FilterCommand.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index f58907d9b7..4f6c44c189 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -12,10 +12,10 @@ import java.util.function.BiPredicate; public class FilterCommand extends Command { - Map fieldGetters = new HashMap<>(); - private ArrayList internshipList = new ArrayList<>(); - private InternshipList filteredInternships; private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/yy"); + private final Map fieldGetters = new HashMap<>(); + private ArrayList internshipList; + private InternshipList filteredInternships; boolean functionComplete = false; // For testing purposes public FilterCommand() { From 532ec808903190e83b561e017ba5c656ec7c7977 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Sat, 26 Oct 2024 19:53:46 +0800 Subject: [PATCH 115/359] Fix checkstyle errors Move public member up the order and add spaces between the groups of member variables --- src/main/java/seedu/commands/FilterCommand.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index 4f6c44c189..f54f2fb64c 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -14,9 +14,11 @@ public class FilterCommand extends Command { private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/yy"); private final Map fieldGetters = new HashMap<>(); + + public boolean functionComplete = false; // For testing purposes + private ArrayList internshipList; private InternshipList filteredInternships; - boolean functionComplete = false; // For testing purposes public FilterCommand() { // Map flags to getter methods using lambdas From 9ba812db57b217d8462d3385f52563a0e343eb7c Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Sat, 26 Oct 2024 19:59:35 +0800 Subject: [PATCH 116/359] Fix checkstyle errors --- src/main/java/seedu/commands/FilterCommand.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index f54f2fb64c..f0b293f475 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -12,11 +12,11 @@ import java.util.function.BiPredicate; public class FilterCommand extends Command { + public boolean functionComplete = false; // For testing purposes + private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/yy"); private final Map fieldGetters = new HashMap<>(); - public boolean functionComplete = false; // For testing purposes - private ArrayList internshipList; private InternshipList filteredInternships; From c431cf619bc2df6484117151bfcc5a79b6ed9e8b Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 27 Oct 2024 00:13:03 +0800 Subject: [PATCH 117/359] Edit output of update function with no valid fields --- src/main/java/seedu/ui/UiCommand.java | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index bd17e21824..c52ceaf243 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -24,22 +24,20 @@ public void showEditedInternship(Internship internship, String action) { } switch (action) { case "add": - message += "Internship added:\n"; + message += "Internship added:\n" + internship.toString(); break; case "update": - if (!getInvalidFields().isEmpty()) { - message += getInvalidFields() + DIVIDER; - } if (getUpdatedFields().isEmpty()) { - message += "No Fields Updated\n"; + message += "No Fields Updated"; + } else { + message += getUpdatedFields() + DIVIDER + "Internship updated:\n" + internship.toString(); } - message += getUpdatedFields() + DIVIDER + "Internship updated:\n"; break; default: - message += "Internship edited:\n"; + assert false: "All available actions should be covered in individual cases"; break; } - showOutput(message + internship.toString()); + showOutput(message); } /** From 1304e8cda87207ff83adce126a9d57b6d7b0c582 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 27 Oct 2024 00:33:48 +0800 Subject: [PATCH 118/359] Handle more exceptiosn with update command --- src/main/java/seedu/duke/Parser.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index beee8c4032..7f33ddccc7 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -51,7 +51,7 @@ public ArrayList parseData(Command command, String input) { } try { - String inputData = input.split(" ", 2)[1]; + String inputData = input.trim().split(" ", 2)[1]; if (command instanceof AddCommand) { return parseAddCommandData(inputData); } else if (command instanceof DeleteCommand) { @@ -91,8 +91,9 @@ private ArrayList parseDeleteCommandData(String inputData) { private ArrayList parseUpdateCommandData(String inputData) { String[] splitArray = inputData.split(" ", 2); - String id = splitArray[0]; try { + String id = splitArray[0]; + Integer.parseInt(id); String fields = splitArray[1]; if (fields.isBlank()) { throw new ArrayIndexOutOfBoundsException(); @@ -103,6 +104,9 @@ private ArrayList parseUpdateCommandData(String inputData) { } catch (ArrayIndexOutOfBoundsException e) { ui.showEmptyFlags(); return null; + } catch (NumberFormatException e) { + ui.showOutput("Please input some ID for the command"); + return null; } } From 212e4babf0ae1480b497ba46f8201c086922ced5 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 27 Oct 2024 08:39:01 +0800 Subject: [PATCH 119/359] Modify skills field in Internship class to be stored as ArrayList --- data/EasInternship.txt | 8 +++---- src/main/java/seedu/duke/Internship.java | 29 ++++++++++++++++++++---- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/data/EasInternship.txt b/data/EasInternship.txt index a9a2426c22..c425c41307 100644 --- a/data/EasInternship.txt +++ b/data/EasInternship.txt @@ -1,4 +1,4 @@ -1 | ABC | XYZ | 01/01 | 01/01 | No Skills Entered | Application Pending -2 | software engineer | abs | 01/01 | 03/24 | python | Application Completed -3 | lawyer | lolo pte ltd | 04/23 | 01/01 | No Skills Entered | Application Pending -4 | Technician | Nokia | 12/22 | 12/30 | No Skills Entered | Application Pending +1 | ABC | XYZ | 01/01 | 01/01 | | Application Pending +2 | software engineer | abs | 01/01 | 03/24 | python, c++, backend | Application Completed +3 | lawyer | lolo pte ltd | 04/23 | 01/01 | source, terry | Application Completed +4 | Technician | Nokia | 12/22 | 12/30 | java | Application Pending diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index c868e7d9f5..d19e17468f 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -5,6 +5,7 @@ import java.time.YearMonth; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -20,7 +21,7 @@ public class Internship { private String company; private YearMonth startDate; private YearMonth endDate; - private String skills; + private ArrayList skills; private String status; @@ -38,7 +39,7 @@ public Internship(String role, String company, String start, String end) { this.company = company; setStartDate(start); setEndDate(end); - this.skills = "No Skills Entered"; + this.skills = new ArrayList<>(); this.status = "Application Pending"; } @@ -105,11 +106,25 @@ public void setEndDate(String end) throws DateTimeParseException { } public String getSkills() { - return skills; + String skillList = ""; + if (this.skills.isEmpty()) { + return skillList; + } + for (String skill: skills) { + skillList += ", " + skill; + } + int INDEX_START = 2; + return skillList.trim().substring(INDEX_START); } public void setSkills(String skills) { - this.skills = skills.isEmpty() ? "Not Stated" : skills; + if (skills.isEmpty()) { + return; + } + String[] skillArray = skills.split(","); + for (String skill: skillArray) { + this.skills.add(skill.trim()); + } } public String getStatus() { @@ -123,7 +138,11 @@ public void setStatus(String status) { // toString method for displaying the details @Override public String toString() { + String skillsField = getSkills(); + if (skillsField.isEmpty()) { + skillsField = "No Skills Entered"; + } return "ID: " + id + "\tStatus: " + status + "\n" + "Role: " + role + "\n" + "Company: " + company + "\n" + - "Duration: " + getStartDate() + " to " + getEndDate() + "\n" + "Skills: " + skills; + "Duration: " + getStartDate() + " to " + getEndDate() + "\n" + "Skills: " + skillsField; } } From bf1426b9b1be446483faa85ad87e101003dcfadc Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 27 Oct 2024 08:57:13 +0800 Subject: [PATCH 120/359] Add documentation for methods related to skills --- src/main/java/seedu/duke/Internship.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index d19e17468f..047db14dba 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -105,6 +105,11 @@ public void setEndDate(String end) throws DateTimeParseException { this.endDate = YearMonth.parse(end, formatter); } + //@@author Ridiculouswifi + + /** + * Returns all skills stored in `skills` field as a combined String. + */ public String getSkills() { String skillList = ""; if (this.skills.isEmpty()) { @@ -117,6 +122,12 @@ public String getSkills() { return skillList.trim().substring(INDEX_START); } + //@@author Ridiculouswifi + /** + * Adds the input to the skills field. + * + * @param skills List of skills, individual skills are separated by commas. + */ public void setSkills(String skills) { if (skills.isEmpty()) { return; From afd7d46b0d402dc116573284c74970763cb66e91 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 27 Oct 2024 09:10:12 +0800 Subject: [PATCH 121/359] Add test cases for setSkills of Internship class --- src/main/java/seedu/duke/Internship.java | 6 +-- src/test/java/seedu/duke/InternshipTest.java | 40 ++++++++++++++++---- 2 files changed, 36 insertions(+), 10 deletions(-) diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 047db14dba..e6ca02c631 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -118,8 +118,8 @@ public String getSkills() { for (String skill: skills) { skillList += ", " + skill; } - int INDEX_START = 2; - return skillList.trim().substring(INDEX_START); + int indexStart = 2; + return skillList.trim().substring(indexStart); } //@@author Ridiculouswifi @@ -129,7 +129,7 @@ public String getSkills() { * @param skills List of skills, individual skills are separated by commas. */ public void setSkills(String skills) { - if (skills.isEmpty()) { + if (skills.trim().isEmpty()) { return; } String[] skillArray = skills.split(","); diff --git a/src/test/java/seedu/duke/InternshipTest.java b/src/test/java/seedu/duke/InternshipTest.java index a472243348..d6a61b127e 100644 --- a/src/test/java/seedu/duke/InternshipTest.java +++ b/src/test/java/seedu/duke/InternshipTest.java @@ -8,12 +8,12 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; -//@@ Ridiculouswifi +//@@author Ridiculouswifi class InternshipTest { Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); - //@@ Ridiculouswifi + //@@author Ridiculouswifi @Test void updateStatus_validStatus1_expectNormal() throws InvalidStatus { internship.updateStatus("application completed"); @@ -21,7 +21,7 @@ void updateStatus_validStatus1_expectNormal() throws InvalidStatus { assertEquals("Application Completed", internship.getStatus()); } - //@@ Ridiculouswifi + //@@author Ridiculouswifi @Test void updateStatus_validStatus2_expectNormal() throws InvalidStatus { internship.updateStatus("accepted"); @@ -29,13 +29,13 @@ void updateStatus_validStatus2_expectNormal() throws InvalidStatus { assertEquals("Accepted", internship.getStatus()); } - //@@ Ridiculouswifi + //@@author Ridiculouswifi @Test void updateStatus_invalidStatus_expectException() throws InvalidStatus { assertThrows(InvalidStatus.class, () -> internship.updateStatus("interview pending")); } - //@@ Ridiculouswifi + //@@author Ridiculouswifi @Test void setStartDate_validStartDate_expectNormal() { internship.setStartDate("01/23"); @@ -43,15 +43,41 @@ void setStartDate_validStartDate_expectNormal() { assertEquals("01/23", internship.getStartDate()); } - //@@ Ridiculouswifi + //@@author Ridiculouswifi @Test void setStartDate_invalidFormat_expectDateTimeException() { assertThrows(DateTimeException.class, () -> internship.setStartDate("01/02/2024")); } - //@@ Ridiculouswifi + //@@author Ridiculouswifi @Test void setStartDate_invalidDate_expectDateTimeException() { assertThrows(DateTimeException.class, () -> internship.setStartDate("20/10")); } + + //@@author Ridiculouswifi + @Test + void setSkill_oneValidSkill_expectUpdated() { + assertEquals("", internship.getSkills()); + + internship.setSkills("Java"); + + assertEquals("Java", internship.getSkills()); + } + + //@@author Ridiculouswifi + @Test + void setSkill_twoValidSkill_expectUpdated() { + internship.setSkills("Java, Python"); + + assertEquals("Java, Python", internship.getSkills()); + } + + //@@author Ridiculouswifi + @Test + void setSkill_emptyInput_expectNoUpdate() { + internship.setSkills(" "); + + assertEquals("", internship.getSkills()); + } } From dbf06e25eb74e89dec0a34ce6e7da70368a56221 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 27 Oct 2024 10:29:57 +0800 Subject: [PATCH 122/359] Create RemoveCommand class --- data/EasInternship.txt | 2 +- src/main/java/seedu/commands/HelpCommand.java | 1 + .../java/seedu/commands/RemoveCommand.java | 44 +++++++++++++++++++ .../java/seedu/commands/UpdateCommand.java | 10 ++--- src/main/java/seedu/duke/InternshipList.java | 17 +++++++ src/main/java/seedu/duke/Parser.java | 12 ++--- src/main/java/seedu/ui/UiCommand.java | 16 ++++++- 7 files changed, 86 insertions(+), 16 deletions(-) create mode 100644 src/main/java/seedu/commands/RemoveCommand.java diff --git a/data/EasInternship.txt b/data/EasInternship.txt index c425c41307..b0fb26a4f1 100644 --- a/data/EasInternship.txt +++ b/data/EasInternship.txt @@ -1,4 +1,4 @@ 1 | ABC | XYZ | 01/01 | 01/01 | | Application Pending 2 | software engineer | abs | 01/01 | 03/24 | python, c++, backend | Application Completed 3 | lawyer | lolo pte ltd | 04/23 | 01/01 | source, terry | Application Completed -4 | Technician | Nokia | 12/22 | 12/30 | java | Application Pending +4 | Technician | Nokia | 12/22 | 12/30 | java, c++ | Application Pending diff --git a/src/main/java/seedu/commands/HelpCommand.java b/src/main/java/seedu/commands/HelpCommand.java index 8016511376..3721a0d8a3 100644 --- a/src/main/java/seedu/commands/HelpCommand.java +++ b/src/main/java/seedu/commands/HelpCommand.java @@ -17,6 +17,7 @@ public void execute(ArrayList args) { commands.add(new FilterCommand()); commands.add(new SortCommand()); commands.add(new UpdateCommand()); + commands.add(new RemoveCommand()); uiCommand.showCommands(commands); } diff --git a/src/main/java/seedu/commands/RemoveCommand.java b/src/main/java/seedu/commands/RemoveCommand.java new file mode 100644 index 0000000000..c12f201f21 --- /dev/null +++ b/src/main/java/seedu/commands/RemoveCommand.java @@ -0,0 +1,44 @@ +package seedu.commands; + +import seedu.exceptions.InvalidIndex; + +//@@author Ridiculouswifi +/** + * Subclass of UpdateCommand to handle deleting fields of an Internship. + */ +public class RemoveCommand extends UpdateCommand { + @Override + protected void updateOneField(String[] words, int internshipIndex) throws InvalidIndex { + String field = words[INDEX_FIELD]; + switch (field) { + case "skills": + if (!isValidValue(words)) { + return; + } + String value = words[INDEX_DATA].trim(); + internships.removeField(internshipIndex, field, value); + uiCommand.addUpdatedField(field, value, "remove"); + break; + case "status": + case "role": + case "company": + case "from": + case "to": + uiCommand.addInvalidField(field, "Field cannot be empty"); + break; + default: + uiCommand.addInvalidFlag(field); + break; + } + } + + @Override + public String getUsage() { + return """ + remove + Usage: remove {ID} -{field} {value} + + List of fields: + - skills"""; + } +} diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index 0cdf831e0b..052235e174 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -37,7 +37,7 @@ public void execute(ArrayList args) { } } - private boolean isValidValue(String[] words) { + protected boolean isValidValue(String[] words) { try { String value = words[INDEX_DATA].trim(); if (value.isEmpty()) { @@ -50,10 +50,10 @@ private boolean isValidValue(String[] words) { } } - private void updateOneField(String[] words, int internshipIndex) throws InvalidIndex { + protected void updateOneField(String[] words, int internshipIndex) throws InvalidIndex { String field = words[INDEX_FIELD]; try { - switch (words[INDEX_FIELD]) { + switch (field) { case "status": case "skills": case "role": @@ -65,10 +65,10 @@ private void updateOneField(String[] words, int internshipIndex) throws InvalidI } String value = words[INDEX_DATA].trim(); internships.updateField(internshipIndex, field, value); - uiCommand.addUpdatedField(field, value); + uiCommand.addUpdatedField(field, value, "update"); break; default: - uiCommand.addInvalidFlag(words[INDEX_FIELD]); + uiCommand.addInvalidFlag(field); break; } } catch (DateTimeParseException e) { diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index d5cd07b7de..f77301ee3d 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -92,6 +92,23 @@ public void updateField(int index, String field, String value) throws InvalidInd internships.get(index).setEndDate(value); break; default: + assert false: "All valid fields should we handled in individual cases"; + break; + } + } catch (IndexOutOfBoundsException e) { + ui.showInvalidIndex(); + throw new InvalidIndex(); + } + } + + public void removeField(int index, String field, String value) throws InvalidIndex { + try { + switch (field) { + case "skills": + internships.get(index).setSkills(value); + break; + default: + assert false: "All valid fields should we handled in individual cases"; break; } } catch (IndexOutOfBoundsException e) { diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index 7f33ddccc7..603ffb442e 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -1,13 +1,6 @@ package seedu.duke; -import seedu.commands.Command; -import seedu.commands.AddCommand; -import seedu.commands.DeleteCommand; -import seedu.commands.HelpCommand; -import seedu.commands.ListCommand; -import seedu.commands.UpdateCommand; -import seedu.commands.SortCommand; -import seedu.commands.FilterCommand; +import seedu.commands.*; import seedu.ui.Ui; import java.util.Map; @@ -34,6 +27,7 @@ private void initializeCommands() { commands.put("filter", FilterCommand::new); commands.put("list", ListCommand::new); commands.put("help", HelpCommand::new); + commands.put("remove", RemoveCommand::new); } public Command parseCommand(String input) { @@ -62,6 +56,8 @@ public ArrayList parseData(Command command, String input) { return parseSortCommandData(inputData); } else if (command instanceof FilterCommand) { return parseFilterCommandData(inputData); + } else if (command instanceof RemoveCommand) { + return parseUpdateCommandData(inputData); } else { throw new IllegalArgumentException("Unknown command type"); } diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index bd17e21824..be68c09dae 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -63,9 +63,21 @@ public void clearInvalidFields() { setInvalidFields(""); } - public void addUpdatedField(String updatedField, String updatedValue) { + public void addUpdatedField(String updatedField, String updatedValue, String type) { String newUpdatedFields = getUpdatedFields(); - newUpdatedFields += updatedField + " updated: " + updatedValue + "\n"; + newUpdatedFields += updatedField; + switch (type) { + case "update": + newUpdatedFields += " updated: "; + break; + case "remove": + newUpdatedFields += " removed: "; + break; + default: + assert false: "All valid types should be handled in individual switch cases."; + break; + } + newUpdatedFields += updatedValue + "\n"; setUpdatedFields(newUpdatedFields); } From 14f8ab1156df5631b911df1b5d9b692aa03cc46c Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 27 Oct 2024 10:31:38 +0800 Subject: [PATCH 123/359] Refactor Parser class --- src/main/java/seedu/duke/Parser.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index 603ffb442e..9bb2b956e8 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -48,19 +48,23 @@ public ArrayList parseData(Command command, String input) { String inputData = input.trim().split(" ", 2)[1]; if (command instanceof AddCommand) { return parseAddCommandData(inputData); - } else if (command instanceof DeleteCommand) { + } + if (command instanceof DeleteCommand) { return parseDeleteCommandData(inputData); - } else if (command instanceof UpdateCommand) { + } + if (command instanceof UpdateCommand) { return parseUpdateCommandData(inputData); - } else if (command instanceof SortCommand) { + } + if (command instanceof SortCommand) { return parseSortCommandData(inputData); - } else if (command instanceof FilterCommand) { + } + if (command instanceof FilterCommand) { return parseFilterCommandData(inputData); - } else if (command instanceof RemoveCommand) { + } + if (command instanceof RemoveCommand) { return parseUpdateCommandData(inputData); - } else { - throw new IllegalArgumentException("Unknown command type"); } + throw new IllegalArgumentException("Unknown command type"); } catch (ArrayIndexOutOfBoundsException e) { ui.showOutput("Please input some ID or flag following the command"); return null; From 8374c7d42442ab4de8b9d63198a7d987fc99ee10 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 27 Oct 2024 11:18:42 +0800 Subject: [PATCH 124/359] Add remove skills functionality --- data/EasInternship.txt | 2 +- .../java/seedu/commands/RemoveCommand.java | 5 +++++ src/main/java/seedu/duke/Internship.java | 18 +++++++++++++++--- src/main/java/seedu/duke/InternshipList.java | 5 +++-- .../java/seedu/exceptions/MissingValue.java | 5 +++++ 5 files changed, 29 insertions(+), 6 deletions(-) create mode 100644 src/main/java/seedu/exceptions/MissingValue.java diff --git a/data/EasInternship.txt b/data/EasInternship.txt index b0fb26a4f1..c425c41307 100644 --- a/data/EasInternship.txt +++ b/data/EasInternship.txt @@ -1,4 +1,4 @@ 1 | ABC | XYZ | 01/01 | 01/01 | | Application Pending 2 | software engineer | abs | 01/01 | 03/24 | python, c++, backend | Application Completed 3 | lawyer | lolo pte ltd | 04/23 | 01/01 | source, terry | Application Completed -4 | Technician | Nokia | 12/22 | 12/30 | java, c++ | Application Pending +4 | Technician | Nokia | 12/22 | 12/30 | java | Application Pending diff --git a/src/main/java/seedu/commands/RemoveCommand.java b/src/main/java/seedu/commands/RemoveCommand.java index c12f201f21..6273844a6b 100644 --- a/src/main/java/seedu/commands/RemoveCommand.java +++ b/src/main/java/seedu/commands/RemoveCommand.java @@ -1,6 +1,7 @@ package seedu.commands; import seedu.exceptions.InvalidIndex; +import seedu.exceptions.MissingValue; //@@author Ridiculouswifi /** @@ -10,6 +11,7 @@ public class RemoveCommand extends UpdateCommand { @Override protected void updateOneField(String[] words, int internshipIndex) throws InvalidIndex { String field = words[INDEX_FIELD]; + try { switch (field) { case "skills": if (!isValidValue(words)) { @@ -30,6 +32,9 @@ protected void updateOneField(String[] words, int internshipIndex) throws Invali uiCommand.addInvalidFlag(field); break; } + } catch (MissingValue e) { + uiCommand.addInvalidField(field, words[INDEX_DATA] + " is not found"); + } } @Override diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index e6ca02c631..53e93187ac 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -1,6 +1,7 @@ package seedu.duke; import seedu.exceptions.InvalidStatus; +import seedu.exceptions.MissingValue; import java.time.YearMonth; import java.time.format.DateTimeFormatter; @@ -106,9 +107,8 @@ public void setEndDate(String end) throws DateTimeParseException { } //@@author Ridiculouswifi - /** - * Returns all skills stored in `skills` field as a combined String. + * Returns all skills stored in skills field as a combined String. */ public String getSkills() { String skillList = ""; @@ -124,7 +124,7 @@ public String getSkills() { //@@author Ridiculouswifi /** - * Adds the input to the skills field. + * Adds the inputs to the skills field. * * @param skills List of skills, individual skills are separated by commas. */ @@ -138,6 +138,18 @@ public void setSkills(String skills) { } } + //@@author Ridiculouswifi + /** + * Removes the input from the skills field. + * + * @throws MissingValue skill is not found within skills field. + */ + public void removeSkill(String skill) throws MissingValue { + if (!this.skills.remove(skill)) { + throw new MissingValue(); + } + } + public String getStatus() { return status; } diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index f77301ee3d..7787e3e1e5 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -2,6 +2,7 @@ import seedu.exceptions.InvalidIndex; import seedu.exceptions.InvalidStatus; +import seedu.exceptions.MissingValue; import seedu.ui.UiInternshipList; import java.util.ArrayList; @@ -101,11 +102,11 @@ public void updateField(int index, String field, String value) throws InvalidInd } } - public void removeField(int index, String field, String value) throws InvalidIndex { + public void removeField(int index, String field, String value) throws InvalidIndex, MissingValue { try { switch (field) { case "skills": - internships.get(index).setSkills(value); + internships.get(index).removeSkill(value); break; default: assert false: "All valid fields should we handled in individual cases"; diff --git a/src/main/java/seedu/exceptions/MissingValue.java b/src/main/java/seedu/exceptions/MissingValue.java new file mode 100644 index 0000000000..dd24ddfc13 --- /dev/null +++ b/src/main/java/seedu/exceptions/MissingValue.java @@ -0,0 +1,5 @@ +package seedu.exceptions; + +public class MissingValue extends Exception { + +} From e7239fd39e14153e92840975f41671b12a044e59 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 27 Oct 2024 11:25:24 +0800 Subject: [PATCH 125/359] Add test cases for removeSkill of Internship class --- src/main/java/seedu/duke/Internship.java | 2 +- src/test/java/seedu/duke/InternshipTest.java | 33 ++++++++++++++++++-- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 53e93187ac..6572b877be 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -145,7 +145,7 @@ public void setSkills(String skills) { * @throws MissingValue skill is not found within skills field. */ public void removeSkill(String skill) throws MissingValue { - if (!this.skills.remove(skill)) { + if (!this.skills.remove(skill.trim())) { throw new MissingValue(); } } diff --git a/src/test/java/seedu/duke/InternshipTest.java b/src/test/java/seedu/duke/InternshipTest.java index d6a61b127e..eac406c689 100644 --- a/src/test/java/seedu/duke/InternshipTest.java +++ b/src/test/java/seedu/duke/InternshipTest.java @@ -2,6 +2,7 @@ import org.junit.jupiter.api.Test; import seedu.exceptions.InvalidStatus; +import seedu.exceptions.MissingValue; import java.time.DateTimeException; @@ -57,7 +58,7 @@ void setStartDate_invalidDate_expectDateTimeException() { //@@author Ridiculouswifi @Test - void setSkill_oneValidSkill_expectUpdated() { + void setSkills_oneValidSkill_expectUpdated() { assertEquals("", internship.getSkills()); internship.setSkills("Java"); @@ -67,7 +68,7 @@ void setSkill_oneValidSkill_expectUpdated() { //@@author Ridiculouswifi @Test - void setSkill_twoValidSkill_expectUpdated() { + void setSkills_twoValidSkill_expectUpdated() { internship.setSkills("Java, Python"); assertEquals("Java, Python", internship.getSkills()); @@ -75,9 +76,35 @@ void setSkill_twoValidSkill_expectUpdated() { //@@author Ridiculouswifi @Test - void setSkill_emptyInput_expectNoUpdate() { + void setSkills_emptyInput_expectNoUpdate() { internship.setSkills(" "); assertEquals("", internship.getSkills()); } + + //@@author Ridiculouswifi + @Test + void removeSkill_validSkill_expectUpdated() throws MissingValue { + internship.setSkills("Java, Python"); + internship.removeSkill("Java"); + + assertEquals("Python", internship.getSkills()); + } + + //@@author Ridiculouswifi + @Test + void removeSkill_skillWithWhiteSpace_expectUpdated() throws MissingValue { + internship.setSkills("Java, Python"); + internship.removeSkill(" Python "); + + assertEquals("Java", internship.getSkills()); + } + + //@@author Ridiculouswifi + @Test + void removeSkill_invalidSkill_expectException() { + internship.setSkills("Java, Python"); + + assertThrows(MissingValue.class, () -> internship.removeSkill("C++")); + } } From 0637e57ed09bf589f3a66de7e2c7cf14e6eed67e Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 27 Oct 2024 11:39:55 +0800 Subject: [PATCH 126/359] Add test cases for removeField of InternshipList class --- .../java/seedu/duke/InternshipListTest.java | 65 +++++++++++++++---- 1 file changed, 53 insertions(+), 12 deletions(-) diff --git a/src/test/java/seedu/duke/InternshipListTest.java b/src/test/java/seedu/duke/InternshipListTest.java index 5b84e562f6..cd32c71e3a 100644 --- a/src/test/java/seedu/duke/InternshipListTest.java +++ b/src/test/java/seedu/duke/InternshipListTest.java @@ -3,44 +3,85 @@ import org.junit.jupiter.api.Test; import seedu.exceptions.InvalidIndex; import seedu.exceptions.InvalidStatus; +import seedu.exceptions.MissingValue; import java.time.format.DateTimeParseException; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; -//@@ Ridiculouswifi +//@@author Ridiculouswifi class InternshipListTest { - //@@ Ridiculouswifi - @Test - void updateField_validIndexStatus_expectUpdated() throws InvalidIndex, InvalidStatus { - InternshipList internshipList = new InternshipList(); + InternshipList internshipList; + + void initialiseInternshipList() { + internshipList = new InternshipList(); Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); internshipList.addInternship(internship); + } + + //@@author Ridiculouswifi + @Test + void updateField_validIndexStatus_expectUpdated() throws InvalidIndex, InvalidStatus { + initialiseInternshipList(); internshipList.updateField(0, "status", "Application Completed"); assertEquals("Application Completed", internshipList.getInternship(0).getStatus()); } - //@@Ridiculouswifi + //@@author Ridiculouswifi @Test void updateField_outOfBoundsIndex_expectThrow() { - InternshipList internshipList = new InternshipList(); - Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); - internshipList.addInternship(internship); + initialiseInternshipList(); assertThrows(InvalidIndex.class, () -> internshipList.updateField(1, "status", "Application Completed")); } + //@@author Ridiculouswifi @Test void updateField_invalidStartDate_expectThrow() { - InternshipList internshipList = new InternshipList(); - Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); - internshipList.addInternship(internship); + initialiseInternshipList(); assertThrows(DateTimeParseException.class, () -> internshipList.updateField(0, "from", "20/20")); } + + //@@author Ridiculouswifi + @Test + void removeField_validSkill_expectUpdated() throws InvalidIndex, InvalidStatus, MissingValue { + initialiseInternshipList(); + internshipList.updateField(0, "skills", "Java, Python"); + + internshipList.removeField(0, "skills", "Java"); + + assertEquals("Python", internshipList.getInternship(0).getSkills()); + } + + //@@author Ridiculouswifi + @Test + void removeField_invalidSkill_expectThrow() throws InvalidIndex, InvalidStatus { + initialiseInternshipList(); + internshipList.updateField(0, "skills", "Java, Python"); + + assertThrows(MissingValue.class, ()->internshipList.removeField(0, "skills", "C++")); + } + + //@@author Ridiculouswifi + @Test + void removeField_invalidField_expectAssertion() { + initialiseInternshipList(); + + assertThrows(AssertionError.class, ()->internshipList.removeField(0, "status", "Java")); + } + + //@@author Ridiculouswifi + @Test + void removeField_outOfBoundsIndex_expectThrow() { + initialiseInternshipList(); + + assertThrows(InvalidIndex.class, + () -> internshipList.removeField(1, "skills", "Java")); + } } From 4facbbdeaf069b99b5ba306640760a61ceb881da Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 27 Oct 2024 13:19:23 +0800 Subject: [PATCH 127/359] Add test cases for RemoveCommand --- .../seedu/commands/RemoveCommandTest.java | 67 +++++++++++++++++++ .../seedu/commands/UpdateCommandTest.java | 14 +++- 2 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 src/test/java/seedu/commands/RemoveCommandTest.java diff --git a/src/test/java/seedu/commands/RemoveCommandTest.java b/src/test/java/seedu/commands/RemoveCommandTest.java new file mode 100644 index 0000000000..b3c0353a41 --- /dev/null +++ b/src/test/java/seedu/commands/RemoveCommandTest.java @@ -0,0 +1,67 @@ +package seedu.commands; + +import org.junit.jupiter.api.Test; +import seedu.duke.Internship; +import seedu.duke.InternshipList; + +import java.util.ArrayList; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +//@@author Ridiculouswifi +class RemoveCommandTest { + + InternshipList internships; + RemoveCommand removeCommand; + + //@@author Ridiculouswifi + void createList() { + internships = new InternshipList(); + Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); + internship.setSkills("Java, Python"); + internships.addInternship(internship); + + removeCommand = new RemoveCommand(); + removeCommand.setInternshipList(internships); + } + + //@@author Ridiculouswifi + @Test + void updateOneField_validSkill_expectUpdate() { + createList(); + + String[] parsedInputs = {"01", "skills Java"}; + ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); + + removeCommand.execute(arguments); + + assertEquals("Python", internships.getInternship(0).getSkills()); + } + + //@@author Ridiculouswifi + @Test + void updateOneField_invalidField_expectNoUpdate() { + createList(); + + String[] parsedInputs = {"01", "status Application Pending"}; + ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); + + removeCommand.execute(arguments); + + assertEquals("Java, Python", internships.getInternship(0).getSkills()); + } + + //@@author Ridiculouswifi + @Test + void updateOneField_invalidSkill_expectException() { + createList(); + + String[] parsedInputs = {"01", "skills C++"}; + ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); + + removeCommand.execute(arguments); + + assertEquals("Java, Python", internships.getInternship(0).getSkills()); + } +} diff --git a/src/test/java/seedu/commands/UpdateCommandTest.java b/src/test/java/seedu/commands/UpdateCommandTest.java index 1e0deada18..f165241eb3 100644 --- a/src/test/java/seedu/commands/UpdateCommandTest.java +++ b/src/test/java/seedu/commands/UpdateCommandTest.java @@ -9,12 +9,13 @@ import static org.junit.jupiter.api.Assertions.assertEquals; -//@@ Ridiculouswifi +//@@author Ridiculouswifi class UpdateCommandTest { InternshipList internships; UpdateCommand updateCommand; + //@@author Ridiculouswifi void createList() { internships = new InternshipList(); Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); @@ -24,6 +25,7 @@ void createList() { updateCommand.setInternshipList(internships); } + //@@author Ridiculouswifi @Test void execute_validCompany1_expectUpdated() { createList(); @@ -38,6 +40,7 @@ void execute_validCompany1_expectUpdated() { assertEquals("XYZ", internships.getInternship(0).getCompany()); } + //@@author Ridiculouswifi @Test void execute_validStatus1_expectUpdated() { createList(); @@ -52,6 +55,7 @@ void execute_validStatus1_expectUpdated() { assertEquals("Application Completed", internships.getInternship(0).getStatus()); } + //@@author Ridiculouswifi @Test void execute_invalidStatus_expectNoUpdate() { createList(); @@ -64,6 +68,7 @@ void execute_invalidStatus_expectNoUpdate() { assertEquals("Application Pending", internships.getInternship(0).getStatus()); } + //@@author Ridiculouswifi @Test void execute_nonNumberId_expectNoUpdate() { createList(); @@ -78,6 +83,7 @@ void execute_nonNumberId_expectNoUpdate() { assertEquals("ABC", internships.getInternship(0).getCompany()); } + //@@author Ridiculouswifi @Test void execute_emptyId_expectNoUpdate() { createList(); @@ -92,6 +98,7 @@ void execute_emptyId_expectNoUpdate() { assertEquals("ABC", internships.getInternship(0).getCompany()); } + //@@author Ridiculouswifi @Test void execute_outOfBoundsIndex_expectNoUpdate() { createList(); @@ -106,6 +113,7 @@ void execute_outOfBoundsIndex_expectNoUpdate() { assertEquals("ABC", internships.getInternship(0).getCompany()); } + //@@author Ridiculouswifi @Test void execute_emptyValue_expectNoUpdate() { createList(); @@ -120,8 +128,9 @@ void execute_emptyValue_expectNoUpdate() { assertEquals("ABC", internships.getInternship(0).getCompany()); } + //@@author Ridiculouswifi @Test - void execute_oneValidoneInvalidValue_expectUpdateValidValue() { + void execute_oneValidOneInvalidValue_expectUpdateValidValue() { createList(); assertEquals("ABC", internships.getInternship(0).getCompany()); @@ -135,6 +144,7 @@ void execute_oneValidoneInvalidValue_expectUpdateValidValue() { assertEquals("Engineer", internships.getInternship(0).getRole()); } + //@@author Ridiculouswifi @Test void execute_invalidStartDate_expectNoUpdate() { createList(); From 18b4282bf3545284ba584b158b702acf8ce40464 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 27 Oct 2024 13:27:22 +0800 Subject: [PATCH 128/359] Resolve checkstyle errors --- src/main/java/seedu/duke/Parser.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index 9bb2b956e8..db9ef7e540 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -1,6 +1,15 @@ package seedu.duke; -import seedu.commands.*; +import seedu.commands.Command; +import seedu.commands.AddCommand; +import seedu.commands.DeleteCommand; +import seedu.commands.UpdateCommand; +import seedu.commands.SortCommand; +import seedu.commands.FilterCommand; +import seedu.commands.ListCommand; +import seedu.commands.HelpCommand; +import seedu.commands.RemoveCommand; + import seedu.ui.Ui; import java.util.Map; From 5ae59ae5f6b0ba8dc5e3db5323403591056353f9 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 27 Oct 2024 13:31:24 +0800 Subject: [PATCH 129/359] Add RepoSense Docuentation --- src/main/java/seedu/duke/InternshipList.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 7787e3e1e5..58ac912217 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -27,7 +27,7 @@ public void addInternship(Internship internship) { internships.add(internship); } - //@@ Ridiculouswifi + //@@author Ridiculouswifi /** * Returns whether the index given is within the boundaries of the list. */ From c977544f8d4e3b7c2950b0b00b3703caf4992d4d Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 27 Oct 2024 17:30:28 +0800 Subject: [PATCH 130/359] Edit Quick Start and Add command sections --- docs/UserGuide.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 79f595ded4..332b64ed4a 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -18,10 +18,13 @@ This product aims to streamline the tracking of internship applications for the ## Quick Start -{Give steps to get started quickly} - 1. Ensure that you have Java 17 or above installed. -1. Down the latest version of `Duke` from [here](http://link.to/duke). +2. Down the latest version of `.jar` file from [here](). +3. Copy the file to the home folder of your Internship Tracker. +4. Open the terminal, `cd` into the folder with the `.jar` file and use `java -jar easInternship.jar` + command to run the application. +5. Type the command to the CLI and press `Enter` to execute it. +6. Refer to the [Features](#features) section below for details of each command. # Features @@ -35,8 +38,8 @@ This function can be expanded upon to add different features to each internship. **Format:** -`add -name {Role name} -company {Company name} // default param` -`-duration /from {start date} /to {end date} // additional params` +`add -name {Role name} -company {Company name} // compulsory params`
+`-from {date} -to {date} // additional params` **Example Input 1:** `add -name Software Engineer Intern -company Google` @@ -51,7 +54,7 @@ Skills: Not Stated ``` **Example Input 2:** -`add -name Embedded Software Engineer Intern -company Continental -duration /from 05/25 /to 08/25` +`add -name Embedded Software Engineer Intern -company Continental -from 05/25 -to 08/25` **Example Output 2:** ``` From 135246a4559dcd36d32f606a9f4b860d4e5fb290 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 27 Oct 2024 17:45:34 +0800 Subject: [PATCH 131/359] Edit Add command section --- docs/UserGuide.md | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 332b64ed4a..e189fe35f4 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -28,18 +28,18 @@ This product aims to streamline the tracking of internship applications for the # Features -## Add Command -`add` +## Add Command: `add` -Adds internship to the list of internships currently being tracked by the user. The information added is automatically saved to a .txt file. Each internship you add is assigned a unique ID for editing purposes, which is generated based on the order in which these internships were created and stored. +Adds a new internship entry to the list of internships currently being tracked by the user. +Each internship is assigned a unique ID, serving as the reference for functions that call specific Internship entries +(e.g. `update`, `delete`). -This function can be expanded upon to add different features to each internship. -**Format:** +**Format:** `add -role {Role name} -company {Company name} -from {date} -to {date}` -`add -name {Role name} -company {Company name} // compulsory params`
-`-from {date} -to {date} // additional params` +- `role` and `company` are compulsory flags. +- `from` and `to` are optional and will be replaced with `01/01` when left empty. **Example Input 1:** `add -name Software Engineer Intern -company Google` @@ -49,8 +49,8 @@ This function can be expanded upon to add different features to each internship. ID: 01 Role: Software Engineer Intern Company: Google -Duration: Not Stated -Skills: Not Stated +Duration: 01/01 to 01/01 +Skills: Not Stated ``` **Example Input 2:** @@ -65,8 +65,7 @@ Duration: 05/25 to 08/25 Skills: Not Stated ``` -## Update Command -`update` +## Update Command: `update` This feature allows you to update any field of an internship application. For example, when updating the status of an internship application, you can mark the status as ‘application pending’, ‘application completed’, ‘accepted’, ‘rejected’ etc. From f7cc2404e91c20939682716079586a758fa9a708 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Sun, 27 Oct 2024 17:50:23 +0800 Subject: [PATCH 132/359] created deadline class and related functions --- data/EasInternship.txt | 5 +- src/main/java/seedu/commands/SortCommand.java | 8 +- .../java/seedu/commands/UpdateCommand.java | 64 ++++++++++++++- src/main/java/seedu/duke/Deadline.java | 50 ++++++++++++ src/main/java/seedu/duke/Internship.java | 66 +++++++++++++++- src/main/java/seedu/duke/InternshipList.java | 34 +++++++- src/main/java/seedu/duke/Storage.java | 79 +++++++++++++++---- src/main/java/seedu/ui/UiCommand.java | 15 ++++ 8 files changed, 289 insertions(+), 32 deletions(-) create mode 100644 src/main/java/seedu/duke/Deadline.java diff --git a/data/EasInternship.txt b/data/EasInternship.txt index a9a2426c22..54f423b0b6 100644 --- a/data/EasInternship.txt +++ b/data/EasInternship.txt @@ -1,4 +1 @@ -1 | ABC | XYZ | 01/01 | 01/01 | No Skills Entered | Application Pending -2 | software engineer | abs | 01/01 | 03/24 | python | Application Completed -3 | lawyer | lolo pte ltd | 04/23 | 01/01 | No Skills Entered | Application Pending -4 | Technician | Nokia | 12/22 | 12/30 | No Skills Entered | Application Pending +1 | software engineer | google | 01/01 | 01/01 | No Skills Entered | Application Pending | online assessment -date 11/10/24 - interview -date 20/10/24 - work -date 11/10/24 - 11/10/24 -date 11/10/24 - one -date 11/11/11 - deadline -date 11/11/11 diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index dd7e2d94e5..a3ccd3572c 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -24,9 +24,13 @@ public void execute(ArrayList args) { uiCommand.showSortedInternships(sortOption); // Show sorting message for alphabet internships.listInternshipsSortedByRole(); // Sort by role alphabetically (case-insensitive) break; - case "deadline": + case "duration": uiCommand.showSortedInternships(sortOption); // Show sorting message for deadline - internships.listInternshipsSortedByDeadline(); // Sort by start date, then end date (year first) + internships.listInternshipsSortedByDuration(); // Sort by start date, then end date (year first) + break; + case "deadline": + uiCommand.showSortedInternships(sortOption); + internships.listInternshipsSortedByDeadline(); break; default: // Handle invalid sorting options diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index 0cdf831e0b..14fcbc8f38 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -1,8 +1,11 @@ package seedu.commands; +import seedu.duke.Deadline; +import seedu.duke.Internship; import seedu.exceptions.InvalidIndex; import seedu.exceptions.InvalidStatus; +import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; import java.util.ArrayList; @@ -21,14 +24,25 @@ public void execute(ArrayList args) { } args.remove(0); + uiCommand.clearInvalidFlags(); uiCommand.clearUpdatedFields(); uiCommand.clearInvalidFields(); + if (args.get(0).startsWith("deadline")) { + String trimmedDescription = args.get(0).substring(args.get(0).indexOf(" ") + 1).trim(); + String trimmedDate = args.size() > 1 ? args.get(1).substring(args.get(1).indexOf(" ") + 1) : ""; + if (isValidDeadline(trimmedDescription,trimmedDate)) { + updateDeadline(internshipIndex, trimmedDescription,trimmedDate); + } - for (String arg : args) { - String[] words = arg.split(" ", 2); - updateOneField(words, internshipIndex); + } else { + for (String arg : args) { + String[] words = arg.split(" ", 2); + updateOneField(words, internshipIndex); + } } + + uiCommand.showEditedInternship(internships.getInternship(internshipIndex), "update"); } catch (NumberFormatException e) { uiCommand.showOutput("Invalid integer, please provide a valid internship ID"); @@ -76,7 +90,7 @@ private void updateOneField(String[] words, int internshipIndex) throws InvalidI } catch (InvalidStatus e) { String message = """ Status provided is not recognised: - Please provide one of the following: + Please provide one of the following:i - Application Pending - Application Completed - Accepted @@ -84,6 +98,48 @@ private void updateOneField(String[] words, int internshipIndex) throws InvalidI uiCommand.addInvalidField(field, message); } } + //@@author jadenlimjc + + private boolean isValidDeadline(String description, String date) throws DateTimeParseException { + if (description.isEmpty()) { + uiCommand.addInvalidFlag("deadline"); + return false; + } + if (date.isEmpty()) { + uiCommand.addInvalidFlag("date"); + return false; + } + try { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yy"); + formatter.parse(date); + } catch (DateTimeParseException e) { + uiCommand.addInvalidField("date", "Invalid date format. use dd/MM/yy"); + return false; + } + return true; + } + + private void updateDeadline(int internshipIndex, String description, String date) throws InvalidIndex { + Internship internship = internships.getInternship(internshipIndex); + + boolean deadlineFound = false; + + for (Deadline deadline : internship.getDeadlines()) { + if (deadline.getDescription().equalsIgnoreCase(description)) { + deadline.setDate(date); + deadlineFound = true; + uiCommand.addUpdatedField(deadline.getDescription(), deadline.getDate()); + break; + } + } + + if (!deadlineFound) { + internship.addDeadline(description, date); + uiCommand.addCreatedField("Deadline", description); + } + } + + public String getUsage() { return """ diff --git a/src/main/java/seedu/duke/Deadline.java b/src/main/java/seedu/duke/Deadline.java new file mode 100644 index 0000000000..179cae7031 --- /dev/null +++ b/src/main/java/seedu/duke/Deadline.java @@ -0,0 +1,50 @@ +package seedu.duke; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; + + +//@@author jadenlimjc +public class Deadline { + private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("dd/MM/yy"); + + private int internshipID; + private String description; + private LocalDate date; + + public Deadline(int internshipID, String description, String date) { + this.internshipID = internshipID; + this.description = description; + setDate(date); + } + + public int getInternshipId() { + return internshipID; + } + + public void setInternshipId(int internshipId) { + this.internshipID = internshipId; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public void setDate(String date) throws DateTimeParseException { + this.date = LocalDate.parse(date, DATE_FORMATTER); + } + + public String getDate() { + return date.format(DATE_FORMATTER); + } + + @Override + public String toString() { + return description + ": " + getDate(); + } +} diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index c868e7d9f5..d9baa599c5 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -5,8 +5,12 @@ import java.time.YearMonth; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; +import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; +import java.util.Comparator; + /** * Class to store the relevant information for an internship. @@ -20,6 +24,7 @@ public class Internship { private String company; private YearMonth startDate; private YearMonth endDate; + private List deadlines; private String skills; private String status; @@ -38,6 +43,7 @@ public Internship(String role, String company, String start, String end) { this.company = company; setStartDate(start); setEndDate(end); + this.deadlines = new ArrayList<>(); this.skills = "No Skills Entered"; this.status = "Application Pending"; } @@ -66,10 +72,15 @@ public int getId() { } /** - * Sets ID based on the index of the internship in the list. + * Sets ID based on the index of the internship in the list and updates all associated deadlines. + * + * @param index the new zero-based ID for the internship. */ public void setId(int index) { this.id = index + 1; + for (Deadline deadline : deadlines) { + deadline.setInternshipId(id); + } } public String getRole() { @@ -87,7 +98,6 @@ public String getCompany() { public void setCompany(String company) { this.company = company; } - public String getStartDate() { return startDate.format(formatter); // Format as MM/yy } @@ -104,6 +114,53 @@ public void setEndDate(String end) throws DateTimeParseException { this.endDate = YearMonth.parse(end, formatter); } + /** + * Adds a new deadline for this internship. + * + * @param description description of the deadline (e.g., "Application", "Interview"). + * @param date deadline date in MM/yy format. + */ + + public void addDeadline(String description, String date) throws DateTimeParseException{ + deadlines.add(new Deadline(this.id, description, date)); + } + + /** + * Removes a deadline by its description. + * + * @param description description of the deadline to remove. + */ + + public void removeDeadline(String description){ + deadlines.removeIf(deadline -> deadline.getDescription().equalsIgnoreCase(description)); + } + + /** + * Clears all deadlines when the internship is deleted. + */ + public void clearDeadlines() { + deadlines.clear(); + } + + public List getDeadlines() { + return deadlines.isEmpty() ? Collections.emptyList() : deadlines; + } + public Deadline getEarliestDeadline() { + return getDeadlines().stream() + .min(Comparator.comparing(Deadline::getDate)).orElse(null); + } + + public String getFormattedDeadlines() { + if (deadlines.isEmpty()) { + return "No deadlines set."; + } + StringBuilder builder = new StringBuilder(); + for (Deadline deadline : deadlines) { + builder.append(deadline).append("\n"); + } + return builder.toString().trim(); + } + public String getSkills() { return skills; } @@ -123,7 +180,8 @@ public void setStatus(String status) { // toString method for displaying the details @Override public String toString() { - return "ID: " + id + "\tStatus: " + status + "\n" + "Role: " + role + "\n" + "Company: " + company + "\n" + - "Duration: " + getStartDate() + " to " + getEndDate() + "\n" + "Skills: " + skills; + return "ID: " + id + "\t\t\tStatus: " + status + "\n" + "Role: " + role + "\n" + "Company: " + company + "\n" + + "Duration: " + getStartDate() + " to " + getEndDate() + "\n" + "Skills: " + skills + " \n" + + "Deadlines:\n" + getFormattedDeadlines() + "\n"; } } diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index d5cd07b7de..39f7951314 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -41,7 +41,8 @@ public boolean isWithinBounds(int index) { // Method to remove an internship by index (0-based) public void removeInternship(int index) { if (isWithinBounds(index)) { - internships.remove(index); + Internship internship = internships.remove(index); + internship.clearDeadlines(); ui.showDeletedInternship(index + 1); updateIds(); // Reassign IDs after removal } @@ -100,6 +101,8 @@ public void updateField(int index, String field, String value) throws InvalidInd } } + //@@author jadenlimjc + // Method to list all internships public void listAllInternships() { if (internships.isEmpty()) { @@ -129,8 +132,9 @@ public void listInternshipsSortedByRole() { ui.showInternships(sortedList); } + //@@author jadenlimjc // Method to list all internships sorted by start date (year first), then end date - public void listInternshipsSortedByDeadline() { + public void listInternshipsSortedByDuration() { ArrayList sortedInternships = new ArrayList<>(internships); Collections.sort(sortedInternships, (i1, i2) -> { @@ -162,4 +166,30 @@ private int compareYearMonth(String date1, String date2) { } return Integer.compare(month1, month2); } + + + // Method to list all internships sorted by start date (year first), then end date + public void listInternshipsSortedByDeadline() { + ArrayList sortedInternships = new ArrayList<>(internships); + + sortedInternships.sort((i1, i2) -> { + Deadline earliestDeadline1 = i1.getEarliestDeadline(); + Deadline earliestDeadline2 = i2.getEarliestDeadline(); + + // Place internships with no deadlines last + if (earliestDeadline1 == null && earliestDeadline2 == null) { + return 0; // Both have no deadlines, so they are considered equal + } else if (earliestDeadline1 == null) { + return 1; // i1 has no deadline, so it goes after i2 + } else if (earliestDeadline2 == null) { + return -1; // i2 has no deadline, so it goes after i1 + } + return compareYearMonth(earliestDeadline1.getDate(), earliestDeadline2.getDate()); + }); + ui.showInternships(sortedInternships); + } + + + + } diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index 625bba3862..a4ef8199ee 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -5,6 +5,7 @@ import java.io.FileReader; import java.io.BufferedReader; import java.io.IOException; +import java.util.ArrayList; import java.util.List; /** @@ -19,7 +20,7 @@ public class Storage { /** * Saves all the Internships in the InternshipList to a file. * Internships are stored in a specific format, depending on the fields relevant to each internship - * (ID, Role, Company, Duration, Skills, Status). + * (ID, Role, Company, Duration, Deadlines, Skills, Status). */ public static void saveToFile(InternshipList internshipList) { try { @@ -31,13 +32,32 @@ public static void saveToFile(InternshipList internshipList) { FileWriter writer = new FileWriter(FILE_PATH); List internships = internshipList.getAllInternships(); for (Internship internship : internships) { + // Build the deadlines string + StringBuilder deadlinesBuilder = new StringBuilder(); + List deadlines = internship.getDeadlines(); + + if (deadlines.isEmpty()) { + deadlinesBuilder.append("No Deadlines set."); + } else { + for (Deadline deadline : deadlines) { + deadlinesBuilder.append(deadline.getDescription()) + .append(" -date ") + .append(deadline.getDate()) + .append(" - "); + } + // Remove trailing " - " + deadlinesBuilder.setLength(deadlinesBuilder.length() - 3); + } + + // Write the internship details to the file writer.write(internship.getId() + " | " - + internship.getRole() + " | " - + internship.getCompany() + " | " - + internship.getStartDate() + " | " - + internship.getEndDate() + " | " - + internship.getSkills() + " | " - + internship.getStatus() + "\n"); + + internship.getRole() + " | " + + internship.getCompany() + " | " + + internship.getStartDate() + " | " + + internship.getEndDate() + " | " + + internship.getSkills() + " | " + + internship.getStatus() + " | " + + deadlinesBuilder.toString() + "\n"); } writer.close(); } catch (IOException e) { @@ -50,13 +70,12 @@ public static void saveToFile(InternshipList internshipList) { * The method parses each line to recreate the Internship objects and adds them to the InternshipList. */ public static void loadFromFile(InternshipList internshipList) { - try { - File file = new File(FILE_PATH); - if (!file.exists()) { - System.out.println("No data file found."); - return; - } - BufferedReader reader = new BufferedReader(new FileReader(FILE_PATH)); + File file = new File(FILE_PATH); + if (!file.exists()) { + System.out.println("No data file found."); + return; + } + try (BufferedReader reader = new BufferedReader(new FileReader(file))) { String line; while ((line = reader.readLine()) != null) { String[] data = line.split(" \\| "); @@ -66,16 +85,44 @@ public static void loadFromFile(InternshipList internshipList) { String endDate = data[4]; String skills = data[5]; String status = data[6]; + String deadlines = data[7]; Internship internship = new Internship(role, company, startDate, endDate); + internshipList.addInternship(internship); internship.setSkills(skills); internship.setStatus(status); - internshipList.addInternship(internship); + List loadedDeadlines = parseDeadlines(deadlines, internship.getId()); + for (Deadline deadline : loadedDeadlines) { + internship.addDeadline(deadline.getDescription(), deadline.getDate()); + } + + } - reader.close(); } catch (IOException e) { System.out.println("Error while loading tasks: " + e.getMessage()); } } + + private static List parseDeadlines(String deadlineString, int internshipId) { + List deadlines = new ArrayList<>(); + + // Skip parsing if the default "No Deadlines Added" is present + if (deadlineString.equals("No Deadlines set.")) { + return deadlines; + } + + String[] parts = deadlineString.split(" - "); // Adjust as per your actual format + for (String part : parts) { + // Assume part is formatted like: "description -date MM/dd/yyyy" + String[] deadlineParts = part.split(" -date "); + if (deadlineParts.length == 2) { + String description = deadlineParts[0].trim(); + String date = deadlineParts[1].trim(); + deadlines.add(new Deadline(internshipId, description, date)); + } + } + return deadlines; + } + } diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index bd17e21824..f3dee3fbca 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -69,6 +69,12 @@ public void addUpdatedField(String updatedField, String updatedValue) { setUpdatedFields(newUpdatedFields); } + public void addCreatedField(String createdField, String createdValue) { + String newCreatedFields = getUpdatedFields(); + newCreatedFields += createdField + " created: " + createdValue + "\n"; + setUpdatedFields(newCreatedFields); + } + /** * Adds appropriate message to invalidFlags for specified flag. */ @@ -87,6 +93,12 @@ public void addInvalidFlag(String flag) { case "to": newInvalidFlags += "End date not specified." + "\n"; break; + case "deadline": + newInvalidFlags += "Deadline description flag not specified." + "\n"; + break; + case "date": + newInvalidFlags += "Deadline date flag not specified." + "\n"; + break; default: newInvalidFlags += "Unknown flag: " + flag + "\n"; break; @@ -192,4 +204,7 @@ public String getInvalidFields() { public void setInvalidFields(String invalidFields) { this.invalidFields = invalidFields; } + + + } From 161a44b5b844fedadc11f8aab4723962e08bc2bb Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Sun, 27 Oct 2024 17:52:47 +0800 Subject: [PATCH 133/359] Created deadline class and added relevant functions --- src/main/java/seedu/duke/Storage.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index a4ef8199ee..8e38197c89 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -57,7 +57,7 @@ public static void saveToFile(InternshipList internshipList) { + internship.getEndDate() + " | " + internship.getSkills() + " | " + internship.getStatus() + " | " - + deadlinesBuilder.toString() + "\n"); + + deadlinesBuilder + "\n"); } writer.close(); } catch (IOException e) { From 50fe0be6b086187ed07e74e6d30d477e03ec2854 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 27 Oct 2024 19:27:16 +0800 Subject: [PATCH 134/359] Edit Update command section --- docs/UserGuide.md | 59 +++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 33 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index e189fe35f4..313c12ea4a 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -67,64 +67,57 @@ Skills: Not Stated ## Update Command: `update` -This feature allows you to update any field of an internship application. For example, when updating the status of an internship application, you can mark the status as ‘application pending’, ‘application completed’, ‘accepted’, ‘rejected’ etc. - -The default status for any internship that is stored in the database is ‘application pending’. +Updates any field of an Internship entry. + +Valid Fields:
+- `role` +- `company` +- `status` +- `from` +- `to` +- `skills` + +Valid Statuses for `status` flag:
+- Application Pending (Default Status) +- Application Completed +- Accepted +- Rejected **Format:** -`update {ID} {-field} {updated information}` +`update {ID} -{field} {updated information}` -**Example:** +**Examples:** `update 02 -status application completed` ``` -ID: 02 **Status** -Role: Embedded Software Engineer Intern application completed +ID: 02 Status +Role: Embedded Software Engineer Intern application completed Company: Continental Duration: 05/25 to 08/25 Skills: Not Stated ``` -`Update 02 -status interview scheduled` +`update 02 -company Venti` ``` -ID: 02 Status -Role: Embedded Software Engineer Intern interview scheduled -Company: Continental -Duration: 05/25 to 08/25 -Skills: Not Stated -``` - -`Update 02 -company Venti` - -``` -ID: 02 Status -Role: Embedded Software Engineer Intern interview scheduled +ID: 02 Status +Role: Embedded Software Engineer Intern application completed Company: Venti Duration: 05/25 to 08/25 Skills: Not Stated ``` -`Update 02 -duration /from 04/25` +`update 02 -from 04/25 -skills Python` ``` -ID: 02 Status -Role: Embedded Software Engineer Intern interview scheduled +ID: 02 Status +Role: Embedded Software Engineer Intern application completed Company: Venti Duration: 04/25 to 08/25 -Skills: Not Stated +Skills: Python ``` -`update 02 -skills Python SQL` - -``` -ID: 02 Status -Role: Embedded Software Engineer Intern interview scheduled -Company: Venti -Duration: 04/25 to 08/25 -Skills: Python, SQL -``` ## Sort Command `sort` From cee499590d97aa13b044b4d527171f3b49d20bfa Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 27 Oct 2024 19:38:40 +0800 Subject: [PATCH 135/359] Edit Internship class to hold deadlines --- src/main/java/seedu/duke/Internship.java | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 982a9324bc..39c90f4dec 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -25,13 +25,11 @@ public class Internship { private String company; private YearMonth startDate; private YearMonth endDate; + private String status; - private List deadlines; - + private ArrayList deadlines; private ArrayList skills; - private String status; - /** * Constructs an Internship instance with information provided. @@ -128,9 +126,8 @@ public void setEndDate(String end) throws DateTimeParseException { * @param description description of the deadline (e.g., "Application", "Interview"). * @param date deadline date in MM/yy format. */ - public void addDeadline(String description, String date) throws DateTimeParseException{ - deadlines.add(new Deadline(this.id, description, date)); + deadlines.add(new Deadline(getId(), description, date)); } /** @@ -138,7 +135,6 @@ public void addDeadline(String description, String date) throws DateTimeParseExc * * @param description description of the deadline to remove. */ - public void removeDeadline(String description){ deadlines.removeIf(deadline -> deadline.getDescription().equalsIgnoreCase(description)); } @@ -150,9 +146,11 @@ public void clearDeadlines() { deadlines.clear(); } - public List getDeadlines() { - return deadlines.isEmpty() ? Collections.emptyList() : deadlines; + public ArrayList getDeadlines() { + return this.deadlines; } + + // Not sure how to use yet public Deadline getEarliestDeadline() { return getDeadlines().stream() .min(Comparator.comparing(Deadline::getDate)).orElse(null); @@ -164,7 +162,7 @@ public String getFormattedDeadlines() { } StringBuilder builder = new StringBuilder(); for (Deadline deadline : deadlines) { - builder.append(deadline).append("\n"); + builder.append(deadline.toString()).append("\n"); } return builder.toString().trim(); } @@ -233,6 +231,5 @@ public String toString() { return "ID: " + id + "\tStatus: " + status + "\n" + "Role: " + role + "\n" + "Company: " + company + "\n" + "Duration: " + getStartDate() + " to " + getEndDate() + "\n" + "Skills: " + skillsField + " \n" + "Deadlines:\n" + getFormattedDeadlines() + "\n"; - } } From acbd54da9e7271e4951ce4882ed3fb5168ecd564 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 28 Oct 2024 00:51:56 +0800 Subject: [PATCH 136/359] Add updateDeadlines method in Internship class --- .../java/seedu/commands/UpdateCommand.java | 2 +- src/main/java/seedu/duke/Internship.java | 72 +++++++++++++++++-- src/main/java/seedu/duke/InternshipList.java | 5 ++ .../seedu/exceptions/InvalidDeadline.java | 5 ++ src/test/java/seedu/duke/InternshipTest.java | 30 ++++++++ 5 files changed, 107 insertions(+), 7 deletions(-) create mode 100644 src/main/java/seedu/exceptions/InvalidDeadline.java diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index d29d091574..5f140f0ceb 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -128,7 +128,7 @@ private void updateDeadline(int internshipIndex, String description, String date if (deadline.getDescription().equalsIgnoreCase(description)) { deadline.setDate(date); deadlineFound = true; - uiCommand.addUpdatedField(deadline.getDescription(), deadline.getDate()); + //uiCommand.addUpdatedField(deadline.getDescription(), deadline.getDate()); break; } } diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 39c90f4dec..bb72f05143 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -1,14 +1,15 @@ package seedu.duke; +import seedu.exceptions.InvalidDeadline; import seedu.exceptions.InvalidStatus; import seedu.exceptions.MissingValue; +import java.time.LocalDate; import java.time.YearMonth; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; import java.util.List; import java.util.Comparator; @@ -18,7 +19,8 @@ */ //@@author jadenlimjc public class Internship { - private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/yy"); + private static final DateTimeFormatter FORMATTER_MONTH_YEAR = DateTimeFormatter.ofPattern("MM/yy"); + private static final DateTimeFormatter FORMATTER_DATE = DateTimeFormatter.ofPattern("dd/MM/yy"); private int id = -1; private String role; @@ -104,19 +106,19 @@ public void setCompany(String company) { this.company = company; } public String getStartDate() { - return startDate.format(formatter); // Format as MM/yy + return startDate.format(FORMATTER_MONTH_YEAR); // Format as MM/yy } public void setStartDate(String start) throws DateTimeParseException { - this.startDate = YearMonth.parse(start, formatter); + this.startDate = YearMonth.parse(start, FORMATTER_MONTH_YEAR); } public String getEndDate() { - return endDate.format(formatter); // Format as MM/yy + return endDate.format(FORMATTER_MONTH_YEAR); // Format as MM/yy } public void setEndDate(String end) throws DateTimeParseException { - this.endDate = YearMonth.parse(end, formatter); + this.endDate = YearMonth.parse(end, FORMATTER_MONTH_YEAR); } @@ -146,6 +148,64 @@ public void clearDeadlines() { deadlines.clear(); } + //@@author Ridiculouswifi + + /** + * Updates the deadlines of the Internship class. + * If no deadline has the same description, a new deadline entry is created. + * + * @param value String with description and deadline. + * @throws InvalidDeadline Either description is empty or there is no parsable date. + */ + public void updateDeadline(String value) throws InvalidDeadline { + String[] words = value.split(" "); + String description = ""; + String date = ""; + boolean hasFoundDate = false; + + for (String word : words) { + String trimmedWord = word.trim(); + if (isValidDate(trimmedWord)) { + date = trimmedWord; + hasFoundDate = true; + } else { + description += trimmedWord + " "; + } + } + + if (description.trim().isEmpty() || date.trim().isEmpty()) { + throw new InvalidDeadline(); + } + + int deadlineIndex = getDeadlineIndex(description.trim()); + assert deadlineIndex >= -1 : "The index must be -1 minimally"; + if (deadlineIndex != -1) { + deadlines.get(deadlineIndex).setDate(date); + } else { + deadlines.add(new Deadline(getId(), description.trim(), date)); + } + } + + //@@author Ridiculouswifi + protected boolean isValidDate(String date) { + try { + LocalDate.parse(date, FORMATTER_DATE); + return true; + } catch (DateTimeParseException e) { + return false; + } + } + + //@@author Ridiculouswifi + protected int getDeadlineIndex(String description) { + for (int i = 0; i < deadlines.size(); i++) { + if (deadlines.get(i).getDescription().equalsIgnoreCase(description)) { + return i; + } + } + return -1; + } + public ArrayList getDeadlines() { return this.deadlines; } diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 3083be8313..4612a32434 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -1,5 +1,6 @@ package seedu.duke; +import seedu.exceptions.InvalidDeadline; import seedu.exceptions.InvalidIndex; import seedu.exceptions.InvalidStatus; import seedu.exceptions.MissingValue; @@ -93,6 +94,8 @@ public void updateField(int index, String field, String value) throws InvalidInd case "to": internships.get(index).setEndDate(value); break; + case "deadline": + internships.get(index).updateDeadline(value); default: assert false: "All valid fields should we handled in individual cases"; break; @@ -100,6 +103,8 @@ public void updateField(int index, String field, String value) throws InvalidInd } catch (IndexOutOfBoundsException e) { ui.showInvalidIndex(); throw new InvalidIndex(); + } catch (InvalidDeadline e) { + //Hihi } } diff --git a/src/main/java/seedu/exceptions/InvalidDeadline.java b/src/main/java/seedu/exceptions/InvalidDeadline.java new file mode 100644 index 0000000000..d02a991278 --- /dev/null +++ b/src/main/java/seedu/exceptions/InvalidDeadline.java @@ -0,0 +1,5 @@ +package seedu.exceptions; + +public class InvalidDeadline extends Exception { + +} diff --git a/src/test/java/seedu/duke/InternshipTest.java b/src/test/java/seedu/duke/InternshipTest.java index eac406c689..7977a3fbe6 100644 --- a/src/test/java/seedu/duke/InternshipTest.java +++ b/src/test/java/seedu/duke/InternshipTest.java @@ -1,6 +1,7 @@ package seedu.duke; import org.junit.jupiter.api.Test; +import seedu.exceptions.InvalidDeadline; import seedu.exceptions.InvalidStatus; import seedu.exceptions.MissingValue; @@ -107,4 +108,33 @@ void removeSkill_invalidSkill_expectException() { assertThrows(MissingValue.class, () -> internship.removeSkill("C++")); } + + //@@author Ridiculouswifi + @Test + void updateDeadline_validDeadline_expectUpdated() throws InvalidDeadline { + internship.updateDeadline("Interview Deadline 11/11/25"); + + assertEquals("Interview Deadline", internship.getDeadlines().get(0).getDescription()); + } + + //@@author Ridiculouswifi + @Test + void updateDeadline_descriptionEmpty_expectException() { + assertThrows(InvalidDeadline.class, () -> internship.updateDeadline(" 11/11/25")); + } + + //@@author Ridiculouswifi + @Test + void updateDeadline_noValidDates_expectException() { + assertThrows(InvalidDeadline.class, () -> internship.updateDeadline("Interview Deadline 11/11")); + } + + //@@author Ridiculouswifi + @Test + void updateDeadline_sameDescription_expectUpdated() throws InvalidDeadline { + internship.updateDeadline("Interview Deadline 11/11/25"); + internship.updateDeadline("Interview Deadline 12/12/24"); + + assertEquals("12/12/24", internship.getDeadlines().get(0).getDate()); + } } From b918e3799da0e61789cb01a9cb98570757a5712c Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 28 Oct 2024 10:41:55 +0800 Subject: [PATCH 137/359] Edit UpdateCommand to accept deadlines --- .../java/seedu/commands/UpdateCommand.java | 12 +++++++++++- src/main/java/seedu/duke/InternshipList.java | 6 +++--- .../java/seedu/commands/UpdateCommandTest.java | 15 +++++++++++++++ .../java/seedu/duke/InternshipListTest.java | 18 +++++++++++++++--- 4 files changed, 44 insertions(+), 7 deletions(-) diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index 5f140f0ceb..555939d984 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -2,6 +2,7 @@ import seedu.duke.Deadline; import seedu.duke.Internship; +import seedu.exceptions.InvalidDeadline; import seedu.exceptions.InvalidIndex; import seedu.exceptions.InvalidStatus; @@ -28,6 +29,8 @@ public void execute(ArrayList args) { uiCommand.clearInvalidFlags(); uiCommand.clearUpdatedFields(); uiCommand.clearInvalidFields(); + + /* if (args.get(0).startsWith("deadline")) { String trimmedDescription = args.get(0).substring(args.get(0).indexOf(" ") + 1).trim(); String trimmedDate = args.size() > 1 ? args.get(1).substring(args.get(1).indexOf(" ") + 1) : ""; @@ -41,7 +44,11 @@ public void execute(ArrayList args) { updateOneField(words, internshipIndex); } } - + */ + for (String arg : args) { + String[] words = arg.split(" ", 2); + updateOneField(words, internshipIndex); + } uiCommand.showEditedInternship(internships.getInternship(internshipIndex), "update"); } catch (NumberFormatException e) { @@ -74,6 +81,7 @@ protected void updateOneField(String[] words, int internshipIndex) throws Invali case "company": case "from": case "to": + case "deadline": if (!isValidValue(words)) { return; } @@ -87,6 +95,8 @@ protected void updateOneField(String[] words, int internshipIndex) throws Invali } } catch (DateTimeParseException e) { uiCommand.addInvalidField(field, "Invalid date format"); + } catch (InvalidDeadline e) { + uiCommand.addInvalidField(field, "Either description or date is missing."); } catch (InvalidStatus e) { String message = """ Status provided is not recognised: diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 4612a32434..468fea8425 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -73,7 +73,8 @@ public Internship getInternship(int index) { * @param field Specific attribute to update. * @param value Updated value */ - public void updateField(int index, String field, String value) throws InvalidIndex, InvalidStatus { + public void updateField(int index, String field, String value) + throws InvalidIndex, InvalidStatus, InvalidDeadline { try { switch (field) { case "status": @@ -96,6 +97,7 @@ public void updateField(int index, String field, String value) throws InvalidInd break; case "deadline": internships.get(index).updateDeadline(value); + break; default: assert false: "All valid fields should we handled in individual cases"; break; @@ -103,8 +105,6 @@ public void updateField(int index, String field, String value) throws InvalidInd } catch (IndexOutOfBoundsException e) { ui.showInvalidIndex(); throw new InvalidIndex(); - } catch (InvalidDeadline e) { - //Hihi } } diff --git a/src/test/java/seedu/commands/UpdateCommandTest.java b/src/test/java/seedu/commands/UpdateCommandTest.java index f165241eb3..8c4e2e8ff7 100644 --- a/src/test/java/seedu/commands/UpdateCommandTest.java +++ b/src/test/java/seedu/commands/UpdateCommandTest.java @@ -156,4 +156,19 @@ void execute_invalidStartDate_expectNoUpdate() { assertEquals("01/24", internships.getInternship(0).getStartDate()); } + + //@@author Ridiculouswifi + @Test + void execute_validDeadline_expectUpdated() { + createList(); + + String[] parsedInputs = {"1", "deadline Application Draft 1 04/11/25"}; + ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); + + updateCommand.execute(arguments); + + assertEquals("Application Draft 1", + internships.getInternship(0).getDeadlines().get(0).getDescription()); + assertEquals("04/11/25", internships.getInternship(0).getDeadlines().get(0).getDate()); + } } diff --git a/src/test/java/seedu/duke/InternshipListTest.java b/src/test/java/seedu/duke/InternshipListTest.java index cd32c71e3a..869ca09022 100644 --- a/src/test/java/seedu/duke/InternshipListTest.java +++ b/src/test/java/seedu/duke/InternshipListTest.java @@ -1,6 +1,7 @@ package seedu.duke; import org.junit.jupiter.api.Test; +import seedu.exceptions.InvalidDeadline; import seedu.exceptions.InvalidIndex; import seedu.exceptions.InvalidStatus; import seedu.exceptions.MissingValue; @@ -23,7 +24,7 @@ void initialiseInternshipList() { //@@author Ridiculouswifi @Test - void updateField_validIndexStatus_expectUpdated() throws InvalidIndex, InvalidStatus { + void updateField_validIndexStatus_expectUpdated() throws InvalidIndex, InvalidStatus, InvalidDeadline { initialiseInternshipList(); internshipList.updateField(0, "status", "Application Completed"); @@ -50,7 +51,18 @@ void updateField_invalidStartDate_expectThrow() { //@@author Ridiculouswifi @Test - void removeField_validSkill_expectUpdated() throws InvalidIndex, InvalidStatus, MissingValue { + void updateField_validDeadline_expectUpdated() throws InvalidDeadline, InvalidStatus, InvalidIndex { + initialiseInternshipList(); + internshipList.updateField(0, "deadline", "Interview 11/11/25"); + + assertEquals("Interview", + internshipList.getInternship(0).getDeadlines().get(0).getDescription()); + assertEquals("11/11/25", internshipList.getInternship(0).getDeadlines().get(0).getDate()); + } + + //@@author Ridiculouswifi + @Test + void removeField_validSkill_expectUpdated() throws InvalidIndex, InvalidStatus, MissingValue, InvalidDeadline { initialiseInternshipList(); internshipList.updateField(0, "skills", "Java, Python"); @@ -61,7 +73,7 @@ void removeField_validSkill_expectUpdated() throws InvalidIndex, InvalidStatus, //@@author Ridiculouswifi @Test - void removeField_invalidSkill_expectThrow() throws InvalidIndex, InvalidStatus { + void removeField_invalidSkill_expectThrow() throws InvalidIndex, InvalidStatus, InvalidDeadline { initialiseInternshipList(); internshipList.updateField(0, "skills", "Java, Python"); From ffe9b67a6e06918d298bf2dc4ea0360cea30a302 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 28 Oct 2024 11:02:15 +0800 Subject: [PATCH 138/359] Correct Internship Display --- data/EasInternship.txt | 8 ++++---- src/main/java/seedu/duke/Internship.java | 5 ++--- src/main/java/seedu/duke/Storage.java | 2 +- src/main/java/seedu/ui/UiCommand.java | 3 +++ 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/data/EasInternship.txt b/data/EasInternship.txt index c425c41307..b4b37575ae 100644 --- a/data/EasInternship.txt +++ b/data/EasInternship.txt @@ -1,4 +1,4 @@ -1 | ABC | XYZ | 01/01 | 01/01 | | Application Pending -2 | software engineer | abs | 01/01 | 03/24 | python, c++, backend | Application Completed -3 | lawyer | lolo pte ltd | 04/23 | 01/01 | source, terry | Application Completed -4 | Technician | Nokia | 12/22 | 12/30 | java | Application Pending +1 | ABC | XYZ | 01/01 | 01/01 | | Application Pending | No Deadlines set. +2 | software engineer | abs | 01/01 | 03/24 | python, c++, backend | Application Completed | No Deadlines set. +3 | lawyer | lolo pte ltd | 04/23 | 01/01 | source, terry | Application Completed | Application deadline -date 03/12/04 +4 | Technician | Nokia | 12/22 | 12/30 | java, c++ | Application Pending | interview round 1 -date 25/04/24 - interview round 2 -date 14/05/24 diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index bb72f05143..1573d32be3 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -149,7 +149,6 @@ public void clearDeadlines() { } //@@author Ridiculouswifi - /** * Updates the deadlines of the Internship class. * If no deadline has the same description, a new deadline entry is created. @@ -222,7 +221,7 @@ public String getFormattedDeadlines() { } StringBuilder builder = new StringBuilder(); for (Deadline deadline : deadlines) { - builder.append(deadline.toString()).append("\n"); + builder.append("\t").append(deadline.toString()).append("\n"); } return builder.toString().trim(); } @@ -290,6 +289,6 @@ public String toString() { } return "ID: " + id + "\tStatus: " + status + "\n" + "Role: " + role + "\n" + "Company: " + company + "\n" + "Duration: " + getStartDate() + " to " + getEndDate() + "\n" + "Skills: " + skillsField + " \n" + - "Deadlines:\n" + getFormattedDeadlines() + "\n"; + "Deadlines:\n\t" + getFormattedDeadlines(); } } diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index 8e38197c89..d469bd21a3 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -91,12 +91,12 @@ public static void loadFromFile(InternshipList internshipList) { internshipList.addInternship(internship); internship.setSkills(skills); internship.setStatus(status); + List loadedDeadlines = parseDeadlines(deadlines, internship.getId()); for (Deadline deadline : loadedDeadlines) { internship.addDeadline(deadline.getDescription(), deadline.getDate()); } - } } catch (IOException e) { System.out.println("Error while loading tasks: " + e.getMessage()); diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index 2859534662..ad339d8ab8 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -22,6 +22,9 @@ public void showEditedInternship(Internship internship, String action) { if (!getInvalidFlags().isEmpty()) { message += getInvalidFlags() + DIVIDER; } + if (!getInvalidFields().isEmpty()) { + message += getInvalidFields() + DIVIDER; + } switch (action) { case "add": message += "Internship added:\n" + internship.toString(); From b97ce2ace7c32455b290209b88b0b15b9ff1a7f5 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 28 Oct 2024 11:12:40 +0800 Subject: [PATCH 139/359] Comment out unused functions --- src/main/java/seedu/commands/UpdateCommand.java | 7 +++---- src/main/java/seedu/duke/Internship.java | 3 ++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index 555939d984..cb94b5df29 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -109,7 +109,7 @@ protected void updateOneField(String[] words, int internshipIndex) throws Invali } } //@@author jadenlimjc - + /* private boolean isValidDeadline(String description, String date) throws DateTimeParseException { if (description.isEmpty()) { uiCommand.addInvalidFlag("deadline"); @@ -148,9 +148,8 @@ private void updateDeadline(int internshipIndex, String description, String date uiCommand.addCreatedField("Deadline", description); } } - - - + */ + public String getUsage() { return """ update diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 1573d32be3..8b411b554c 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -209,12 +209,13 @@ public ArrayList getDeadlines() { return this.deadlines; } - // Not sure how to use yet + //@@author jadenlimjc public Deadline getEarliestDeadline() { return getDeadlines().stream() .min(Comparator.comparing(Deadline::getDate)).orElse(null); } + //@@author jadenlimjc public String getFormattedDeadlines() { if (deadlines.isEmpty()) { return "No deadlines set."; From c1dfe2c819d64ba6724ac916bff0a82273efed79 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 28 Oct 2024 11:14:41 +0800 Subject: [PATCH 140/359] Resolve checkstyle errors --- src/main/java/seedu/commands/UpdateCommand.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index cb94b5df29..d3fac5dfa0 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -1,12 +1,9 @@ package seedu.commands; -import seedu.duke.Deadline; -import seedu.duke.Internship; import seedu.exceptions.InvalidDeadline; import seedu.exceptions.InvalidIndex; import seedu.exceptions.InvalidStatus; -import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; import java.util.ArrayList; @@ -149,7 +146,7 @@ private void updateDeadline(int internshipIndex, String description, String date } } */ - + public String getUsage() { return """ update From 8e158fc32982352066e5d0b25dfb92b2ba8a8a54 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 28 Oct 2024 14:53:56 +0800 Subject: [PATCH 141/359] added AddCommand and Delete Command to DG --- docs/AboutUs.md | 2 +- docs/DeveloperGuide.md | 64 +++++++++++++++++- docs/images/addcommand.png | Bin 0 -> 102289 bytes docs/images/deletecommand.png | Bin 0 -> 29268 bytes docs/{img.png => images/jaden.png} | Bin .../java/seedu/commands/FilterCommand.java | 2 +- .../java/seedu/commands/UpdateCommand.java | 2 +- src/main/java/seedu/duke/Internship.java | 4 +- src/main/java/seedu/duke/Parser.java | 2 +- src/main/java/seedu/ui/Ui.java | 2 +- 10 files changed, 70 insertions(+), 8 deletions(-) create mode 100644 docs/images/addcommand.png create mode 100644 docs/images/deletecommand.png rename docs/{img.png => images/jaden.png} (100%) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index e2c18bc9e9..ed0c5ce76f 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -2,7 +2,7 @@ Display | Name | Github Profile | Portfolio --------|:---------:|:---------------------------------------:|:---------: -![](https://via.placeholder.com/100.png?text=Photo) | Jaden Lim | [Github](https://github.com/jadenlimjc) | [Portfolio](https://www.linkedin.com/in/jadenlimjc/) +![](/images/jaden.png) | Jaden Lim | [Github](https://github.com/jadenlimjc) | [Portfolio](https://www.linkedin.com/in/jadenlimjc/) ![](https://via.placeholder.com/100.png?text=Photo) | Yu Man Kit | [Github](https://github.com/Toby-Yu) | [Portfolio](toby-yu) ![](https://via.placeholder.com/100.png?text=Photo) | Rahul | [Github](https://github.com/rahuljai-05) | [Portfolio](rahuljai-05) ![](https://via.placeholder.com/100.png?text=Photo) | Tan Ting Hui | [Github](https://github.com/Ridiculouswifi) | [Portfolio](ridiculouswifi) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index ebbce89a11..e4398cb497 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -45,7 +45,17 @@ The logic component is handled by the `Parser` and `Command` classes. The `Parse ### 1.4 Model Component -The model component includes the `InternshipList`, which stores the list of internships or tasks that the user manages. It provides methods for retrieving, adding, and removing internships from the list. +The model component includes the `Internship`, `InternshipList`, `Deadline` and `DeadlineList` classes. + +`Internship`: Represents the individual internship entries. + +`InternshipList`: Manages a collection of Internship objects, providing methods for adding, retrieving, updating, sorting and removing internships. + +`Deadline`: Represents each individual deadline associated with an internship, holding data specific to that deadline (description, date). + +`DeadlineList`: Manages a collection of Deadline objects for a specific internship, providing methods to add, retrieve, or remove deadlines associated with that internship. + +Each `Internship` object contains a `DeadlineList`, providing methods to add, retrieve or remove deadlines associated with that internship. ### 1.5 Storage Component @@ -99,6 +109,58 @@ If the user inputs an unknown command or a command fails during execution, the ` --- +### Add Command Implementation + +#### Overview: +The `AddCommand` class is responsible for adding internship listings to the Internship List. It extends the `Command` class, providing the add functionality as part of the command execution framework. + +#### Design: +- The `AddCommand` class processes user input to determine what fields to add to the new internship listing. +- If no arguments or invalid arguments are given, it prompts the user with an error message indicating which fields are erroneous. + +#### Key Methods: +- `execute(ArrayList args)`: Handles addition logic based on the inputs provided. If the user provides an appropriate "role" and "company", the internship is added to the listing. Otherwise, the user is prompted with which fields are missing. The user also can input start and end dates of the internship during the addition. +- **`getUsage()`**: Returns a string showing the correct usage of the `add` command and the expected input. + +#### Example Usage Scenario: +- The user enters `add -role Software Engineer -company Google`, and the execute method adds the internship to the InternshipList The start and end dates are defaulted to 01/01. + + +- The user enters `add -role Software Engineer -company Facebook -from 10/24 -to 06/25`, and the execute method adds the internship with the specified dates to the InternshipList. + + +- The user enters `add -role Software Engineer`. The execute method detects that no company has been specified and adds `company` to the list of invalid flags. uiCommand is then called and prints an error statement of all invalid flags detected. + +#### Sequence Diagram: + +The following sequence diagram shows how the `AddCommand` is executed: +![AddCommandSequenceDiagram](images/addcommand.png) + +### Delete Command Implementation + +#### Overview: +The `DeleteCommand` class is responsible for deleting internship listings from the Internship List. It extends the `Command` class, providing the delete functionality as part of the command execution framework. + +#### Design: +- The `DeleteCommand` class processes user input to determine which `Internship` to remove from the `InternshipList`. +- If no arguments or invalid arguments are given, it prompts the user with an error message indicating which fields are erroneous. + +#### Key Methods: +- `execute(ArrayList args)` : Handles deletion logic based on the inputs provided. If the user provides an appropriate `internshipID`, the `Internship` is deleted from the `InternshipList`. Otherwise, if an inappropriate or no `internshipID` is specified, the user is prompted that the `internshipID` is invalid. + + +- `getUsage()`: Returns a string showing the correct usage of the `delete` command and the expected input. + +#### Example Usage Scenario: +- The user enters `delete 1`. The execute method removes the `Internship` from the `InternshipList` if the `internshipID` is valid. +- The user enters `delete -1`. The execute method detects that the `internshipID` is invalid. uiCommand is called and prints an output `Invalid integer, please provide a valid internship ID`. + +#### Sequence Diagram +The following sequence diagram shows how the `DeleteCommand` is executed: +![DeleteCommandSequenceDiagram](images/deletecommand.png) + + + ### SortCommand Implementation #### Overview: diff --git a/docs/images/addcommand.png b/docs/images/addcommand.png new file mode 100644 index 0000000000000000000000000000000000000000..5bb765bdabd367ae10376b27f5f872bd4f58e7f9 GIT binary patch literal 102289 zcmcG$c|26_|2NLq#=d7~?8^`mB5LegMY4^3&7Lh9vdmZ#CHoSxL?L6ZP|B9Iq$Gsw zOGF0QxBEK1KkxVF^Zot4_xFC>f877*k(qN`=Q`K9UeE1y;*757&{Agj44 z6A{6XL`0;=aB}b)`UHmu;2+`uV;yy(%8%SjL_`Q8Jxw(ejO|Jo#d8*|&9LMmQsF2^ z^++M%_+mq?S}`$p)H_Kv69yKwT^6;gCYmygS}B^8k#LDfgqS{^fF27OS&!0Tf5oKY zTC?Oq(Cu5Ui+vv^F2uIq_Bn4dx%}(ZHB;4`U*nAdi_tM~24Vpe>0Kg51njgHf~P0m zKwhKf&wn+s;4>|(a||`^pD+2!!-SBPX7n+Fus$nRo_VI@}{r8J)$TT!uy zAvol&pLLt=m(WS%O-~gy)X!51K2%cs7!S^4E`X|?(SKo7>c+4;n|QG}WNX=f^~G>6 z7)`r^O|?C4{Pxbmxz`N&}@=1@%^$tiL`pePUW}Ht@uN?OU}&lu5bSWh%DQl2vcEvyV^u z6eqipRZRlI`e{kR1{t~;lIQ`qp=~-Y%1o{s4QdoC0nrQIiqg%h%O20G(2b5hcx--c?eRvmJ z1V(#~N|B*=LWA57ufuzDkJOHZ`n_)M#X%bx%<@ zV;I<7D#;(*#g?|zIVQ8J$hV6Xg;iQN8f)guI7E&I^sB;1CJWR^jt=@So=76iE7J^4 zH)xpP3{#1#jjlR%$(a zz<05d{H)#EP;u|}X{OQ=m-iWEi_72^nQvTA4_Y1Vsh`K$r^u2{Cbit?>PrXb&VUrH#GYs(^eu!!F%8ZZi_TBw2SAK z8}nd?Ws7B{Ma^U9zHHNzw|=wQHlh|K_fAO-s1oPi`ZZqGz$#^F63AXk|9VH@KoAzE ziFFoE{!zOYEr^X`@1&lNyEPeRPDy&7k1m8oW$&few=-IF>@5{m^%7{Mn?I7ydW{(A zk;H4sgzWs1;!(bt4{^vM9v+55x2 z&GZ5qjx(CdK`UY%@vPSdqWr&HR_xhc9ZSEDB9At)x3_O#u*AB;kBSO-)T!-4*R|sB z6Lwp6Edrv{VhhzzvZ!?_JGIWi8ifyb)-qLZZ{JqH0nT?^?orwqViRHD3$}x*DbJIfXyAOw6Pkhv?(W@AE|MAX84>( z)-f9E7V~pB4Ue5upA6go&4}mf_TJ*Va`DH>L)W~|!B$xoq&^#SJ)D*>;?`H4i|mU% zqWNj9Q4~nV!_EGSrkeJ5*4LUguL$c~jG3u5Fz;F&Iq^8D)-e!EL)(>B#nlBCQj`RW zh9Kk-bA}*9Wk^kxXFUCg{j6IOr#JgKmCsSW_xUc`ZkoS6-uEm+*F7B~UPoD!`OS9j zJ5xoGXe3z@_h7H)UI=^Da&A_SuX(XQ-)_@YvNrOBFYNc#rOD>z3vq(OB-6~#NghUa zQEaplUV4w2jkOxJ8bpaYexMDDYHA^Bts^-TopfrBOzHLN%dy`*9ATETZR{7e2Cs3} z!o;(c1D{=Z65B3}sVp(fH_OG6Q4!v8PX|XT61#lJlJ&3$tJa`#KEuj{5A%vo`DQ5- zU3Y>C9fSUF3UxAda@A-->LJeJcH=%!E)uqe9r^wL!rc_Q_Y0Q?u&ttDC*3MKIOQ0m=I z(QphUaSE%n`@Pz{SZtvEtT+cb2Zb`tC&5G&0lx6vLe4W7@hOGaRvlbDv0;l$ip*o* zFSFu2WX?nmoa_8M>}8ZVErU_Noib;_P69e zTzeZDtmZ~)OODZ$QJ|4-I}K+=Z(uPkD62W@qrkNZn*rPuhIGbDh#i$(b&U)OH zs-l;`79ga>n9#Ufg2mSAnE4w~F#?L1C8kfx;j?zg@oUZSBXR9non2|`n$TMzL{>WKu-)*_fq z)DN6R)b8<4^NDF~q|qcEU1#FuY2z3+wawXN;ywCYPu~2V4mG3ic~Hr33^U9duoANu zyN=Lyx+;9kvVDzxmImn zUKR`wmZDo&T~^F&!ceRhmO`=OV9(g8{(zA{v<{cd5G8SLZKKJL%4&%sfSQh+ruiUM zI~wH`^OG$sJBbz3UZB$rJHw!B*0!`*7|S~lNK%z&I<{Zi z!ydw3jOve1w}S~%lF+v~2AkQ7C1I)hsq*$2In}R_GFg#SEn40=rB_Ihz{*UiN)8>E zPx*K4BE$&3i2io}W~*PvzRqOYG`y7Tx8`D_1&|191RueuB?=dr%Q&ZG0cL6(RU1jT zbj~_5a}exTRh!j$15vaWWZF_y7Th>=25}BCba(>SMlk-JIY$2zc?eM%HkK$4&SK3* z(Syakpb0>b6CM!hV498C-nF$!CgBkuVxzBF%f(JyMV(S3$Fg>tdmLHL4P|?JI1~_* zke6ms+p0`?B(q{H+mHc9o%*Wa)V~)!pya4(-3? zF!ZvDDd|EN5Mc^|DXjV8XVFhd+Toc>c|v~nR%D&@5jv+keta(48Y0d6rG`SCX4qFt z5njeQPc5+(a$?9CwAH#>1dzV1g2#!`BP|TnO;Tp1J-uYO)<`u{HQZ;l)3p1BENGl7 zMg0}T0SUcIL8Cwxi8{ZGQR^&u3hNXrUFMX$b06abmdzHU79fm@NA)IoMsXwN3|i{2 zTK`=fQkKa|i)!Fjq({^oBA67P9Dszmp+Rw-@1 zh9W_qpF4#UjjQP#K`J;jN5!lV; znXg<#q_q(JB!5TAt9;0vRmb!LT?0R}kPwbztxPDQ)fI0;2_bv@_k|Z#^vqJOt>xvv z*t)^`UW4%*Kl@<#(Y|{)Or7~$cZHRJ%wR(Wu^?p>$&9S`=vnU@^D2mkEP1Rf>?-W; z4BX|2OVR5UV;UI$*y(Dj`}}P%%rlBTV)q&qq)ZUu5Ya`}DQv>ty}^X|9a*jC;ehCd z_ft`|3CV;Y>}2d^+HlaUJ=cKq%Ui2U(M7*Z%6FW;s|>%)ugBg~)nH6hdnekc95F{4 ziL>U3cJvh<_eh*G7E;%shiBqUrf#t$aSO$^ZDKVY$Nh2mq04O1Zwllv+W0Y4p$f8v zRqB>L#5JSDWqhZ<0u2b;>GMnby%L zHd>(peKT?eGdPncvEt*TPYIElewfMXw=#xF>i4~a%}@nXe#NdGn>swAgo_aCU!A< z+XhJiB#jzN@O>NwMKOFj!>xIP$eHm-ph~d%-I$M%YRS`l5(+x8Qw@b=*40lLhDhTy zm~MKId9n(93$de93GP;-dU8*Nkb#CTXZRd6GAJg?oX9z!E9X; zQfoJWRWY?$;r2|!yRe&ru+IooEfcLJ-T<%@DL8^AhC$a}y;6$jb}94R9Ac45lZ^M2 zbu<0W6+ZgQ36GhG#~2al8Xn^y-M=^;U}+<9L_P73+-d=o`Pc7Sg1{KOV$*n-{^5Q> z0OvT0X0P1)hw4@Hfa*KO?-Khr(YuR%1hJzykpqE$$e))E*101{_ZvT;kAHp7UKG@o zpvOIL|IH!)-ww$dWd@OxANAOf!qB6wVdMH6Hdb1fGfzLNI1&zUjr(MHW_GEg@dOma z^b2A8n5#E+T(1L6=)J?}X9AR;xaU)Zw(0&Jp-$TWw zrrMe{e{}V2KJ{V~u;=+SZdhm@YquS*Wkw*l?T{3Y?W8|x*S#}5O5Jn!YBk+u*?YQX zM#OhID>_Em<7Dn2kQSG2&j9V)HT{BCg_-xlFY1McBVtX#XL^cWUZTZnlg30hkyPMv%m4aX6 z=B?ozz$(R=up@)<0H99C{trn(LbBnmztjUz1BMgj9onsblI( zp|%;8rtm$~t&X*zd*ZC#Cw)7{ImTHyJB;gnBdS)tmZ^_Z?%B^wk`cFBJj*E@^rgtb z|LIGbwM<={f5yg-j=Rp4gx8ERlL+J>kLS~D=5ARRY~^)SN=u=XZ(d! z1muZpf1Y^$Bc%ZCUk$T#4`rS1L-9tgb?ADB|Js`!eV}Uy-QHg5%o3_~ zEWnG*?t&3NME;D{L1bu%H+0!W9GTvs}Z@^|P>FR%Sd^G>+XJslmEvK~% zGFNGHp)d6gE!U{REC9g0-|AfF!ASI$0stfNKiu_m|NbiQ!)#XNx?6uoOCXkov+xBpsf>9mc@vCfH;QUtWa&M;IxrZqjJXfrBA0M564;Zzyq3TxJ5XEV9 z-F4Fs_{ht#;Xq=+=SUf3NRF16qOe${QB)=1p^qq9r`uzNT|ee79<9#xq&`bUy&-+? z5$W_iXQ0?{Xk7#bR%)wU$NpqvKuMY;`V9YV;Q`wj+qkA}N2SztZ0s6yZMVkMUX)w~ zW_<>dgwk5q6?3C-WUgGtcj}}E_gLMop)gk$<3#gxmAFp!e@Y9>XvMSWDdnu6|7iNf z@l|J$DjUhLsx!{I`q8ZI2zfIa(G2HE6{#w3;3js31 zVnUr`2bHjv8Raj*w1mXyN8;CUM?z_Muo&1j05pbM_ye6`e!Yv&d`Q8ejr3cCU(tPb zS@mClJc?UX7o>?_(?;K{zwuq5?^^RM@_QtmEaeBvNoCXT0R!a-j1izGw^XB%CZz@EOsi~d7LUO#>3w=R=l3m)$HIq) zMem$ju*Ck~TrzuB>nAJ2Zj8OW{Oi@v(;c%L@1--rY?spjKAAj)?NEQ$0Hhm}Gco-; zt7D>sP+SwY@=e|AA9Ka?BaRzGH+n?%J!C!tmB#d`QLVPggS$S~VuAezeK05b3y?pkrVrV~4-}{58-6Os}iZfJ-s&_gP5* zoO0TH?{Ix zAU+OrC0W7BpI+GnD}i6@-YL`b2^V~T(1>%Txteazw{c>w|D(_5itL6 z&w37BvV7?U>0M@mv?TjLkdV+NVnIDjvrxFB*Iddhg(e=8y81Ypsbp_+@qHv2_29k8 z4x(Bt;YuQ}>dj=;-KnU7a&u{6iqeB_!9;kQTLuLcwPdw@jbp0g`YKT7@=;)WcuKJi zL^IOUmlz6w^0jn_%z^m5R#;L7P`<<&qZglge0_E%L*e3R$!Y58*&n=-r>%|X9d zb1zPB8#nsTH<;68+DN+Af^z12D)e|ttp|`I&6YcZRd#l?lD}bV(jSr0!#W9^foiv- zPy24q;5*taLDAf5^#eOhh;~um{?^Z}5AT!`UJzPH=)1vn46;v#ZuUXKW6`%9Xj9X| zC|CdT3vXALAwK0Q<0a-?r-FQ+DLp)?#*3N*i~H$q_&XT=I|K&;0W?BWp9?CoyBzsW zG$ShZH#=C(e}uP0onATPMYOMFr7|~z<4z{B51LI-l*mXD{?vJEW#qHj2QOh{){0Z2 z>eEym+&cN*E)WgL4E5|o?E~Q6bMG?^6QqgMaKsc`(bRO>XJzg)-sr6Hq7fu@LLf(+ zUw95*amcmc9tpjRyKr*2`OE~PO(@33z!Zg!AJF;%aauybf)p<75b$^^sWXx!17lg; zbQ!^mQEpKu@a~}+U9py#@2}RPNMHK9WGYg-9NQ$F+|!Sywh09-bw@za)n6KTvbDswSRJS^ zU_WQSn+!4cr+dQ4yLwQIDZ|vO+Q9R4ic6eGiY|wBI6zQL4w* zz`Ruis6{$hJBiRWqZSm3;|~g*7-xE(Mggm!nk6|3p-ld>_^NE(1%0aBcnk6@QXfLLYRe_v0!`wDlt6!1b z$uk#d9`u1Il$mBKym=8s@1|4M+qI;_q zriSxmu`R`PQ~A4Bm#Oi7zPNvfj-j4re5I`CKP&lDibnbKDjaRdJ>cnhbW{911DHai zxd6Bk>W$_fhQJnc#;fzP;`d_yJNC7aaxB53K#EGXy3we`w@)y-AA%6-{(^cv2>y=h z)YnduvovB}^!G96Y9lvC_3>orwzWU?;Pz>40b~nlG!=a_!qu1CJ_7Lsrtnp{UpCe# zkF}V;MZqDF--U?2GQ%53L8f#Xm&cmKI)WLYMXm{_CDb#^jrC9|zvGWO$0ovz@g(bH zq(%@p<=ACa*fVg753TJVf&F}m{d0&}+txivFCj|u*GxFdJi18q`BU&yR|x4o4d{>Enz=pI z;^*iYH`H{w`L_+E-wf_@M`v;tYRi_p$a2cdrJS6 zTF1rQH-nkqa|R3oO7M$<4DSomF0t>sR0(Zd3UUM!%Xk-NQ6KY|e>g0RjgR} zlx??OerSYI{TeJ8n^GdeUQ!+Y4Jm{S{T_bSia#TO|5s+4mSBNRAakSa4|JTJLAVlj zRwojoGs4Us;Hz;eso&r7{yDLC?1f9RMS#e#o*&{;MN(>g=6loyXphsv^*X{mVnKAF zYlm0IiCu-oN3syJNQS4b!r8)XuPW{6rgoF<=>d-HiO#m$rs|>U(LZ~jkP(3U!)fHN zn*g#?{n;5UE(w9n9@4V^=}U3W!Vl!9GT*5Gp+O4O33&VI;6kBgtIRhtx1_tX;71q- zFg+)N_B{IUgj8U*lgLwOz3Zy8!rs$VJ8dyPG}|PrJIL}_i98h1Y7v;2rtf4`CNE#x zHARlC3SY&Hs;&V7c!T4cog-t5Wyiyrr!$>Lvs-UchC+g(uBe@BPk-Loozh2ZfvyE- zl0@shD}=$Ow)(Q*){d*p8114ti!O)r0#iDq4H1VWrVNgu!TI0mtBy7Fe;aVVaZ8jY z;DywcY{^6!Ek-_z(p#N3a^~xaC)!CoIcr$!Sb42#)G38Efamp75qhiP(#S{*1Mx3D zdI_n>ZXx7?vM`!5D&4$Q*1Wk+K6pg=o}$hs8*KdI@qp-cjei{-V)h|$B|BTi%ch8m zYDNtVL#6a=h?&U)B2K8?We@wb_5I_pyV3 zS=wovQSPflmsp9X01q-0&?LQ!qJjIKyd%nfpL6Nq87+V+G`O4!M8RNn+EC=XHB|pd z3n)@`pi;EOsQn{tG;jiq!n{1Tjqx8L<3SQ@mB{agz+f4*PZimP*0w0@K^L`U{1t7H zk?h%d)7zK8#W)QQ&N=+#G&N$N7Xaf_d!ohg(7D69LS+Lyu6;DR35TuY6u@HA0VQ@IOfmm*!eKi*sa&mw)FIn z2;HZ8O|p@9vIKjx%LIs2CV@@;UuO}(VeQ^bX~Vx~k;#je;Kcfm_=AN<1Cud^I_e*#=f5%a zx%rW|#{FVd4p!=ni?nHn`QHM}xd%8$G4NZP=|xt-Wm?U% zyNo{tjXrm;IqSkDkn|he)m{I=yJe<<&nkrLaJD*7HAQxg67TFI3&fy*Z78pjwc9&c5D zh4Q`pu(ja#*S9j|J%@CAQiKD?A*OwR0iM3|&adxKq(Jy0z&=bEYlx5oS1l8={~P>f z=j!?|q)Im*8lQf<>j=pKkoMkX^*X2m81LHq+p9=`UNe9T-3zGP6U{iLtDb4G-h)Xs z#EiOX&=R|c`+Hr-v*tcJe@p*;hLp?tOh;sXxoNowu;WWoqJSsf`!?)gF30EXRRIXM zLw+O^O|)*v_KG+}_L<_pmYXA&u(!yZ$s+PWis10~7enJJ+czxzz08Ix{Po|1av;J$ zsSOwfY2HIgbgeG9oagk>2_SPIpc?W!30Tg^V6}6LJChNaZ*K2MaO{Coq)%ZbaSW{D z#+oiIyHL{LdS7-=QR0PX(eog>plIiEQr^?9;L$yT1;XPlhBgVGg;X>Hw@uyAYp0?oZN>iABD)opOTV*a{!Qg>6ux@vkCens&W9+ z#bWR+sW2ZM1RCP&Atns^Fg=L3;(=FwqjCP!ANF{QH+Bj0 z=#nTfN(=q@(icw->*jjX4FC-k2FZ?rPge`oW76Fy3l{8=b{kho|w`kLg4CNSi z&^aRmXJm@-vl4HB#G;?+r)`vhfBViMZQ{-C5`D{oQ>+iJ{4L*e0QsH?E2m4XB42X~ zVfyPNcKlDNrjO>kv`?YB=he;Ufj==Ckb>1(Dh-HOK4Z zfmIIkaP+#zwx9D0(Wly_G7P#@O%l8L=F-ej=Wk!8`-4qfC&FZrIQkoBPtKwfNK}Qp9kmzl8F4U5kI0P6VtF z_$|}Df4d(jQtJfZwv>O>nEto_q0`;_#qgq(_t?wycvd8n9~T2r9*~?eXjN;d1(HIc zI%&9Aq?4Ed%KE2H_R^v9?GeV>nXfBOByUReSSPOQGLI;g8Zt~Bug3|HJZ&9AEhuk2 zQxyT=p~ll=qdG7_LhLRDBlx&rK;SNfZ~i^6=dA!#slx=Ejo=4BM>@<=0m6FV=%=pW zQK>BJX&;h*R)FBu1jQmszsR*i;Yl+7Q=Q|OWBec^{g^HsSXN2Of0i@PZ+zCzGytqS zLSMW?r^b3O6NQ6(oIhbo4Llu}FNy7}P1;qy{-x~xsX*=0>Ss4le$TjlLM(kMjH2OD zHUU+(FYPUO&IKW80W5S4W4Ckd25AW7!CjbVIlJLCfO#_pi4{uVvQ8KH%} z-3tDl#L2V0GDc@PA&@#GRX;8OcES|pz-7%S@t;p4i3qtDBQC7(@xh?LA&{Q+pdb+_ zBq7Z`wfuLU7 zOxP~Lq35Ao$q*Fmn+ll%I;hLy$4ADs&U!}&OJ7P%J3T8KwLun3pnf8x9Ex`sgVbBv zTY4VlVsG%p@(5~S}>D`N;?gp+NBex&il!r?olml658nvUI(qtfoe6E&B*wR z??fsp(=HtCFz&lBk#JPRQRl4?oTj_E1EYSMRt2%**I|q_&DU{42 z-5qRpk|5*xI)y!nHI!FZK=QF1utt(<+csfU)Cz~W0-O*k>LKgyb;-05DL1QNiVj3E z**7p!amah5-CP|tMUkVejnAw@Y^&SEX&hw+5RbM9+y+@1RJqD#zAO0x_ zAe`ljmc9@P;l(gZKAmYfxmgdy;K)j6D z9WI1aoD8kYRS7oEi#QGzW0=|9O|l{l=RGugvY%zjk)BjIpTtZ3d)>Kg><#;@0Fy+EFN#tTgm z8dz0DdFfDi@c8K93GiZ;9dL>QAgg)i#`w8DVYL~gx&}x_H8J3vAz#h13#3?-5HtY` zACi01k)AVNz(zYON><3vz>2vL*+b=wHK*`bUjV|sv;dlzm@0#Hf8BXUi{RlIaFc3S|jM( zQU0wf`D>nnJSJ!Q#8>Adxw-_LczO}wkZv$hf?zxP5^bCWn+pO9k&kl$ck78+g{3h_ zj9#v`dFl0#DG_88i=!{0%x=6|5>fpPvM%Gl8)xE?b6^?CadS5>268$!?C;hK9#p#*r=^?Cr7inO(fM zFKrq=Gq0-T=74wqJ!tr`jymS_*Ta8x) zSLrwNax3&|XCxoN~t>>Qf+tQv^_-fPksAu*t(=+Ukme;=lgfz&%5O%g% z6iwxyXtX?3Q9f;a$Y%kOUM7ex>(?@oBda2vD#KkpL6th?Q=dRC09(87lJ;H1&hkC; zeFGWy>0>=l+HV&x^u#MYwSCbAm6#EE`HGI~l+ioU2>N!3ZWjw+==ZL{RS~jZB)XSS zd9kJp$}N3NAOTYgwt}?DWPJP~O*x{e+OZ=(ZF2q0S)p7@vgz~|#kv`f8(?ELzR-34 zN)o|?waJ%ujjV?1Miu0}i8l*gx>k3+4;=AWLFkz!S*Q4JOjP$5c+*iNn>N{7(i@*2 zYh`0SSby`e(^=L!$4yMtP|Zad@h(t?Qh&%W3om@6# z8Cx@n-IN!r5SifB5sCTtnZv#rroP@>YY{b6zo}KNpwMB+lTir^J_}JZwT~ab!}W0E zyse3Ov2JqOq~90H39j;~Q!M`B_}ajqW)S5z4%gwO-w47-a_Kiba%Qy_ZrLs-vO5V%Nbyg5GZX+! z$*16>TYJl=vdSmFWw*#xPkBhDs8zr;Xos6k2?MfCgC8Vho?}j8O_T2LfeKZ8NT(4e zWLS=P&s%>357UTcOGJ~!J?c)brlK*m$G{Y?5hfVQTkg(;RDi$8E`76(ipdDr*V}26 zYA}ZVYO3xlQ$GpQF7WUo=@e(6(%a@-&Be< zqnh3~!067a>7pJ^`rwfcDhWZwDWQ0TNm#!)^g-qj8K>3w4{`HK>)u6-57iAtG+ECp zoRVmR8ISHRVL(ZU-ioZ5g421h%DieK_=sO=M1q}Oy1S05O}jzfg|+)0SD0CAXwq{p z*63V9NJKeNB5>UDV%bs(DbT|SnYhDDNR#gD0f-YZvRr5y|Qzr#GM-t1umVlE6BX_@e z&00q~1fT`z<|Y*RBZ9a_e3+cgw11C;^GRm z_a$fV;IF*rXV7spe4c-{>J>F2XJHn-nvz@FpjQE936eo6r%D4Z{UhzPuoDBUS)dkm zwoq24^^=9VSrZZQRNNZYfgh%c2my%tao2}cDS~iewe;VJ7Q*uChR!caF4Ky@pVI!~ z{>lddQjJ7hoqc3Q3e%X`l66@heH;Rcn&bp`pB;3#L4Fo3 zw4H#Xm;O7L3LKHk?m{30GV(G@An;wg0+ae-F1+{w#0<WL+J!p^siGJTjJf4WcA9Nkb8Q4-jwD+vM{g3Q>9Ur?2 z^rd2;vP6<1%el`7U1I)Xq~J3l2~rcu06G1wx7C6SM43rhN_hD4pt#cQZM<_&idIB3 z2r3kVfoH2E1OX%okNXTnw>c2(5MRB7RSDg#p8N1{v*{TWBoWkk0M|7Ks>4l|;Uac`075J?J+ff!Tx^*4|I)1-6k>42M3c_fW zR{xO0^Hy?0?Fvcw=N@16LH#W{seH98!J*_|tg<(kx-odoaOvddP{p;j4X_)(|MmU# zd`104ibMMyaeiF=JixB{{73-8hJqlc7V56i=M3MQXG1@COUB-W*fvmdiVMp@?6nxX z1!Sq8BRuDW(tR&+gf zYUr=VMU$bcMcVEMK)Ofv5XTXtq5MmT1&|RQ=i>@mNTO?eUau;Y*)_jCrt`1$nY?hc z1K_L2IqKQS!RlQ$oW)LJ1mpTKaF9L(>ej0F|B=L@tCK-PtyW(PqFBL9RFA~yl_vJkf$P3zi6JYi4=&j#Qp@P+8m zG(fe*{nT(eWI|M=MF8tAhk>>BA|)LXX`$?J9&2>r6fGp&LSS4~O$_1ab{+s(VbQ*9 z`D=+(>L~a@%j@Xlbq+YI?gs$qgaCi@^SImh{XX<;^#$k$eS=g5qQ7PRzpeq-MZ70g z*xj2Y>vZ-kX+M<;E2Qp0Jx>Z=BM6{G(&(8n=&MEk1f1fDMU5k8Jh74m&~ih}Y{U0l zfB-N@oe#K|!TRB>Nkh>0bCN9@hO2}{O?BDmok{GW#fkUuDdNJ*(F>vf-zfiyIk z^Zd*`X){Cmy9{^f_Q|fc^~-wP z(i(sa$&z~7<`oO+OP|R~{+#^qeLYAD5I)@<0V1=MRl56+&iOsw=F>Gxx_GVJOiJA5 z)$<5$mZ6ZsP!o&V#c~QQ}*W?v2^;mNrZdHGB*HAP8+eeB}~YCR`^J^ys-eD zj!Z*jS%)B~yBDE~n)C?+vQTQ#=cT3a+M+29_S@Yvll>)A(vqf~R6^>3TF#Fq~N+k!P z*JZ90baiQ7fs$%hR``4bW^KyWpOKBQjb?Q#LtDF0tHPO3{J-5O2HYp0Q~SF7Db{~# zN2PWPW9`N_*Zidl=B9J^|In)&FRQ^97*v6#^4V!&`_#olLew2UcP9bQ-hb&n(Rtk- zhB=%qU;5^OB%chpfh7RfKd;M*TcrrJkXoIH=TW}=PYLMNQT2T5boLW``hNJj=5@KA@1@GQTpN0BDP_{}w-JwXXgx`Y^OP2Tw*0frJRPIA z;^nSHORz-er59U}s04iYdg_UfZTf zm^p7vu)LYE3vS{r9e4dHUhW%TY35=q>r@+m z7j)6u(JxQ6eIxA=dNo1fxt&l$Rj*a}O*}%R5DWKPV(r0c4p?%M403bqx+c1&`*xdzS zl|Mr0@ZfVgt0Y#h0i$AJsdiK)aeO2LjscnsA2hfhkVu!uy7`sKwQs6jfyEu;244KUdPd zpowsRYmQ!|7c<@4`3-_!#tHr@^)k!aX*kqF^K(bHIrT`V%%j#0H@{9u)C4cx8 zQez#+gDZ~$WgOTj4R`U;2MUe>>96WV6hz*B%>r5&?gt~`;8?G--WB_6BF+ex$nxLnJQ||hGs0niN#f)Z6H9U`zD&Q6ar*OcLU1~S1O-_HV^{D7P4mFUP z4wJuC z?yS$mct#~|eaxp>3bfp2f-LsffUB=4WS6W=HrqiiH|QY0)Xlz<25*4c5b8beZgj*$ zLRFQz_K3jMI}(_U&q-LI0wVSHKpYb|N~e><4z|UKyOa2%f`BH8-UFazOD+v4AqD_` z&I6e0*DuPc1hgqB;72kv5VR9Gg}D@Oq(PBvkj;ZK-pK%nmxe+b@`s0V?*TRZD0l`^ zegkUktfuJD>kxOqb_M5jS%EI1*7!@nY@7Qo70I#3UPDj|^frZTy zG#`PAs0+g25cuVv*9gP3ZU6d?+}oJ{lFy$QBYzyr3)%z=&rI_zt1EO9Km0jdRpp&) z=~{C``K5sssW0!Iymb=ZnXJ$+S1y2$_3tbI?f60RPR5t*bG4e+<-x9YMfA6(1`O7t z4{|#$%Y$Vpa;{e(s>0a{;_f<>5EOL*E{2D0Rnvxk>jDwFWztFNb2nuzXxC;42EJu6 zkU8~fpm^~_Jm{J)y97y}V0y%Z8vz-ge=%%(?K9y7vsL?o@ z#0&eSX%eRTabHC9Lm%6cv4$tx&#w!(oO<~2zO}SWr_cMf;pu|wm zLG&PJW?ccj@dIpdpr$4$gdY3&^fvqHUf%??WfAj44EJF!o=$W>Sp zhI2qfb4`_D)yOHa>ruqorG=0meWuk_WaaBi z0!6U8ouKx8BOj)_tj@fksr+M(b4R69>*Nur>4wdJi5}~vuEG{xNHyjOSUJL)xc!E3 zga8EzWrNIv&lwhXK|@lKE70-U7%b?(ivZM^ysE8}IP{(&PKhCi&HSapDTr~4LIVk6 z$n~!R%D7nsOEd$=eoP5T@jK3bQqd_IdNahf8-?^R=;jjtaYy#0O)KMT0_P* z8^nVKo(@tg=Hk@XbUpDWzyAcvK%Zw)x~~Li!M+Q+(0;y5+GE;l_953A={ozHc|@^^ zi6DYVX3-u?Ae$p@6x-$F7oU4QaurqlN%}5>iteq6;6<|USF&W(DA}7XH@)(rSUz5j za_)$D1+vi~?-Wnn6Q46-e~$}U!<26CmMj-VYV|K~)>#=fkwH>k+Zv?C8ZG??qUatfX0N`T*I%|rtZNDKdS)x?1FhkQp(Dz0 z!B~A`QgA|Dvt^N`XA1cW5ckO?j|Ctv=6$v%;u`~m+&UqptqeN+Oo-V^Td(}l?p}2u zZ8yuidiZYe$)`H?e*NME0|4mti{%~17Q-)id6UHPFyc%Y2%E?JKyQnCz7D~4feOa4 z3p<+*o?N;scLAyt>f^L$@3#Ib1k#-g<-#AqPU;8iUeHSb(@OuRlWTMw+y;iW%#-PR ztNNLzc_?+PF6`Wnlp;Xyd62TGVHQa8g2o_(L<2n`9xVS(S+3c6)!FB&FR77#--B>b zf0iDj`yTB)7kL`^B2F=e!=(RG?`(^sO zm8jma)H*y!?tU2c{zJV+$Lol38k#>V&oUocdH$T-A!h1GCy<7RG(ZEOsuf!|`Y*@0 zfi@Yat8c1M%nYA(pHp66g`|+UfJ^OQTq>&?SmA&$AN^${Gn#m z_G)2D%uSR8i6(IOmLK8P@6?m#7eQ`yYGomkJ%D`)EHsac2y!UQFj#JGxX_m)3bF*b z06OX%5D~ip$kR&-x&p87ffkT7-L0iBIz3biGF~Gxt95Eo;YiVAPi#Tf=ARDK^zWbmAc$P1ug`WNud40N;V5{MfG*k%;au=4oi`9L@1eRc zo437QZ{ObwFkn$}0Vwt!*3&jwKuEh||LGR=K8^czHtSvlek;^Yn(4rlT3!|JTSk88nNv5 z))*<7e(3c(aV&81yVS?mSs6;E6q3lCf7EpGUXx}HkIkgaDyZUB4H0YIpNgV4-X|7U zngWp>5LW>K4pRzq6MtIP zpU3Mk{of!0!{iPqTeMm!P*_7o%u9{fW`*k_6xc@WH? zc7HmV4BN2@ySx=m$vo&}1O&Ld;0+jDLKJ!F(EF3xQ2;rc*7{Gi5ThIYpZs3_YCuUt zbu+PFBbk-mcaWs96ucy8+dT${ie|V&OpLrx`iB5T;rqhke+jZLQz1!zo&G zV2!?6Mbb$Cv%uC2?70}YlbA73kn6D!NdwjbJ2;M+O;}!icp)r=3jM!`d-G^2-?wet zw9PW^kYt;OEs6+{c^*UCkU5f&DMMzWQ0AdYs0i6IL=!TWsffyuGDU+SLz1by=cW35 zKcDaOeSXig*6&^G{iC&7#UAeKzOU;zkMlT=vqH^)TDY+!I`}xb6It?h+7Hp;J%ySi zsx6U+;R8;9?Br1Qc51A?6H}c3rhwLtkPt&cW%N00_FmW@L#jV`cx|0oALCq~NH`j< zFC4Ji`-JzwE;Ydi!-1a*E}pnF3Gq6qpa>`oBB(e!#Hj9wR>A{S+OsF_u#j;MaqK!s zc5l0qQvz|R(-nJ2;>bN>FduXrh<3@ZK&#N67q(}st#Xg_ax^KDH=H$YI!(Y?K--og zCzpXsR%8`|bmXYpYay|#H_A3%c34Ju0f~a7oq< z3xNUnQU*#4^VA@cY&agVGIs9D-9^||OSCC?nKByom_THSRC)N1VC1PR0A^Y*$Yhk1 zbg*2n+!eDp623kwcEHzdk1^ci64bO!dqJK-=w_R`9{DV?1#_R2nNA4bux%ITL`L4` zXf~Efw(aEU@KM_+i;u;HIi|*pd!E`L3*8E-*~H6G;Qqzf4{C=S6y?7Yu)dvr;sPAs zEz~=&KHLT8WPeGU9qCvd$z>7is-l1kg`4mx?VI-#7Tt@O$3)vRL|>lX@0Q|`u(3Tx zl4*N%MfJ&_qtZb;Q|6-P&Av^&eog0S9qrYM+YkPma}~Ozx>4*HUe2~?CdNAsXXueh zGM-IQIZE(>;XDJbM8a9!7N3t5XKdq~Zz>fiAqkA>NLixWhzi8rny28s&beZhd-Ykm zf1C;q_9h#~a7~~}qf^M8HjSQ){n$lGmJ=j(|K_L`{mG_Lx8X0*0_GFh8*oxBg4oCH zfoLi1FgN+>(Y?{y7_i4Z^0#h(>T^xAq3g$c;zTO=Mk^PgdtDUf(*f#`m=Je4&*WLP zCJ@z~TCNyrPq=tex}hX0CB9g@YRHPErup4a_GCUqTW%CILX-aRpB}W1Ru0K*5A&a z1Cq}3_AzZ5m4?}M;T+L)U|BV+l@b0*?Thowt@%+d2o2QNGa{sjY;BQtLC$)e>2uD4 z^lFSsODT#AEv(4hsU!Dh@!^OcA=0(TOXVI$kxPNss)AG_AaxI-V8<^9!56K?(=I;| zU~rS=<&{~f-hIwzaIC}snjhVb^jo<4xut_CfNAwYC2KiOcr+ze|ti6q@Nt$ z?>vr;1VG33GFQ)j1x8eTUjCFRKft(GQ{TT$aP#6<7HdIDJH7w8!l4bcyip^OGZeRa zE~swBTTJgmMDN0AD)1d68{5{$GZN#qwcXzJLGj)n3cqgT%Cmlr7*q57MWHcIcnXY* zJ9RA6u>6;*Sbo81;me8;@rGoLFDsAvqP#EVI@H^Kg?IxHLR*tT&pBf~FmsMN|Lj(omWBoK@W|ZOL&F!u&@J!n z+2ZC6jx+0B@Ixz%u!NhRGY}WM^&{{f|Dn_|?Y}?WcPBm-4)9)t%PZWi?(*=BqTHB` zLNnxJnyONgy?7x9TT||9s0^i$Ex8nCVK-U$u=20N|9#pP21p!OewfR6WJtwHTLXvv zRfIu>(q1o=MElG?KgHM=hXa6{Sx! z&OO-0o716#Gg@Ic%1RT|zx6OXp3MO?xA8MMVXUOxe35>nBi}VE$E~oY^K!5_tKAVT zQ5MfN%+rhai#TZ$RUka3jHyBWLZ+*FBlJ zlU1brgW5$R0q8~|r_BYc<7SulHUQ2=;S#XDxQN<6t~I!(aJYU~7(hQ?0PU^f>JQEW zD$KO43HUq!NVhi$US%L>nP;iwoV#;uq3Ghr(6YS<-@E0^f&ZLriD&g)`gG`t zczH5ddpaS1L=b67p_MLo;xsr`S`s4rPm-q+HTw3A+-2e9FFE^HWl!I%GM|qOGtkqP zlxYDh4E*&&jZw`ai?SS+D1gf)hms03^a)VM@S%8!@YC!%W+RWo5F#c>>Z7oOm4)}F zpr7CbRbiFKplLi=8%6jo#h~&8Ij>9upN7z$Fmc*rNwP36;^fHrdqP*rVEFv--CRn9|7OFP5|nBRkiYy;m@Ny}3{ zJlLfHrLGEUPJmXkxbUf%ckvBFZ_-r~tHu@Ff!xr=c$Qot!z-VZgADil%-VfqpCZtM z5}9-njN$_LiaXoyou?vA%M5zq=XwN~L9`D(7o@XK&%vs9cR=kVvj5$w^ag&CGdm3k z2tzybW;roqoj0zw^fsqvf+|>phDveA3a7jfigHDqHRPif4r2j#+63tneIZS-6MQe( ziy?5@W?U-JBB)p&16~%|4i?G!ps3D=h>0shWR;bkL$XnUlym*0K2hwDx08i!lKq{z z^yL#k1sg_0WI-KkCaJkE2g@-E?j1KZe3KF?E%F_M2uw+;;gq%PJ!hkC2#P_-mX4`r z8SiyylqRMW(#taGqTEE5eV zUKb2G^dR;yD`Pz9{-&z9Bbsc^to&m<&`IQHWoFgEMRQR6T`wyvun=t4AJTg6riqdD zq+m})J0E%*t$LjQ0WO}6H_Q9JbM#P)nz?voZ|RZ!f(8(YTceVNIxe6eH{ZT-fx=

Ho-pBnvJaqkY3-b2JcNRWPF$p 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 VH#B6GLBYU(hI*#>QXTt{{{UU&bmRa4 literal 0 HcmV?d00001 diff --git a/docs/images/deletecommand.png b/docs/images/deletecommand.png new file mode 100644 index 0000000000000000000000000000000000000000..eea95596815a9b1e48cf9654bff09ef0aa9f1ee7 GIT binary patch literal 29268 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 deadlines; + private final List deadlines; - private ArrayList skills; + private final ArrayList skills; private String status; diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index db9ef7e540..dc95a3b06d 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -20,7 +20,7 @@ public class Parser { private static final Ui ui = new Ui(); - private Map> commands = new HashMap<>(); + private final Map> commands = new HashMap<>(); public Parser() { // Initialize command map diff --git a/src/main/java/seedu/ui/Ui.java b/src/main/java/seedu/ui/Ui.java index a4325d5f16..47e3fe3ae0 100644 --- a/src/main/java/seedu/ui/Ui.java +++ b/src/main/java/seedu/ui/Ui.java @@ -8,7 +8,7 @@ */ public class Ui { protected static final String DIVIDER = "__________________________________________________\n"; - private static Scanner scanner = new Scanner(System.in); + private static final Scanner scanner = new Scanner(System.in); private static final String MESSAGE_WELCOME = """ Hello! Welcome to EasInternship! From 4fcb45dd2d9701973866e322ffbeb154b0c5985b Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Mon, 28 Oct 2024 16:54:10 +0800 Subject: [PATCH 142/359] Modify the comment for correct RepoSense --- src/main/java/seedu/duke/InternshipList.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 3083be8313..095ee08c0d 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -150,7 +150,6 @@ public void listInternshipsSortedByRole() { ui.showInternships(sortedList); } - //@@author jadenlimjc // Method to list all internships sorted by start date (year first), then end date public void listInternshipsSortedByDuration() { ArrayList sortedInternships = new ArrayList<>(internships); From a98427a2e5d5da51eca1c62838cdc6251d075cbd Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Mon, 28 Oct 2024 17:13:39 +0800 Subject: [PATCH 143/359] Make FilterCommand code more defensive Account for invalid dates which may be entered by the user --- .../java/seedu/commands/FilterCommand.java | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index f0b293f475..7e0300b8c8 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -3,6 +3,7 @@ import seedu.duke.InternshipList; import seedu.duke.Internship; +import java.time.format.DateTimeParseException; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; @@ -94,17 +95,7 @@ private void executeFilterByOneFlag(String[] words) { assert false: "Should never be able to reach this statement if all flags are accounted for"; } - if (isValidDate(flag, searchTerm)) { - filterByDate(getter, searchTerm, dateComparator); - } - } - - private boolean isValidDate(String flag, String searchTerm) { - if (!searchTerm.matches("\\d{2}/\\d{2}")) { - uiCommand.showOutput("Please enter a valid date for the " + flag + " flag"); - throw new IllegalArgumentException(); - } - return true; + filterByDate(getter, searchTerm, dateComparator); } private void filterByRoleAndCompany(InternshipFieldGetter getter, String searchTerm) { @@ -127,14 +118,28 @@ private void filterByDate(InternshipFieldGetter getter, String searchTerm, ArrayList internshipListIterator = new ArrayList<>(internshipList); for (Internship internship : internshipListIterator) { String fieldValue = getter.getField(internship); // Dynamically calls getRole(), getCompany(), etc. - YearMonth fieldDate = YearMonth.parse(fieldValue, formatter); - YearMonth searchDate = YearMonth.parse(searchTerm, formatter); + YearMonth fieldDate = parseDate(fieldValue); + assert fieldDate != null : "fieldValue should always be a valid date"; + YearMonth searchDate = parseDate(searchTerm); + if (searchDate == null) { + String outputString = searchTerm + " is not a valid date\n" + "Please enter a date in the MM/yy format"; + uiCommand.showOutput(outputString); + throw new IllegalArgumentException(); + } if (dateComparator.test(fieldDate, searchDate)) { internshipList.remove(internship); } } } + private YearMonth parseDate(String stringDate) { + try { + return YearMonth.parse(stringDate, formatter); + } catch (DateTimeParseException e) { + return null; + } + } + @Override public String getUsage() { return """ From 4a86fc35686e809e0721a53f56fff26a3e7218bf Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Mon, 28 Oct 2024 17:15:40 +0800 Subject: [PATCH 144/359] Refactor Parser class Add guard clauses and assertions --- src/main/java/seedu/duke/Parser.java | 62 +++++++++++++++++----------- 1 file changed, 39 insertions(+), 23 deletions(-) diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index beee8c4032..b567d9d907 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -37,12 +37,17 @@ private void initializeCommands() { } public Command parseCommand(String input) { - String inputCommand = input.split(" ")[0]; - if (commands.containsKey(inputCommand)) { - Supplier commandSupplier = commands.get(inputCommand); - return commandSupplier.get(); + String[] inputArgs = input.trim().split(" ", 2); + + String inputCommand = inputArgs[0]; + + if (!commands.containsKey(inputCommand)) { + ui.showUnknownCommand(inputCommand); + return null; } - return null; + + Supplier commandSupplier = commands.get(inputCommand); + return commandSupplier.get(); } public ArrayList parseData(Command command, String input) { @@ -50,25 +55,36 @@ public ArrayList parseData(Command command, String input) { return new ArrayList<>(); } - try { - String inputData = input.split(" ", 2)[1]; - if (command instanceof AddCommand) { - return parseAddCommandData(inputData); - } else if (command instanceof DeleteCommand) { - return parseDeleteCommandData(inputData); - } else if (command instanceof UpdateCommand) { - return parseUpdateCommandData(inputData); - } else if (command instanceof SortCommand) { - return parseSortCommandData(inputData); - } else if (command instanceof FilterCommand) { - return parseFilterCommandData(inputData); - } else { - throw new IllegalArgumentException("Unknown command type"); + String[] inputArgs = input.trim().split(" ", 2); + + if (inputArgs.length < 2) { + if (!(command instanceof SortCommand)) { + ui.showOutput("Please input some ID or flag following the command"); + return null; } - } catch (ArrayIndexOutOfBoundsException e) { - ui.showOutput("Please input some ID or flag following the command"); - return null; + return new ArrayList<>(); } + + String inputData = inputArgs[1]; + + if (command instanceof AddCommand) { + return parseAddCommandData(inputData); + } + if (command instanceof DeleteCommand) { + return parseDeleteCommandData(inputData); + } + if (command instanceof UpdateCommand) { + return parseUpdateCommandData(inputData); + } + if (command instanceof SortCommand) { + return parseSortCommandData(inputData); + } + if (command instanceof FilterCommand) { + return parseFilterCommandData(inputData); + } + + assert false : "Should never be able to reach this statement if all commands are accounted for"; + return null; } private ArrayList parseFlagData(String inputData) { @@ -85,7 +101,7 @@ private ArrayList parseAddCommandData(String inputData) { private ArrayList parseDeleteCommandData(String inputData) { ArrayList commandArgs = new ArrayList<>(); commandArgs.add(inputData); - commandArgs.set(0, commandArgs.get(0).trim()); + commandArgs.set(0, inputData.trim()); return commandArgs; } From 93c4b7158a7c32347520e8e93dfb337d05420ffd Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Mon, 28 Oct 2024 17:17:02 +0800 Subject: [PATCH 145/359] Change SortCommand class Ui output Make SortCommand class' unknown flag error message similar to other class' error messages --- src/main/java/seedu/commands/SortCommand.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index dd7e2d94e5..37fb176dfa 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -30,7 +30,9 @@ public void execute(ArrayList args) { break; default: // Handle invalid sorting options - uiCommand.showOutput("Invalid field"); // Show error message for invalid option + uiCommand.clearInvalidFlags(); + uiCommand.addInvalidFlag(sortOption); + uiCommand.printInvalidFlags(); System.out.println(uiCommand.getSortUsageMessage()); // Show correct usage message internships.listAllInternships(); // Default to listing by ID } From d50107e10beaf2d2151004c85ba7352988a873b0 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 28 Oct 2024 18:03:51 +0800 Subject: [PATCH 146/359] Remove data file from repository and add to .gitignore --- .gitignore | 2 ++ data/EasInternship.txt | 4 ---- 2 files changed, 2 insertions(+), 4 deletions(-) delete mode 100644 data/EasInternship.txt diff --git a/.gitignore b/.gitignore index 2873e189e1..134ae9f6c5 100644 --- a/.gitignore +++ b/.gitignore @@ -13,5 +13,7 @@ src/main/resources/docs/ *.iml bin/ +# data files +data/EasInternship.txt /text-ui-test/ACTUAL.TXT text-ui-test/EXPECTED-UNIX.TXT diff --git a/data/EasInternship.txt b/data/EasInternship.txt deleted file mode 100644 index c425c41307..0000000000 --- a/data/EasInternship.txt +++ /dev/null @@ -1,4 +0,0 @@ -1 | ABC | XYZ | 01/01 | 01/01 | | Application Pending -2 | software engineer | abs | 01/01 | 03/24 | python, c++, backend | Application Completed -3 | lawyer | lolo pte ltd | 04/23 | 01/01 | source, terry | Application Completed -4 | Technician | Nokia | 12/22 | 12/30 | java | Application Pending From 16e67ede05ca1aa1413a669d9e0d54adc61ce7c3 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Mon, 28 Oct 2024 18:56:49 +0800 Subject: [PATCH 147/359] Add sort by status and sort by skills in SortCommand class --- data/EasInternship.txt | 4 --- src/main/java/seedu/commands/SortCommand.java | 31 +++++++++++++++++-- src/main/java/seedu/duke/Internship.java | 12 +++++++ src/main/java/seedu/duke/InternshipList.java | 26 ++++++++++++++++ 4 files changed, 67 insertions(+), 6 deletions(-) diff --git a/data/EasInternship.txt b/data/EasInternship.txt index c425c41307..e69de29bb2 100644 --- a/data/EasInternship.txt +++ b/data/EasInternship.txt @@ -1,4 +0,0 @@ -1 | ABC | XYZ | 01/01 | 01/01 | | Application Pending -2 | software engineer | abs | 01/01 | 03/24 | python, c++, backend | Application Completed -3 | lawyer | lolo pte ltd | 04/23 | 01/01 | source, terry | Application Completed -4 | Technician | Nokia | 12/22 | 12/30 | java | Application Pending diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index a3ccd3572c..0c4c046e3a 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -3,6 +3,19 @@ import java.util.ArrayList; //@@author Toby-Yu +/** + * Command to sort internships by different fields: alphabetically by role, by duration, by earliest deadline, + * by the first skill in the skills list, or by status alphabetically. + + * Usage: + * - `sort -alphabet`: Sort internships alphabetically by role (case-insensitive). + * - `sort -duration`: Sort internships by start date (year first), then end date. + * - `sort -deadline`: Sort internships by earliest deadline. + * - `sort -skills`: Sort internships by the first skill in the skills list alphabetically. + * - `sort -status`: Sort internships by status alphabetically. + + * Invalid sort options will display an error message along with the correct usage. + */ public class SortCommand extends Command { // Execute method for the SortCommand @@ -32,9 +45,17 @@ public void execute(ArrayList args) { uiCommand.showSortedInternships(sortOption); internships.listInternshipsSortedByDeadline(); break; + case "skills": + uiCommand.showSortedInternships(sortOption); + internships.listInternshipsSortedByFirstSkill(); // Sort by first skill alphabetically + break; + case "status": + uiCommand.showSortedInternships(sortOption); + internships.listInternshipsSortedByStatus(); // Sort by status alphabetically + break; default: // Handle invalid sorting options - uiCommand.showOutput("Invalid field"); // Show error message for invalid option + uiCommand.showOutput("Error: Unknown or invalid sorting option: \"" + sortOption + "\"."); System.out.println(uiCommand.getSortUsageMessage()); // Show correct usage message internships.listAllInternships(); // Default to listing by ID } @@ -44,6 +65,12 @@ public void execute(ArrayList args) { public String getUsage() { return """ sort - Usage: sort [alphabet | deadline]"""; + Usage: sort [alphabet | deadline | duration | skills | status] + alphabet: Sort internships alphabetically by role (case-insensitive). + deadline: Sort internships by start date (year first), then end date. + duration: Sort internships by internship duration. + skills: Sort internships by the first skill alphabetically. + status: Sort internships by status alphabetically. + """; } } diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 87e75493f2..28daf4e0d7 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -223,6 +223,18 @@ public void setStatus(String status) { this.status = status.isEmpty() ? "Pending" : status; } + //@@author Toby-Yu + /** + * Returns the first skill in the list, or an empty string if no skills are available. + */ + public String getFirstSkill() { + if (skills.isEmpty()) { + return ""; + } + return skills.get(0); + } + + //@@author Ridiculouswifi // toString method for displaying the details @Override public String toString() { diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 095ee08c0d..ff332d7445 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -206,7 +206,33 @@ public void listInternshipsSortedByDeadline() { ui.showInternships(sortedInternships); } + /** + * Lists internships sorted by the first skill alphabetically (case-insensitive). + */ + public void listInternshipsSortedByFirstSkill() { + ArrayList sortedList = new ArrayList<>(internships); + + // Sort by the first skill alphabetically + Collections.sort(sortedList, Comparator.comparing(internship -> { + String firstSkill = internship.getFirstSkill(); + return firstSkill.isEmpty() ? "No skills" : firstSkill.toLowerCase(); // Sort internships with no skills last + })); + // Display the sorted list without changing IDs + ui.showInternships(sortedList); + } + /** + * Lists internships sorted by status alphabetically (case-insensitive). + */ + public void listInternshipsSortedByStatus() { + ArrayList sortedList = new ArrayList<>(internships); + + // Sort by status alphabetically + Collections.sort(sortedList, Comparator.comparing(internship -> internship.getStatus().toLowerCase())); + + // Display the sorted list without changing IDs + ui.showInternships(sortedList); + } } From 245d5b20faacd89051a1b4555dc89051e961cc0e Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Mon, 28 Oct 2024 19:22:49 +0800 Subject: [PATCH 148/359] update the DG and UG for SortCommand --- data/EasInternship.txt | 2 + docs/DeveloperGuide.md | 16 +++- docs/UserGuide.md | 83 ++++++++++++++++--- src/main/java/seedu/commands/SortCommand.java | 4 +- 4 files changed, 88 insertions(+), 17 deletions(-) diff --git a/data/EasInternship.txt b/data/EasInternship.txt index e69de29bb2..0182edf6a6 100644 --- a/data/EasInternship.txt +++ b/data/EasInternship.txt @@ -0,0 +1,2 @@ +1 | Embedded Software Engineer Intern | Google | 02/23 | 05/24 | | Application Completed | No Deadlines set. +2 | Marketing sales | Castify | 05/23 | 05/24 | | Accepted | No Deadlines set. diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index e4398cb497..cede8ba24a 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -164,20 +164,28 @@ The following sequence diagram shows how the `DeleteCommand` is executed: ### SortCommand Implementation #### Overview: -The `SortCommand` class is responsible for sorting the internship listings based on different criteria such as the internship role (alphabetically) or the application deadline (by start and end dates). It extends the `Command` class, providing the sorting functionality as part of the command execution framework. +The `SortCommand` class is responsible for sorting the internship listings based on different criteria such as the internship role, skills and status (alphabetically) , the application deadline (by start and end dates). It extends the `Command` class, providing the sorting functionality as part of the command execution framework. #### Design: - The `SortCommand` class processes user input to determine which sorting method to apply (e.g., role or deadline). - If no arguments or invalid arguments are given, it defaults to listing internships by ID. #### Key Methods: -- **`execute(ArrayList args)`**: Handles sorting logic based on the first argument provided. If the argument is "alphabet", internships are sorted by role; if the argument is "deadline", internships are sorted by start and end dates. If no valid argument is provided, it defaults to listing by ID. -- **`getUsage()`**: Returns a string showing the correct usage of the `sort` command, including valid options like "alphabet" or "deadline". +- **`execute(ArrayList args)`**: Handles sorting logic based on the first argument provided. The valid sort options include: + - `"alphabet"`: Sorts internships by role alphabetically. + - `"duration"`: Sorts internships by duration (start and end dates). + - `"deadline"`: Sorts internships by deadline. + - `"skills"`: Sorts internships by the first skill in the skills list alphabetically. + - `"status"`: Sorts internships by status alphabetically. +- If the user provides an invalid sort option, the command returns an error and defaults to listing internships by ID. +- **`getUsage()`**: Returns a string showing the correct usage of the `sort` command, including valid options like "alphabet", "deadline", "duration", "skills", and "status". #### Example Usage Scenario: 1. The user enters `sort alphabet`, and the `execute` method sorts the internships by role. 2. The user enters `sort deadline`, and the internships are sorted by their start and end dates. -3. If the user enters an invalid sort option, the command returns an error and lists the internships by ID. +3. The user enters `sort skills`, and the internships are sorted by the first skill alphabetically. +4. The user enters `sort status`, and the internships are sorted by their status alphabetically. +5. If the user enters an invalid sort option, the command returns an error and lists the internships by ID. #### Sequence Diagram: The following sequence diagram shows how the `SortCommand` is executed: diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 79f595ded4..d752be9aaa 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -128,7 +128,7 @@ Skills: Python, SQL This feature allows you to sort and list all the internships saved in your database. The default display format is in increasing order of their ID’s (based on time of creation) -Users can specify a flag to display them in alphabetical order (regardless of uppercase or lowercase) of their role titles or by deadline. +Users can specify a flag to display them in alphabetical order (regardless of uppercase or lowercase) of their role, skills and status or by deadline. **Format:** @@ -137,7 +137,7 @@ Users can specify a flag to display them in alphabetical order (regardless of up **Example:** -`sort -deadline` +`sort -duration` ``` ID: 02 @@ -152,21 +152,82 @@ Company: Continental Duration: 05/24 to 08/24 Skills: Not Stated ``` -`sort -alphabet` +`sort -role` ``` -ID: 02 +__________________________________________________ +__________________________________________________ +ID: 2 Status: Accepted +Role: Marketing sales +Company: Castify +Duration: 05/23 to 05/24 +Skills: No Skills Entered +Deadlines: +No deadlines set. + +__________________________________________________ +ID: 1 Status: Application Completed Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: Not Stated +Company: Google +Duration: 02/23 to 05/24 +Skills: No Skills Entered +Deadlines: +No deadlines set. -ID: 01 -Role: Software Engineer Intern +__________________________________________________ +__________________________________________________ +``` +`sort -skills` + +``` +__________________________________________________ +__________________________________________________ +ID: 1 Status: Application Completed +Role: Embedded Software Engineer Intern Company: Google -Duration: Not Stated -Skills: Not Stated +Duration: 02/23 to 05/24 +Skills: No Skills Entered +Deadlines: +No deadlines set. + +__________________________________________________ +ID: 2 Status: Accepted +Role: Marketing sales +Company: Castify +Duration: 05/23 to 05/24 +Skills: No Skills Entered +Deadlines: +No deadlines set. + +__________________________________________________ +__________________________________________________ +``` +`sort -status` + +``` +__________________________________________________ +__________________________________________________ +ID: 2 Status: Accepted +Role: Marketing sales +Company: Castify +Duration: 05/23 to 05/24 +Skills: No Skills Entered +Deadlines: +No deadlines set. + +__________________________________________________ +ID: 1 Status: Application Completed +Role: Embedded Software Engineer Intern +Company: Google +Duration: 02/23 to 05/24 +Skills: No Skills Entered +Deadlines: +No deadlines set. + +__________________________________________________ +__________________________________________________ ``` + ## Filter command: `filter` diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index 0c4c046e3a..df1da7c683 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -33,7 +33,7 @@ public void execute(ArrayList args) { // Handle valid sorting options switch (sortOption) { - case "alphabet": + case "role": uiCommand.showSortedInternships(sortOption); // Show sorting message for alphabet internships.listInternshipsSortedByRole(); // Sort by role alphabetically (case-insensitive) break; @@ -65,7 +65,7 @@ public void execute(ArrayList args) { public String getUsage() { return """ sort - Usage: sort [alphabet | deadline | duration | skills | status] + Usage: sort [role | deadline | duration | skills | status] alphabet: Sort internships alphabetically by role (case-insensitive). deadline: Sort internships by start date (year first), then end date. duration: Sort internships by internship duration. From 44ebec64a4666411b33ddaa5c35f34000ab7687b Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Mon, 28 Oct 2024 19:27:41 +0800 Subject: [PATCH 149/359] modify the standard to pass the auto check --- src/main/java/seedu/commands/SortCommand.java | 4 ++-- src/main/java/seedu/duke/InternshipList.java | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index df1da7c683..cab4a6bee6 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -6,14 +6,14 @@ /** * Command to sort internships by different fields: alphabetically by role, by duration, by earliest deadline, * by the first skill in the skills list, or by status alphabetically. - + * * Usage: * - `sort -alphabet`: Sort internships alphabetically by role (case-insensitive). * - `sort -duration`: Sort internships by start date (year first), then end date. * - `sort -deadline`: Sort internships by earliest deadline. * - `sort -skills`: Sort internships by the first skill in the skills list alphabetically. * - `sort -status`: Sort internships by status alphabetically. - + * * Invalid sort options will display an error message along with the correct usage. */ public class SortCommand extends Command { diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index ff332d7445..6f6335bf34 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -120,7 +120,6 @@ public void removeField(int index, String field, String value) throws InvalidInd } //@@author jadenlimjc - // Method to list all internships public void listAllInternships() { if (internships.isEmpty()) { From f09baf6cb9c4473731b4907f019997e2221a1654 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Mon, 28 Oct 2024 19:30:42 +0800 Subject: [PATCH 150/359] make to pass error in auto check --- src/main/java/seedu/commands/SortCommand.java | 2 +- src/main/java/seedu/duke/InternshipList.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index cab4a6bee6..607518eda6 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -6,7 +6,7 @@ /** * Command to sort internships by different fields: alphabetically by role, by duration, by earliest deadline, * by the first skill in the skills list, or by status alphabetically. - * + * * Usage: * - `sort -alphabet`: Sort internships alphabetically by role (case-insensitive). * - `sort -duration`: Sort internships by start date (year first), then end date. diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 6f6335bf34..12b3acd11b 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -214,7 +214,7 @@ public void listInternshipsSortedByFirstSkill() { // Sort by the first skill alphabetically Collections.sort(sortedList, Comparator.comparing(internship -> { String firstSkill = internship.getFirstSkill(); - return firstSkill.isEmpty() ? "No skills" : firstSkill.toLowerCase(); // Sort internships with no skills last + return firstSkill.isEmpty() ? "No skills" : firstSkill.toLowerCase();// Sort internships with no skills last })); // Display the sorted list without changing IDs From c9d9490de710c9fc8fd2c0987a78cd2d7b53c39e Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Mon, 28 Oct 2024 22:57:07 +0800 Subject: [PATCH 151/359] clear the txt file --- data/EasInternship.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/data/EasInternship.txt b/data/EasInternship.txt index 0182edf6a6..8b13789179 100644 --- a/data/EasInternship.txt +++ b/data/EasInternship.txt @@ -1,2 +1 @@ -1 | Embedded Software Engineer Intern | Google | 02/23 | 05/24 | | Application Completed | No Deadlines set. -2 | Marketing sales | Castify | 05/23 | 05/24 | | Accepted | No Deadlines set. + From 948a8aa8f145738c8df21acc543eba6ee61effd8 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Mon, 28 Oct 2024 23:01:36 +0800 Subject: [PATCH 152/359] delete EasInternship txt --- data/EasInternship.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 data/EasInternship.txt diff --git a/data/EasInternship.txt b/data/EasInternship.txt deleted file mode 100644 index 8b13789179..0000000000 --- a/data/EasInternship.txt +++ /dev/null @@ -1 +0,0 @@ - From 99d5a4c7b57904b98d529826604e719fbef6ff78 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Tue, 29 Oct 2024 11:42:55 +0800 Subject: [PATCH 153/359] updated sequence diagrams for AddCommand and DeleteCommand, added class diagram for Internship, InternshipList and Deadline, added sequence diagram for saveToFile and loadFromFile --- docs/DeveloperGuide.md | 18 +++-- docs/UML/AddCommand.puml | 63 +++++++++++++++++ docs/UML/AddCommand_Sequence_Diagram.png | Bin 0 -> 89259 bytes docs/UML/DeleteCommand.puml | 18 +++++ docs/UML/DeleteCommand_Sequence_Diagram.png | Bin 0 -> 33302 bytes docs/UML/Internship-Model_Component.png | Bin 0 -> 109386 bytes docs/UML/Internship.puml | 71 ++++++++++++++++++++ docs/UML/loadFromFile.png | Bin 0 -> 51904 bytes docs/UML/loadFromFile.puml | 39 +++++++++++ docs/UML/saveToFile.png | Bin 0 -> 40918 bytes docs/UML/saveToFile.puml | 36 ++++++++++ docs/UserGuide.md | 50 +++++++++++++- docs/images/addcommand.png | Bin 102289 -> 0 bytes docs/images/deletecommand.png | Bin 29268 -> 0 bytes src/main/java/seedu/ui/UiCommand.java | 5 +- 15 files changed, 291 insertions(+), 9 deletions(-) create mode 100644 docs/UML/AddCommand.puml create mode 100644 docs/UML/AddCommand_Sequence_Diagram.png create mode 100644 docs/UML/DeleteCommand.puml create mode 100644 docs/UML/DeleteCommand_Sequence_Diagram.png create mode 100644 docs/UML/Internship-Model_Component.png create mode 100644 docs/UML/Internship.puml create mode 100644 docs/UML/loadFromFile.png create mode 100644 docs/UML/loadFromFile.puml create mode 100644 docs/UML/saveToFile.png create mode 100644 docs/UML/saveToFile.puml delete mode 100644 docs/images/addcommand.png delete mode 100644 docs/images/deletecommand.png diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index e4398cb497..744da3df49 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -53,15 +53,23 @@ The model component includes the `Internship`, `InternshipList`, `Deadline` and `Deadline`: Represents each individual deadline associated with an internship, holding data specific to that deadline (description, date). -`DeadlineList`: Manages a collection of Deadline objects for a specific internship, providing methods to add, retrieve, or remove deadlines associated with that internship. +Each `Internship` object contains a `Deadline` list, and has methods to add, retrieve or remove deadlines associated with that internship. -Each `Internship` object contains a `DeadlineList`, providing methods to add, retrieve or remove deadlines associated with that internship. +This is represented with the class diagram below: + +![](UML/Internship-Model_Component.png) ### 1.5 Storage Component The storage component is responsible for saving the current state of the `InternshipList` to a file and loading it back when the application is restarted. This ensures that users' progress is preserved between sessions. +The data from the internshipList is saved into a .txt file. + +There are two main functions, `loadFromFile` and `saveFromFile`. + +The following sequence diagrams depict how the Storage Functions work. +![](UML/loadFromFile.png) +![](UML/saveToFile.png) ---- ## 2. Implementation @@ -134,7 +142,7 @@ The `AddCommand` class is responsible for adding internship listings to the Inte #### Sequence Diagram: The following sequence diagram shows how the `AddCommand` is executed: -![AddCommandSequenceDiagram](images/addcommand.png) +![AddCommandSequenceDiagram](UML/AddCommand_Sequence_Diagram.png) ### Delete Command Implementation @@ -157,7 +165,7 @@ The `DeleteCommand` class is responsible for deleting internship listings from t #### Sequence Diagram The following sequence diagram shows how the `DeleteCommand` is executed: -![DeleteCommandSequenceDiagram](images/deletecommand.png) +![DeleteCommandSequenceDiagram](UML/DeleteCommand_Sequence_Diagram.png) diff --git a/docs/UML/AddCommand.puml b/docs/UML/AddCommand.puml new file mode 100644 index 0000000000..5d72245ac3 --- /dev/null +++ b/docs/UML/AddCommand.puml @@ -0,0 +1,63 @@ +@startuml +title AddCommand Sequence Diagram + +participant User +participant AddCommand +participant uiCommand +participant Internship +participant InternshipList + + +User->AddCommand:execute(args) +activate AddCommand #red +AddCommand-->uiCommand:clearInvalidFlags() +activate uiCommand #green +AddCommand->AddCommand : Initialize variables + +loop for each arg in args + AddCommand -> AddCommand : split arg into flag and data + alt flag == "role" + AddCommand -> AddCommand: hasRole = true + alt data is present + AddCommand-> AddCommand: set role + else + AddCommand -> uiCommand: addInvalidFlag("role") + end + else flag -- "company" + AddCommand -> AddCommand: hasCompany = true + alt data is present + AddCommand->AddCommand: set company + else + AddCommand->uiCommand: addInvalidFlag("company") + end + else flag == "from" + alt data is present + AddCommand -> AddCommand: set startDate + else + AddCommand -> uiCommand: addInvalidFlag("from") + end + else flag == "to" + alt data is present + AddCommand -> AddCommand: set endDate + else + AddCommand -> uiCommand: addInvalidFlag("to") + end + else + AddCommand -> uiCommand: addInvalidFlag(flag) + end +end + +alt invalid flags found + AddCommand->uiCommand: printInvalidFlags() +else all required flags present + AddCommand -> Internship: new Internship(role, company, startDate, endDate) + activate Internship #blue + AddCommand-> InternshipList: addInternship(newInternship) + activate InternshipList #aquamarine + deactivate Internship + deactivate InternshipList + AddCommand -> uiCommand: showEditedInternship(newInternship, "add") + deactivate uiCommand +end + +@enduml \ No newline at end of file diff --git a/docs/UML/AddCommand_Sequence_Diagram.png b/docs/UML/AddCommand_Sequence_Diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..d2852bd3692895c638d6cc2d5076f2c71e505499 GIT binary patch literal 89259 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

XDUUQoqBvo*$EW)zKB^&7y8R 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

0>uCA`L(+5GKE_+yjTcMxp71a=tWF|cm z$WG2> zWGqdH_~CzskC}g~?Tb=z=OnPuqQ>EVdYS7&cScqeOChBgJNUzK=eor_Y#WnxP>Lpu zJCFK3r|p04DDdpy#pA8tsV{br_n+DJ0Emw4p3AFtZvjRvyC+KG2Wb4LW*i=!V=cdm zaoNnZNcj@mbA`wL&WBtY2(eOxVUEA@8R!N7wpXiOQ4i9Zq< z#OzCZ!z$@pp%|Ja7Upc=k}y%k;*Nd)M}SI!fq_C=kiFzPqV_DH!&IhziPAww)F$-? z*~Np^D191|!Ch`$GeFI+!GqxVkn8aH)OHd`Mo}BSw6?E0OFw63nv%VdKj=I<9R@g6 zsv=|jYWuM}>kTi`6-Q0{CATcJRgM~~*JCDZMJ5+|xxT*4@mHk;ssR%YAF0HgslCL0e zn!pKW58d1Ecti>lc~7({4EU|4shqitUE9NS-wGgflGvF%z9+;xpag`T!5|=XvC2pJ z7JyB2A8I2F8*h^tvZ^=hQq5DGpjJjKl)T0ISg+Jv#-Lmd5R4LV?;h?zMcYbDEHQSt zkpS$qdHE0h0z6OSoxtbf1%EvJ8>2v>bZcE;iVj{@0WB4BU=ZG)5$$1ltZo*6MeX02 z+uf?pF2|TD;@t5z!B++r$)T7Ao+nmy)U8+$*H}2Pwv0}s`n|N5@CB1qfs0O zmqFcHQ?pOiwv!a`K5csKzK(K%9T+ye`D&a$|kvGVUZD;I9Lb$;jdHF0eWwU(D% z6#ZJ?0^#UV!NuoW?Eg$fuX~~N^<@Ig+wZYNvNTLa+FXit&Bp8O{QM!e$1ySP9jJc| zNgUTSZCoL2p5@RnSe`g>LB)iaOM~PbddD5R@4auhDkPlMOXj{9Inv{`BUz;Yx;7H$ zzKubR_uGkkOBgQtwZ6B_3EM9=E?SbmQY}~T+!>oL49Qcxs}z{fa*Q=8Ixpm)UvNSm z7cNP+U2G=*Q4O(*hX~hA4!93O#r*%!(-S2fIeq*o-O}KscbNk*w-IrNd z;yICMjtd^YYuL343m!QvN8M&TB8oTp@365Keitq4H^z9ciL3QWrQSuXmH)EA~zW<;Nqg6TY746x4^}DtAT+8d#AG;)d<1z)kd#`)~`BD$9wuAl{ai?81J3r z^*Va-#W`EvXZkY;Y2s9bmQ$psfqT7-7Dobon~>Ax;rRp zch@)7n9eq2gvg3|)03XF6zxZ)DMqQfYvHt{>w?8q+_)3oJUW}Z->l};G#;n|VjbZ$ zsw_?QGb}*29Q31c)}la)?j;2&85#DCg$4;~uC(waeupV9u_0T@yWv=Iyz%rWxNKhO za+Q$>)QPN1`WU+&Te9 zIut|k(oFsIhO=m;X6N?B5^x}Tn`MG-g%--Zurm-4N;yNO>B=x9V5;k+snjbS{U$GE z%hG&h#l|u`88_;ISCt&EHfm{+MSREE0r{ZEN8aI~G5B6oDc&F7SEX6}T-OoBEewTw zZ}QAO)(TPd-h!@ovrD;7Q~Yb0R38zN`2_?@lTFzwBU+zoCI6D2ce!KxM%E$>o2uh5 zao+q;!C>Yo_h@!XQtG4V_U`_bTNWOvRY;~89&~vLD~Pk3!o`e|8KbmgE_wehR;JZp z#g62SiWBzYp~2#ubmH zF6Ofam>qoF`V>s)`Rwc}&u&<TV3E z(A0)q$=q2eH6m;mi8xn$<;w|w-D~3sy@-$R^!u&vGo-ZdgK~b_&q29N0 z;|Kk>G5usD2_wmPdr-GtT^!^<^V6vaXR=01cZb&tAuHXUtc-o=mw9f zfa|K&7I7zn47Yn*B&9uSF6%C<;QWwHfvOXCNJPpQSe%NPs8;-sB|tai3~qOtn3zUDaxZvrUP`a39$|G@cghkTVeV}@Q`ap914dJg zop_D47yvfE0aM2v$MBSQz-_>RU}RH zIjTrf3CdeXZME;cZ;bcxdh`dQ`&89Ad!N1cT64}dm#|w2YzRPbHoZJnShZHpnM;Z; z4%|Gtv6bN7T^wuFR>MNR zZ|K)JD<}1yh|`qJ5)FKnRHJiX_BhU|cG)xc+jfnX_zDYo2eoOtgY~^v1*Zz2j%>Y* zx5mnQqA3Di(Z2I%yE8ukF{C~Vl&Z1p)~)nPaF}U>Ai1-QF5JC2q{P!_(3#i{NA=X^ zIVK*8Jh_NXV@98iQX8eMdiK z06U?F8>+YQp3Wlg!wsy0MO*1buL((F5OilWUjzgd1DvuCQk1bPh&PzMv7z!qwRni&5VL*4qdc(FwY{~d2UAie98t~qXaGj+symtayUkttCw+3 zW&^YpSc!P7Enb2QA6fkg%e#U4na%$_s`^d1MpF47qxt7*VxDAY=6HZK4AoyDInVHXxfJa|+n~9yCL#`V~}q zVBb>Kvq1~oW@GSo5RP=QkWB#S-X${U4O|7_$pYR6$s$(G<`vlN@IT{;3{=cnG(?1I zVL%cKIFhOX&>Tg{5*h=>79hsI4C2-PA^Gc8hz=0*` zt!NL)1H|NAZ%WJHz(ML)q|8wuwv+``=DBU-lvQ0x#k;j}Z*a$%JSiT31m+8dZrMA-anH0|0bf-dexO z-Od_-vrUD}cn5IPW3w(Ph3pu6G+-uMBpiW-9r}G{@%@!l($H#B5QZ0OE~??1RsQ|W zm)>Clx6jAH?1ac7J<|MvGO0YVe(#i&j=aR+V~A<|Tsm{XP) zVU0kU1pJn|A=ITq-&Ck^Rc?6(1L_V%Rxcq!z=A&$;1FSU6Y6StSPe~0s7{jstNDs3 z2tT-YVYd~a=hK^khEjx@;K!&32Rvkn{HxH=JP)iTK(^<+2?7*>uD#ji!1hD5W*i4N z0XMKQN`SMMJ#kXJ6P;_f1;loCq-7^oy;2N3mvkVm#e~l+h&2JH1g1tYw@k~8Cm=={ zr~#tZ1+>VKlq^WX_PQg~Z`|XV#~taP3A<&Mn>~bC;GxuhEc3+&pbIcALpnm2VJjW6 zV)J1`Ov6mR1HM^t5ELq9N%80YdmjFo1?VpX&3{qD5Z*`VXc@_)G%C+^V<5AE#iLHd z`-7vqPWu_GI+TEI0;23D)*ev5?6yV7jy0t10$@lX0tmOVVdX>W%^3AkxQWbEJv2#y z7*Bus{Ab3!U_cSx2|?Ja+vYT8ga$XzVDxL6pr7h`a4-AlR^2 zfq=GY9jyLr37XcvU}To|`ChStkmlp-N|Hr_lOe<#AMi|8H(|v9E>P;*Z!IC=^b+cv zWY8>ewyd9#OuDLI{RAm4gokMO%5$IhBeXMV_|9d2n|*b|P|I1)j1x8`x6x##G?32x zvCsXpbHRyDI?@0>lg6F_gY-Q1&K+WxQ$vd+PN-Pwt?7~zH9@kk8s7(W2U_96ox*_B z&_b(Hos@iTkRTwhbk#>V0w-~wM986}bY6z-0srY6(gfoKuIOIer=7I@=}G(g%|^&Sb3x}2pTT`gusE(|(ypTq3ki`Q4|VQj zAnX@1My5)F9nyG)1zFk%><{x-q^pJq;v=&)0)2U)9<)!!p5^yGjqI5(-RyxJ1!f=2 z3h1>)#QHHn14NKf<~r{M2ynGa7~)P`)x8ibr^BEW@Pz$UP^E4oXAmRzHgL^gqb8J@ zh<3j-Ym`=OU-UQF@S2-YoLh|dCTkNw!ZQCl@`Tcb101y9wd0vn4tqOv4GB8}L@2gW z7hTm`r4KJDY|imPw~v*y!Jc9xx^6uSP-18oycFEk32-N>Or-{Us_xpIQZ=Q$nS!Xe zL2SFZxoLX{@xAk&F#|22YE~jvXQl-8eiyOMun(fmbr5OB+0x;twEDfY9r<3JY0^EBtT^H=4&fuU<=Yk#xih$KdL_}o!bUj7F z9Uc0Z0I@Vn<{}8vGwG#+>iS{W$7%R0<~k1H7;CCkX^u`)9ylWRv-UyG5xyn#93*1| zS;bHIvFbJVQ3noC<3YY96O=CDjBbI7D2S`_pmjS804Z5Dl^$6MM;(XU(SW?GBBp?Xm*MpmTL~fJUPtUnAzOncvug^vBKPS<7ftX>#bJ|E#snN=VGFxbpWB~{76jR2qI!w zN#Hujo?}6=R7_|IHcr=pvyTlVAAn?~nNc!?Xg)}{4>orI_gT^j0HRkJZol3y1!cSW zoOPHK;OPKq9+ZLureWVeQj9MY+XEXRbN3{ZYG4-k&72eKyclKvV_glfsfl1{E6jhe_NU$J{Sn9M?3H8?f(?+XY$ z2C4N7$3hJ_#_v2V5^w(w8~j7fo=`7dbBP!qy**1^`C2IVQ$zPoU4r~-Ro|fE80(iy zv{jf<)dNGGoPB1<#r&-yCbMlMV+uvhTp!vXUya=_s3z6!M~aWs9l;FQsL;{Tg%;_B z1{3%F32iIf(BjmK2W7oL!>s_qfO8+?LMC;oz#j=a%k+*#`bYGqPEV>0B}NeFb!P}O zF)*B)HH-Q?3Z@kYYkV;ACEcx*l!cX3W_}@CBlO2u1gOZxGKwxPFP|w?*_*8m>Y{je z-@jw?e-U30>q)54QCAUs2aA%C@!!9KWH(4|6a5Oq9BG?9O;W`J4R3O8tFcJC#XE2! z8*Hy3e+IBR>QDAHOX#+C2f8=2^|Bs)ed(Kc?Kl+!R60V!0VXpKN%Yf2PSW+qe#CM* zmV4-nAHMyYNP{51>BoMis3QyS&D`=b2Q%}?EmPsvOK3MVwfbM_1`Mc7(V3aftB3CI zI7IHlB@j;GFaBU@ekCptGpkd5d#eQmLVSIA6E4LjaJ!cMFOCl$)!62HwZ>}<9VI?e z_Rq(frQFbDk=SO|Uzr!gqqZ#Y1F+Rn{o)7VvlWzhtbbfx4 zDyj%JwZD>y|M$yuBz7{(|LfN3_qzV)jllg7|H(}(BC$M;KvahP%FSS~;Gjsc8NuB7 z_uc-l@BhzXhEGmN{6&8v$q01(3?K7x@(2;A5!}e7nqu<J73S6*bAYY z;^ps046i_qn(*9$$L8v}JHvZ- zPlQl%P`rP?XCod;5vEY%g#wPeTyl>*vORJIS7}EdxB~!dK7F+aFbxP$l44`KvL#Er z3aA0yY7^?RetpvC+m^3Bq}Su4syBv!k%f>`C<{Xc`$Qm`nk}K^s^QN!=F%v!R(>NfJskC8 zFe8nW>1#f4I;g;z2l?4)Xkh6_=^zV9EjYG!G4wRT=K1Hv{dpSaDO`jGlwdOMJ>4M* zMw47GFcR6W5KKZT46BTj2c!y?exN>p!EYmlgE|nx2o;f*MTovj6bM0lq7ta7BznYS zya6l(HF`1d)F%LF|3d)})$`N?<_S*9Eri^ArPii9!&Z&*5`q8kf6zhm4w66Crp7PT$3|W`zAZ z#&UKZ@DF^$Ix7p5m*OA_b28np*Pil293Yn^<@f?R^BoL`3hR0X{-82oF+o>_raljh z9WpUQE?%IEhlCSacPxQRC#od~i4F~8kmUHL3CTe+QAT?Du&_}2$AGzy)SN{JIQ9dw z32YkD)BH39h8&1BKQKPIh64Y+s-ONq+FrU51Sy6hO?E&`?hAbF}6 z8TR}aP{lunDi2tHy5FAqDBD0wjt&jpx0Q}Gc876^HdjQsIf@Xsy|x)0T#-3@Il(?} zCntd}ZQenVYoAF7tO-wO7_>;dM^92UNfQ!fGzr!3epg^@CQAc$9JUT{?DPRS-at+C z1qgVp>H-gQSFf)VM%ZLl=>w4no#aD1Vn1*TA^94}Af#WWX1;nOuo@N`ic;<5GAuX} z!xK$bMLb(9mK_XzmIzleNQWkYz45~Li7;N50^y-ZCG?+Zaesc7)U)l1y&{yu?!Wh{ zLyihjn4WwB;+eB?Z<&gGAM^ke(|>+|x_jBbPbQIbo#JH#eG<7$Cs>IzH8oZALR8xt z39c@QJ+P-0C4S;!0CMcEfLXpU&%X{*XL=k(@N1Uma0wTRv@7rTnDDxcpTvB@w3@- zfnO`Co&}VQDDDRjt?qnoL<o`CXkzwf%S4iB2v zjE=A4)G&M0%M^!P&$^Aidsh!ohOvAu-(562yJ+;x)RCe}wI79nC8nS`-%FN!RH7Hk zEL?}m`$3$j%C=b41DoZ5$bxQc8(i7?)#3V6&q6r9==Yt)qkp(i@-b~~T5ErU*wN&v_DgNN; zwB^)>G3IRYCu0FYgVaBxhmUmF3|$`d%mXVv*rCaU@WxES zN8Hf?R>z)QvhC}Tpd&@i0+NSxl3(-%V6@l~Js?%V7s%@_O<)P`!5?8kYnhB!!5cu0 z;}hk19SMW7Cr2*24^A$6B*1{63DL(@IG_n5F9JRYRpJi|ISxau$wX?c&B(n|3h_rJ zF|`+$5Aefo8y2z*p#y*fAaue~-eeNBQ`f zSnP=^0i57#v`3t?4&`S9ooH-d5K-;j>}o1i%7Jn{067t(iH#ZuH-cI6sm*FRdP+2g zQadCVQv$BQXVL57IzpA8E;@@Qc1#I{{MP0rNGUU<^^q8C_LtHm7Yhw^cHwYD&ZzJP zQj5MMHel1?=<$X5lz5Avya1e(8iRr}DC?^i@%4UJdsZ%TM(&o^ZLqd_+f~naQj(M3 zf`-6QJ_$XF!sK{2mXEKuwl_4WXdGqj2P+ENINQMZ+FF47L6bE9Ds#O{(jE<1gr)?) zbf56MQp7$Ii^4kuD4{ z4P2=8TO>h`n4d>TDrOd4488;fPz{fiDiZ11uWzli4pZ(?=vD(K*iVe=6-7bX;{ z4@x37YKU6BEI=+letzyKU_8&O$WTmg#1J_G2%CQ3-{%%LDkHPD3Q zTvH^%g|{-Dv9S!$JFzTs{7Omu^@`8zryv&p4{fF^F2t6DZJ+&_@IwI+YXH7_cSZ)x zzk#lK&a6Qf!B0SfsoQ=&o=@;H5X>FcV0*_IOhQOhxAsCoCeBTry4I=&WX&38fg;wA zKS3X8YtL_&fCi!EbRGj-gUf^4Z!n3?X6STd1r{ zgCrEhQ7pP9E z-VRKI3?jVPFSKx*!@~RlI`k`=4pFJiIfX7l6L#GP_vQ*|r;iP$-7RGEB3je=a=7B& zG@k~HQ`s^dn&+F_4iLW!R*j)wpDx7ii}C9%hV2~y9?rLnSDGTj!vTL+UupLISFrI* zax|sB-^gWuJOrOP8+L_$qudYRDD3MqrrA9gBMT1k2H)2>-vo_3%DbGdD-JYI1Sw4I??6+W;%GY6^y*u4KC2DV|| zR%r@Z5(8|@gIa%@vNLBQpHfiSs1s*<;7^38oEPeT=`cwn)j5_Q>RrPETt8G^@5(2Dp3vR*$vWMvkhu+Wn>Mr()6Z#j z`gtL{+NU@>gu$k4{+fLDJo{*95!x3XLe)up3)HtYAR`E|+$^E*1w=8DV#D8^ z49j?})l1cU&Ikx_qoFoW7oIF_C-((teev!M@=UP(c#^;A&Iw0%Np;>|fG;Gi=4u{c zsZ%p(qB@r|{mKV&m~ecu?R&~IMf?+Rf2*$YI4XrEY=^{!$os}=9_lCgH)Zp`V0kuc z@u}+`XsP)83E`o??iPSF=E#(0I5&{Hn*=8M=O4wkXrx>lvJBA9U0W9va@hieHCtSk&r9d-XZ-p zA>+}umv@zW@}IVRs9Q>_y1aYy`?ux;N`d7g!s4M#B$TB1`rWF4r98TH!2EDQ+tlZ_ zrS!Qgu=vmZYniu<)C{*jx4v@(qd5DO$(cppG*2}FRb}@#BJ*{9F*je$>~{xAtB=LV zT-)>8TF%gPD%gKvfZcaNH`8N9L(99^_1o~@n+tA&5;SK z*!r_`;Y!}4RRZVII++y%dMHK$oEXT> zJj3tFsu*y`?*20!zpoY>jE7I^@n}E9O6WHB6_pI#;5aA_k;!I<86Gf{u8 zz%n1iQ9VD)c60=D1g>3az)iHa;2L?U+|X@*euy5gb;Pd~DJFp&qIqaDpb~mH)Op%N zjhwc)^;d)1*nAVW_bFfAEm!%ko!<~S1mAtauN#xd_5{UVJJqmv?%SKhm5l5oZY4q6 zVwDb}$LFjJ+lpEQaT6O3D`rPU@B-G4orZ78G92az9ywK8I@kGi|4OnS)_&)!Ai(M} z_bd}w-GPTU%fDan$hJ8NKo#8-?g%|zIB1}P=Ggsn_$rrS{`a5r4!^tQ_~bPvyR<13 z=+Ux;;oJ4=l2TqTy2a2QiS@+I$e;IOpjbS+x18m#(9ftWOhZol61v6>sfOH&C zR5~_y-+EK=Gf0$77f-fz%B9c0CjPwlszUIayKqtIE0Jr#^32=*-*?0pPp*dF-V?{J z7;r4*{$mx9(w2t_P)A^T^Z2Qh!3Xw-Hc|@?PMNf*Pd-XGnsICV){7kJFPm%ix8{yZ zIivgg@tzt$Ps`ahRh@d8*mwk#0w=HQ`)^p{4BCR&klC@QNZ8syYij7%$FGL8G?KW4dBS`88}CvAMcR-Oa6Z0h|JZkCW{2HmSrEIIgn68}8Fx83(l! ztx0GKOnWm@XH5$azp~Mlj^k^~m_LO#e&6CjK%I%f-b94#LCNpOZj6Yr!F-saM+xMn4{{E=V~H#0^1V z&1;|W%N>qX?5qb+$>Qpfl#oJ+o8Jos#KUo7QsbEWvt#PD3`e)WTqCCnLTf|qWIR}l zzkM*pIg`XfACl(xZHq(5EKm`GjEzNEs43vTAae0z7F2s4IoEZEP!#6~{aLZ2_MK26 zH%SWBdxo2fR}U>~@xLd}$O!IZC!v0tKoI2xkd1wqQX)1?mv!B(L^Z4p%w@|KnxlG| zL|H}hH|HHAsV*^|D=D6xWc&E;a&mz0QLt`?j$d?Q+&Z0?mVJ|nR{&H3slv?A%`+ty z);B2xb}FN5WJJll4<6Xt25|6I9bV9yJ7YXz%er0 zj`4irDPz#bu5WcJ1vPoF!g6kWA>;lw){IRl&`m|f2GrNC!?%QQipn-c(@yPtBdEE! zyp*UQJv^+jwXYIC@B)Tc+0Sq|83lg*_jjAIoV={a#EdMax}Z z;Lac5L*qBx8=#zP$X_xTr#BR*YNhV>JC5 z{oQC>vn>U6FwyfbQ%O-ncqt{#BP|UWn+tN8_v=qH3_98QupLj5a2_z1vypXqMnu~< z9PQkRS$CMQY=v_OwGsKoZhODr@w}RfUS*ENL^4HoU+;Ow2i%c%So{SIqu2##8o;0s zS?r-yRLxBw`-FLGpB#r+SafuGPfn%I#Uy9nbsjm7`3{dO^D}1A{u52DeX=(9J%~#J zf4?CFiVpemR8CtBA%k+}^*gJ(^CdFeEinm!v8IdRVx+awO`GM%=trxULvPoa-3^eT zNI5`Dl(lDQFB9!4yHD}GO6Xikd;V~gWzTd*^eXt^(9%lgXSQz$V2QpRyk`*4qpp6{ zhB0E3@Kj6zp7<>3ASejLPt~w3#yz(soo2+7JWV(mt-t%_vdOWm4|p2Ru9x>tarpXg z3=foZ*2<$^Q6I)vZSJWpwyJl@os%u)ck9I(9bL;sPMGrRKyha&{j22T~A}`-xlRkgsI$q*& zlcZws&i>qpIC3>k(U|MWZtCugks4wruNCX~Y!f!=aTH~K)gjlNdp`0Y?M-p|xTTs& zn(?6M^N|srS*Emu(TCq>Uw7VkTT9ZXy^b5cRU1RbCN*7hu_UnLpo;G6jB z#bu>?r`gFuP~Kp5sL26tO_51H6vmX9Ipw#@UKBxlQ<-!ysif6ey~T`h1Kbpip8oY(ehjZ|e%>K=W1fx|9p;ja4PtbM0%QI~Gwr=&J zE;(^|G?7d~B`L!V6QYDG6{43HH16j{FHLfpDK);bI*mmSoGN~ie`)+v|0mhg_&x5E|cir^#{F|Hq+v0-xrHxsJ6^?oa? z@1+;Gd=8XctMOGY<15ROrgRXss2E^4h*~84(q!Es64a6rp9Erri^`X&pR}qcc3-`| z;8W@-#?Pc48?(6p$T0TpjthH->wQ!xfhG1InRpiPb$SV1rKeb>2KEI!f zr6=`ma!zv94zM$5zS5cISkrnwp@5Xr)_2+-rO7ct&OA6+)hSGS)#91oMij?|_Hw2P z?EqupcU@4s`rrsv51kKRKsQF9n5U?{K|9xMM62wmX`j*YcCgk|?J2&r9ecrJ$vnZ~ zNdXPZ$2oO^(JqEB16M~erASvQN~H@6113Tm1@Y=J{&?drX&>jXQ#+ey3Yk1iTo`>S zE#h`m-jb%T-vVK@zfV7N4o{&@uPSAxIX<%Ln#{|5#qHNl%BS%jOKjBFUble((k(x6 zIvn2zz_|~BVocS5?ZEdl(<;QLCM%DZi}A_Oi@F&hvKZnQ46oM48(^;YS61|{E_dr5 zwUt+{UFqD|N-jPjTlKI5?CT}>I$b(4K=vY(X375U2rI-nny0__wURGj3r zzx)ksfYaTal^zpzAaZV6PZzALco#;TaDwTa5x&8RSmB6$TcGvZbdQ?Hljpx>h@TOZ z`^sQRr+wn%>3~WPUk335p=QN;$5Q&H9#6{4mO?I~hnITopJPoKRiYB2=3{i<;3|#R zY>z?r{3%TzJ>Ura(~T1EylO|{c_7Tjz0wMd247hZ<3e0>3eM|{WgU6s)IYi*QqED9 zH1_n1Z|m62&&Ak6_ZC8`gKs9O{5QRWo+sxO3QMM7?eC0e><0A0x!%zJ$hBJNs9rMG zI5mp0I@m(Cf{OCp3e?K1tlE`9bbq8O0m4fX;@Pa1LJ(=cyz_cKf!zNnTtE8o+@Z{r z;5A)$=$$t|PLFF~D7 z8vosYwoFCDh$;x8K+lDZkBV1bm_EWjp87}+&Q5f-sCy56mv9pg%eE6CPHNP&ylqyy zT!%k$;XSX<$$9L8Ui|4QDr>XHl*dLVTU}9i`~B^N2mTrVV_1S9h3hHmw604pYlDNG zB@)~Bu$nfX30P`o^KW%ZMSYtlM-DtUaJg z(9ze&KjIkf@3S#KJx2C`Dz7b!B&liMXSOGzgH6sOd}Y-I5Ay}B%C}K>JXz~MTb{Fw za3j!WSvp?4x8lT|w-e>3Yt2+tl)^=8vpnd#F&_6of=OjN%oo}x7qG683k@S^zJK2< zwh|=;t`TC29!)XP_Ug(dIlw$XSS7#_$FeIBi)^yFIM4A0XPMfqZJzbW!$ObU-}QnO zAN|sN6t&^^5?12MH@$|5vK3-3GBQN##aMizjO+7U=6Q+d#* zKP}jHiMU?Uh3)9NTi8eU6fE<4+S3c{5mGfR1dEJT&K=49#vEBA!?4h9aCBrH+Q(Px zlE^}@I>$v0HPI11S2f)IH|tWcP%jz3Ppri<;84y9E9x=(wAf(lF(u zaH?bvBNdw?Ze-@GN4>atnOf6&M(P%J)!abf$D(pZ^AAE2xb&^Cpi!jy>lRI<@#3YE z=U1MTtgAD{r1yOtIA#1kCg;p_YmC^K6-EaE0SX<_>A_nI;qoTZ6KWPuFWlZrAwR`K zd?tPEs9Lq|MaHp7nu!i~f_c6)^I}=NjNKmF~1%xe_L+_%xqu1b3^w=WM4s z?2yOjQ6-xzST{AT7BC$VuDNY1TBNcumFi>liQHdFA#@;Ij= zuUNqd@j*>HBmuO?kEavjY|~2pChhZJS(v*u^Xq6R(Pd z{*na9c>zTE{dEf<>z8Vk3KLz%_}8Ee%1IV zv_y}@7R>TP?cY-K>E){gO}H}*`0aNeo_M!Hp)ty(}U3ZL+Eo?T%m_sXhidx%*BtXK%)ucvux=?pd9n&F8!f{ z)gz9dKPZeZ*C%Z0Ti;ll6F0qoH9jrJc(s`Z-~SU7Q(L2EMmfBB=8}%v3t9ul14Y7&kSFe>x_YBc)i5M`?Q(DS;pLg9*cGywO3K!Uu z?YTId<|@T DeleteCommand: execute(args: ArrayList) +activate DeleteCommand #red +alt Valid ID + DeleteCommand -> DeleteCommand: parse ID from args + DeleteCommand -> InternshipList: removeInternship(index) + activate InternshipList #green + deactivate InternshipList #green +else Invalid ID + DeleteCommand -> DeleteCommand: Catch NumberFormatException + DeleteCommand -> UI: showOutput("Invalid integer, please provide a valid internship ID") + activate UI #blue + deactivate UI +end + +@enduml \ No newline at end of file diff --git a/docs/UML/DeleteCommand_Sequence_Diagram.png b/docs/UML/DeleteCommand_Sequence_Diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..edcf87a3110bfedb344e6c46c339e39a6e636514 GIT binary patch literal 33302 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/UML/Internship.puml b/docs/UML/Internship.puml new file mode 100644 index 0000000000..d459e29edd --- /dev/null +++ b/docs/UML/Internship.puml @@ -0,0 +1,71 @@ +@startuml + +Title Model Component +class Internship { + - int id + - String role + - String company + - YearMonth startDate + - YearMonth endDate + - List deadlines + - ArrayList skills + - String status + + + Internship(String role, String company, String start, String end) + + void updateStatus(String userStatus) throws InvalidStatus + + int getId() + + String getRole() + + String getCompany() + + String getStartDate() + + String getEndDate() + + String getStatus() + + void setStartDate(String start) throws DateTimeParseException + + void setEndDate(String end) throws DateTimeParseException + + void addDeadline(String description, String date) throws DateTimeParseException + + List getDeadlines() + + void removeDeadline(String description) + + void clearDeadlines() + + String getSkills() + + void setSkills(String skills) + + void removeSkill(String skill) throws MissingValue + + String toString() +} + + + +class InternshipList { + - internships : ArrayList + - ui : UiInternshipList + + + InternshipList() + + addInternship(internship : Internship) : void + + isWithinBounds(index : int) : boolean + + removeInternship(index : int) : void + + getInternship(index : int) : Internship + + updateField(index : int, field : String, value : String) : void + + listAllInternships() : void + + getAllInternships() : List + + getSize() : int + - updateIds() : void + } + +class Deadline { + - internshipID : int + - description : String + - date : LocalDate + + + Deadline(internshipID : int, description : String, date : String) + + getInternshipId() : int + + setInternshipId(internshipId : int) : void + + getDescription() : String + + setDescription(description : String) : void + + setDate(date : String) : void + + getDate() : String + + toString() : String + } + +InternshipList "1" --> "*" Internship +Internship "1" --> "*" Deadline + +@enduml + diff --git a/docs/UML/loadFromFile.png b/docs/UML/loadFromFile.png new file mode 100644 index 0000000000000000000000000000000000000000..8dc7cffcfd43f1cd0874f5dcaafec2ec98d73f90 GIT binary patch literal 51904 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: start program +activate EasInternship #green +EasInternship->InternshipList: new InternshipList() +activate InternshipList #aquamarine +EasInternship->Storage: loadFromFile(internshipList) +activate Storage #orange +Storage->FileReader :read(file) +activate FileReader #red +FileReader-> Storage: data lines + +loop for each line in file + Storage-> Internship : new Internship(role, company, startDate, endDate) + activate Internship #blue + Internship->InternshipList: addInternship + Storage -> Internship :setSkills(skills) + Storage -> Internship : setStatus(status) + deactivate Internship + + Storage -> Storage: parseDeadlines(deadlineString, internshipId) + activate Storage #orange + Storage -> Deadline: new Deadline (description, date) + deactivate Storage + + Internship -> Deadline : addDeadline(deadline) +end +deactivate FileReader +deactivate Storage +@enduml + diff --git a/docs/UML/saveToFile.png b/docs/UML/saveToFile.png new file mode 100644 index 0000000000000000000000000000000000000000..96c9f59a796668eedb19d9f4540820aea33ccadd GIT binary patch literal 40918 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

m~mc9-u6z(lI5cq@>`%t7Zl4w{PE2nW6q? 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 literal 0 HcmV?d00001 diff --git a/docs/UML/saveToFile.puml b/docs/UML/saveToFile.puml new file mode 100644 index 0000000000..02b6c56522 --- /dev/null +++ b/docs/UML/saveToFile.puml @@ -0,0 +1,36 @@ +@startuml +Title saveToFile + +participant User +participant EasInternship +participant Storage +participant InternshipList +participant Internship +participant FileWriter + +User -> EasInternship: exit program +activate EasInternship #green +EasInternship -> Storage : saveToFile(internshipList) +activate Storage #orange +Storage -> InternshipList : getAllInternships() +activate InternshipList #aquamarine +InternshipList -> Storage : List +deactivate InternshipList + +loop for each Internship +Storage-> Internship : get each attribute +activate Internship #blue +Internship -> Storage : List +deactivate Internship + loop for each Deadline + Storage -> Deadline : get each attribute + activate Deadline #teal + deactivate Deadline + end +end + +Storage -> FileWriter : write(internship data) +activate FileWriter #red +deactivate FileWriter +deactivate Storage +@enduml \ No newline at end of file diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 79f595ded4..66d53df5c6 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -48,6 +48,8 @@ Role: Software Engineer Intern Company: Google Duration: Not Stated Skills: Not Stated +Deadlines: +No deadlines set. ``` **Example Input 2:** @@ -60,6 +62,8 @@ Role: Embedded Software Engineer Intern Company: Continental Duration: 05/25 to 08/25 Skills: Not Stated +Deadlines: +No deadlines set. ``` ## Update Command @@ -69,6 +73,7 @@ This feature allows you to update any field of an internship application. For ex The default status for any internship that is stored in the database is ‘application pending’. + **Format:** `update {ID} {-field} {updated information}` @@ -82,6 +87,8 @@ Role: Embedded Software Engineer Intern application completed Company: Continental Duration: 05/25 to 08/25 Skills: Not Stated +Deadlines: +No deadlines set. ``` `Update 02 -status interview scheduled` @@ -92,6 +99,8 @@ Role: Embedded Software Engineer Intern interview scheduled Company: Continental Duration: 05/25 to 08/25 Skills: Not Stated +Deadlines: +No deadlines set. ``` `Update 02 -company Venti` @@ -102,6 +111,8 @@ Role: Embedded Software Engineer Intern interview scheduled Company: Venti Duration: 05/25 to 08/25 Skills: Not Stated +Deadlines: +No deadlines set. ``` `Update 02 -duration /from 04/25` @@ -112,6 +123,8 @@ Role: Embedded Software Engineer Intern interview scheduled Company: Venti Duration: 04/25 to 08/25 Skills: Not Stated +Deadlines: +No deadlines set. ``` `update 02 -skills Python SQL` @@ -122,6 +135,8 @@ Role: Embedded Software Engineer Intern interview scheduled Company: Venti Duration: 04/25 to 08/25 Skills: Python, SQL +Deadlines: +No deadlines set. ``` ## Sort Command `sort` @@ -137,7 +152,7 @@ Users can specify a flag to display them in alphabetical order (regardless of up **Example:** -`sort -deadline` +`sort -duration` ``` ID: 02 @@ -145,27 +160,56 @@ Role: Software Engineer Intern Company: Google Duration: 05/23 to 08/25 Skills: Not Stated +Deadlines: +online assessment: 11/11/24 ID: 01 Role: Embedded Software Engineer Intern Company: Continental Duration: 05/24 to 08/24 Skills: Not Stated +Deadlines: +interview: 25/11/24 ``` `sort -alphabet` ``` -ID: 02 +ID: 01 Role: Embedded Software Engineer Intern Company: Continental Duration: 05/25 to 08/25 Skills: Not Stated +Deadlines: +interview: 25/11/24 -ID: 01 + +ID: 02 Role: Software Engineer Intern Company: Google Duration: Not Stated Skills: Not Stated +Deadlines: +online assessment: 11/11/24 +``` + +`sort -deadline` + +``` +ID: 02 +Role: Software Engineer Intern +Company: Google +Duration: 05/23 to 08/25 +Skills: Not Stated +Deadlines: +online assessment: 11/11/24 + +ID: 01 +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/24 to 08/24 +Skills: Not Stated +Deadlines: +interview: 25/11/24 ``` ## Filter command: `filter` diff --git a/docs/images/addcommand.png b/docs/images/addcommand.png deleted file mode 100644 index 5bb765bdabd367ae10376b27f5f872bd4f58e7f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102289 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

Ho-pBnvJaqkY3-b2JcNRWPF$p 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 VH#B6GLBYU(hI*#>QXTt{{{UU&bmRa4 diff --git a/docs/images/deletecommand.png b/docs/images/deletecommand.png deleted file mode 100644 index eea95596815a9b1e48cf9654bff09ef0aa9f1ee7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29268 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 Date: Tue, 29 Oct 2024 13:23:17 +0800 Subject: [PATCH 154/359] Add data folder to git ignore --- .gitignore | 1 + data/EasInternship.txt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 2873e189e1..770b4dbddf 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ /.idea/ /out/ /*.iml +/data/ # Gradle build files /.gradle/ diff --git a/data/EasInternship.txt b/data/EasInternship.txt index b4b37575ae..85a20f8d50 100644 --- a/data/EasInternship.txt +++ b/data/EasInternship.txt @@ -1,4 +1,4 @@ 1 | ABC | XYZ | 01/01 | 01/01 | | Application Pending | No Deadlines set. 2 | software engineer | abs | 01/01 | 03/24 | python, c++, backend | Application Completed | No Deadlines set. 3 | lawyer | lolo pte ltd | 04/23 | 01/01 | source, terry | Application Completed | Application deadline -date 03/12/04 -4 | Technician | Nokia | 12/22 | 12/30 | java, c++ | Application Pending | interview round 1 -date 25/04/24 - interview round 2 -date 14/05/24 +4 | Technician | Nokia | 12/22 | 12/30 | java, c++ | Application Pending | interview round 1 -date 26/04/24 - interview round 2 -date 14/05/24 From 7d330d830720f3791b6d872f9eb4d61a1875753f Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Tue, 29 Oct 2024 15:48:17 +0800 Subject: [PATCH 155/359] Test edge cases Account for more edge cases in the Parser class such as whitespaces input and empty flags Trim all inputs for added security --- src/main/java/seedu/duke/EasInternship.java | 1 - src/main/java/seedu/duke/Parser.java | 27 +- .../seedu/commands/FilterCommandTest.java | 10 + src/test/java/seedu/duke/ParserTest.java | 424 ++++++++++++++++++ 4 files changed, 456 insertions(+), 6 deletions(-) create mode 100644 src/test/java/seedu/duke/ParserTest.java diff --git a/src/main/java/seedu/duke/EasInternship.java b/src/main/java/seedu/duke/EasInternship.java index 46c69bbc2b..f2a63b648d 100644 --- a/src/main/java/seedu/duke/EasInternship.java +++ b/src/main/java/seedu/duke/EasInternship.java @@ -43,7 +43,6 @@ public static void main(String[] args) { Command command = parser.parseCommand(input); if (command == null) { - ui.showUnknownCommand(input); continue; } diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index b567d9d907..65c5b5ceb0 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -37,9 +37,15 @@ private void initializeCommands() { } public Command parseCommand(String input) { + if (input.isBlank()) { + ui.showOutput("Please enter a command"); + return null; + } + String[] inputArgs = input.trim().split(" ", 2); - String inputCommand = inputArgs[0]; + assert inputArgs[0].equals(inputArgs[0].trim()); + String inputCommand = inputArgs[0].trim(); if (!commands.containsKey(inputCommand)) { ui.showUnknownCommand(inputCommand); @@ -88,7 +94,11 @@ public ArrayList parseData(Command command, String input) { } private ArrayList parseFlagData(String inputData) { - ArrayList commandArgs = new ArrayList<>(Arrays.asList(inputData.split("-"))); + ArrayList commandArgs = new ArrayList<>(Arrays.asList(inputData.trim().split("-"))); + if (commandArgs.isEmpty()) { + ui.showOutput("Empty flag detected\n" + "Please input a flag following the '-' symbol"); + return null; + } commandArgs.remove(0); commandArgs.replaceAll(String::trim); return commandArgs; @@ -106,14 +116,21 @@ private ArrayList parseDeleteCommandData(String inputData) { } private ArrayList parseUpdateCommandData(String inputData) { - String[] splitArray = inputData.split(" ", 2); - String id = splitArray[0]; + String[] splitArray = inputData.trim().split(" ", 2); + assert splitArray[0].equals(splitArray[0].trim()); + String id = splitArray[0].trim(); try { - String fields = splitArray[1]; + String fields = splitArray[1].trim(); + if (fields.isBlank()) { throw new ArrayIndexOutOfBoundsException(); } + ArrayList commandArgs = parseFlagData(fields); + if (commandArgs == null) { + return null; + } + commandArgs.add(0, id); return commandArgs; } catch (ArrayIndexOutOfBoundsException e) { diff --git a/src/test/java/seedu/commands/FilterCommandTest.java b/src/test/java/seedu/commands/FilterCommandTest.java index 030beec65b..7d3f3633cf 100644 --- a/src/test/java/seedu/commands/FilterCommandTest.java +++ b/src/test/java/seedu/commands/FilterCommandTest.java @@ -82,6 +82,16 @@ void execute_invalidDateField_abortsFiltering() { assertFalse(filterCommand.functionComplete); } + @Test + void execute_invalidDateFormatField_abortsFiltering() { + createListOne(); + args.add("from 24/08"); + + filterCommand.execute(args); + + assertFalse(filterCommand.functionComplete); + } + @Test void execute_validRoleFilter_internshipFiltered() { createListOne(); diff --git a/src/test/java/seedu/duke/ParserTest.java b/src/test/java/seedu/duke/ParserTest.java new file mode 100644 index 0000000000..ba62cbbe7d --- /dev/null +++ b/src/test/java/seedu/duke/ParserTest.java @@ -0,0 +1,424 @@ +package seedu.duke; + +import org.junit.jupiter.api.Test; +import seedu.commands.*; +import seedu.ui.Ui; + +import java.util.ArrayList; + +import static org.junit.jupiter.api.Assertions.*; + +public class ParserTest { + + private final Parser parser = new Parser(); + private final Ui ui = new Ui(); + + // ==================== AddCommand Tests ==================== + + @Test + void parseCommand_validAddCommand_returnsAddCommand() { + String input = "add -role Software Engineer -company Google -from 01/24 -to 08/24"; + Command command = parser.parseCommand(input); + assertInstanceOf(AddCommand.class, command); + } + + @Test + void parseData_validAddCommand_returnsCorrectArguments() { + String input = "add -role Software Engineer -company Google -from 01/24 -to 08/24"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + ArrayList expectedArgs = new ArrayList<>(); + expectedArgs.add("role Software Engineer"); + expectedArgs.add("company Google"); + expectedArgs.add("from 01/24"); + expectedArgs.add("to 08/24"); + assertEquals(expectedArgs, args); + } + + @Test + void parseData_addCommandMissingRole_returnsArgumentsWithoutRole() { + String input = "add -company Google -from 01/24 -to 08/24"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + ArrayList expectedArgs = new ArrayList<>(); + expectedArgs.add("company Google"); + expectedArgs.add("from 01/24"); + expectedArgs.add("to 08/24"); + assertEquals(expectedArgs, args); + } + + @Test + void parseData_addCommandMissingCompany_returnsArgumentsWithoutCompany() { + String input = "add -role Software Engineer -from 01/24 -to 08/24"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + ArrayList expectedArgs = new ArrayList<>(); + expectedArgs.add("role Software Engineer"); + expectedArgs.add("from 01/24"); + expectedArgs.add("to 08/24"); + assertEquals(expectedArgs, args); + } + + @Test + void parseData_addCommandEmptyInput_returnsNull() { + String input = "add"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + assertNull(args); // No data provided after command + } + + // ==================== DeleteCommand Tests ==================== + + @Test + void parseCommand_validDeleteCommand_returnsDeleteCommand() { + String input = "delete 1"; + Command command = parser.parseCommand(input); + assertInstanceOf(DeleteCommand.class, command); + } + + @Test + void parseData_validDeleteCommand_returnsCorrectArguments() { + String input = "delete 1"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + ArrayList expectedArgs = new ArrayList<>(); + expectedArgs.add("1"); + assertEquals(expectedArgs, args); + } + + @Test + void parseData_deleteCommandNoId_returnsNull() { + String input = "delete"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + assertNull(args); // Missing ID should result in null + } + + @Test + void parseData_deleteCommandInvalidId_returnsArguments() { + String input = "delete abc"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + ArrayList expectedArgs = new ArrayList<>(); + expectedArgs.add("abc"); + assertEquals(expectedArgs, args); // Command may handle invalid ID later + } + + // ==================== UpdateCommand Tests ==================== + + @Test + void parseCommand_validUpdateCommand_returnsUpdateCommand() { + String input = "update 1 -company XYZ"; + Command command = parser.parseCommand(input); + assertInstanceOf(UpdateCommand.class, command); + } + + @Test + void parseData_validUpdateCommand_returnsCorrectArguments() { + String input = "update 1 -company XYZ -role Developer"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + ArrayList expectedArgs = new ArrayList<>(); + expectedArgs.add("1"); + expectedArgs.add("company XYZ"); + expectedArgs.add("role Developer"); + assertEquals(expectedArgs, args); + } + + @Test + void parseData_updateCommandNoFields_returnsNull() { + String input = "update 1"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + assertNull(args); // Missing fields should result in null + } + + // ==================== SortCommand Tests ==================== + + @Test + void parseCommand_validSortCommand_returnsSortCommand() { + String input = "sort -alphabet"; + Command command = parser.parseCommand(input); + assertInstanceOf(SortCommand.class, command); + } + + @Test + void parseData_validSortCommand_returnsCorrectArguments() { + String input = "sort -alphabet"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + ArrayList expectedArgs = new ArrayList<>(); + expectedArgs.add("alphabet"); + assertEquals(expectedArgs, args); + } + + @Test + void parseData_sortCommandNoFlag_returnsEmptyArguments() { + String input = "sort"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + assert(args.isEmpty()); + } + + @Test + void parseData_sortCommandInvalidFlag_returnsArguments() { + String input = "sort -unknown"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + ArrayList expectedArgs = new ArrayList<>(); + expectedArgs.add("unknown"); + assertEquals(expectedArgs, args); // Command may handle invalid flag later + } + + // ==================== FilterCommand Tests ==================== + + @Test + void parseCommand_validFilterCommand_returnsFilterCommand() { + String input = "filter -role Developer -company ABC Corp"; + Command command = parser.parseCommand(input); + assertInstanceOf(FilterCommand.class, command); + } + + @Test + void parseData_validFilterCommand_returnsCorrectArguments() { + String input = "filter -role Developer -company ABC Corp"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + ArrayList expectedArgs = new ArrayList<>(); + expectedArgs.add("role Developer"); + expectedArgs.add("company ABC Corp"); + assertEquals(expectedArgs, args); + } + + @Test + void parseData_filterCommandNoArguments_returnsNull() { + String input = "filter"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + assertNull(args); // No arguments provided + } + + @Test + void parseData_filterCommandInvalidFlag_returnsArguments() { + String input = "filter -invalidFlag Value"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + ArrayList expectedArgs = new ArrayList<>(); + expectedArgs.add("invalidFlag Value"); + assertEquals(expectedArgs, args); // Command may handle invalid flag later + } + + @Test + void parseData_filterCommandEmptyField_returnsArgumentsWithEmptyField() { + String input = "filter -company"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + // The parser will include "company" as an argument with no value + ArrayList expectedArgs = new ArrayList<>(); + expectedArgs.add("company"); + assertEquals(expectedArgs, args); + } + + // ==================== ListCommand Tests ==================== + + @Test + void parseCommand_validListCommand_returnsListCommand() { + String input = "list"; + Command command = parser.parseCommand(input); + assertInstanceOf(ListCommand.class, command); + } + + @Test + void parseData_listCommand_returnsEmptyArguments() { + String input = "list"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + assert(args.isEmpty()); + } + + @Test + void parseData_listCommandWithExtraInput_returnsEmptyArguments() { + String input = "list extra input"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + assert(args.isEmpty()); + } + + // ==================== HelpCommand Tests ==================== + + @Test + void parseCommand_validHelpCommand_returnsHelpCommand() { + String input = "help"; + Command command = parser.parseCommand(input); + assertInstanceOf(HelpCommand.class, command); + } + + @Test + void parseData_helpCommand_returnsEmptyArguments() { + String input = "help"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + assert(args.isEmpty()); + } + + @Test + void parseData_helpCommandWithExtraInput_returnsEmptyArguments() { + String input = "help extra input"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + assert(args.isEmpty()); + } + + // ==================== Invalid Command Tests ==================== + + @Test + void parseCommand_invalidCommand_returnsNull() { + String input = "invalidcommand"; + Command command = parser.parseCommand(input); + assertNull(command); + } + + @Test + void parseCommand_invalidCommandWithSpace_returnsNull() { + String input = "invalidcommand "; + Command command = parser.parseCommand(input); + assertNull(command); + } + + // ==================== Edge Case Tests ==================== + + @Test + void parseCommand_emptyInput_returnsNull() { + String input = ""; + Command command = parser.parseCommand(input); + assertNull(command); + } + + @Test + void parseCommand_commandWithOnlyWhitespace_returnsNull() { + String input = " "; + Command command = parser.parseCommand(input); + assertNull(command); + } + + @Test + void parseCommand_commandWithMixedCase_returnsCorrectCommand() { + String input = "AdD -role Developer -company XYZ Corp"; + Command command = parser.parseCommand(input); + assertNull(command); // Since the command map is case-sensitive + } + + @Test + void parseCommand_commandWithLeadingWhitespace_returnsCorrectCommand() { + String input = " add -role Developer -company XYZ Corp"; + Command command = parser.parseCommand(input); + assertInstanceOf(AddCommand.class, command); + } + + @Test + void parseData_commandWithLeadingWhitespace_returnsCorrectData() { + String input = " add -role Developer -company XYZ Corp"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + ArrayList expectedArgs = new ArrayList<>(); + expectedArgs.add("role Developer"); + expectedArgs.add("company XYZ Corp"); + assertEquals(expectedArgs, args); + } + + @Test + void parseData_addCommandWithWhitespaceEverywhere_returnsCorrectData() { + String input = " add - role Developer - company XYZ Corp"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + ArrayList expectedArgs = new ArrayList<>(); + expectedArgs.add("role Developer"); + expectedArgs.add("company XYZ Corp"); + assertEquals(expectedArgs, args); + } + + @Test + void parseData_deleteCommandWithWhitespaceEverywhere_returnsCorrectData() { + String input = " delete 3 "; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + ArrayList expectedArgs = new ArrayList<>(); + expectedArgs.add("3"); + assertEquals(expectedArgs, args); + } + + @Test + void parseData_updateCommandWithWhitespaceEverywhere_returnsCorrectData() { + String input = " update 2 - role engineer - company Google"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + ArrayList expectedArgs = new ArrayList<>(); + expectedArgs.add("2"); + expectedArgs.add("role engineer"); + expectedArgs.add("company Google"); + assertEquals(expectedArgs, args); + } + + @Test + void parseData_helpCommandWithAddedCharacters_returnsCorrectData() { + String input = " help /qwdhui- 12dj "; + Command command = parser.parseCommand(input); + assertInstanceOf(HelpCommand.class, command); + } + + @Test + void parseData_addCommandWithMissingFlag_returnsCorrectData() { + String input = " add -"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + assertInstanceOf(AddCommand.class, command); + assertNull(args); + } + + @Test + void parseData_addCommandWithEmptyFlag_returnsCorrectData() { + String input = " add - "; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + assertInstanceOf(AddCommand.class, command); + assertNull(args); + } + + @Test + void parseData_updateCommandWithMissingFlag_returnsCorrectData() { + String input = " update 2 -"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + assertInstanceOf(UpdateCommand.class, command); + assertNull(args); + } + + @Test + void parseData_updateCommandWithEmptyFlag_returnsCorrectData() { + String input = "update 2 - "; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + assertInstanceOf(UpdateCommand.class, command); + assertNull(args); + } + + @Test + void parseData_sortCommandWithMissingFlag_returnsCorrectData() { + String input = "sort 6 -"; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + ArrayList expectedArgs = new ArrayList<>(); + assertInstanceOf(SortCommand.class, command); + assertEquals(expectedArgs, args); + } + + @Test + void parseData_sortCommandWithEmptyFlag_returnsCorrectData() { + String input = "sort uhi87 - "; + Command command = parser.parseCommand(input); + ArrayList args = parser.parseData(command, input); + ArrayList expectedArgs = new ArrayList<>(); + assertInstanceOf(SortCommand.class, command); + assertEquals(expectedArgs, args); + } +} From 3c77ff7144ad9e862bef9f2005f75968082e4c0d Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Tue, 29 Oct 2024 15:50:43 +0800 Subject: [PATCH 156/359] Ignore meta file --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 2873e189e1..7039d1ae76 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ bin/ /text-ui-test/ACTUAL.TXT text-ui-test/EXPECTED-UNIX.TXT +META-INF/MANIFEST.MF From 30a11f1f00255d2c78d6376ad33ffe3cb2aca3d2 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Tue, 29 Oct 2024 15:59:56 +0800 Subject: [PATCH 157/359] Fix checkstyle errors Import errors --- src/test/java/seedu/duke/ParserTest.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/test/java/seedu/duke/ParserTest.java b/src/test/java/seedu/duke/ParserTest.java index ba62cbbe7d..6b21ebd8ed 100644 --- a/src/test/java/seedu/duke/ParserTest.java +++ b/src/test/java/seedu/duke/ParserTest.java @@ -1,12 +1,22 @@ package seedu.duke; import org.junit.jupiter.api.Test; -import seedu.commands.*; +import seedu.commands.AddCommand; +import seedu.commands.Command; +import seedu.commands.DeleteCommand; +import seedu.commands.FilterCommand; +import seedu.commands.HelpCommand; +import seedu.commands.ListCommand; +import seedu.commands.SortCommand; +import seedu.commands.UpdateCommand; + import seedu.ui.Ui; import java.util.ArrayList; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertInstanceOf; public class ParserTest { From 9843aa953d2b4fb6ffbc3bbbb7e22c0764ce824b Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Tue, 29 Oct 2024 16:51:38 +0800 Subject: [PATCH 158/359] Start UpdateCommand UML diagram --- docs/UML/UpdateCommand.puml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 docs/UML/UpdateCommand.puml diff --git a/docs/UML/UpdateCommand.puml b/docs/UML/UpdateCommand.puml new file mode 100644 index 0000000000..d409b6d2ae --- /dev/null +++ b/docs/UML/UpdateCommand.puml @@ -0,0 +1,30 @@ +@startuml +title UpdateCommand Sequence Diagram + +participant User +participant UpdateCommand +participant uiCommand +participant Internship +participant InternshipList +participant UiInternshipList + +activate InternshipList #orange +activate UiInternshipList #yellow + +User -> UpdateCommand:execute(args) +activate UpdateCommand #red +activate uiCommand #green + +UpdateCommand -> InternshipList:isWithinBounds(index) +break Not in Bounds + InternshipList -> UiInternshipList:showInvalidIndex() + UiInternshipList --> User:show invalid index message + InternshipList --> UpdateCommand: false +end + +InternshipList --> UpdateCommand: true + +UpdateCommand -> uiCommand:clearInvalidFlags() +UpdateCommand -> uiCommand:clearUpdatedFields() +UpdateCommand -> uiCommand:clearInvalidFields() +@enduml \ No newline at end of file From 961d779990f41e0454f22e5a5e4ba4b03379b039 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Tue, 29 Oct 2024 17:30:19 +0800 Subject: [PATCH 159/359] Update the sequence diagram of SortCommand in DG --- docs/DeveloperGuide.md | 8 +-- docs/UML/SortCommand.puml | 66 ++++++++++++++++++++++ docs/UML/SortCommand_Sequence_Diagram.png | Bin 0 -> 78842 bytes 3 files changed, 67 insertions(+), 7 deletions(-) create mode 100644 docs/UML/SortCommand.puml create mode 100644 docs/UML/SortCommand_Sequence_Diagram.png diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 4e67e20bda..8c15da3612 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -197,13 +197,7 @@ The `SortCommand` class is responsible for sorting the internship listings based #### Sequence Diagram: The following sequence diagram shows how the `SortCommand` is executed: - -```plaintext -User -> System: sort alphabet -System -> SortCommand: execute("alphabet") -SortCommand -> InternshipList: listInternshipsSortedByRole() -InternshipList -> UI: showSortedInternshipsByRole() -``` +![](UML/loadFromFile.png) ### Product scope ### Target user profile diff --git a/docs/UML/SortCommand.puml b/docs/UML/SortCommand.puml new file mode 100644 index 0000000000..6aa88a4d48 --- /dev/null +++ b/docs/UML/SortCommand.puml @@ -0,0 +1,66 @@ +@startuml +title SortCommand Sequence Diagram + +participant User +participant SortCommand +participant uiCommand +participant Internships + +User->SortCommand: execute(args) +activate SortCommand #red +SortCommand --> uiCommand: clearInvalidFlags() +activate uiCommand #green +SortCommand -> SortCommand : Initialize variables + +alt args are empty + SortCommand -> uiCommand: showSortedInternships("none") + SortCommand -> Internships: listAllInternships() + activate Internships #aquamarine + deactivate Internships +else args are not empty + SortCommand -> SortCommand : get first argument (sortOption) + + alt sortOption == "role" + SortCommand -> uiCommand: showSortedInternships("role") + SortCommand -> Internships: listInternshipsSortedByRole() + activate Internships #blue + deactivate Internships + + else sortOption == "duration" + SortCommand -> uiCommand: showSortedInternships("duration") + SortCommand -> Internships: listInternshipsSortedByDuration() + activate Internships #blue + deactivate Internships + + else sortOption == "deadline" + SortCommand -> uiCommand: showSortedInternships("deadline") + SortCommand -> Internships: listInternshipsSortedByDeadline() + activate Internships #blue + deactivate Internships + + else sortOption == "skills" + SortCommand -> uiCommand: showSortedInternships("skills") + SortCommand -> Internships: listInternshipsSortedByFirstSkill() + activate Internships #blue + deactivate Internships + + else sortOption == "status" + SortCommand -> uiCommand: showSortedInternships("status") + SortCommand -> Internships: listInternshipsSortedByStatus() + activate Internships #blue + deactivate Internships + + else invalid sortOption + SortCommand -> uiCommand: addInvalidFlag(sortOption) + SortCommand -> uiCommand: printInvalidFlags() + SortCommand -> Internships: listAllInternships() + activate Internships #aquamarine + deactivate Internships + end +end + +SortCommand -> User: Return result (sorted internships or error message) +deactivate uiCommand +deactivate SortCommand + +@enduml \ No newline at end of file diff --git a/docs/UML/SortCommand_Sequence_Diagram.png b/docs/UML/SortCommand_Sequence_Diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..6ca587bdbc35a75706b41d75923093eb98112a24 GIT binary patch literal 78842 zcmce;byQSq8#fF{cXx*%-61fvpeTw;Dbl5sgdi}0bV#ZQ2ndLQfJjIvB^?eR79i3v zw8S7VQr|UtJkL4L^S%GP>s#MiF2!MH&))mK@9X;2z2nXq=~I!jljGsxQJpl}>Z@n&YwvkIz|GOg7f;{O!_nK;*U^F3E`Zm?*Y~>5aVe?m zZnhr2H{9JM?LFQ7`g(ZaFp*a;n*08F9Sq}n^2R&Ta(%7FPcFS|;&X06{$@gkJ*K+b1>4_&^ z&m4{O`fPOjA8tn4@X9EelNy)5%i4!6YWH;X=;HpF3Kbdb3u9YtBT+inGmHN7@o=b{${94 zf=KAa?xTyG$0;tQ#3$KMtl)-6_`N4WWLMtw>OQzLGc#e#e%Ww>VoLRl zc+j_tM)%){Ii;0r8wzl8Yj@s@KmKD<d!;E7gy5 z(=pS)LmtBCKPHAb8;j+n6J{Abx&sQDQ+`|Tl*q9xRF zA_ffw>6x{!ogw2{@k7&`d(YdA_D_b!V64}PipftHKw1**bVe#kML zmO+*$btoGV{O0;(%kemRp;Lq;Bw~hbE%`bzTdU*!ALjaVrOZk>uNkEBM?HHsmnLS` zD4FFTf9+G@$-758RL(^XT_ftxNPQp&2TXEUTHF?0Q0 zxeBh#-eXOnFTdU5y(8g(;4g13d7u#*qM^|=`!4<2*<5bsi}z#WvXneqI1SS!^?rUI zt!p~?S)7wI`bh8g)3dn`72PlC>vzJp9jiG>uBN7z=P(T?{c~>*(@()7`R&aO*L>}$ z^UsWeSI5++3Buo3I-lj7bbNPzGDZ8d!69}omv|xEetD?e*x0y-ij;p?8!bSemB1#) z|EVtUhv)|q8g9#~YfSIPYrX7ed(tNLPB%+gH|kQiB=zN}*0_&U`!0NNll1fUzSI=5 z-<2wmdN7w8IuxBEGIgiMbDX~czDd-iDDMupdZ1e90jEkvRnU(`g_~F`TS z)4Ik`bA4?JJq+3ZX)8gGkB|T4RGO%D0mcFTIa7nvi5Ow^olJa@)oUHAUhXV;?Sp&k==v+-LCO!caEP#EJiuU z(?&_#zh0`k_WI46Qp?vBcJ1*)EK_>R)cVA(+bbh6n~5AsDO>C7$4pCDx2hbv>5-8? z%C8;lVO=CjMLUvt`u&1;)@(V?v#_Kmaj8BMow2OFp6}HAKqMk!58az3<-W(_gkT=Y zS1;6X{Ze9(CsVlB8bf0qB@idZq@<)o7%R@NI}*<<5id}EbKQ=yE_inf1~OIi89B3f zY-_BCY0<@FXCJCjvCETEQMDg^ak=IM#YmNFjD3=wa#^i16AG5^Chm8lUX`{(kC(8jn$!cg+kLVpJa(Gx_!6zgD>>v&s8H`yTU(#jA0ldp=^i#Da^dM|$DVsy<&D9+ z2ir}DQO{y1*}|*HF{#gnkm|^<*#A#9rqVZ4+dhr!y);#-KiEoBD@CR|@`_ zb|OOW_b=b2OFcWCSrPbSu~6Eq)Uu0`jLf3kj)?yK*lN?^!9??sP0}WPMoo^PU>i&R zymztU78ksjDr}m=FFrqiWARgWtvX@q^%QKZ;KcH9C20%oH=8LPdAtHx`J{3J^u)(L z>4e<8sqA$6bZmxCDjPHN(_QZx1~1Cx!a@dl*DsVUI=*&0Q)Yy0(mae&*%K2sGjHXI z7p_`<|Mr^d4p!Pxz-#f-v6A+gBzY7$QN?lF2LTu~A8p%L=l+K>7(RyL#m~jguCA^r zPrV~uO6nsbB3h6WV+}zrG(9#QF2|Qvz1LD#(W{eR6B84)WUa#p zh$!zQl;3X%fda=B8EEjzZCKX6BcUPihqkt}L*qz|r@i~fr)M$|>kL_C`^?AA>)Il8 zBd-e^9`0|C4G`Ki^;Aq z{c=}9kFol=4N{XEC(!m%lCT;`J71s6*PiZ3Y~@SqjhPtZ9ew)cWK(d&<|a#1qm(;e zY-AKlUr-cRV++GX=AfcxZ1mihxZSpktln5#Qx4pmkEY_Fo#Xq^!l{1sgWx@jN+&8*m6uu*mil;l13v6NfXzwpP%RTtHBqg8c zzdAOAd_hQG=eH8L|5JfILX-Sjb848U%`w8ZgQQm9Q;j(dvhB0ok@CwKQ|YSaIn?f&7`@U zPrP^h9K9K9S9-5mBQk)6g=K4oMg{udiO|%yeB_jr;^t*}Fj(TW-(Fq4YZQOD7F1JR z?Uc`*nQY+Qh19i+U}Gr#aB^>FIvLua?$M)PpdMD9W~H!_H|WPYV6-Ate9)hQGspSr zp}JLWY;A2VM=`dErO>|9E$iZccQcD7j#=W;TN#%lyA<(vh0k`lAW$1B-ZPqr$lgxm z8r3!X7X-1Hc`~&{Rt_w>K6qC0(Rr9y)nM&l2?X|=w4T3#lL4QYKe}WTe~goAuPvpq=}{L;ppVO-k3t_ zktvsnB7*ST<2OXVY%LAaxEtjn)Ln(Cqsp)Pndf5D$={wFs{*3)r#idTv}I)EqiBHUk4%IGG!IU@OJe!y8UXPJTx$U~gwV zN7dgvfG{bxJV8!Ip|VNlmIW-T@3E*l|J90Ky6(|huOp=`U(M(Z%9`?0#AFQ6Cj{fK z@G?-@WOlr*6E@1WkuvYmyfh#F?PA0x3CDaYvgWQMKgo@$JlnyI{qC|dY4dXj_D4$W zRx2v(PG2H^uFWYwJ*Yeo4FD-$z&j~B^n&(x#v`Bk@2bMBo~fA2KBmBFp)UvI5EpFoCUV-+On^ zM3eNz4n^yGYgjjqs-__w8x>sljB?(T3^p0m68+fy=^;IKOe>?SBQYx?TzjY4X_zAC z6xt4ePjj>F9-Yw_iaye8mY&j6ZeL$vHy6%@+;w<`Ebte__8@)cB&WA+w;Y=Zq^5J| zBjd!cyb0%Vx?~O~K!HFY{J)DNzaSDOFq8PO}VqP*Uod9!u-0GNS)~9>})T*+t97y0vW8btrRTj1zwC$r%?6S^GGOK zL0!nmV=34>)AW~DFTxGKqwaucVeCS7d&Rx*7lkg+%`MAgOYYD(Q``1MH4Qqb15IYK zG?A>ex24@u&M8>66)`CN41!E470L1+MndB<<5TU$ERuVNR~-)z?(Xl>OmomZgZh|} z&f3eu%KEMJO8WUHYDFf+RY>gdM!crT=rIb)`nC^zeE!5#>Fu=GVcTOa`p0+8V?ToEJdvIJ12!3 zi}kHB{S)zmhWFhX8&!8U;$ABsN9))#W|qI^JAq*mH+R_onS(?yD|3fT!D$Z-4Ncwo zr0hIgp|HC}v?0_~hZ}~rkI2DN^=$d8%#sYWbYqSCmWQjB3}N}VI8V!$tSx@#sPWXe z#fd%s0N6=O{TjM;I1LdTeYxggdGgp;$j0+J?TTbHdYS)M)kMf1x^4^?}(}_v49jq^OZw_ZNS8yAuy(@gUpB{#f-zh_MIz#$M zX3!R=V;#bKX8CQHKuX+B8Y*40&84x*wdNrrIO>UW@1>IT?>AS*f_0@%w(JXucw{F0mz84;PZPG)ifd8~SjcaDdLDY1 z#rred2Y=QXWlpL!FNB#C#eX)EA#)ebYw^iD(rhnfeSq730tFwUTR*R_Hf?J&08xy=u&Jbpns^R8k_f4K_%IFdcp@iCz{8`x3>(M5lDH)J zYhv=WO@Fs~baVau^^WFR_3%M8yPQW^6yCk~>FWGa9hWfaQ;C@g%Kprc>~aK8)m(O4qL!pRww6`O zE@azX{qR@_BSb6n;H7qy=*G${4yEjBKst^SjQWc;8%^dQ18G=yQ#X?>}q>$%l_ z4Z3%Pm!!##l9lq#cu29Q^W3e;m~p4CuNLx3g$$9h4m(WMttJ;c5;Duko{kd`k;`Ch zeYNhBa!cpA&My$+xV@XllsNh6zxs(WlFaH2C@GB6?n7$sI13;(2 zp;6KOczIFYN^jPFc^q=f)=vP2%1f5VPN6nTDjA6i6Sr$MXsx2yB*yTmeK4#chw5i> zQrUiY>&Q7G23BTE)^ZV^>Ig2nner=@yM)s5Rc ze}dPc)}p$_N{=3SjiIG?dC?He-H?jCKHN#*n9V-_Rpap6+sxY+DEFzz$!Db$aGj^o z9$~-{eOF`Zed|!*!U4@wvc0EX;x<>scg{?+9Fy7^E%+f`Y9{_y0gMu@Qz=OAYt7f` zoQPl9To9|hdGFoCV(&k8|P>a3);@apNfh^VQ(K@Yx3!^e9E>hAwdBt+O;>O^ZvW+K(>FwBLwwT^5 zb6U<6EPd<{YJ1Q+%i`-0GGmz5CP#zkXnNZdjg|)zmkILZRTx;#W~|#H{C*@aSXoiT zxR1V}LF>4*d((a^Qyq&vlrHrc4@pWna-p~`XuZh9wZc%$jVO3g=*0mDMFul{?*5ze z0j4?wkA!+15nn9C=P$nYX8Lggy$dvZfHL5Yb)BCWO4wSt1qoGOJn{CCR}A`3gLlUV z>ataQnr#CM=8!vaug1EN8#nM?#g{HTiD7iXGvd!K>LAIM_}$ETylL&;@pw5+>3%kp znz3y7sVOyz-$_>QY0aBJ)xGqj=EzZ_?C0r{C$End6`nhb7C=#XB5uMIc(hEwNiijA zX~R$6X3;hi*-bP!0rej)w$AEM1G6utM(Ifz6yReZa^=mYG~45-;v4sY(N{%LnAz=B z%4zddVhn%oX3{vV43%@dyZWt`C{rpdb^w5V-E^Xg z*|U!eO&K(C>x@WBA#xbGAk=oXjx9OO0!Z*^8|6ppTO*IT@JoqAU*!( z#t0|pMumuTM?zG__OK~ACQb56U#Ih3tHA8&LK&^zPAkvqN*~R4!J->@AKIBy(tCFV@7QXt(#8vKDZ(CM*8L&$Dm<9 zcFML!(rSSz;MJ_2k&l|1YTV(?@XNM?W5QV7doN36^q{;D4}F7MdYWY zb-3GdS(#&{t))+kQ_SyLmwNkIzl+0lIm+#MO1eSHudgq3i#9(GV<2oIz?N}H{aW-& zxx*{~`mOBbbD5cCb1h(nF_-=N&h%Flay+?*iT}+WkXp#$$~ip5A;~8{Ov9X%V>2f{)wn1fCU=>ZMn}khsK>l)3TZQBO>rZNZuc83Fo1rhi_8xtH z;qbuXWQ#=McxUI}&1ZzR{Edwq^nu^VYu`V2kgRqa_TE}PwCb$MAZk4_7gbSA9}>cG zcNfe5!=s?W-fL0}1Io|U&qX&tL*h{Ku+tVV4ES+vys)spLsf{BAucJ&s?sUACGj#o z%keZ6X-7ZsM(4g)+3OLLVR8if=lx6wu&#qYg~lx5vIO>Z=qSJFHoSj z=Wz#1+9LR$gZhvJ1#KL zN6

{?`>B&6KKUxw#p*|LW>T&?&d4+9{CVDjeT|wvkec#BNNs#-!HXSo-qm`30PH zqwfvw%0p?}mM;`54M~WJAKhV-bNW{2Ps5YUtsZ~Pxi1?#)6Fn*Iv2r3g@E^i0Wch0*f~C)>wX*A zmHdQETfIDoh_LzhaP@j3%zL}LyE{9bLHO0X%^X$prNrVwxt*T5bm+leEpu(i{&8}f zk>N^b7AY$=QPFE4hKP_cRe6jCeyjBYsdnk(Gn(Swjt(@OSOu0@($f6NDW-dFWA)gb z^=acg(ELzOgSM8B0Z9dUc=8hW z`hN58!st$jLz(FKez zp7K%9m*pI~Y*J7)NUXQu#B2N`#AW1sMj4(x_l|uoHj6nbz|TM7R89VZij2(mYWTU6 z3C{RhZLud#+};_L??%dup;q7mbB^EW2$^h&qUefzbN=b+?jHYz4^Kdv^TyZp21kjU ziYm?Z7B+DEd+&!YU%qsp4M9q4JLbv3#g!wVpEUT=+WvDKgRrHgCG`BrjI)Y7;<1Ek zN}!&a+7_F>ut5+$u(GnMy7n2w*b&f9hl@aVXsHuFLn|7$F3uav`g_^IBs@VoROLDT z@CgYuCo4C1l8ZPv94VmrM#0r;z$^jZtdd~==a0Go%u#Jk9v&WKz4t8nRFlNzYTgrV z`h*V8FFcFJn!dOcRg}_drz`kl&Viq1B9t;-Zm-|wo?@NKua{Q}KH~wXQe9=TFJhzxKn!upV`BXQ= zt$jO*2Q!O{@mDm1`uh4@xZBuhX>Spba?;5jgeu``0!8~C+FlJ--@?adJ(dFJ@S^4V zUf)<^mOmC+?=wgJNFF;~Z1!^Kl0(bA_k8d4Glt4+b?%2?H)i*Dw`b2dlv*{2iqU#I zhBm+fgr@`R8yaAVOL}U%WP+8zL8AvAG9?tkuHJ7C)q|`WkrtV*AWiGS{ZaM*Zu#O; zmE@H-B4&onB^RFcfpw53MtUaPRp9K|ewfJs6LnrE>7-QNGGP9@q;^rLNi$FBIes6U zphpM_M(zvo^e+v*Y`T0T{}`_Zn1zLcK{$oo~TC7O|hskE9Q zAmWN$EKEsDGwI7#F}x>I4hF`7q{x42{c|)JiflnwqIkuV?+6*T1enr)!7V>38XBoI zA;Z_G%;ED}h6K0mzklnw8_AnMYfa{)wdVoVcHI+AuUoH$GRxD%SMLA(xyroU4(Fng zlG?~vN1-yQj&n85RFxZl(WX7&;?T#~lyx*SnOB_2rN6nkd0=4RyXC}w;uxHA(;~Evi zArW`D0Vzm(d+)olkNs*>bk6_B|DKV}-BI!(1?D^?u{@z9;*5qW$vo)?eFtwgp{C6@JB{L?1jc{mmRvhwZb55 z#9JP`>*onIh5z7ScQt7HI~$8>KTH%w_pgz;(6ld>3JA)}I>-NRnz*({+cttUyf4nC zaP6M#cF@JbbCXbEdn}pCMjPNzFbg}dpzD7BS|vuW7taXTd1OfHTSHI{3=@2%oMg#E z@Q`4wQN%%Y?9^Gir1|U0K!VZDj=PJ6k(YxS0h5>`0k!>oRF#J(7tHS-d{cAtp*<|d z_)hRiSyULsT>EX7@z*{vnX3>DfMTtCS`p?3xS1S+Va?avFwom3g|D?rp5s+kHXqC3 z!~`Ggv1yG#Ni-`l=gV51YQJ4V9PQR9W>%Uf<3i8=)|3dkSo4rV@d_N7lwp>@<>bI4 zJ&TiWm%&Uv{A|FQpQ>`rx-Uw!KXidV^Nd-v>rqTx^xquCW^vThXtc^ zk%*je4TFhz<>uyg4zE2sCujG^l0VFTCxjr76?vEUyrkVdJ)->l1Y4Kt{3N!#H)gsY zD7Yd5H$~tM!0>Ht;M^__M8znOG;!-jq{tVD5rB2nQfp*nRDrc=)}cRrAB9{iEiPWd znOq$>8>B~<1$xDirZ1&eMw*-Pg~UutYHgYcy88S2zV~J+&0hsqY9^^*9cpB{20djW zDs#&J;~$(u@B1?d)JKdirw7ZQ#Eq{G(y+^89_pm*8wRLm=|{y zXyo07Xcg1`an^K^ipHLZNZ*Z7?bh^>7d-cGeyL*R=Ona9L*_Qeu4-$AMKlGHwNh4}%YVX)?6bqy}%oDG&?*6RC{@hwog^&PJ zcW4{auQBZm36Y_k&ya=4g0$}RQ+ zDiDgazRs;(`1Y+PmMR^hGWQ^$0%(ae14;rfhp_N7Xakz|DN_KwOdhNb6zD^V}a8S+nxcm$6%^6kr9TbJo2uZrDtZ2E)F|-<^gh>_~ow;pZqn%S{Sy+B5OnC z_Oa|~VhI4RW$nJfd=@n`Kc13XP+*_LsbYEM3U2+7T3Kjo|EJy!JjKR(9>K!x(F!p& zHHDi4!Ktxo_pB+&!oN@MS0B-GLswQ-d%VxXFWrWCQzBsqe_|UTuX2;lBrf4I48fHd8)`dZqG=g{aR>ntrcoU!9~Rt@<>@4E$5vWYXUf3^YEqMg;| zgoww!LP3dLUS6(n?*BeHY5eqbCd^n8LPB12rC-^X#Lw%7=)KG|6WTZ;Xn#|bnaSty zR`^Z%K?G^rzLenMn$DbT=x4^Xbe@L=Y|7<@9$B)h0sMf{^D0-tk1tbf+T-BB=aKk1+uXrZUJvB~n}bIa!50uuDAiEG0?rioXy3`jLVqZ2P;m;f_T0;4D%BcP#4(h!?;d14J3LHld|= zG-5x?o|cU*E*C;U$+59JMUibV-B$qw0@(noSZpv8>=)|xog0B+VPWyBuSdZzJ!GnD zs~Nyu%MskINeILM{H_C}9e?@+gmDTA3Y6T2-Zs+OKx53$&+pMD)`2BTKtN!Wt=!zW zsldkyBr1x6<=$&z9jFG5>T={PlE}k@;AzgOIyiZ_I$E!z+~_*sUfE$6h;2UtT}wTZ z3Cud*?4=dpeC><=kPU*L`3?a-jg5^#8w~il`F!#=7LaN99=xANb_)8b$aUZ$_sqUo zzX|+N#MxoXbnS%0>i~??JvE?lvUG2VNJw^fcc-VJpIX=73`4E0U1!u30N~)3f|{G1 zjk>=KP5X`_YbH%O@2MVaVejCe|BuDb^IhpjX%8b%!n}WYE^S*Ya%W*-;WaFANUxpA zkj7Vm@)3$bp8?C3Zm;YW}iYrA(yL>=S6*mJkiBycs#R84BP2nz5aC!fhHvsmBVKG<@vW^ zN4g-)W;z0DeqS~jW*B)@LT(%wEZs54j%`7p3Va_eX%Y;WvqQWKaxk*Fh+sRk>!(7x z4bM|E(CqQ~1=U@@h=00OUEX;=GJ&{P81bvNugmcS=@DsI7$txvd4Pl&0=(_G@BDix zi)_jefzmk_%lSAz8|O-mvVcGA@XEOr5?|DVcGiW=>_DfJA&nAV5A+C9V@J?pSKi2r zb))>T8;*oYP^3<%1B%ldu|b4}hME$G+3V^O%JC?cT&b(Bw;uWqg$YteJy5Z`?+Edz z-CR3N_9rlaLROPC4y2JXJgAxJ>4;>Q`Gz^it0rABdU|>$#is6nyh^;? z9s&!5&;@@YEiGbq+)Bvkp&FS+`Q@ijRDd%rXIcWF1PK(>9Vn10Bs1nW{zzW%OJ zZxhfXb^e|JIR;-`?!+f@(ibXQp>`zsuj&Xj`**VfoCe)&6s{%Z?b$6n zN(~F@Pc1!~On^dkj)n`H(&KXyhzkNzp}{uXy$Qe)5?Vta6^M5~zDbv|wtC~c0I{YG zBge8Ad!MMt7=sS>ROsQZ=++(;TZC!5tY9p7ju>%*APurhjM!L~0X0+l)OjEVl;>Z? z+$j;D{1lz-iPS1~`d96vBg{Oj3G4(%Y9a%>kOX%B;6dk-VRkmMpN2Z^a(4*j4B^Vp zgdM}f7Q^h?Zn&%a)jr~Sk#V#bt&kpZZ8tc;uPO7V9sJF1a7X{I`|)>e|7Yp{T|G8%be86X3>kUpj0pPLYKHNSj$WMt&--YZ-sXk`C26pgNkOfbQ# zV8KE`7S!m~{?l21pzSl(S0Q;q0>gIt58I3_#*#|>f7M{2-T&&&)>IA%ZE+C4{Np;I z7xZ%&AGPn;1=2k<+huE+z;dS?n2mJ!tMVOzAS z_e__Z3@I6zRuBkm&fg3I`*7#gkJUZWCxD^ThVKxkl(ojC#&jWdW6tW(DALa+TKni+y%5>O!^L6_wr$868RZ z{Tv8oGw;%00$~6wzqY;Y3F8E?hk{9za64VZm>^~zG)sWOAP2aDH1+P@v52L0cz6B< z5P6{hY?axzp2Jm1Rp0qrx}Z#UA<{ht5e-Dz6t%iQ0{WI8)(zICbZmsF{WDOp@;iQJ)l8u z)r^O5sQQ(Jq0;f7_;AW)oqd({I+6$yOn6@0YJ(ss=7#(vV|e4%2r40;?ftr(LO}>t z?_J%a!szMiZ?BH?dlKP zpwF+YtUz*_ng@{(d6$sCt3CkZ@vSzM3DQNr9SLlyWbgRDMqo3fCJl7s4V0CYcd(Fe zAU#;~0tf`GJvkxao-l#FzP`vBNUD)XsT>*!H340pp>k5>(aPXTLw{WQVNv0r^|&Hr zKM<-799INY1Dgb96}#5kiG)n~`J;6MbNCRFFfY4aWzlWO?|Gi}sSF=MAOs z>6n&U#+8v(*1I7L=&CivZ^De9bt=L}Z&8lRk3(An)JU|y3D67btuzlo1%O|-AJB$@ z?0tG^-Q>6OHMXByBLvI_dzU(RbD2Uho2YhebS+huz#)(WCee$xNXyBMUYM8jm#Emh zy#?w@<;Ktz&{|R~U|z$L18@ynM3}K)rZ}z(B|%~$#--41F#Y3Z<+E}?|9$PCcu0KKPA&u8rG8|>~DZx;7B98FxnS+3szgk zF!IqTN=O{<2bk84#p*iZXpVx9Pj+Y1^YVBd7o^kzHXMMzfM}Pc?8R@VHMz zK%vJnf)6&WtPF#gzpL#2RUQdgZ({HX>D@n-Z+m4pjCV@w!-KPlTa@J){hEiZQL$uH z4_51(&+-4Nwwe9?{j1uKK=e~n_$miE$XZRbA%vDA=cO@1WMJ4_RC(O}3r(C%%Ip>X z+H2WD0Q(}uJLW-W@Hl!LLfXdFN16YE1OuOJoNy(7va|3Oj{mv5M?Pxq7sWN79T`z* z!P@Fj+GBD};Qi)n_7?%I;DE|WYK>wbg##XFdS*P06GVSV(Hs}GQ){tC!a)U?Et;sn(|tP?qO z1u(dnNl_$w3JnANSO;efwN1a|YD$Z#Ja?Q9edyjgi71b>jV3h40eWZWIgk-;Rscej zF>P5jg#>d-S~BEmZ;p0%lc~4cDj8U_puQ&a((`~wjk7gDfH(}2r-}v|X8Fc9?n!SF z;JOFwI~MIYQu=F_7b@{QyD&W#xg-Nsfg#&{UIBQ=jOAWmC$NcGOwx^*t zOTjD{GAy@ir?ft(QlbYffA%m~@fEqcKsmVLmJDyBl*N^+iM!W9{|E%?QX&;PAen@> zl~hQ5aKaVPM_Z$O4=drlWy2hL0>JX}I~EX>jwOPXt=oX5wS6lYt4AxR#Uag;Riylu>LDG4_F)-jBNZMSv~v21mD1D_)}+d6e!)Kz0~Znd57O}i0OCOZ6I zH3C*8ZtH?q2h3BMcT(nMZ+BF979{BeXe^9t5W_Jp zWwzzH_!V|eGP~h-G0AYENQBEdoe*wODmnW>in_Vdy`D|`9R$ZRh=b&j?g*y`P#`$6 zJOOYO=9+jYDZ$<6UEa0fM`I@595$N5(QCIXUj`~WVLVJ zG(yFIIX^^1eG#ObGO{WAgJy12C$b;qzq{owf9u5?aK%9!utm%#&h7ymkRE@ZuTyUQ zLATI7&ZfDS0F#AOe%I}~Oha=#sL`}P(8cGUkhdUC*Fq}tZGAsPykrUJNa<5K zgZlZ!#l@i}WbE5Mg{__y=7g9ap#A_H17L$hEIA#k8<+*uk+K=zQ_CtVBUBQ4ogE#c zTFh^oz-AB435a8`($fKfd2JXp3?&pq^kYq% z%>m!XU>+3|G{F|lB4uT`S-ENfvIM#_pt;eV(aZ8`zlCHTV=Iv6p{JdJ&M{B`!22}p z*;L}Wmn`51n}VRxOr4(w%-q35uy=l~*x2C#1#XTjtX0OJL{EFN(?-VOI@_l#n#uNC z_(vubPxoHO`w2EYqMDqK&YQOhHv8ngt@WCQ0@Q1Y(@5;(49ZD^9+S{=+lHU$2IZ~$ zbXs&+H1xI3AyF{vKSjI_8LJQ2iIt`tpaDxa533c`K zt^!7R9+qo@Q${klaNQil{=SC|qWQM*Ok($852_fMu&^)(M;83|(uix{zaUL{X0jbZ zf`OSC{r&qx0exzh{;{z}h%*2m8E`@gv+tFFhSCR2!!;|>)74)N@*2)w>(v23`>SQg`N^gK#*vG?gTU8820#FmJ#iaC5jQaCUh!bqeg@*H>ha?} zha_S!gv2L>0m$!ygZV)I>I_vP;Q0@L3-7)5a+v8#1zAU-uX*^z#=H0V4WRJxd%=sa zl0?m1aYn~qB|(6+vNhQlKdu;Ou47r-g)s zKs`un3RgRUv0Z^x1tzNbV*@%*PtUf?-@ktca1*0UxA(cwxb@@5O0YSSc{EN;LM1eP43I(Kg*@Q(0}S+{{pELMokD>x$97KGD8BW1)K;VMQ=dmgg%tIy1JSy zuL#&~4uB`b5X{}kp*ZH`~1rO5eqzeTWDMWMeQ}vV!z_MVf%1(W(NkWpkcz=`NKcf<*YAWya*+VmWhg6 z4e0lfjYA_)`WY~3Lc)z;*)lORI{};fWvx5+KKKmiAvHA>Xpo!m01P|;Oj{G^_7jSN z=P`qw^f4m329i!oHdEg)ZUFh3x$+&4Hl2w}yQ z+s0rp0AugwA&WTr8+!kvk$|cY0Pqn~CsN=o@N6#+e*`@TC<)XNN*<{zZwRl#vlNWH zL_zc*7+?xwj-`Sv>U2`Ltj*5NiMRM$#N;+aHc}YX6&OtM-Zl== zlCj<+x(E8mP!XU`(%m&LkUEyn3V^Tmmi%;<;u)Nc0FdxR1UyFK#`gCsGw@&vm^s`- zDbM9)Wh*qp2q2{9bk)qv%wm$Tl>ikp5dN;f6S-ST@T;Q#nU#yZ>EC3iW$cgO3-N0U z@)~c+r%HDaph#d}@+GkQVbOK&Y^#v}JuH7%vaTvx4n8&wOM2OuN899wZJ1vfC79u% z7UvoQZ-|K%gVG~)>D4??w;p}PczNdGW44fcS>n@nsy9{UR)TpzI9emC?YT3yejurAOZ|S*2&-FjO z@LY0x1}^mg!|3E?1%zODJfX*>3;C$wt-f6zqN^;M{%G| z{JWvv(_?^hg-_WvLuLQ3PtU9H*!ukuD;yAx1GqZ@;G$vV(^EP>%4J|>MsQM&zp=hyl@cbPsR9s>HpMi zeh-CIHw*-rTfeleKd9*+#{^WUcmndpKcQEFTz@k#a7y@t!Oftc0!cMTM3kwkBkjiKg% zIt&l=C^&zT619E$8Ac%n>-YUzz+4}fo)duVfmu-TMK|JRV*h=YV1YvPy&B9&BrH+L zuH$S;G%g4PA{g#*AN>y}r=jYn#Ky+n1n!UEPrS1_-jpte4>8RyBseS|z%~N;A`k!- z9BiHLGDJA~YuBJt!~2qR!ShIyD`#;!mhrO2$jtazkkjJ^mz+LH{UrEJ{#$Ts2aMeM zF5RXAMrNDh7kT1QfLqhhvExesRqVt`vI?ws%qtwa0lxLr9layTIYPAk&#_=21R8{K$A+^$iZQ$kO<8%EwtC9yUbX)S`#k(}IbkOG@Xjyg&NY2Ga zx^bWggMYXHz68YI0>R3FL>v5md3F{OuJ=KTedRi6G`0XY25hvXGvId*K0C`Z1I(59 zssl8nVF7qR!12-kVazTSSnKtAuQ@z^Ml0MwpKKs=zt+Dge+K&)v<>JsTHJcoo? z^@g9{0X+Mtp`k%Pfi zsPVXxLDLRs;m8w+Zb(|yv-0Hto8^7%&7lcY3HAgmh^hMGXi% zD#q}_<7$8!_Tip?VQXt!qJ~O`phQM9SQuS}Z5soVvjyQ`0o^1iv6^m}TNPK4U=m_d}&OKGcx={^9 zl5_fj{BvNV*CATRQ%rb1to#kse%NUN*i#l$u9~ZHuwxGbQO7BG;?(W57_8gl7(Y;4 zd(x$NW+FG1qa8rP;0nR&**41D!GedFdIUdi9hiden?JBrm zT4rb0F)^?y20{i4gdq+9OM%hyE69(6S*sf{ULO##2Xb+N(JROz*3IA4)Wmbe%j~!N zAEhY@3p*1)b$7bBCF%XwfsbpvB4iqEx@4Mc$ z-e;}*UgzB1rM-W{_qwjnbj=zj40c}PCGG7hJGI(SbzQK`EeOZHTwc#r$Nhcy`%&6J z4;Z>~&b{<=sSq&#uF#qP80=@ob!X{kTOrz?HTajujd@Pt`c8w)8LJ7TfZ#Y$24;H` zXhi<$9e=d+Q3o5rU{-vc9~+aEMZoGfBCoqNi}eMF^({3u-ZxQebNA4eua{Nj58~EN z9Vn#VMM3CK9|>647@Rt`0@Fv@196~V-e>Um?HER7Q?iU8K4iVE{#?d~tY(Y%zvDWq z3g*fqU&fxH)y&lJ>U}}Jjqowd>`6C`s=-bp6X5iN!fn?tc|B`wxw32XevzXP<3db9 zaNxigQE{41$a2i^m9dWBt7*&NfPT9hP*nX(%uaJl`nt>pOfna6n%n*DJX1#jIf!HD zJ#_F;XtO?^S^N+~IDX*k5wyDNp!o%-5)v9}ua)$9WW@T4E7vt$rLe(sD06@f4UAG{ zz+2b$tT#93Wrld%2Mpx!davS~d-rC5({foLMT&Frr%#`B(r{EFxM+J>K*xeF17_n{ zkF(S8qC?$?aa$-|=L?=>r>@bk8*acc(8xN@gvv-u)3!M*X4Wg0qp3US=O>~aXtTGW z>&Q$eEH9z`BY3Z~I|iw(T@%U@1s3b?5m;hVZm0^FKorwvDuVeyT@~?3uG+fw8GfbU?~!`|D9t&o6Pte#gJG&Y4weYc`CnFe zlUeuKS&dTrSJ>-saTUvqrO|*0(6#yb^YkyrR@&$RPUyPvHB4`oxSu;w026+q&?_7| zD!$Ub3}>#ynqcc}PQPQ5wQ%1}Bri~;PFWy<1i$B3-1!u@U8#L0HmR>(ES7e`QCifs(Q1FN>~v2IdCHDDL}&F;`0*XVJBph;J< zr*3$5c7w1*#>I>8&|aCEd0j6>`E-0j@EJS(dCxawOSnHH^9QIlEPFN-a}< zCa$?JY`M6kFhu`1Xbp}x-v3JRLA%<~sU4IMmll86`vYb{CrYu$nGa|Xo=A_ba&K1( zi;-KfeC2`#ROGj>?yf9otf=Tgxwtb~#I&mV@y8A5M(u29D;T#u(oMd1Xv|HOhJ0eT zBe_cFLE=J|DeATKdD}pINoOn5`qICNQ+P-?5GsA$c}D5>1Wlp^tlY<``r*a(_%rrT zJ*I{CFVmfE!+(qw1f?Yi6|BfnG>ApFPemnIaz-o?G}Ec<=;)Z(bIc=^<7)BsRh&K* zYaov)u)ccXj>H4BB2z158B6>=^+Hlnv4e3w+v8LDu)Dw}-)hY#P|qcuod z0_IP@Y4A}l9vHOa3mI4i%l8SQy&w=!okRQTLLP#Bp$)F$cq<3%MUU^IA^i91Eu#jWnE4qpoyileG{ zeXig`6O7sa=H>BKao~|ITC3?x0HUsV87orlM#sXh&+b&ULn-(bTIvp7j|7?5c*P|N z)@Be0;ejH$ZCBw<8svGA3^NN(M2Iu4U%#Gm3jRScD2Q-Nh8QnoD_0vN%)4Tr5XQ`w zBxiaWCmD&3l}kv-I(tp`(eHR;ga3LYFkZNEFDvw?I}_fIo-TFuMdQaIq7jsd4v~goo;aY)n6J8L z_U*x}@-SUZ;dw;urc4bCGF;nhYvwi7GnWSp?-AO6;>#Dk6EYh(m!rce#vxCCzOkLQ z({P@RS$W7lr^A>3*_2FntxGR>ZVQ1Sl z(WPKig9F@Tzf0zCjTB$Pjr8~ym7kNPA*VBeo^WSO7M8kPPA}J3xl&=9UQ{fm$2lAa z{%>vxa>3tYS<0Nf-=@_cugTBp8#EcuJLe_#^L`*Se`vi3w&b5q=vSbHAQyii9Nb$8 z$#PnOA;h2zX}=Bf`O9tBt$P4+3xedDuRK@YV1yF=?K_QZC%93Zh&xeF8c)c^$Hs2( z^!)gYuUcHiwuCsv=bU2@$i}IwBN-Or=>0gP_U$VvDG8Zu$X`v9wsiilCxf&BB^=Yv z_R1lab%0%M=4efcmgSf0fKUPv3TDwl+-ZzU3AP~i^z`&jzTmMYPSW3$Fc7>>XcGEM z)Wtn6E-9E660?$jw0b|_s(@z!DgZE{PF3!^eM%o9*SWnCo-O5uiO+~S`}XUTX&{!ia(11G2cCH9`1vc4v5jC>up@j#br@x$YNt8@Zl|DaSo z83h_|k#jud<&Os=2E*DL*m%nrwEcg%&`A}9S}yU6L-)YIXOESO$WmpI^p0AYqVXd-qUy zA_$l*m(*iHIMLJ6?*H)W3u;8Yj{(7pc6HevzX`a$zwbda5NfnDuCH)7^6k75MBkWV z?l$}R5xVdlE>kg47AJ(U8~yw=xWQ^|Nsba2YJ~7e9r2yOeiXJ=SAw1+0zaMcIV6D< zU^uKj`V@+L808Q+v)<~t9nnpL?*R$$;oZA0pPM^ti%p;H8Rwni(4I_=BHDh_=3 zTI<1z&d$|PY+kx_sqhri2j{CeMa9H8jX_ZxE3Pf}>BO;P#}J8m4bJf@H1|H-pwA}| zHS2Zr6jGn_a9!ArN;*_+L_0Et0Io0M{x0*x)cD6fbcC->-YIa|p~lMQ*!3FF7<;^y zmRNc{J5%2Ko;R{L>8n+=fSk1)?}6Q4?=^l&_js_dBWc$_({k@uk>@t;L&tk!N7G8# z6K`TfG|lGoWmfyr;vj(Cr=TSI>q%$AKniXTllmiX5P5*>vli%3+qB_+${Hsz3LJzU z-s}n?k_Ikj6w`scY4C)u*MNzjReaY`%CJY?JRi0#O3fncj?nlMlZ-DyvT|8N$%O9` z(m6Qe4ge71U1YXEM}hnTwkm%38jqP@dbK!W%_XM5zjqx>S0z7xvK&hMqP)81W)EC} z1fEP@WI<#SkBkVtUU>jST8u0#NRw8#c4)`c)eLOy@g_K8@sKl8G&MCV6o8l^IM+bL zSdSP!?GqarKCd|gisTaD3H(U=GW06B%PnO=j~ROiR#mvd8{oMiY0E|7QYG;wI;mBj z-Q~^NGcnYva&m*v$KF9G_%iWJ>Z1|KIJsZ1U!x+Pw)E1Yda;0)l9Z#j($=>tPmAmn zR25&70UKp@psrbMh=Z2&fz9qO--V3_{+&EN+89X(DHYOC{ql7}={YIi!=$Ux5FG2N z2#~u|bRm^PO*~rOmxcnK2`VoUkXa3p*8ImIq{>_nz4qkf%a0g{ZEMBKyC zExb{08X{bZ$jcbWyE|{G@smpBxz{#EC&r~+2LCT-vaQbUqwPBra^KgE;z|AUItuFsdFP~<>{yf^u}>?l%6%N*8qfiQw}pI*&-di zDCij{=PQWS2;93;=(XZ9@oGXNVIGSU!C-s-^HU828f2bui}CJ0WRzX&9+0cbo?L?V z7+@FVyfFSyt>sI+>Y(KtihzNVLF2m_%Bka|#_GYP77A+OfltqGW(eoHeai3sOU+h; z{Oj#J@qi`K^DKPv8mMeOFal}qcOg6d&ftuPj(#mInaF|we{6RH5;%RhC(SS+V$dmd zSqVL_Ci2~r_Jdi+Z(?U+f+Joy9sM=EfAQCQ97%_8P}n~dTqgevj>iWD>tUQZ@EgKgg+~1+Il>nps8ZNgPWt#G4EBfA22V@aeG^zvRDuDHKgB`Y6L zjc8S~X@nQ0hK~IFgoA4tpcviSLaowF969gcW){7A@Z;O6wQJU1deu#(0W{~w6C*n` zPpmSoXFx7A%>yEcfkJj>L+^J+%Btc$-9LXHGLN=>^hV{A4Z{mo@RvEni?tFID>mX2 zpos0MXf~|{q8AF~P_N7qu%T4C2?pw}Er?Wz{wu>(hk^qSk8-<)~Sx zMRIo^KPVjs(ZIN&`{6iYV)}xJTaRD=cI)#4Z5Z)y8ctdTIVTrRXr#p#EuPT4ATB@+ znG1VbvzzNqCat~4C-otJ9v1xNr<|d`sQB&rF!(X9jL6FU+e;$g`XtcTvC%i1eOi^; zKjRh@Pb>_8nc#T8>8Iw)wUW?)!fRw^aSt*z$m&Yp9SWG9IDYtgEl!@6W<0U2iyQnV zM;4}^&rJ+laHw1dwdx3tC=4V8+o~6`yK0%bwbXM5WHuPK^G}Pk#k2I>ZXEdVLEEmJ z%BNM3ATp8{XT-;EieR0OeFv9bH9UfN)n{kRGB2 zXk`}_43gfyUErq_gm<;)G(kt76BiLF+-qM8WoV0u=t*f?TS8qi06FM(VrD|Q8{+q3 z`hJPNKYO^yoKh6jGWHtgZO&x9SV-jcDC%;CqXlUIxd^6;-!d(;mdp*hPWmFX7nKbEV*~VYOyv@t>1qd1D zxw_=ENpm({NNsoT2_AwN*&`HYY7pz?|Q2rQmY$JTuTZz*V5#XCwzrj*uIH zB3cR3sbxyf$T}Q(yaGNO)Vmiqyribs@4%J_` zZxQR;@8t!-%8H2C*Wi(m??W4E-ViCtVQ4r2_~QP0=9r=Cqdde3Wg7*|RR0F4g#Vvs z6eW&JzYqtd!Y%20Uh?O}Tv-o4MN@c{ZW=zdC~c_PcLy7#wVr=b=RN>6e! z)zJiK89GUNl~eC@`HOuS+5<;>?D@dhtiHSpZEtZAM9wzJ;9hikAbqc`3GQzXvT7!m z6H!=I)H@i;_b5hr+h8-oGE8)g5sd~f5OneMq$UQjkJse|4-lu_uSZOX7e&V(&HICN zwYQi6k3Z>&fwHoAL%ucXZ29VX9t9Gk+samh2c7x;3%HXOS%z~Lo$L(OZ@i8-7%p9+ zM7#-vTFKqkJQ|&9XmYzi$@)j+P$3DirSp?A5=8h(+QsS(C1kQ=7d2z)HPC|5>f-v0 z3Z)yf*YG+i+2Yx?k`+|Hee!Q?kRY~c`0%Midc6M3pM|}#A<~TRnZ^9YGfiD6 zE~{6s-coTRboQjC702{(jc)doR@$qT%2dNJbQ9HHVnc>@Ph|tcQlPF5d=I16xC8ng zL|y`3q8`~B7op8hoW2?WK*#jfJ6K|kMIJDTmaGeB=7Us+ky2r#SlO@~9+aA^aOyxq_0b_h7a{g2+}+DmBr$h)6kS#;qp%Nrj8Sp? z{N{Q{##j(fm>c+BpW1iM3%dE?&3hqT)CFYFJTh=`k3#IyJgfPjg}2Q4STjN>(hBRIL+R z9BlE3>h*%#X-pIyWDduIGUa^BT$2SF*WjU;BpWMhH4F7Mqj_7+CN&o9SZI=15h5L* z+{k%Hu^eY%a9fhRkh**R%$umxkkHfSTMTo5_8~v}joL=TK`Kfy_vT2p)N%zI@(E|nyT()U>iy+y*LLpa{20AB<;wKgzs7?G*{eA?ICu}@H8vA-gC@E#;#zYzGZELz z0HIOsa$Q!=|KsC@{;_E$x0!M{R!)s**nV~+M9Zi5y}r-Al#G4<`PXUuv4BBY4W@W)U2(>sDMA;O@V_3v-cO(Fxq*bG$VNZ_f2#*k0i z=sHk*(OhitC}sYwaYa?}8Emn~$%&T>=goOH9vr0i0ecj;pl!#2abfxT#}MJdHjo!r z%ehVgSPA(!x{{GDpRXIx&Lk^48Z2G9bhIVUh-bWQXhk8?kbt2K4L&o!yyFWbMkr}8 zC^d1iP5JuqL4AW@`J5DhItNw2PYDX<@0ITB@6TgjyUd}Qk#*6kRd?`)5ACrC{^JuF zb$+rz3LGk^>DAlb<8XgCAy0voAZjs!dzPHC%0lbAm2V09IMd{lcg+i;iI%Tn=1$3| zPbpdj^g-c^t1K~`J3b_-FfTfj#=Dxkoh#ktIMFi4MR^;Nlx>miZaIx24hIo=@qDGM zf`Wn)gq#ea=UG$$=|FwSO@cPaRz$Zg9_jcHU~4P4OJ*--g&$o$f@W6C_S+I?$&PA- zNEfXZBpcRvgS2O+c?LqR{Ds2?gWw{vUho!R+(14FEiux&=xia|d4Am^-k|_8O$^~n zEQ`8vQy%T>E)NFd2l1|cPbv@<7@&c|uEND26wruX0UwFVeyk~8bR|7ShZRlYTAJan ze~;}xLnJaDMvx)8KGdQ4u6$>Mt=r>VL+SDMi^7zrZd7uhqY{uEy4GX4&kC)0_P)Bh zdn1D*e*fhQr>PEEAbQu>K4t$+Hn6%%r+`>K4X&^`Z z`?r|KFkJ}NYLa{s}a#vXFS>ha2(^&;ODnn$!lrc7p*0^eZ1*z0bbD9yB+gfkj9OAZZgVV`aYTU$*l75M61Nb+0MID`E`vqBu*IcX(@zHIG_5=U^>TDQT+$ex|wfagF#X; z)pAF^fxi}QmTBv35)YgRo@CPYT2vI|2%FQR>AmO9os+Hg93QrFZ-kmOg9*$uLK}m4 z_h{X5wc}HN*<5dP$HMM5)g76Zn~Q`F{5W8K9{gP{T7@tx69}K21zt3n!w&<{TR5+T zEPFph2+@-*+~K0$K?n)~`e;vhos3E*ySc9ky!{ALO6~z^u}-q5U?#kh>QA#VsO4w! zQWmXz-*xXErcSvg%g(2#*RoKAEjY#M6%mVv$se9#hyqU5col+Ut_moUI;KQH3=Prn z?aW>4WdZ3{D!@*AW8p20kvhGqgd|y0Crr+>rxZ$(RF2T#!)R@Sp6`eL$TjBTBC|ZZ zl_4m+#*fHVi*hgRyicr+c~y4!7?0|`$)ln^W#$rb&>pe<7>$1(ePzvrP95!+;iJ&J zc$3&GO&Jhssk$4UoFu8|+;Yf3(r4r)yE0Ie>q;gucvY$wvzylH2qQ06x5FI3Aw|~4 zoE++!#zc6vso$ghlru3cXhgSz6EQy%@hI7=uPq&iwR7IabLgZMaU5mh!c+u+331|b zCISynD>`yz%G|lS|BabN4s{f1rxw-LJ+KY22nwp!si$?lt9}FC2-0vRd3kyGbcgq> zF<@L;8 z2YFOv$uOp8YqFyiKG_)Fa%2%m@xwe3yn?zTgcxW~^c>iRAi*0KsdQP0;w|Sn?vU0``r2(<2Y@#TLG25*VC+ySr@- zT=O}WH`sjS6&9vVD!KEX)o?{ilJ=Lf5^MasxaW_iu~x3t}N#oM!mo zUuh$6VPPXCH`AavaIc5yZax;?W*{OJw!mxua1?uo4DBN(X=cY9hKX0&=_pA#ha4M8 zp|@_{EWU3maTCXHkp|5(hLrdCNI2Ma2kKoUlHNu<4A+ROJXG$6$FN-nX_ivkuF3e? zX-%L0bf|J7*5Ti9OvQ~!cM*wA0fU^}+#&ne&J-Q0`b_PeJH6J5)rugO(TM^!i5E@X zl$aHR=h7XFd+f_P-XC=)>-hRLoXSAI(ebs%PEJoxw@Tz>i-@SYCQL^1E@n{g#PUb9 zfv^(fzH;Upt_oNnDR~+o1w?sxUgv8E-WhVtCP)1Se%UQ2OBDun;_saasfgl|LJ!9< zvl9~run7R*N`V5Z0H)_6OF9n&-Y;3g$Jo2u#%8-2d1Kv-_daj4$cDH)|?>G#I!aiIGqz&RsWEg-735nL9a2%4ii30W$>z0^<%Q=dZ9h-fx zxwRQjhQ%<$E*GFZTeOKj?LK>hOFsoMbRiRg|3G|kqN&Y{>`q#Tvf{rtyx)MoO`WPu zM5{L!!yuZs2LVH8y=L3gpU3(){Ltr##_Y)VPsO7p8akD%Te~ueu^$6b?&rxU%gEU~ zOMIz>$<_^htlthw@zpPkzV{d3TFP^Kgs?RsKK0MsyhS$syOENesV-P0CA9^3(hyIYoTQgoc>Zg{F~kK-woUM$G7eKTkwOdYKz}ii6gd6!jX7}|5*MkrUBRK^@9m@ zzBr1>tw#LFbVV{k84_hSM0a9_REI*wr|Jkcv7G=q0Tm^_>|bCE+bmcbKcfW}dEV6} zu8lLlu)4tfyb8>=r4cjpMjk>@Q$)hij75RxmwRJ7Xd$XQ>LEb6?Syh~6k}0=FjsNx z?2VgH%;Eb!Z(@~j7xEm6JyG2Ns1)x+<%>iY33)I9j#!2Z0n#f&?+$&r3|PVfBH>Y7 z8;$l`D0`P76e;Q*`X{ihuKa?65B>&d$H*SJSA6v$Vuj{Y3KZy2>5X4SYhQ6)a+SxHNYKxC4k=G ztt{=fBOQb4VH6TT#*wp0XjlP?quDQt+0ZV!4WUJMzfq^fxlpQ7-zCyNi0s zi00eC8Wi%&k%Agr=zv9qHgjA5XvGzp8V;b?VvK{%ND0>v1vHEUn{_QQ$v^<-@9(b{ zD7P0jxM*}KfT(c?ecr#Ee=;j2CFOB^Y3Z`OcA!bnY?dz^M9031fMa{W-)6T45FW!& zj1;=oYfs2#IjWpdNpnjzxg@iB(=tlVrIBc7z^|S$CG}!!9ck(42$~>5&#MDXJz^el zp$JoiQWyR_D2Xt2K!Ah@jbAAd*CclUlT(lCBNeaSYV;PBJ2b9>0V_%8NW>hpx@iRf zFbub~ah6cWY(nVdk-y)Z!!_%%?s2iS6x^Y(&Pi*x4sd{gIxRnZetq@J%8HiVk54Quj;sK(t8|nzf}6 z{eJDztH*Q^`p;vI^NDu$bW*tV^4-f)7Y?Tcv=;a)Aa&Iurj0R@DcEl!Pf|(TNhU1~ z)AT{~@^CD3CF8k7)R>`$k+S&EJp{0fko7vMTf-9{E;f}+y`1lUn@Q%xfri~$-X!Bn zUrRabD{>7C!e>r&EzMlvbHPE2m4*d+$Jzxn)YQBbwOx<(qt&~RwL}_rP*YXqWrO&f zjZ%C-*{jUt1^N4j<|XdJcQgifpbQzn7%A8VmC9edxDB2JAGZp3_Y&|=PqCQrEIfp| z{#U~Kv&GjDIqS&s zh)feXx-TK^1GpF^k?NTG_`}x($c{CVX`2ueR8Zl#7btv`6q*r&$n`H~k)s-2$iNt^8M#Qp5{gh_W;{SkZ(p3H*d_*e@k<2M&^*y$S> zILsHA7kb~S&!jkdJAMqL7DyT1H(c}AdzfxS4UW-eGWvToqaE=frZcVet~GOr-HRFx z14Bdgf5l!Aff6)n#f9MTEVm*$Vp+9yGER_LRJR=8cP^@{5a%YNs5p$%+xcQ)m}n{( zJCUt~r(}pt-<@Dt&(ITp&Cdy8xI7@N?Z<5R^OwJMReyrZf2p(JU>PN!{(}k5f^>gs zkiJoQ|0_`6(L+IzMUJzbVda4g51f%G4Ou7hle)9 z4r3&C64>yej0RMI#WM}I&|tQAJ+VhlCqV}~zZla%qALD~7h&gkOfab}q@BA|qIXkK z1yLF4>zMN-BlF$m=~GTjcz3-A;-qJaH;-NO;1UseiN_jZ4m&}pQ zr^lYzLaUMBw2L5B-w3|z7{a*)PE*CTB^#4-@rP^jUN8@H{xVx+K6SheLW2EXY?@&6G=fVlEO<4v^mrOHtcLy3 z)S%QlH>7g;ca|N#jXRteaL_PTsHQezvjMGt&(Of*X)6lIPgJ)5+VFiVTy9H}F5;xQMHIl#N>XktaY28EdWlFxLSkPVS!u6{`~E z1Q;1~zhNGp1k9Kp2Z3u^GNHwg$3`4&)@X;)88PM&Yr3Veq^X7~m9`bUuhg-6X!UgO;KmCoG2cdWn3G@G zjsTOO6lyuL=gk%>(GgpP_DkDWMzI|t#7+>C*Tx*%tpRkJQ4ykn1UZ9{^?0{cjRG%{ zuDWfp8NiQS<1Q#xa1?`aJ6fq~pdZ3q=E;7I!H*DQA99Z=W_Kb$xGf~{f8NTu2UKli zWa2{j>K?SBS4r$o=Ww&n$X0GOL&xCKRYld!?X>5LA?;4)!Xoqw=3?~%#>8f%=LM+N z`&K_+V^_aN&)iwgxQNAU)v=<6xLeFxl#{`m(V)caTc)H$O1xJTa+oU{#H=lq;dRBz z_r9lJg>YEP%3WKq7CIi$m7FH!@1sr!>0O-cuAs?eyaJz^n?+qkKw+l!4Nr-2wdLXg zF?9MR&W+5c`tEp|CGcmWdJ!4ob zvFs`LWg3!EpGn7O>+Y1X#u4_Fy#nXr-2Nb{scmGy`fWD*qRaKmj$}0>WAt?#0;Ap3 z_;oa+3S+5V@lbqx0uU5JK1jTGjGr>DPgyw6Zzm#AP}+fxGaSoaHEYtmUlwf<-88H; zFFG&uQ8u&U)=MJ(6AR_#nR64%)Vpv@7Ev8_Si0zWfS@|F%o(26LJj7)8g^Prj&5TA zEoSnG{>niFS4YI4zh9hox0&GsNaOaG0S(F;Z$Ti~&Aa+6U2QkQSeVjsND;&#)f9I+ z0Z5yS`JGf!!+o2mTd`?NL6Q^_5tx`YVs{f!x!9klebUg+PA7&3{JM1vOWfOL^|a9K z?I~;Khy97|MnuYZ<3R`-Mk$oO#%Fg9di$=&NqiVQJ+1|fXq@nJb}PX#wyF1da7$QX z&$3=(=BMMQ0FQ|$si5IsD~nFSAdQcUD@R5AkOmG$Ad#f{a()~}_w772T8}4AFA+L& zee=#Tq?vbn<~Mkb0>l+zkqmb5X^7MzbZc9(!D3$@-FhIIRR0wS_Y)@E=V za=xzjX+`Ma+`DCyo{}1(crE_x1R^$v?6<*DjXQt(n$nCpO&;B9c$R7RD!__~=s3&6 zp=QKdj$!SsP-Jw3DpBneuSPy6J!5ERfA#wZU)K#{vs7UR!u+yVJPjOd$$@O_b;pXRJOO!}&f>aMaaHT2@^!cq&*`Yx+^4+^felhRv~jeh(kjlsS!R z%&{P4yD^NCi8h-`r?Nn#;i23T_ptmu3eRRb<;5M>C6DmTJyY~om+KKCQ7FA|fHR7A zOItX&eR|)y^2*Ui8E#%1K!CvJbb%SliPJX>Z`QqP-0~-Q_CY`~b#xKbhd!gbvG?Ve z%0^K>TI2Z_;~n33l*&R3hFvuI)>ns+PSXC)mi{+Y7r+fa^rr9LzsJOL4?>_k*n(kz zVPj;RfIsJtLb>dnS_cGDn8Ro`BgVyL{_^G5@t#2y{RF1T&Z?e@Dwr@}G4YXgoLS>xae1b9`78F&6~-6>V(LIX!chBKQwo{Il2j-=&46=Hi6E3y0=v z6aP$g&lz!Nl>`5Q)O;5|{^1+oSwqK)^^F~n?aABL?1i^=Q@cPbTx5jV6#~Nc?V`~V zfK9}JOdq6OS|_mB+DYtDFE}RL#g+( zy%$_gNPg9^PEAZK5bG=2WLgldm27$2=PeO#J?1>QzV3 zQGXiJwVVNbFJ~+x#J>;m+djb@3U$@_T-(jary1qvZaB}&i7K&lS0EoPB)97aeJ zUuA)eq{v%X{(1;@458JBRHwu4wuohb-^0#;ZQqi4a@|8FQR!C%PW$QOdq||U1!%m) z*96RR4O^cI4c4v&E}w((H=hCyJZK$+Bvuu)*;l|X+M@wwL30;e4#+NOOALc!Z8;If zsksGPy?{(5>_&f+&GvMehG+L0B5D)+bNc$K8X{?mHvnQVN>f?LPxQrc#C}A4s`3DG zZ{!T#(@;8X?R)UH+3DOY(%^~_@sVgc4CAuKl1r?sV(t4IGp^&52770(Cf?))tl~zZ zUq{7?G{|%|=7Dp^!L#$s0GMz5mOA$6iqTq2wK+%f{P(vZ4{(r{ea+K|N#uk@V%pEvK^^a*T6YCgiG~eguzGYYdLf<& z#Nc0~;u}^+lFz9C?b0LNE+iAQmNR&jom33NAq9{qAhrma7UVSMd|C#EDmlNq@ykL^ zXY;5=ydy%~kLNm7QxSoHDa$AzZRjGzlpXW|38j^HZCTBj6W0PXJc)E`5qAHa3IMSSC-=(6Jrug)(IwVr+Az@D z8zQtW@dGXKQlFI5Kjy%)dJU7iz$k}Nxn2=Vuaex0t%+TK=|?Jw_g6?_KYO$;Om6DW z@dBRC3~4GZf1a(pOnmsk^YRjs%6@h=-H)y`nova8?9}3|P!hky*k$Wt+(M8bd2pVDbMK$ z-*V{%Caj)iyd_0nmqTbV?5kY9OLtsJT=Ccz-jap@oD?A+Erk`~Gb(=l;fGf9SLN7* z7G*okrLbr`$iu`LCJ5|+u?LT<$zyeKA*m2+hLaZfD`EK!sw~D`23WoVSAtLl8(FM{ z?qq*Mijuu9?+Upogct4Q9 zCtEn01S);Ky;-oD0qC7FPNfXr6w)lwnKlPC??fgWEptQ>Q7-CJL(V?=$hHGt8?h^1Ug!$8#d&F@wus{Pj3OoAy;T~SU1;^<#-a1d4~ z7l79Y*Svz}!%c`cJvyzMDu#g{wC*a49(p;>&dS`63iYIXmMY4~h=aJq4NP`8coEZ= zptjpWgJy|7r% z5NUH5!-x1E{X>z@t<1j2oMQ&vEIs+@IaE(;0s-uO9vyYZWkRIO5drgm2*GcFJ5;@k zDK~H5FkcXL*~`nvC~f7!ndZ7iqt4M8MzBPl$#v43@A!Q}*Wl7>@MT7JmQ?=PD1u@q zxbbmwN^na{3tDPydaDSSKvS?`{NCfa-1zoy-1yJVXOs1*KvPkuo5h94+gge~w-&a1!PNzb`i-&leF{#ls2U;`tR z@&xq%M+jl|G5t-a>?XDp${aYd(PqNh^O5JFC3ejih9Y$fSdSpf#L=CK3*s(%J<{^2 z4EvaQudaWm%Gz|3`>*My8~WdWZ5&sAm-YO`<|*D?X43_?GG#U|>Nt3&f2ZwcvuAl- z?&43rp1=E8Y*I(o9~b0B_^g71)Cfh%yxm%+|4l;78N#eT0m??|&k#r(=ZjxM0q|V& z#7Pf)6!hFK$Uq6Y`BvLZkUA#VJFqi?nljH&RE5x#*FX%(;8_~c+*o9T6{y=9gocWN za-elZ&L`(7$Yl2d83l-DvHb6JDD_|8KnhFsrp&TiTwE_^yW(Ji|0TQ#-vw&3485?j zLp6q<2J1IO{y+A-(XrrM*Z@`l<;Xtnn|xK2Oi~L(PXTAb`}!EfeO_(bN68`d^fNFm z3!db@jMVfaii?5b!3O0R#gjr8u>-R^II7mzGWvm#S}3{73Ht#?Nn!=gkij3=ArMdp zkf6J+06He@j+ulH!L)I~`+Z+r#N5xTH5KBL{fYCVlTx(RN(or#&jle50FOg)8PJY zVW%U!0mj-W9jCB^MVhv`f*J1pu)Ej}8&riBfw@vI(v@DbA`Vl~$IWM@jmW7c=Qo_a zFT=xX^{62L{0qx5GAbiv7v>fO85x=$$_~Vjy1sFN*wunlxbUIBPJv@Ru1m)&PRTDDvKsycJbo!w1U#HVtrhL3p866vvPzv z))+_I3ZK6VZO#o3{q*6EvyAC@S^l&B~y@=UdXKT?S1#i9w0Z%Jt52o)DgKq{3J{NM;j54n$noB~djfw5D%}r{$ zC3wm)XMYqiUXtp8+w6J-Ev$Rx5;V>ESs0Iq86N}sty{N%>`$U`c|;#bgvE>1vnCa*b2#qnKI*_h2>NCV zMjqJh1Pw5odhJij!-7E&9D=-48z^Vi9j87_U^C<@D$lbRIZgqShwyXD{e=`O1_F@$ zMNR{?c1(QwS&ZVtC&@UHNV~S2H=`4(l8?CoTFoeMJx3hY11wH9z1w!#R^0!p>!V)C zb)(7yEt?F7#8>b%(=^|TcauWj3j`3`gQ)8b^Q4ydWi~^7k6L8OkzQoBw{JIyP;*OoTDE8W9j>Me?pj@XT@m$@0p#!Ftf0+Z7GvdI*TlAdw3n;3}a$s zBz>W4@)&vZMAj$D5p^ta+RzCQ#MxIep)^oGSc%3;;M|{>_>^0MiE3(QT3#m{?4>BO z=mgmA9m*`5Ofj=R2+q)X4_h&w7*;G{pMZo3{=1qQ^Xn7*6)J+`V4qQtzD!Sg`>^c! z4`*4}2lXr@-9f(JYD%-l5rdoivrE`w(uWwZ9hjzlSlAJrK=_~4;D0vyD%FW>lC2)e z=eHC*g><3qkzgXuWMchML5l$fkcMk-gOfqC)UHK&)JMmR*mHC9Vu!V**CJ3~4AEl% zisoNp!}yvw`8s>Iv5KzXy^T$)Z=q7c&%yXtdMjN0pONwBJp`l*V7mlg31=NxZbO(c zCFQOGysLSReNH?xC)>N)?i~0aX0gzUEr}nG6IR%+wPOFH=MWs9A9Uor57d3`%SI*-~ zuAEnpNjbC^zSJp&ArgTTd@S?rlr#)qZ}WxBEPf+NxY#s@M}wYCNxty(*OiC=R$Xc1 z=Qn}*D~Wp^pBOu_UdKWTraV=*Rz?=$m_n=%#{RSjFSV8#oZ!5a9Os((_T}z;=VI)o zLi*%a_esL<{pw`^uwv)P+C|weF=2;ABc<=P+6_#hCn#(pBKjKAG(-Y*ENhN&j1TOH zMcU=8Bm3ug05`TVv3pO-Lvm_a7bN-|!s>;PG5}oB4+RCt4~zD$yD$UE?WTrR`T#={ zEE;I7NQ9)1Ggt=on25l_0U&X)w8=Cen>8IeJfNl!t_9WRuZ2tI1toU~ep<4Ciph3ewUEo^5 zUmG#retm)3p6B}^5WvW+zboplQYs!lZNHDi8aEJ5Yr^Yq)!Z!Ii|cp`Oz?11*}@B; zu|aSFb&qJ3aL$y9h+h8)z%t&A(t=2y<4zThmw^%6&8Ml-P!8mUb`XU*BDzQ_;xH;m zrX#vH8Ix41twhakY~ia_$MfN*ikcZc>AB~V5cO(1g_YrWQa>PcrLwl%vkb8l8n%`c zXdosIf;sbj4Z!om+qVysXL$bDfa58)O99B=b=O~DA$1HL8vP&xD zhdA=twO6lNWhayu2+A{$tn658x727!DGETO9e96$#IbI(A-10juLDl1NXJsD2a=$a zj`x3X@_1S}e=1#i^r&$@O8-RN3OLY@m#K^US8;3s_9I$M6`n1~%*YrtX(?Ou0gR7* z8E!@qjgGJhQxR88NEg@81zeI|o74h3Eena9{h>jPjR(-dDxyi_vM^vv2bX9bJ)AMP za5B%*$CX|GVZFm0{J8FiKzoWD1k%H(y-syZ9g&m!6hfsUCM8w35MF%+k226v4hIy= zhiuY!VQPm}y{GP`5=Ru=GOqfBD`&pz{a0r{}QP=Eg_7pp9Jvp+2N-*+aUg zUAP!&>TUro20ReSM^dj)F5*&AGgBHZPY3c`2nc-LAUaM{u}`jG!SL?Gb^srXR^9|s zRjx!kLo(!#Tv1dKVu4;*Z}g-Yl+E zxp~NL!XA*sj;R2-52UO#IK4~5?>??eVZR@4S|k+^x}|lS$vX1%_zRC=8Tm`H4Ut)R zKDO3I+?uau3#Xk|Mb88nW?}(Q%1*re?w>&$20jTWOsr+08x8VG&-#Ee+YmRibYgo^ zVkaYU82&mY*}V*qQ?oRN%rzTA7>_cDt4dW^wDkJ%QRN;$F!cXxhDEGAFMv2nbBbZ{cI$;)5`d8KDJ6+h`>rF}k&y_8X4 zN>gJaTP?s%z@{!8ro5gT+Ev@31RmFQOijEiEFdBhqY$Hz%j<+!)iuJH{TXusZie3Z zFIi-)NJ|*GBtPZraIFw7ar-;NB)Y4=%idx#JkW(fIR(S8VDvf2k|Gf}k%;?Fur~kabww!^3W9vr z>bsw^UQNl{Mmc!skc0Gano*`76d_(K1WlmyX`#BzN17Qpj$6JLp}MUt%G@h2w-Y&{jn)rChilCt`IRB}5P%eqg)n}b}- zB{f#8u&)54U%tuRPJ?;(g1X!YOl$?NnfG3eKI%f9Z8sNcqkg>8!$lse;fV-tSYef;0P)@N7 zbY!4e8|eF)k`&Bb`oFj_0kBliOulZ+cxEMoE&_$J1NjH7KS*;R7u#;L=(Nw9)gAos z0Wq9icU%${T9ZJGiJMZEoI*tA?Z~RMpC*Ypn5b#vzyoB`In^gIH7Ss?*T6lF>7N*< zQvbx^!wb%P5Jw5+(0Ge62a7*K`a#zI+uAc54fN~NN&tz!_(T5r>I8H}%u7V8{)^omE}d__$o~S; z=0-*Q_$jk?_FumNDliluf5Tdbu!}&-Wq)FoY~KKypvtPMwiiy8H0vSBc!GP>D1{jn z*#IR6^&^46K%NYpV-Grzp*>x_+6*Gx+#^uB+nfk}Bn;a;jm%7h-RN*dqs&BdGq$%7_JqO~^yRU(~v|jQ$;(>~nE}8*ub1 z2Vvz4d;%6Kkg5o-@+-P^YFcy@osIn-!p=MoN&4$M2k+TMB95;P^8n-`L{hL13meE^ z%RYQGsEds6b}0SknAbIFJl7h4i+Eptisvhak^<9QdNcWuXkr~!=>GT_E2K)K^dEW% z`D|}e{|DE#Jy(IbS(xX95HS>h^h`I?Gcf2ewZBEJAHLCk7=cZ42T+K^!^5%fm-==Q zW5J}S#_$ca%Rp30MB&{>N|al5hkSot`(E%S0CDc?nwz(R4F#qD8Jk(33e$%M+h0cG zje9Z)J_ZP&mjl|*j|?wFpH|#-%#WUgjH*&SM`r5X^{ygMY+F5Z3myf*C2Lodt{)m0 z*m`cG=rs``p=e`X?GE{9&DQWJ!YsemJkpW8*{uu}hvC@~cu{d0F0He@7Uz9`%&EZj z9x`#SL7=sWqOB_`g*WW?9FwrrbdH@QklJv|qqYC~ZL`-^d^r*pPlltQF@BaKhYq+s zyR;e_OXz-xb61sAiE}JF3!fopTz9>>wr4Z!2-t%C8Q7830mr3^n50^v?cdA7%BpC3 zx*BINf`yL8a4cK6A^i%*Bv23DUS7c)u_WZEJagoFfLbU{_-jwX!h#;TG6}NP+Bjm< zvU3Yzk##M?XgQd6itElc=$A2{R(9Zssp>&iA)R)G(V#YhxzHt;^K4kFQX?Aq>$t~-IF>AjX^BEE1Ld;>x9k)bur!^nb^?74f`__O@x*g zFJds(R!ziqm&i#S<@#rIoa;S=dm6>%L7&_PVz*QD1-y^v-}@4t-Um&VgAiZi?>=5( zH6#u|2N;M|mfT6wsqz3NHVad~g`57$4^ZQD6 zWl#!~t^;=FS)#F-F+!BB`_1Z41-gx^;N8`Z(@qc;HpEEPt)L{>}s&A?M zf|{!Kg@^C6NqUHnyv4#X3<53QUz1V-vL=g|n6B|<&uIGopp0j4*g*5087d-461Ua80&g&UHnIsD72i5B}5^`h6*zSG* zz6`NTnDHT4N>&S^R(6(~$E>sZeh2{CaN`_>+1@;r{;avdF;Ua?IqnX7JQtZCSef$< zm-nBrII zpfK2#KYDbxFvL#+^XhYeec1xh*r{gld!6cXA(rbRC(>xi2GUg`K1;Hr$UZc0kCsNv znXgb_jJFf#~aUhq;bf@Z^dg7k33H#q>EA(&4x0dQD&W&EnPE&^7{DP zrWr`EfSSBMtkt?2ut7vtH$A`3LgorcOVzAs&oQN-5SOD-4o&Glx66}`WL@mQ&I{8S zX7%OmbPoj$08(29pHUINv<7&0aZthiS3Uj{A0^~h#i+xwKU}vdvl|nfmwsChVlLA; z4wv|6zy);+5N5hjN7Cie45gY&u{FgOAAWGI$nmihURNLSr0gbm@z> z-%@R&7DbRy`rVa`S!zH>=*|r7m96c1?u+-hBfJt(AeO?Tp*g2n*9M@h z5nMVG@Fc--!ik8vS;_8BqMSvcAbV`p$;I2APJ8}MuF?f?OX|0u*5J%=PFv<;(Ae0- zqUF5la{$BK!{S$ILWL!#7`L3i17|H!6qr@UuZaX!n#s+RkR4x@H{vN{tjr&r&~D|} zh1a-Ba`;_7x``5c%bgyF7DYO;fzp= zXFlS*syLWGjRxtC_rOLAisnjz?yq{&Q_Xefi*BX-`;QV$=WS(MeSLkjO5JyG93t6A zXDrf$Fxvl`uL)5_vCB%lTG+*Va7=wZAvyRNgGn^gxK}X&vrFxM6%ot_g*#VQ@KX$c zspD4zHhbFtwc*dr(D_b_|9>`7K%^QJsI#|MUDeF`4E5XJKj*LNi@4C#X8!*U(IQkF zTH=3n+7qgbj*W8#CjT6MKSB0yLXK}l$4<}FQ%oHE2FDY8rLi1%|#QK#p5e!sQe_5Smob=Fy(414eU zzOU>0em~QfkMDB@mnMQ|=Qz3(0`2F3)NG@2p#gjhG#({zZELI0qN-(cBezj~YR|76 zfC><`hbBA;h{H;w0twH2$(>55PdCvgN#5!tq|}qZ$)s*T79!hX5OnBQZ9hN783c-5 z#j4a7*?_i$FAlxI2Ot(ma6#N^He}(Rj3c?%rLqazvzZ}^6m3m(p1nQbj#1;5br2F~ z+G!E>c}q>#g3G^->xL^8L^D2bRBv>7+oH{yQEw4F+b+`PL`O$A=%c%B=k2{Qik=p% zbolvgh-$+=kFMqgh$I~9$mFbuAWC)oFPb?)$4iQ$vKmNTLQkXMieM#P`emChlhJTw z&(riKDJH#d|I~{uEXeP6=-r+j23M@+m#)cwh zO)!~A%hYPPLNp;&_{&d76IuoL%_`W^kTzvPMxeTDe~<$z6{&5x5|*hJU)B=hJUYF_{DmLhE~AH?GGlMn<&5DY(F* z_x1fkfCEpso+-l87k?8*K8qmZMNC+S}TVVO*L-dmYKWWo8qB;4{DwX4-TQ#aJhAJ-4iE4O3TK``|_fF@~9BO=jCK$8bOUS8lcG0 z&vLmiQ~ZADHm3&k_Dt%5A;`444oT- z!!Xrq3p|x5Qz~b>s>$z05&3A=qW+ENxLAxGp+4vx#on-GM1q>Yx|qlv90aX>Acn?V zPQlm{8AnP$>gf0H;!80}Z@15Pz5^MUatwxk^Ci8<>4pL;0%#a)6Bb19;PT9Vm8K`k%ECJVEkG?W)T@0oDgUU*A z$68dsIZNkwLa7~VrRjXv{oIO;J9iwY&p)Y?;&6c`aW@M5fnB|Vf`XAlhDwg_Y7GsM z``W4@++I~n42SMo(Z-K_ocRe^o6ZYZLbeO1VenZ>}6Y_JM6&f2U-1aCw2 zVA^L!FXNLbuCK*-sz6dvanpT&Zia-$1C!TXcPCj=c&_)Uz8-D)JdFMA2%JbC+~(hS z{YP;%>x5|9x4RP=l8F;Jt4fB0s=y%yM&~v)22IA#2wCPaBu!qJ??1E63sdl|ceem; zSBP`5!n;din-J2mOay-72e#X5_-CvB`aN&((m~H<%X)x>?!d#K`7;jvfKvkx30es< zqvpELhs2pzBn@q*8JA;;iXuMIcz-qF5<1AFr-rMcvoE&&P!>dIHp@CnCw@t}2+p{#m}>R`bYpRqRubCOt7+kWW-uh@V3#fju$Hy89%N+?_{P2!XMrWx zZfZsw+<10jaOE*|&s4TYEhDgRhbEpXV~_DtzOp@5|`28@&FyuEwhB1koF*P6{bvi*^}YK zP_~T#aZojMNJp=4*72ib#FeG9C+68>eFFjHWMiv%{W5?5c6j~F+)ytZ$8;EF=p5`>WFU}p>PetpN4e*T);O3vUh90-u(urCgImC9)=gvqOhxlQ2qq-uAIu|v-N z5mFp{y?trrqGsWPbjw8pgX3_PYj}^UjGWUkq;}+KN3g3M1=|6zgpgDrYQt0Lu>*iY zbghmDoi{;9@W+B6tl2?cuB#p16Nn)xzD2=H^XQNS-e=@!P(gf9jte9_yLa!l5C<>f z*#cH=YDm-6j@LO-zoU;Wd zV}^{l_{@CYxhC$Il0GkM_`|C#MNx)R75YO56>w#dHYYWA-_M2jpIlcuj_KyOvmv6%<_OZ+c*C?{8$@tmHesu&(2xx2~-C9L^5k#2r zwS{1-o488Y1xy7Fu}tnWU?_o>Vw=u*jh&wLOQ{S{L7S`y9lrwy4%EG1N7%h!W`OL% zg$qqxTuFrz4EaYkt?F8sdV3sz0 zX`W$HhKg~-PCb|=w)}ZA$jn%ZZJfIGfm_vuerh~>p&-C*3yw&u>+<=m{Eoc~G5yX? zJQPFZ&1*2Hp=#Nl57tjy8GMo`&;VBa>FpFoiez zRq6twM7LhmZ7N{lf=5$cH1PqC^5<|2Vji-s1#_D{4n`WEYG>rZ(42vr1uH}g&l00d z45_eL76HI^UW`d^cnThvM#}_ZggmPQym0aapKt1w8lkO@1aQm5G`FPim7;~OafY2n z%MP~zoxQ^IRLy4YTv^mQG6S+@+rzXE;axThuL`6c175ZPk_m}D@mx)dzn$877zI1< z+|2pfN#oRu8A>WCXi9!NTEN!h-JTdUxl?Kc32kS?O1m0vJG{)a=AE}?NzGN-NNWlq42>k=|hGT`hnNy&WrAmAPbL#+Zy zjNXQWi>qMtqt8TH`g_R%Xh~%F&=PDx2t$I05u*oH6VF9N{ClUjq)^?DaET|z6SkVd z!ou28f2cKpY!82uq_(gS_nj!LPTmcquLw6qtuzr`o`B&p#JsMjyRc<~mMcMiNe|le zt6D$Gnf2Vtm@@dI3}bbIz7}J%7lKEE58rKQ1o`0SB)YYEZJ($l%9?+bOA{P3YF!|mlXn7Pmy;FZ#EhF?`_=y_(|&N<{U?5G zZ5y9e?kM-`n0VX?#P8Qd{#E<`DEH0~W%hrpCjVY|{(gcG(N6#2Ie^*&l*AG2il`k2 za2)RCQ^7jIV$PO_03UZLb8CIu`MupQf&x%f0n@cygfi%B4sav_=#AsYK5M zL=@_js4lr^OrR?W|A&TZ%6$wQI$k~BnLK>rix0Nc*m0w;!K=^*<4jq1YOZz5*m9SD zUwC{Tgn~F=2O#_#KI6rE`J5m`#fah1AaHdEj9!1=GBP_wprG-=5C}Sy5!)7_yi4lm z+6ZHrgO4mRDojes2|ZgMzvxrY3{dZ9JPpTttwTdYNbE7uEr-DyGnC&{Umv5_je&r1 z%UoXGG`aSO2ySI#_`3Y)_1$^^LEHsMjbe4Vmvr|1j_gAineZAq zLiHPX*wB3ZzPcoylMEDy_U`LKkddO;hEOa9s-iT_md(_0TB4#dckNtW5pwW2MM^yf6IM7deuvtVHgj(o zJkUs0^FU_|d<9t!*I}?6TgQbe#2UfQ=d2sKm*&sYfKy)UCbp<_#WvV0mm^Lv2-{~` zg#{At@Q%7Q_Gp-=b3nO!B?%PhC*JkzlU(nVjD6b&>X8{^nh_MK9)A!v3xgg=XVc@k zRR0+UN|wJehBg=;}0eHJ-QlEd7H`%_2{9mD@;skfCgXl|kxwCnh%nOJpELYtcb~*TmG?3n;@7-#RxpSkljV%#b z6$wyCTLjli$MKOL${3XE;G4+kh}Sw=G|XyBX+?eEqzUsVirWq;pjO6udTS1%zGx)J zAps{|K{FGi>hp{6!Y zR5^Q}#W^u?^--Qx!K*$#*K*d2r^PPY8TMu7mE`^n_QfDWqz~hudqF65hkB;>xuROl z!V??k*VWXNufCc^_wUaZS><8$Et>Y^5^ca4VNByt2C!KJA6Z(2C%TvErU5ofJ_J{V&$n?i7K<7x3Vfe%G{({7Dpy!jNhnFW?H+2wYq(c z$?Vq|&^&fZ8gp#2+dpHM0YAm|K$YUWiY>^=@r{vWqbdMH%7!WiXJ?XCj}E$!VUel`NUvg`a}Vz zc!mYB&qQ$~-v*roqR0k?Tf^QDqM4JrKDbMZ3(rhmQR5XwQHr}qqceC$a9-u+&BOR+ zBoGk?+?k+rq5GN97jFVd)_eoirmP<$)C0^^NS31|$;7jo(VH#S~f^4!XB=+E|`|z$}Df?P-C0QHp+)DR%lTcf&E>t9g0lQ!|h8yvyRXWq&9nDs0ig7+?E-p zuNEk%_|n$s>N33MB^CKHHoa4sEb1l^yCk+UYw`=6eTOBYk+y}fy1<>obJ+Uyo}I}k ziZS?-=gLm?Yi@2%^8Qxa&~Tj?!gK)%z?TkuoQV+l-^xChxzyPnrPc_DC^3^-vEte0 zMerozZeR?pj1M2-A^%rt?Uc~?^p$#`m`2sB3iZQl_Kt<`JGS-k(-Ib!i>czYUADIv`Wh_Z`40~rIf69Ax!9Oc z&gRrLEEPrIx~9*Lootz3BJF-Z|A|Ubkoo+N3LZNNCOIB{DlvgQ{<^O}NWm)y&i&=n z5}xxPFMVB6^i|Ko$+rLZcZDw@pndXa`avdMJ-YQDbQXF27uw%13BJ_m!86stOyt??Pc#OsxkSs zgpkWV{h|8{sQTlfnAl+_o0i*Tlz2!}4*u%78-E67%p zqrBwhmG9s7c^>dPX&7;`o?aj>V2Ez)Vb@z)?QrNT&D%#V4PSkd{w=&OxA0DM#D%Te zyF@yN?pJ?Fa!zXgem-0MSwsfDuf+T~nM*A%xM4aHPS-@VM%hyU|F6R5XJe;Lw1a;< z!9QAZ(ApFXp0+%?W{q!nI58b$spZ>`C~uMFncEG0v|WAd`=s$vM=Ps#gyLu%_$rDm zT>$x5IHiEke*@+I}&cA9w=0TmL|%d|$%l7^AQ;H&O|sKMxMy0JTl-^J$kq0+#P#Z(HD5+nRLz~4DTsFQ z-kk?^J`YLG#qsg+??h3=KL%GD6PJ^dW55MMDhKGgRWn1f%Xi4&fOr94M|R{eXx;&Nv))cp|;g zC^)Gi-A6?cxB`gjwVTt=edvrVtCW0H**!}jPK%#NueOQdM?|$J%EOpA6nC4{xEwX{ zLn!0;*t!3G%KKt|Z&auecS=*nA7O z5Fux!f{e3f**2mxuQ;9y@S}!@%}%3(00po5P3O0e=w38}3x>M61fkh;e4zY3ktD_^ zH8W^_5hE3-;{5l7eG}qjn-s7RK-f)(qtJffT&f_Eg<31BU$(^Q!3jWmfy*5QC$k<;JQRlBf<@SXlhFnFe%92Cj4<&&7b9 zW|Xl{fOnx$U9euT0I(R8j2Yxvt5SP#eF`y`es80l#&QB9n$8<0CTxs6=$j&~t!@Sp z0AMG$=Cp+H+kpWPM>Y9N>%kIze#&`FPG)@oNY7RksiXe7K@3z3eWcgNU~#icifyQB zOy$<;>L$8c?)5E$H7c$24LaJStYG$b;rOyrv)wDcK> z80I^`*QF?(Z{AoJgA7Pj&&C30So3m zZp8T4YR&BA9q$9pu_Mk{>-FW;5u}+}-y>a(TAB1jJ)rbaFFPm0hR#!BMJS=u45fB; zyu{QlXBcp^u zdj#)>E}gJ!%c0zZr*9QD2!iGBKEWY`xB>vApB6ziuqgYbDueF#G9Wl;^Kkg%sYeyO^Kq3KU9g{n1`)*&aIOG*^E6zeFw7#BUk$hW~!(WIijaI^2 z3sHQyno=nq3M9h7L`8z$#i#)zeAqnBTP;oKCV@UB;?nCLtr|+N(RJGM2ufPidv|bjQjC8 z8B46U3lIr9-ZSdp^pQ0^BCtuTHsm$(5CNpVR|x`AkWvsi`aS?KtL{|+US49pbj~9y zba~wQHpOTr#{fzVHXJPZUR7)(FoNsH!RZcfanS?I=(~}l#VL(=^&qXBM&O3&_#^hu zYH9Z+Xen`oR9&nnFL&7mrn!QGf8cDCf)RVsmHbU3U`=a zyo(mgm|yeVX*I`!`#dZ}qNxUON&$21nBfC&%gC2E$w*{b>y?LKc!bWwgPemL1ZgTC z2!33cUPoYj$$o$woauP2#DUEXa!WsiMtvLaZX?Y7n6T#{H+-Vl3xc9L~)HHYt_<* z>f#X_RH6OH-H~n6%E-vLWK|i3NI&oWeD}7D8I?p6sDo!VTW|SLi5@W-dfA!I~Cpn(iTxlmpD)F5qjo~c>>qS z`ui5Cx-89fTjm&rrX@f3Gm)ej_R+E~NK?z!KzIPOV{Kgged56J>Wk+Jnv=Cp{5-Zx z9V;~o8y8nx*QU7?jUyj~M^dHSo9gS|L1B^c9^7%W=^T^tTvi^@+2!TsCMBIkgSh~A zaPO<>G*%`bsM1D>g8ZH^#v)yg;4k^esFH8PW(oC>-zXF|U}&@t-1X5PV=iYkIN$y+ z=@h6TU}zk%h+W*087Sxj_62Gl>#PXdu;3fW^I|JY<~V;RMaImM`@BTsP;=nzq~(sB z6C0H6E*MJgN$kGijP3+F8aR5=6(^mAim5hUa@GF>|t6L2{>Zt>zZP|*?LRQX765`gbjgXA~2NOb^L}qpR zB+}bUeM@HjtQDF@%@du(K&NO$AbNqE@=0R?Y&y>UM@5hO8>r4xUwK@Y-kkGb%Y8HCtwk2CtGy9qg!CRK8R?mC?J`}ePj(rU5l0A6gvJblGY#iZ$6eVZ}gD+|GA4XN6S$N z5o0!RF2Z350uU^BdmzlyKjF_GLd^+G#AGG`hZDKUfZcH(^v@C&BtGfC&^<$pmP1<) z^;kPTW!B#bX@-hTJ%(xjXN4mXi9Q|N`!_W@DQW+MY5W1O{eRC%L)Ck%>KMCw_!vWkb^VFZc9LjB@L+~G?9d| z1NA{{s4ErwN*1bX)UUg8Y=R03zTlgmE!AKOdzoV!jJJo~M;L$s$OsUimSRt#A_tVM zj{tUvir)0}tOR=CE+#8We(^%U0R!eR8#w6M279YVSWOw5IS{BchP+qV70%5jhUv;v z{mGPkF=>A>$fZ&b;5S4ui*5^DB{Gd)A!-OCnq{Ga_y#VKj50|Maq*wv3m_+|^44Rk z4HnN{Dzi^49`&oXVfJHGK-h6#Lh=h>$iVIGa#X5lExrS9K#6XLOf~cV*idr?QO;nF z$NFZP*D5?)pgsKh2CjF{w{PFFJk8#MmJU3|V*Utrk=1t~f>xQYKXyH)Sx8M86%owj zz^;=cyg;*J7%EZz_X~c1a2H8lH&8^8Nn!8BJQEl3C$AhXyojuumC#l8_Bugx&@J?Y zIQqV@-o=jcT2Mk|_b2|swP*b}v1Jsav(C7Phik5okW6jR{1JmA!Z|?F2|KNS9D?e# zHCqmRRJP&UZp`{~dHrhP#B(SC=_VFd#*I+C;&Y@Vm6n#`(x5A9#3Ot14Ix9rh|T zueO%KJMeRePj-qQI4M^gPweIhR-Vn|f7&Fm!v%(qrNf61a! z2RN$2MbQNubLVpWh*T~KlX-O}7A|%lzMLEf^9;g+YS+L?9 zp8K937i6u6&hPX_CeI3Z=XXNoYksj)%2P(Hl5msok}^xrpFj@ghq|@Ko&w(X_4+ga zT8e>HE_0DG7gJUVxV|45cYS*uVeGXCeTwxdk8xW`FPN}7avd(S$i5(v z#aw8=O84~bbxg(xIhohBxOVHR7UMP8lHt_95-*1sD5J%_Ow!u%e0viy6%p*S#c^MM zK29Ak3Wb8SE`?hU?q+X^;O}DPLvI)=Nm$5hZ4Rw)xDPJ*cuM-Ft=3z~B;+vlYly0C zMuC$kYs6xo%5m$;4yCoWxBSkhlmZ+6>k;=Ez{pNuj(pCH5N*V>vcJP$)|L&A5lZ|@a} zLe_L~{`SM>?VY?c)B>b8>l3|{i`@WlpkeOfM-^YcdYVNU zyvK0OanyfFtB!CoN}7vnC4|&Hc|yX@RrS!+HicsQWuYrEL(7DiNy^K^1Cig%xGeG! zxTBCPJ9}PQzwJ5QaW4|7`GRV1CVqYI>Tj`7x9aEjP&*T!eUKNFo)2IAnfVo zMx%O;^GmN8}ihn)jQ^g79VPN&ZBy@uH8aAFme%7mN1fy*% z*xr|MTfpfrrW~5qX)R=oWsmh0xuX~cUfW$jeh=dicx;9E`Wn-+?4E7Og3*f3GBqr` zYX3k`xg=T%^-Ev@Ko}IP_47Wxd%;!Lf&mDylnerCh{l8MH(#7+*s-xlNk}ksmYwK7 zn}}W4dZ`-A%4Cj_mH=XB0W{ysqRY7w@ngZS<}gGkSR$~Dr+B?keYmBLk|MS-uhZgJu2=zOg9wp{oYj5G05FjL^4fq`*I zCY)&h`awdFCtOR4lr6ylTUhIP^eB`PA>*fAr{3n2Ljo%AQydjtSun0~%YN1*-1QSwoJ=`CV@5?~ za088B|6WI&Fs6h1As>TEJ_}hzuH)ik)as_&$;agW!bhH|h?i4V&c`!?CkcN?dl&b?1*vwv{HlZt@< z^x_~(+>^qmU6MBvFr(FWy?+&fUSHER#rOYIn@y0eJk*4lze8F-Uhogp`v(XA z1O57!WMG0O`>7QEooWAd9RK;we{-nR6G7E5@Inl0Wn#iTR;9>Kupdk~tNLHu6y+aW z8JpuPye}%%>*dXo6FvNQ?l9cFv)aW~RZ6aX!06(|3GR9G@%4L?q<3bHXDll`X~@!Y zRI;mEd|BIZ(l|j}m$0P14Jn%&T^1)@`&r*#peg$ zr2s%rWEvu;iI`sYdK1%r8ylN!c|;|kJH5KqhYaGx)gPkjO*h5H7C|Y-MDVba8U>kg zh!Rn1Df0qA0}p40;~dA z>q0nAibN6C)cCaP`A|(Z@blmy!U~eE(25@JuG8gawF18FJI7+vZ{_NT^{d zwJ{qMg$00W0w(W921w~jD20UpZ#}<(T^txQuq&9giZR|CK2(M{bU%juypp!4rcXiz zo1)EVNd1mP5I_y<>v4fPyYVNPEt%19O~d!lcK42~hwGm1&P_Fy>3%2c^cro5bS$8oh>VxRu_h4m2u>=imG){X~PEMSn zE4mcmk*KNBL%^q#k%FiM1D_H)G>nl2Sh2(;**BdAKtvw&Ci=l_!!#6A15eV~zD4w( zl)GGb=ah%5en)3+Rb}_3ll5PgEqk+L$Lc4S*E$kobd(1`*sFo$6A489LZndRD4d*+ zmBFd#apXwb9oK~taRB7;P0zEoa@}9ccXAk&=WaO41$L8W%0<$~p8uP#rc(AH(0iA* zE$%U7VfT?5jAozc`SGhtLo!M+?))O=hv==fFGg)#?&8^!ww}w7nv#yOmBYU3aEUR@ z@(+wyxOdt4o4vtV7nXEqUARU$85U-99>d@7Ky55f7}N;6=@o8FiNArFLMe~>TMKSV z#9is-TE5%e{S%sl>_LoMQfzCRr=sJBeb)C7hYtT z>O>A?XlVnfgLk2b217^aIj$;ci|k|@jpzdzgH{*NWxwG@k3IDHGY1C;oLB#>93Sm5 zYa!Wd#LL}2S-(R-poCq}q%q~d$&iqEOc{#43t6f;8X=2y{+n(h(hn>JOyR1_+n~(w zx8(io1Q`s__69Pzoq)awa?gyP>(3n4`$_YF`NOszTdp-AZ~4CjaGhPV+JYcs z2!f!hTc)w8I#54+ZObw)m}AXb&jmGE#vBVV{Kj1z_VN@SDx&jEb!;8+L~T0Z+PG!wS+ zqk4qRr=i75!(C*kq8u+?L-N@-vFDclSj0bCAb5p^R(r~?wtie^JlN=wtC=)1;#L zkVq7^ScFJ0)RPt3y1Ea5A<1qP>_R&NV##OpYffM5S!`$C*yUyW$Kvsq5I%kakQICS za7bvV*5anC))4OpZ3h1IiomztsSp$YJ~IYO<7o)UGrw}#Z_-dSRmI|^v5A7|e5Lpn zo5RSie*heR#9zf`u|ENcsR`f%wLQ4xeDW+b&4e6a^o{7alS3H*4BX)ZJA@!(@cPty zR;?-Md+tH~;i!@lA21r;XrK@;$S$m6^2&^Y&4*~Y%K`Rrj4}E4_Vxm&$lCn$r(@`M z2$=_?vph0x$d2cMtNRG11@9@?Mq|z{$Un9waKSX5a*7Cxty47fGq@TZ5mCDL4!)EY z29A|Gs})gi#iZK3>k0Wj_9Pj~NRQ@tts7${$zrEZ zmQ3t)DGFhR!#qst9{usTOWm3|>DDbqc}h7G6}IYWK}F%lk&_ubv;2Q@-4*LiiXBYx3# z%m4#rfuSS(>=SsEsKlZ*VP z1Psa&W*e}8hq?JR`pSTn58TEnf5S6j#|B3WEW>apZY^P6i4nYf*yxKM7-M?s_w8f% zG@jo98zfELa@{iKx&fTl(idS>$F%X8a#&KQGG})`1_LKSJ3pSyB4NEpLs;O16*%tK zJMO-GOPx79-!F{Te7y|ksHUc-{+KxtRBUC9q*O8q_@85msPJ(i3~9lm{%B^rC*~s> z^(6z}hlA3WcF*H|9S^g}=Qiw+DJx^;#U2B8d2=1xIip9A9l{16CL=PRaCCo+Odz84 zw6wIGc|GUc3!)7w_)9jcX087yK7-(VtO-z(qI_>aq%4?E|aY+lMhgXk-@Id?@H0zQy4>6oud zy1JXHb-dRaY?Ihs)CrZ<)v)B{F-g6MrxlNn9go#ryH?5R(F{d`gO3i_i==j*HAjO} zIViT4F&gm$II1(|Z!5RBy_e5}jhb`lY?sh+LiLuwm43yo(GB@&S4#(X!S)EY&Jpg7|l|+vp>xNb$fObYyld~QQ_h2`VO=tazNm zY>d|a5K7q!?gI-bQ(HjP2C)$lR(pzZhml$uupd>+aW866V4#(b{<4cCFE2@2$hAa& zzjzvC+g7@=vfK07yTx=@A@Bu;&}5U%B3sLd(VuKo!292PYq!prA^%2SSIg|QWQLfv z#n){>mhKm4HI3}pH5(WT^e(42^zJTREg;~>;qJ@pYb?o~wx`%Da*hcF09e0Pa zZWe1>2X@29f$TXCKtd?6jpCNg*G<3I_(InKI|W3I-zWj|O!ZPY)B^T$r6MLWF8LxG zGqY9O=G~~*3CO2|$QtM5Txa_%SL)TH1jtP~rI1F0VFq8Zn3guos?aifL@0k;>*OU@ zBw#_HrqmnaRRi$G0avdaU?LU98onlpQxD0(9FQ^weK+il{9RKY4K5AHzn+}BQ;jPtjkmzJ#Bx>?u!PD zIuYMc>RX!(S8&ZJtaOdR8`FU9RL(u%6({La@9dX(v7U=t=#vP)&iN|skpSyjq4(kqC$W!qc8ZSI3B`R-KpR-YvB0)&$qQ#X)@{*w_%#^H?YHF?o!@A( z3#QY;NxK1z*ig^+3qJ!${>aQ&9v`kJ8?hUy1_+=grV>KxI;R2GeS@Cf)HyWuF=A<} zU%k>{Uc5+N{tAzrAl+N z#c;#DK*_&bmljcwB~`-2DV$*}$>Om0$t4zkK*vumZ^+uU{}k{$*w0C5#vy~qA)i;? ze-F}Iz^6oUuO*83FD7&JNe^@FQvnfhu(Q@fX1f0V!?)A(8Kz%UM0#X?03VO4Wv%{$ zNP^w+`Zi~C07fipx#puSHZzVKRnJ02Q+%lBjEzPYbXx1Z5h+lls}OwK`5@X_?erkV zeoP7Ogj__{k&<@}0kUqJ$UR7=A!@f?J~dlf&@HF%`yIL#!LBBW@RUhxKMn{Kr*B?2 z$N<~%x)Xt2(f=;r-%#G+cVZ`nT*MR-LR{H}5IgNAG}+No#Gq7c_QhaiAQ;DI0GN9F z$`wZ=BQm6JC_Ss;h?b@Z;d+6MwGwb{y0LSW6b7gZeJjgEv6k8mZ}6e+Iwi=~+S}Vf zuIh=BS7JYaExO$vH4!mz4iO8&+HEB0)TA(K7$x=N_oz}93a&h`1GNTN8Z6R>pa8Tg zkgUy&CX$84T4^7|`!B9-tMKr@n9Uk#@~;{pP&Xl*MnA6}`Mr2%tctPaErhF=Z~1QY z>n4ffds=e4vBg3{7=g*w`Jpx%x1zhsA68V*vpwp9!fr{e$mug@syMgZ4jy`J_#q&j z1`++Ng}GzV(p$n327q6GqLpI9P3NKzx$%V^1t8Q>`E`awNM@=_;Ft-bnY`CJEoCj< zj_O!Ecp-@Rn&I$c(VruJz1!b)wV{ehZl8&XSmps)NOP57qk^pAFqxOiJ$i{|;+dli zE$G(~Tpy`+h#gOtv&n&>G>6d6%z=o%$hZ{VfTL=4w7v5o+1?i<)B_d9*;$H;;CrQz zle5paoRe}KhO^8~&S!XBu$|Vp>bh@f*@!@jXnSopgTJJUNYs(gY)5u2R<#a+QKFoL zpsC1w8b<5Zoaf3`CX>WaFC(rEbLN)B!mDu)i81=#8d2{X5MshCzC3>mWd5HT;$ZwE z4qj`#CzN^MLUdCjb^JT|D20H3u(&@C0q_SEve2B7fkEnsf~&s)7Yk7^{9*7%>uPWx zI&yOml}-D{pORcy>J~Yt9xTQ|iV&D{JA)s1&s%w5HBbh~xKhf9MzLX*Pz;8mtypmj z4FKE?k5}$S<%ri+f}9bLfXsG+--h?I8VhoRb z(DK{OGAP+Zf45cPEqw~8>xa-z)-S?>g-9zQVj1vSxKqwexHHWG=O9vijVW=bD)Yl) zt@lTNhu2W|?qzgm+1Si*POpjW7dPsk+5HmTq)Dp&(9?MC_viwN?3&G;#2RYJXLWAO z*s%4Q#muOb4KN8t0>w-&S_L-C4tu1F{+M+c3cq%jeq9r~{5?-kyk}5*kU8FV_0ZtK zZw{7+ezH7M^oh7BB|y)tqm6CO)eQ6TuW!N;U(dYdz9rM`MY_l?*bNMjdHemBkIQ;O z!2x!(eS=}9@38TnDd3gJ^PNoVA}Sk8!WzyucHa}*4lFtN$Ttox0P>^)aW8h2#zfV$ zT|L6dq{euKG$1A*9}!Y(P0Kp;7vz}`S5arsua4iu$X&p{Wtm2 z*KdS6#2qb}v3Js+PbN-Io?&N4;0p)=&H1;kX>5aLqa){J^*b%HkTVdyMY#uUN^Ed!*TZbNi%R7Hl?T7zv1pQEzCwii{j5`d zv&@21-v;LkT;up}rln-Vjls4Mr;({z6^v1E!%kywWHSkm(z~zUl&u`hM2g3 zm8@g^AWStd`y~t<+w==aG`Hr*n4`CB*_r(#`c(CpyIv#8Pd906YvWs?4EYMtN&YZ! z(G0~F5gb@SHfO${=H6mU9LAEhO6i-@6{uJw-+_?GS}TdJ5_Ws;ScMfon6iuZ;d4Yp z1mHsJ4m^hd&P~qEW}hsFr|K}hYcvQpX8LLI0T9^>DZbfb$mXNh!*hgy?@uTrALl|0 zhEPSoUobQ)whl*8P{3GPS&1=h#_5jJwz{ec0ahiLNsV{hjMNR-APCtDH@6GoPge{N z4V7E25K**aeu*AXNDh+vlUvZfW&u9~)}Fo8gOh44^L$3VlL>wh_)CWiZsh@#P`h$T z4?<@5N}ut!)e6JIKxBscG@3_ds}^MxNk}Lr&42vEEjg`H96UIpP_LZfn3GV>MG#DIm zL&H)%3aSDKwF@roFGd(k?u9FcamL@Qic!XnzS})+b6g5RrqZg{pukt!$3nH%k%fY9 zVq{UC5qh*1tgdK84Q0z zk9Te68ZBU6Mw4&$_oa-hTL=UaAjfPd17D-Ik%PHM4^fj}K7S@OdaZU4UEw=oZZ*u> zkQ*CIsW1k9^BJ-F5(uL$*NRcs%cUX4aG94pkw1aiq6=zQQmyWw{FUB#XOQv^kx#8G zf%EzJDwo-*lfGsHSHsEKydMv_1wAYsL=Nl{IhIhe)q; zBXQ0W(Dg-iassLW*ae(JHdh$B%c4eBnJtUOT2AT@3G}Cr=L+CX`mgx{K1XB?jh43W z99}IgP0XISx^U!n=x$|?Yf%hVDho~!9TXzsnbLyoCdKekt%q&uI$76l-Mmd z#e^$KkvpE^S$u`Z8axPme|R1?6@2ym%TF`EbA`BLsB#c)6hf#shHO<9R#wZqZj%4E zSps;H-A8;23y%YM#T?qs^9^lsJ|D)%YU2#IJ&b;%sVTDer&Z|>?FOeg^|Y|+6G%fJ zQiq1HV4k5Cw`k~zle5Zpj~#!rTR!|h2{$(0ZN!j`STso(d|2wX^mmB`4gE=S6YxMDr%yt_7Ur9gJ+jFO!^ivoAcPYWY==$Hx|I?f3 zDT&1ttwZ$g|1(?wrNMvk_oH-~=3}3dSWKNjKaha`->Oc|M8(T(9+n+rbj#E9rX5;R zpWtTqQ&s|H$IpjyBD_|g?8x-{ruReX@*{W_;0Y1K`@_)~Je6kmhdAUH;WicVU`fGw zHB!JL6)WAeUqE1N<2o*`!<)7w3y?t9guHPMJ@amcAT&2CyYPoE1Q9Vvjmz}ig z?@i!k(CST7A_m1%%fn6AX=|7JXue38k%?dplLkje`K=ia;Xa4*!luG__i7VQjPSk2 z#lqg^Ig=l9ul8hknnOU+7W|QjCu9+yh_Po0{_!_fw$CIQUG{1r>*0+`hnGfPnI?5l z42|r8jNch!8ya1B7|t?4+c81x8+~TK!f%G3cP&4+u|MyErG*AnABi5iIzNA$nuV*% z9eRSi9xKUF``UzfDv@`Rv7|Lw5y{Z1#9IIklOPJvNn+j)go=1yx~V_jTmp9%*>MaC z(zA0W%U|+MCgQI!9Ad$e$x=CCHwTuk-ijY9idTE$eL#VwLs>3vp3pdo4ASY}Yn~uy zs=IC-#+S{iMOIH1&K+!>TUJJHyW?WLV@IOeZ8iWGrEQ?$+8}k`+XVl|@Ic#5*3a9J z!|LpO4dQpuRrOJTHgGr;R(>1j;pNRk33B+H-lHUx&D$4Q1}`jy7Y&F0C1d-^OHZlx zra&98133#rZm>uKPRX?xA4gR{WXttETXyH(z0LsuGzfKXQ7i%3f@WNnci|jqvtBf{ zeV=S|9U8ttP1xNHTR$w?OP`O&;b`}G_k06N=fOcDu4&?>=c2yeUgCXUO_Dl06ilgh zV8THF)KVkaE->RkUoz?J$cR8WH3)KrU&dTkP3<0<>}#%|$2dhb2sa_@)A#P)ZMdjj z2wDth^@)Y1>92~8Zf<#xMgYf50+jsdhg0fgQMI8XLt$-ko)~6?3^bgF&GfsT-`F{V zV%1_z&2BLgKBWk>)f!yWj|_vM`P?fVh1;FpvnYH$zDN#}I}e!8R|mAw~B z7KM!*l8#YJgQ@1Ac5sxfqQI^A?1nHTM#pg7Ioa70q2L~ZCdF#JnZMWva}1u`NA=j= zpRJR~xmg>Q1K5UQ5w(dt&ve1pq!p#BAYyfu@yl|g+MOpnK73hc` z`4kDSaEg!^uju&aBjxMJ2r)XW77tdAW1=Ewod!3q5bLXTUogEV)698k~~X+)Ijg805fykJIgnxK;mG=g}cl&}p zS}L<#4;?yGE4#Z`*uj%jP5OF_dBcfPHUXm(Wst=lfNaXM6?FQWYl2Ie%R2nIk6qEV z(RkoQaEq@Q?}om1X^1$n8^f&JD*3iH*9NCK-U8Zbl_3_Da3Uz^ zJohW!8M<^y;#k)sUq?;Mz~Vq%c`j7%XC4co#jI?;gG$QoQD)0WPN7{0y68Idt zS*jUFfv~*Ja|~B10$K!tUOf9rmOK{0nX7wPjurG}D?(NpD7>Pk0=<*e;AO48L>1Rm zXoS~@OcH#?=d zJOL7$(+&9gma`iRnIt*hLm+S+a7QwIDq(@SwT>nHVgU1cR!)Xf5rl^xVD|2+8KD=f zb0Rl(?~;rl2?U-f(e*w%;9p!yPjhkc6gB=Qd#Sqmg>q2nS3$k{>+BE@9Gs)4(ZQQa z3D+FcW7-{R`#q2A>FLf7wcJ~GdbHRlN5^(-Knv`W92nqP04!NAqT?dT^XS_HSZ5D* zxz98dlQK3>l?kV5wIfVHJn3+nR2T2frH2BI0y6`%O$_?Dqq__>R2e+UO*72+X)e7C zE>Gqe&gv0M(oMR>646e!)`Kgz}crx((x{%-H>RT%;i3V$3iuNG|-4S9C-=NDo}Fex+X^nAcacNJ+B2-lKrIem4!tcmDq3CJ25&+O!X52$2oX1%9MSK8HLv+n zC3H|PG(v9a($nJemsbuV2Tu0^5fF3r&1co5parB`(Vl0yLJqX%Z?Ie_YkMwYV+Q+c ziP+DHj6%GQ&)s@hD*BVCN6$98eM;m(5_>JLpF&`EJ40fFLEi}D^f-txM28gQI9Dk4U%Mu| zw=RpJEHJ=_v-eswN&3sCA;y%kc|$2+vv2Qjjb(Q{N;mr-4zqm$6s1 z#{u>AN$JuF+^`~qS5(>A0%E0)nQQ2-tTS5U;+vHok-Q&Hq(DWFq1jb1D?R-%z#X$E&4w);2$m8i{xdFbmN^K>*fm*uQSxAXy)u z-$pUr5;9}2|1C)HOGUzuw!S?{x+ZTenzq2HszhK-F|>X;<(@uz>^qrdwlUmG^XGe( ziamwSev$TNoPB_1JtF0nFON!}5hly_%({gtDLRWWfjLKUbJ_!S+G^#zj@h<+zF|Ri z4<9nQfqe8mokR{9f*}oR!SJfhn>VX^_<9W8Di!uyaj55XM0o7N1q*QGmT!-@H82RP z9_8wsd5J`Ej3ZXOL9tl$?k<_HiUK#qzZfqlzXPJ*qGSxSySeE$&guxsIrgbn;pmVZ z>rs}C1}bZ5m~G~wZ$>X9++n@AIii4mE=`0XBkf$1>@1&skFUxjFv7B`p!3D*%k=5? zFQZ$H%QcD|0XMju9lDxAdYhDj$||YOJa5g~8?Qo?2P9AK%$BnC9zDx&_}L8K9-z%JACqCEVe)}ON-Kb=qYyC(M`F*; zT*EmNdcmiJ-CXfn{^#q$3Cth)A6}@FZ?wG;vv$cm-MaZsxUQ+FEq> z@a6SKPclom$R=-76&%c>Dn{`2wid|kqkE%Hu>(c%RzXya!(hIPHff!}gXp1_*D#B9 zudoe$S_L4pmYZBAp@_t&Nd82Jihr=IzyEWnu{NO8vS#yw0-)N}4>q@#Dqw(eI87?F zCJt*~kkFM-S{nC>8-XR%Fy zM@K)*d>L&h)ovI4@JW07x<5LUrBA_ z7x|gd2V9!6mbVZgQQb}O#J5Kel(1-7tn&xQXMq*}jwMwDpUb(&|M#btu{MY`vq321 z*nvkm-16gpozvWf2cybbb}b4q3Sd7w*+t|EFMI6Js%BHf-v=T;%z#oGWs(4&!vp%` z#&iPJz^nFJ?mft{n=~^x{0^XU2Nmckp@f$?=I695&9k6(yluO<&!hDp)#wN#o2-oW zIMklSy`;^kmrdr_ZZmnOeB{Ub=VEWvB7tkp&c!e5kOGR^fOnt2s9 za?}&h=J@`A&C_eVBHAOrZom`lUgGU3CHAg!V8e-PC~oQJ7EghX{Yma$m(KS`4A`pC zKjf=12l{cOE|rndYb}|6)|M_;y-WjW)HtIno?om^JmTijzFYq1C8K4oRl<`eD*jQ# zz%D6gVvvkfkt`iYH)l#nIbXc+|2$yH!mRP1%E{b-de!$-hpb-05H*c37^tYM63Ef3 zKKSxafLCa`q_gi$Mrc2R4C)X+mbOZM_#lyE^0j+?YKdHMILy)o3uVsCcv=&7h1M`;oXZzBP^zj`*ImIJltUQ>emxQh)%9R}3o61eJ|4-_fO7 z-%&lFb^EaHU_bX-j8pKF66>!YaOX&p#K5_DIM#2Eo@s*I-`j|ZDkAQ`Glr8(G7$`v z#qMT=fhVo`4aVgI zn-VPAuhx|sP~vMpg*db8M#8NsCO?$CbIi|Bb6%Z{h{Y6Y6-6xKij9BFrfCyv33T&g zR;CP8)QCe6a7cjIJ&Z5%Q|VnI0FA!@p1vn<9p2uNkecmi`pM|2(7!%hCNu`P3R{%l zbF}vE<`nB0+PntIVsyvjt<>|oQ>`&m)5pG!_&<7TQ|Xd~ijNlv?a6)(dJ5FSzS}?0 zxeU^&?+h3UW9Xg5NR5IB+`-~=~ydY5#<97yGKRH8~l>i~9X zOTT<&V?T9lk13+;9SE6kEp;Y(KFwG#-AxrzE9|IB0HoG)7w&Q9R?VfOHDX^XkTKY83ZF_a&ddf5tvphh&4Imx6NfDv~qN~{HG>lDV=YlRe3toI&3ECTj1L` z!_O;qBpGwh)}F_YkBrx@HZH&E8D(1R?oNpaU-1u`T**uG=>jb`6S<+k2DE|+t` z9C}ls(yM95X7nnW$wGo?cHvkFMOwK{)n!LHyXyQ5^m<&BO1qmZGua3%q~N9d!+cY? z9H%?^O)H=a1#g@OA@A=PR_p-rC})Aq$?%k}4foKjkF3F!e{31`-kZZ(yC$%oLUS3l zv@DM%seHN_xiq}&*ce#R@Kv@xvt{vj;XOOQZ_NRC8(t|Oe|NXVGq)^-`Mw9(@Hmky zmxhT3EfXjge4_CIAEzUmSAqHdo%u+9$>(QxNf5UfWzT1*A&>G#C?BLH`exlPOIock zdU`6y#YBEIomI+0ztDj=GX&><@b2Tnwjx7WUmqrX$xuidFo7pswQRY+jFCcB=oH;;K7l_P zyATid(qKEhJxBSxAl9Xq1$Cl*uJ%I0PCj}T&4V1T2^|uh!bm}=I&7);+&QEM2W#P6 z`RQy1Fb@4yciQ=osfmutj0)YjGMt>q=O zw})*-p5jSLOw8iTXdgW~z;?Po!s_4IkIA$S=&g=4LD*9iTn~UkR;#Qe2g2C+m?rn% zg31gnh7td+w2CTQTU}Fl+Ub0%2^r-y4|0X9%^j^)@Y@bB_GpwYOa}rDQ0AX%J;i@O zs}GVBUK_IRtPGK3tSb;ORRk>8Q2*4zt0y31 z(aED=UvuVxO&l;XGq!qUTO#*!)4{S@Dnik?YwL4N0WS8Dlc|LbuL;TO(R$bwk45+O@cj<1B zfH&C{Mt7?_t3K3aqJ@;!n@RevDu+`LSOvX=1bW#iw~L@*4z=qioksBJu>!)WUb&O? zw#01JkjQr>^kfEc09J8R?C~@FUAldxOO?ZG!TALf+9Og=3OY?|7`qei-J8XG{!mX} z!|&60ym$7S3y*

8_4WEB#1bG>bT?vJ!qhita{S9u4}~wfn%ojmPYsm-?%;_TlP{ zF&{Ua2jtL;7bKu1g_SK{T0@^KjFErFFi3b+|DQe4Ab*bE6mYftvi6ofh^Ba1T zxM3-;5n_!QgFa7{w}LM4N!zG`g&&U(&~!64#;>its9u#6d4IeZ)VWOrS+H2N!E-b< zCpR~l==Xlc&q4EAAxc7oJx97|IgapoW_uKeP!Tm$6aMr@fyoV@?y7xwFd`s8u6Ar> zZ#m~B7n;L=7-1!%u4q2vYw@pBrFNRKvhF!FZU(v9y598NUc~PLv*XK3N5J7c#+5!D zX+^Feom6uU(SEO_^qhz1e2Zqy@lx?m$*F!9izH~76(F!>QVpZ;FB>lv8geI`Ke2LP zoc!99vlHdTwfX!ov|wTe6t#Gd%S>t2@a^jq3w_Q{n%$^!J0Lbs)X!byZDZ!qCYh0s zrm^?G^{x*UfT#>0g!siR5;@x6Y=)(o#iphW1PP7nQ41ylVk<(bYkzG>h0pj}=!B4I z=}_hg)5Z`HPYr>2J`SyhgN;*fL|P<>&_@<_lQv(zG+6L-Q-~K1#>ghdbo@ZPXp0q7lMjs7{bZTny1f#zJ-2UCmjYb<46WU z*9qVdZ6qVk^?y6S5Os zx2RMZbNm_X#BtPz*StDak3oBGf%2d6hxnz6pCtymp}2(rB!^=4sc5gmU;7u2xk3Sq k0>})W4FEC#WU{t9+VKP9L`!pxK^E}2VPL9XuIm#0AMpoAF#rGn literal 0 HcmV?d00001 From e064eae6b41c2e54936d90b34c2bc530ea48f7a8 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Tue, 29 Oct 2024 18:58:25 +0800 Subject: [PATCH 160/359] Remove redundant lines --- src/main/java/seedu/duke/Parser.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index 47591bd0d6..aaf0a7ad7c 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -124,9 +124,6 @@ private ArrayList parseUpdateCommandData(String inputData) { String id = splitArray[0].trim(); try { String fields = splitArray[1].trim(); - if (fields.isBlank()) { - throw new ArrayIndexOutOfBoundsException(); - } ArrayList commandArgs = parseFlagData(fields); if (commandArgs == null) { @@ -138,9 +135,6 @@ private ArrayList parseUpdateCommandData(String inputData) { } catch (ArrayIndexOutOfBoundsException e) { ui.showEmptyFlags(); return null; - } catch (NumberFormatException e) { - ui.showOutput("Please input some ID for the command"); - return null; } } From 330cf978e4c8de8e934d193fec1d0d376f7f100c Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Tue, 29 Oct 2024 19:37:30 +0800 Subject: [PATCH 161/359] Fix test error --- src/main/java/seedu/ui/UiCommand.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index 3bed97aece..0b1c086336 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -14,6 +14,12 @@ public class UiCommand extends Ui { private String updatedFields; private String invalidFields; + public UiCommand() { + super(); + clearInvalidFields(); + clearUpdatedFields(); + clearInvalidFlags(); + } /** * Prints newly added or updated internship and invalid flags (if any). */ From f3b967a4b2564ef2937c75e66ff43ffc40ab22ba Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Wed, 30 Oct 2024 00:13:07 +0800 Subject: [PATCH 162/359] Implement FavouriteCommand functionality Ability to mark certain internships as favourite --- .../java/seedu/commands/FavouriteCommand.java | 55 +++++++ .../seedu/commands/FavouriteCommandTest.java | 136 ++++++++++++++++++ 2 files changed, 191 insertions(+) create mode 100644 src/main/java/seedu/commands/FavouriteCommand.java create mode 100644 src/test/java/seedu/commands/FavouriteCommandTest.java diff --git a/src/main/java/seedu/commands/FavouriteCommand.java b/src/main/java/seedu/commands/FavouriteCommand.java new file mode 100644 index 0000000000..af5d92f669 --- /dev/null +++ b/src/main/java/seedu/commands/FavouriteCommand.java @@ -0,0 +1,55 @@ +package seedu.commands; + +import seedu.duke.Internship; +import seedu.duke.InternshipList; +import seedu.exceptions.InvalidIndex; + +import java.util.ArrayList; + +public class FavouriteCommand extends Command { + public boolean functionComplete = false; + + @Override + public void execute(ArrayList args) { + for (String arg : args) { + try { + int internshipId = Integer.parseInt(arg); + int internshipIndex = internshipId - 1; + Internship internship = internships.getInternship(internshipIndex); + ArrayList favouriteInternships = internships.favouriteInternships; + if (internship == null) { + throw new InvalidIndex(); + } + if (favouriteInternships.contains(internship)) { + continue; + } + functionComplete = true; + favouriteInternships.add(internship); + } catch (NumberFormatException e) { + uiCommand.showOutput("Invalid integer, please provide a valid internship ID"); + functionComplete = false; + return; + } catch (InvalidIndex e) { + functionComplete = false; + return; + // Exception message is already handled in InternshipList class + } + } + if (args.isEmpty()) { + uiCommand.showEmptyFlags(); + return; + } + internships.listAllInternships(internships.favouriteInternships); + if (!functionComplete) { + uiCommand.showOutput("All id's provided were marked as favourite already"); + } + functionComplete = true; + } + + @Override + public String getUsage() { + return """ + filter + Usage: filter -{flag} {field data}"""; + } +} diff --git a/src/test/java/seedu/commands/FavouriteCommandTest.java b/src/test/java/seedu/commands/FavouriteCommandTest.java new file mode 100644 index 0000000000..951b386d21 --- /dev/null +++ b/src/test/java/seedu/commands/FavouriteCommandTest.java @@ -0,0 +1,136 @@ +package seedu.commands; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import seedu.duke.Internship; +import seedu.duke.InternshipList; + +import java.util.ArrayList; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; + +public class FavouriteCommandTest { + + InternshipList internships; + FavouriteCommand favouriteCommand; + ArrayList args; + + @BeforeEach + void initializeParams() { + internships = new InternshipList(); + favouriteCommand = new FavouriteCommand(); + args = new ArrayList<>(); + favouriteCommand.setInternshipList(internships); + } + + void createList() { + initializeParams(); + internships.addInternship(new Internship("Data Scientist", "Meta", "04/24", "07/24")); + internships.addInternship(new Internship("Software Engineer", "Google", "01/24", "09/24")); + internships.addInternship(new Internship("Data Scientist", "Google", "09/23", "05/24")); + } + + @Test + void execute_validFavouriteCommand_expectUpdated() { + createList(); + ArrayList args = new ArrayList<>(); + args.add("1"); + + favouriteCommand.execute(args); + + ArrayList favouriteInternships = internships.favouriteInternships; + + assertEquals(1, favouriteInternships.size()); + } + + @Test + void execute_validFavouriteCommandMoreArguments_expectUpdated() { + createList(); + ArrayList args = new ArrayList<>(); + args.add("3"); + args.add("1"); + + favouriteCommand.execute(args); + + ArrayList favouriteInternships = internships.favouriteInternships; + + assertEquals(2, favouriteInternships.size()); + assertEquals(3, favouriteInternships.get(0).getId()); + assertEquals(1, favouriteInternships.get(1).getId()); + } + + @Test + void execute_validFavouriteCommandDifferentCombination_expectUpdated() { + createList(); + ArrayList args = new ArrayList<>(); + args.add("2"); + args.add("3"); + + favouriteCommand.execute(args); + + ArrayList favouriteInternships = internships.favouriteInternships; + + assertEquals(2, favouriteInternships.size()); + assertEquals(2, favouriteInternships.get(0).getId()); + assertEquals(3, favouriteInternships.get(1).getId()); + } + + @Test + void execute_validFavouriteCommandAllArguments_expectUpdated() { + createList(); + ArrayList args = new ArrayList<>(); + args.add("1"); + args.add("3"); + args.add("2"); + + favouriteCommand.execute(args); + + ArrayList favouriteInternships = internships.favouriteInternships; + + assertEquals(3, favouriteInternships.size()); + assertEquals(1, favouriteInternships.get(0).getId()); + assertEquals(3, favouriteInternships.get(1).getId()); + assertEquals(2, favouriteInternships.get(2).getId()); + } + + @Test + void execute_invalidFavouriteCommandNoArguments_expectNoUpdated() { + createList(); + ArrayList args = new ArrayList<>(); + + favouriteCommand.execute(args); + + assertFalse(favouriteCommand.functionComplete); + } + + @Test + void execute_invalidFavouriteCommandInvalidNumber_expectNoUpdated() { + createList(); + ArrayList args = new ArrayList<>(); + args.add("1"); + args.add("3"); + args.add("-"); + args.add("2"); + args.add("hmm"); + + favouriteCommand.execute(args); + + assertFalse(favouriteCommand.functionComplete); + } + + @Test + void execute_invalidFavouriteCommandInvalidIndex_expectNoUpdated() { + createList(); + ArrayList args = new ArrayList<>(); + args.add("1"); + args.add("2"); + args.add("3"); + args.add("4"); + args.add("5"); + + favouriteCommand.execute(args); + + assertFalse(favouriteCommand.functionComplete); + } +} \ No newline at end of file From 942f05d0ebafb5d47891af1d4eede4a400b96362 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Wed, 30 Oct 2024 00:14:36 +0800 Subject: [PATCH 163/359] Parser modifications to account for FavouriteCommand --- src/main/java/seedu/duke/Parser.java | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index aaf0a7ad7c..54adbed214 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -1,14 +1,6 @@ package seedu.duke; -import seedu.commands.Command; -import seedu.commands.AddCommand; -import seedu.commands.DeleteCommand; -import seedu.commands.UpdateCommand; -import seedu.commands.SortCommand; -import seedu.commands.FilterCommand; -import seedu.commands.ListCommand; -import seedu.commands.HelpCommand; -import seedu.commands.RemoveCommand; +import seedu.commands.*; import seedu.ui.Ui; @@ -37,6 +29,7 @@ private void initializeCommands() { commands.put("list", ListCommand::new); commands.put("help", HelpCommand::new); commands.put("remove", RemoveCommand::new); + commands.put("fav", FavouriteCommand::new); } public Command parseCommand(String input) { @@ -91,7 +84,9 @@ public ArrayList parseData(Command command, String input) { if (command instanceof FilterCommand) { return parseFilterCommandData(inputData); } - + if (command instanceof FavouriteCommand) { + return parseFavouriteCommandData(inputData); + } assert false : "Should never be able to reach this statement if all commands are accounted for"; return null; } @@ -146,4 +141,13 @@ private ArrayList parseFilterCommandData(String inputData) { return parseFlagData(inputData); } + private ArrayList parseFavouriteCommandData(String inputData) { + if (inputData.trim().isEmpty()) { + return null; + } + ArrayList commandArgs = new ArrayList<>(Arrays.asList(inputData.trim().split(","))); + commandArgs.replaceAll(String::trim); + return commandArgs; + } + } From d9fe3bfdd54fa9a6b8c639ff9f38b3ac3f57fac9 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Wed, 30 Oct 2024 00:17:37 +0800 Subject: [PATCH 164/359] Add functionality to filter by Favourite internships --- .../java/seedu/commands/FilterCommand.java | 30 +++++++++++++++++-- src/main/java/seedu/duke/Internship.java | 16 ++++++---- src/main/java/seedu/duke/InternshipList.java | 11 +++++++ 3 files changed, 49 insertions(+), 8 deletions(-) diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index 7e0300b8c8..13abef8c29 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -17,8 +17,9 @@ public class FilterCommand extends Command { private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/yy"); private final Map fieldGetters = new HashMap<>(); - + private ArrayList internshipList; + private ArrayList favouriteInternshipList; private InternshipList filteredInternships; public FilterCommand() { @@ -27,6 +28,7 @@ public FilterCommand() { fieldGetters.put("company", Internship::getCompany); fieldGetters.put("from", Internship::getStartDate); fieldGetters.put("to", Internship::getEndDate); + fieldGetters.put("fav", Internship::getFavourite); } public InternshipList getFilteredInternships() { @@ -35,8 +37,9 @@ public InternshipList getFilteredInternships() { @Override public void execute(ArrayList args) { - assert internships != null: "Internship list should always be set before a command can be executed"; + assert internships != null : "Internship list should always be set before a command can be executed"; internshipList = new ArrayList<>(internships.getAllInternships()); + favouriteInternshipList = new ArrayList<>(internships.favouriteInternships); filteredInternships = new InternshipList(internshipList); if (args.isEmpty()) { @@ -83,6 +86,10 @@ private void executeFilterByOneFlag(String[] words) { filterByRoleAndCompany(getter, searchTerm); return; + case "fav": + filterByFavouriteInternships(searchTerm); + return; + case "from": dateComparator = YearMonth::isBefore; break; @@ -92,7 +99,7 @@ private void executeFilterByOneFlag(String[] words) { break; default: - assert false: "Should never be able to reach this statement if all flags are accounted for"; + assert false : "Should never be able to reach this statement if all flags are accounted for"; } filterByDate(getter, searchTerm, dateComparator); @@ -111,6 +118,23 @@ private void filterByRoleAndCompany(InternshipFieldGetter getter, String searchT } } + private void filterByFavouriteInternships(String searchTerm) { + // Iterate over the internships and retrieve favourites + switch (searchTerm) { + case "true": + case "True": + filteredInternships.internships.retainAll(favouriteInternshipList); + break; + case "false": + case "False": + filteredInternships.internships.removeAll(favouriteInternshipList); + break; + default: + uiCommand.showOutput("Please only input 'true'/'false' following the -fav flag"); + throw new IllegalArgumentException(); + } + } + private void filterByDate(InternshipFieldGetter getter, String searchTerm, BiPredicate dateComparator) { assert dateComparator != null : "dateComparator should not be null in filterByDate method"; diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 28daf4e0d7..2adf095d8c 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -19,17 +19,15 @@ //@@author jadenlimjc public class Internship { private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/yy"); - + private final List deadlines; + private final ArrayList skills; private int id = -1; private String role; private String company; private YearMonth startDate; private YearMonth endDate; - private final List deadlines; - - private final ArrayList skills; - + private String favourite = "false"; private String status; @@ -121,6 +119,14 @@ public void setEndDate(String end) throws DateTimeParseException { this.endDate = YearMonth.parse(end, formatter); } + public String getFavourite() { + return favourite; + } + + public void setFavourite(String favourite) { + this.favourite = favourite; + } + /** * Adds a new deadline for this internship. diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 36ee6b9202..329b475a62 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -14,14 +14,17 @@ public class InternshipList { private static final UiInternshipList ui = new UiInternshipList(); public ArrayList internships; + public ArrayList favouriteInternships; // Constructor public InternshipList() { internships = new ArrayList<>(); + favouriteInternships = new ArrayList<>(); } public InternshipList(ArrayList internships) { this.internships = internships; + favouriteInternships = new ArrayList<>(); } public void addInternship(Internship internship) { @@ -133,6 +136,14 @@ public void listAllInternships() { } } + public void listAllInternships(ArrayList internships) { + if (internships.isEmpty()) { + ui.showEmptyInternshipList(); + } else { + ui.showInternships(internships); + } + } + public List getAllInternships() { return Collections.unmodifiableList(internships); } From 2eafdc8779707edd9104c7cffc486e51ab9d65d2 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Wed, 30 Oct 2024 00:20:55 +0800 Subject: [PATCH 165/359] Change storage code to save and load favouriteInternships --- src/main/java/seedu/duke/Storage.java | 52 ++++++++++++++++++--------- 1 file changed, 35 insertions(+), 17 deletions(-) diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index 8e38197c89..4847e0b8a0 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -59,6 +59,14 @@ public static void saveToFile(InternshipList internshipList) { + internship.getStatus() + " | " + deadlinesBuilder + "\n"); } + + // After writing internships, write the favourite IDs + writer.write("FAVOURITES:"); + for (Internship favInternship : internshipList.favouriteInternships) { + writer.write(" " + favInternship.getId()); + } + writer.write("\n"); + writer.close(); } catch (IOException e) { System.out.println("Error while saving tasks: " + e.getMessage()); @@ -78,25 +86,35 @@ public static void loadFromFile(InternshipList internshipList) { try (BufferedReader reader = new BufferedReader(new FileReader(file))) { String line; while ((line = reader.readLine()) != null) { - String[] data = line.split(" \\| "); - String role = data[1]; - String company = data[2]; - String startDate = data[3]; - String endDate = data[4]; - String skills = data[5]; - String status = data[6]; - String deadlines = data[7]; - - Internship internship = new Internship(role, company, startDate, endDate); - internshipList.addInternship(internship); - internship.setSkills(skills); - internship.setStatus(status); - List loadedDeadlines = parseDeadlines(deadlines, internship.getId()); - for (Deadline deadline : loadedDeadlines) { - internship.addDeadline(deadline.getDescription(), deadline.getDate()); - } + if (!(line.startsWith("FAVOURITES:"))) { + String[] data = line.split(" \\| "); + String role = data[1]; + String company = data[2]; + String startDate = data[3]; + String endDate = data[4]; + String skills = data[5]; + String status = data[6]; + String deadlines = data[7]; + Internship internship = new Internship(role, company, startDate, endDate); + internshipList.addInternship(internship); + internship.setSkills(skills); + internship.setStatus(status); + List loadedDeadlines = parseDeadlines(deadlines, internship.getId()); + for (Deadline deadline : loadedDeadlines) { + internship.addDeadline(deadline.getDescription(), deadline.getDate()); + } + continue; + } + // Parse favourite internships + String[] parts = line.substring("FAVOURITES:".length()).trim().split(" "); + for (String id : parts) { + int favInternshipId = Integer.parseInt(id); + int favInternshipIndex = favInternshipId - 1; + Internship favInternship = internshipList.internships.get(favInternshipIndex); + internshipList.favouriteInternships.add(favInternship); + } } } catch (IOException e) { System.out.println("Error while loading tasks: " + e.getMessage()); From 122191d7ee9c5fda3e2d08c4e3d6090c8b46dfbf Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Wed, 30 Oct 2024 00:24:12 +0800 Subject: [PATCH 166/359] Remove wildcard import --- src/main/java/seedu/duke/Parser.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index 54adbed214..c0d7b1becd 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -1,6 +1,15 @@ package seedu.duke; -import seedu.commands.*; +import seedu.commands.Command; +import seedu.commands.AddCommand; +import seedu.commands.DeleteCommand; +import seedu.commands.UpdateCommand; +import seedu.commands.SortCommand; +import seedu.commands.FilterCommand; +import seedu.commands.ListCommand; +import seedu.commands.HelpCommand; +import seedu.commands.RemoveCommand; +import seedu.commands.FavouriteCommand; import seedu.ui.Ui; From 5e258ba147180fa7e947bf0ad1cb7edbd3270dc9 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Wed, 30 Oct 2024 00:39:26 +0800 Subject: [PATCH 167/359] Add newline and remove unused import --- src/main/java/seedu/commands/FavouriteCommand.java | 1 - src/test/java/seedu/commands/FavouriteCommandTest.java | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/seedu/commands/FavouriteCommand.java b/src/main/java/seedu/commands/FavouriteCommand.java index af5d92f669..621ca93338 100644 --- a/src/main/java/seedu/commands/FavouriteCommand.java +++ b/src/main/java/seedu/commands/FavouriteCommand.java @@ -1,7 +1,6 @@ package seedu.commands; import seedu.duke.Internship; -import seedu.duke.InternshipList; import seedu.exceptions.InvalidIndex; import java.util.ArrayList; diff --git a/src/test/java/seedu/commands/FavouriteCommandTest.java b/src/test/java/seedu/commands/FavouriteCommandTest.java index 951b386d21..958b01140e 100644 --- a/src/test/java/seedu/commands/FavouriteCommandTest.java +++ b/src/test/java/seedu/commands/FavouriteCommandTest.java @@ -133,4 +133,4 @@ void execute_invalidFavouriteCommandInvalidIndex_expectNoUpdated() { assertFalse(favouriteCommand.functionComplete); } -} \ No newline at end of file +} From 4d8df4eba7163efff6b12d282f2214c845ebca77 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 30 Oct 2024 01:19:49 +0800 Subject: [PATCH 168/359] Update UpdateCommand UML diagram --- docs/DeveloperGuide.md | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 8c15da3612..cd97ef486f 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -11,15 +11,18 @@ ### EasInternship (main class) 1. [Design](#design) - 1. [Architecture](#architecture) - 2. [UI Component](#ui-component) - 3. [Logic Component](#logic-component) - 4. [Model Component](#model-component) - 5. [Storage Component](#storage-component) + 1. [Architecture](#architecture) + 2. [UI Component](#ui-component) + 3. [Logic Component](#logic-component) + 4. [Model Component](#model-component) + 5. [Storage Component](#storage-component) 2. [Implementation](#implementation) - 1. [Parsing Input](#parsing-input) - 2. [Command Execution](#command-execution) - 3. [Task Management](#task-management) + 1. [Parsing Input](#parsing-input) + 2. [Command Execution](#command-execution) + 3. [Task Management](#task-management) + 4. [Add Command Implementation](#addcommand-implementation) + 5. [Delete Command Implementation](#deletecommand-implementation) + 6. [Sort Command Implementation](#sortcommand-implementation) --- @@ -117,7 +120,7 @@ If the user inputs an unknown command or a command fails during execution, the ` --- -### Add Command Implementation +### AddCommand Implementation #### Overview: The `AddCommand` class is responsible for adding internship listings to the Internship List. It extends the `Command` class, providing the add functionality as part of the command execution framework. @@ -144,7 +147,7 @@ The `AddCommand` class is responsible for adding internship listings to the Inte The following sequence diagram shows how the `AddCommand` is executed: ![AddCommandSequenceDiagram](UML/AddCommand_Sequence_Diagram.png) -### Delete Command Implementation +### DeleteCommand Implementation #### Overview: The `DeleteCommand` class is responsible for deleting internship listings from the Internship List. It extends the `Command` class, providing the delete functionality as part of the command execution framework. From ddc665c4b39e1706de5b2bb8ffa205d41be189c4 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Wed, 30 Oct 2024 01:26:16 +0800 Subject: [PATCH 169/359] Change fav command/flag to favourite --- src/main/java/seedu/commands/FilterCommand.java | 4 ++-- src/main/java/seedu/duke/Parser.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index 13abef8c29..d530ab5f77 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -28,7 +28,7 @@ public FilterCommand() { fieldGetters.put("company", Internship::getCompany); fieldGetters.put("from", Internship::getStartDate); fieldGetters.put("to", Internship::getEndDate); - fieldGetters.put("fav", Internship::getFavourite); + fieldGetters.put("favourite", Internship::getFavourite); } public InternshipList getFilteredInternships() { @@ -86,7 +86,7 @@ private void executeFilterByOneFlag(String[] words) { filterByRoleAndCompany(getter, searchTerm); return; - case "fav": + case "favourite": filterByFavouriteInternships(searchTerm); return; diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index c0d7b1becd..06e4fade6c 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -38,7 +38,7 @@ private void initializeCommands() { commands.put("list", ListCommand::new); commands.put("help", HelpCommand::new); commands.put("remove", RemoveCommand::new); - commands.put("fav", FavouriteCommand::new); + commands.put("favourite", FavouriteCommand::new); } public Command parseCommand(String input) { From 7ad258bd8fa961a5e613cea07d1b1d90edd8eb4f Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 30 Oct 2024 02:23:48 +0800 Subject: [PATCH 170/359] Complete UpdateCommand UML diagram --- docs/UML/UpdateCommand.puml | 60 +++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/docs/UML/UpdateCommand.puml b/docs/UML/UpdateCommand.puml index d409b6d2ae..5f069e268b 100644 --- a/docs/UML/UpdateCommand.puml +++ b/docs/UML/UpdateCommand.puml @@ -10,6 +10,7 @@ participant UiInternshipList activate InternshipList #orange activate UiInternshipList #yellow +activate Internship #lightblue User -> UpdateCommand:execute(args) activate UpdateCommand #red @@ -27,4 +28,63 @@ InternshipList --> UpdateCommand: true UpdateCommand -> uiCommand:clearInvalidFlags() UpdateCommand -> uiCommand:clearUpdatedFields() UpdateCommand -> uiCommand:clearInvalidFields() + +loop for arg in args + UpdateCommand -> UpdateCommand:updateOneField(words, internshipIndex) + activate UpdateCommand #red + alt status || skills || role || company || from || to || deadline + UpdateCommand -> UpdateCommand:isValidWords() + activate UpdateCommand #red + UpdateCommand --> UpdateCommand + deactivate UpdateCommand + + UpdateCommand -> InternshipList:updateField(internshipIndex, field, value) + alt status + InternshipList -> Internship:get(index) + Internship -> Internship:updateStatus(value) + else skills + InternshipList -> Internship:get(index) + Internship -> Internship:setSkills(value) + else role + InternshipList -> Internship:get(index) + Internship -> Internship:setRole(value) + else company + InternshipList -> Internship:get(index) + Internship -> Internship:setCompany(value) + else from + InternshipList -> Internship:get(index) + Internship -> Internship:setStartDate(value) + else to + InternshipList -> Internship:get(index) + Internship -> Internship:setEndDate(value) + else deadline + InternshipList -> Internship:get(index) + Internship -> Internship:updateDeadline(value) + end + + UpdateCommand -> uiCommand:addUpdatedField(field, value, type) + else default + UpdateCommand -> uiCommand:addInvalidFlag(field) + end + UpdateCommand --> UpdateCommand + deactivate UpdateCommand +end + +UpdateCommand -> uiCommand:showEditedInternships(internship, action) + +uiCommand -> uiCommand:getInvalidFlags(); +uiCommand -> uiCommand:getInvalidFields(); + +alt add + +else word + uiCommand -> uiCommand:getUpdatedFields() + +else default + +end + +uiCommand -> uiCommand:showOutput(message) +uiCommand --> User:print output + @enduml \ No newline at end of file From f25a606a8b8c445ad134cdb6325407f8f7fa95d4 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 30 Oct 2024 02:29:04 +0800 Subject: [PATCH 171/359] Generate PNG file of Sequence Diagram --- ...eCommand-UpdateCommand_Sequence_Diagram.png | Bin 0 -> 134926 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/UML/UpdateCommand-UpdateCommand_Sequence_Diagram.png diff --git a/docs/UML/UpdateCommand-UpdateCommand_Sequence_Diagram.png b/docs/UML/UpdateCommand-UpdateCommand_Sequence_Diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..2751d0f762c78fb61d30cd2c5af2ff3c3b82b8e8 GIT binary patch literal 134926 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 literal 0 HcmV?d00001 From 4594c5b37aa39877e784f1242e64e2f2e1caea6e Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 30 Oct 2024 02:48:43 +0800 Subject: [PATCH 172/359] Start UpdateCommand section for developer guide --- docs/DeveloperGuide.md | 34 +++++++++++++++++-- .../java/seedu/commands/UpdateCommand.java | 1 + 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index cd97ef486f..4414135365 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -20,9 +20,10 @@ 1. [Parsing Input](#parsing-input) 2. [Command Execution](#command-execution) 3. [Task Management](#task-management) - 4. [Add Command Implementation](#addcommand-implementation) - 5. [Delete Command Implementation](#deletecommand-implementation) - 6. [Sort Command Implementation](#sortcommand-implementation) + 4. [AddCommand Implementation](#addcommand-implementation) + 5. [DeleteCommand Implementation](#deletecommand-implementation) + 6. [SortCommand Implementation](#sortcommand-implementation) + 7. [UpdateCommand Implementation](#updatecommand-implementation) --- @@ -202,6 +203,33 @@ The `SortCommand` class is responsible for sorting the internship listings based The following sequence diagram shows how the `SortCommand` is executed: ![](UML/loadFromFile.png) + +### UpdateCommand Implementation + +#### Overview +The `UpdateCommand` class is responsible for updating the fields of an internship. It extends the `Command` class, providing an updating functionality as part of the command execution framework. + +#### Design +- The `UpdateCommand` class processes the user input to determine which internship and which field to update. +- If the internship ID is not valid, it will print a message accordingly. +- If the field is not valid, it will print a message indicating the erroneous field. +- If the value provided with the field is not valid, it will also print a message indicating the erroneous value. + +#### Key Methods +- `execute(ArrayList args)`: Handles the logic to find the internship entry and determine which field to update. The valid fields include: + - `status`: Updates the status of the internship. + - `skills`: Adds skills to the relevant field of the internship + - `role`: Updates the role of the internship + - `company`: Updates the company of the internship + - `from`: Updates the start date of the internship + - `to`: Updates the end date of the internship + - `deadlines`: Updates the deadlines of the internship +- `isValidValue(String[] words)`: Checks if there was a new value provided for the selected field. +- `updateOneField(String[] words, int internshipIndex)`: Called within `execute(args)` to call the appropriate method to update the field. +- `getUsage()`: Returns a string showing the correct usage of the `update` command. + +#### Example Usage Scenario: + ### Product scope ### Target user profile diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index 43cb45e6cd..5e8a5160c2 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -160,6 +160,7 @@ public String getUsage() { - company - start (in MM/yy format) - end (in MM/yy format) + - deadline ({description} {date (in dd/MM/yy format)} Choose from the following statuses: - Application Pending From b77d97dad21f41d9448ab8240b54bed746286364 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 30 Oct 2024 09:29:00 +0800 Subject: [PATCH 173/359] Finish UpdateCommand section for developer guide --- docs/DeveloperGuide.md | 10 +++++++++- ...agram.png => UpdateCommand_Sequence_Diagram.png} | Bin 2 files changed, 9 insertions(+), 1 deletion(-) rename docs/UML/{UpdateCommand-UpdateCommand_Sequence_Diagram.png => UpdateCommand_Sequence_Diagram.png} (100%) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 4414135365..63ffda5adb 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -225,10 +225,18 @@ The `UpdateCommand` class is responsible for updating the fields of an internshi - `to`: Updates the end date of the internship - `deadlines`: Updates the deadlines of the internship - `isValidValue(String[] words)`: Checks if there was a new value provided for the selected field. -- `updateOneField(String[] words, int internshipIndex)`: Called within `execute(args)` to call the appropriate method to update the field. +- `updateOneField(String[] words, int internshipIndex)`: Called within `execute(args)` to invoke the appropriate method to update the field. - `getUsage()`: Returns a string showing the correct usage of the `update` command. #### Example Usage Scenario: +- The user enters `update 2 -status Application Completed`, and the `execute` method finds the internship with ID `2` and updates its `status` to `Application Completed`. +- The user enters `update 4 -status Application Completed`, if `4` is not a valid ID, the `execute` method will print a message to show the ID is out of bounds. +- The user enters `update 2 -skills`, no value is given after the `-skills` flag, the `isValidValue` method returns false and prints a message to indicate the need for a value. +- The user enters `update 2 -from Tomorrow`, `Tomorrow` is not a valid date, the `execute` method prints message to indicate it is an invalid value. + +#### Sequence Diagram +The following sequence diagram shows how the `UpdateCommand` is executed: +![](UML/UpdateCommand_Sequence_Diagram.png) ### Product scope ### Target user profile diff --git a/docs/UML/UpdateCommand-UpdateCommand_Sequence_Diagram.png b/docs/UML/UpdateCommand_Sequence_Diagram.png similarity index 100% rename from docs/UML/UpdateCommand-UpdateCommand_Sequence_Diagram.png rename to docs/UML/UpdateCommand_Sequence_Diagram.png From bf3d3f6d80f8129e2522b0dc287bac3811857481 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 30 Oct 2024 10:22:19 +0800 Subject: [PATCH 174/359] Start RemoveCommand section for developer guide --- docs/DeveloperGuide.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 63ffda5adb..8a547ba8d7 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -24,6 +24,7 @@ 5. [DeleteCommand Implementation](#deletecommand-implementation) 6. [SortCommand Implementation](#sortcommand-implementation) 7. [UpdateCommand Implementation](#updatecommand-implementation) + 8. [RemoveCommand Implementation](#) --- @@ -238,6 +239,36 @@ The `UpdateCommand` class is responsible for updating the fields of an internshi The following sequence diagram shows how the `UpdateCommand` is executed: ![](UML/UpdateCommand_Sequence_Diagram.png) + +### RemoveCommand Implementation + +#### Overview +The `RemoveCommand` class is responsible for removing the values within fields of an internship entry. It extends the `UpdateCommand` class, providing a removing functionality to the execution framework. + +#### Design +- The `RemoveCommand` class process the user input to determine which internship and which field to empty. +- If the internship ID is not valid, it will print a message accordingly. +- If the field is not valid, it will print a message indicating the erroneous field, including fields that cannot be emptied. +- If the valid provided does not exist in the field, it will also print a message indicating the erroneous value + +#### Key Methods +- `execute(ArrayList args)`: Handles the logic to find the internship entry (same as `UpdateCommand`) and determine which field to update. The valid fields include: + - `skills`: Removes the specific value from the skills field of the internship + - `deadline`: Removes the specified deadline from the internship. +- `isValidValue(String[] words)`: Checks if there is a value provided to search and remove from the selected field. +- `updateOneField(String[] words, int internshipIndex)`: Called within `execute(args)` to invoke the appropriate method to remove the value from the field. +- `getUsage()`: Returns a string showing the correct usage of the `remove` command. + +#### Example Usage Scenario: +- The user enters `remove 2 -skills Python`, the `execute` method finds the internship with ID `2` and removes `Python` from its list of `skills`. +- The user enters `remove 4 -skills Python`, if `4` is not a valid ID, the `execute` method will print a message to show the ID is out of bounds. +- The user enters `remove 2 -skills`, no value is given after the `-skills` flag, the `isValidValue` method returns false and prints a message to indicate the need for a value. +- The user enters `remove 2 -skills Accounting`, if `Accounting` is not listed in `skills`, the `execute` method prints a message to indicate the value cannot be found. + +#### Sequence Diagram +The following sequence diagram shows how the `RemoveCommand` is executed: +![]() + ### Product scope ### Target user profile From 9bc6171e81a521a859b532d29795fd4229fe979f Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 30 Oct 2024 12:46:23 +0800 Subject: [PATCH 175/359] Add sequence digram for RemoveCommand section --- docs/DeveloperGuide.md | 2 +- docs/UML/RemoveCommand.puml | 78 ++++++++++++++++++++ docs/UML/RemoveCommand_Sequence_Diagram.png | Bin 0 -> 100793 bytes 3 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 docs/UML/RemoveCommand.puml create mode 100644 docs/UML/RemoveCommand_Sequence_Diagram.png diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 8a547ba8d7..c849c554cc 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -267,7 +267,7 @@ The `RemoveCommand` class is responsible for removing the values within fields o #### Sequence Diagram The following sequence diagram shows how the `RemoveCommand` is executed: -![]() +![](UML/RemoveCommand_Sequence_Diagram.png) ### Product scope ### Target user profile diff --git a/docs/UML/RemoveCommand.puml b/docs/UML/RemoveCommand.puml new file mode 100644 index 0000000000..f53dc37006 --- /dev/null +++ b/docs/UML/RemoveCommand.puml @@ -0,0 +1,78 @@ +@startuml +title RemoveCommand Sequence Diagram + +participant User +participant RemoveCommand +participant uiCommand +participant Internship +participant InternshipList +participant UiInternshipList + +activate InternshipList #orange +activate UiInternshipList #yellow +activate Internship #lightblue + +User -> RemoveCommand:execute(args) +activate RemoveCommand #red +activate uiCommand #green + +RemoveCommand -> InternshipList:isWithinBounds(index) +break Not in Bounds + InternshipList -> UiInternshipList:showInvalidIndex() + UiInternshipList --> User:show invalid index message + InternshipList --> RemoveCommand: false +end + +InternshipList --> RemoveCommand: true + +RemoveCommand -> uiCommand:clearInvalidFlags() +RemoveCommand -> uiCommand:clearUpdatedFields() +RemoveCommand -> uiCommand:clearInvalidFields() + +loop for arg in (args) + RemoveCommand -> RemoveCommand:updateOneField(words, internshipIndex) + activate RemoveCommand #red + alt skills || deadline + RemoveCommand -> RemoveCommand:isValidValue(words) + activate RemoveCommand #red + RemoveCommand --> RemoveCommand + deactivate RemoveCommand + + RemoveCommand -> InternshipList:removeField(index, field, value) + alt skills + InternshipList -> Internship:get(index) + Internship -> Internship:removeSkill(value) + else deadline + InternshipList -> Internship:get(index) + Internship -> Internship:removeDeadline(value) + else default + end + + RemoveCommand -> uiCommand:addUpdatedField(field, value, type) + + else default + RemoveCommand -> uiCommand:addInvalidFlag(field) + end + + RemoveCommand --> RemoveCommand + deactivate RemoveCommand +end + +RemoveCommand -> uiCommand:showEditedInternships(internship, action) + +uiCommand -> uiCommand:getInvalidFlags(); +uiCommand -> uiCommand:getInvalidFields(); + +alt add + +else word + uiCommand -> uiCommand:getUpdatedFields() + +else default + +end + +uiCommand -> uiCommand:showOutput(message) +uiCommand --> User:print output + +@enduml \ No newline at end of file diff --git a/docs/UML/RemoveCommand_Sequence_Diagram.png b/docs/UML/RemoveCommand_Sequence_Diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..021dc85465c9b1e699ba8140a7ee42ef2f2f123b GIT binary patch literal 100793 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 P&lPs7?z*?b=)(U6E6HTQ literal 0 HcmV?d00001 From de18f036dab7ae11bdf3a42ceef9a0d076b85fcf Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 30 Oct 2024 13:04:23 +0800 Subject: [PATCH 176/359] Add removeDeadline method and test case --- src/main/java/seedu/duke/Internship.java | 12 ++++++++---- src/test/java/seedu/duke/InternshipTest.java | 20 ++++++++++++++++++++ 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index cd0fa899ef..516d7800a4 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -132,13 +132,18 @@ public void addDeadline(String description, String date) throws DateTimeParseExc deadlines.add(new Deadline(getId(), description, date)); } + //@@ jadenlimjc /** * Removes a deadline by its description. * - * @param description description of the deadline to remove. + * @param description description of the deadline to remove. + * @throws MissingValue No deadline in the list of deadlines is */ - public void removeDeadline(String description){ - deadlines.removeIf(deadline -> deadline.getDescription().equalsIgnoreCase(description)); + public void removeDeadline(String description) throws MissingValue { + String trimmedDescription = description.trim(); + if(!deadlines.removeIf(deadline -> deadline.getDescription().equalsIgnoreCase(trimmedDescription))) { + throw new MissingValue(); + } } /** @@ -232,7 +237,6 @@ public String getFormattedDeadlines() { /** * Returns all skills stored in skills field as a combined String. */ - public String getSkills() { String skillList = ""; if (this.skills.isEmpty()) { diff --git a/src/test/java/seedu/duke/InternshipTest.java b/src/test/java/seedu/duke/InternshipTest.java index 7977a3fbe6..fbbdebd27e 100644 --- a/src/test/java/seedu/duke/InternshipTest.java +++ b/src/test/java/seedu/duke/InternshipTest.java @@ -137,4 +137,24 @@ void updateDeadline_sameDescription_expectUpdated() throws InvalidDeadline { assertEquals("12/12/24", internship.getDeadlines().get(0).getDate()); } + + //@@author Ridiculouswifi + @Test + void removeDeadline_validDescription_expectUpdated() throws MissingValue, InvalidDeadline { + internship.updateDeadline("Interview Deadline 11/11/25"); + internship.updateDeadline("Round 2 12/12/24"); + + internship.removeDeadline("Interview Deadline"); + + assertEquals("Round 2", internship.getDeadlines().get(0).getDescription()); + } + + //@@author Ridiculouswifi + @Test + void removeDeadline_invalidDescription_expectException() throws InvalidDeadline { + internship.updateDeadline("Interview Deadline 11/11/25"); + internship.updateDeadline("Round 2 12/12/24"); + + assertThrows(MissingValue.class, () -> internship.removeDeadline("Round 2 12/12/24")); + } } From 453ea2e5225cd42b4605584f13dfd6c61aecfa0d Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 30 Oct 2024 13:12:09 +0800 Subject: [PATCH 177/359] Add deadline flag to removeField method in InternshipList --- src/main/java/seedu/duke/InternshipList.java | 3 +++ src/test/java/seedu/duke/InternshipListTest.java | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index dcddfee1c4..2418ca2a09 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -118,6 +118,9 @@ public void removeField(int index, String field, String value) throws InvalidInd case "skills": internships.get(index).removeSkill(value); break; + case "deadline": + internships.get(index).removeDeadline(value); + break; default: assert false: "All valid fields should we handled in individual cases"; break; diff --git a/src/test/java/seedu/duke/InternshipListTest.java b/src/test/java/seedu/duke/InternshipListTest.java index 869ca09022..827a87a7a0 100644 --- a/src/test/java/seedu/duke/InternshipListTest.java +++ b/src/test/java/seedu/duke/InternshipListTest.java @@ -96,4 +96,16 @@ void removeField_outOfBoundsIndex_expectThrow() { assertThrows(InvalidIndex.class, () -> internshipList.removeField(1, "skills", "Java")); } + + //@@author Ridiculouswifi + @Test + void removeField_validDeadline_expectUpdated() throws InvalidIndex, InvalidStatus, MissingValue, InvalidDeadline { + initialiseInternshipList(); + internshipList.updateField(0, "deadline", "Interview Deadline 11/11/25"); + + internshipList.removeField(0, "deadline", " Interview Deadline "); + + assertThrows(IndexOutOfBoundsException.class, + () -> internshipList.getInternship(0).getDeadlines().get(0)); + } } From 1f5843164c8c17f98e9bf10da087bdab37401f32 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 30 Oct 2024 13:12:51 +0800 Subject: [PATCH 178/359] Add commit --- src/test/java/seedu/duke/InternshipListTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/seedu/duke/InternshipListTest.java b/src/test/java/seedu/duke/InternshipListTest.java index 827a87a7a0..c74247d204 100644 --- a/src/test/java/seedu/duke/InternshipListTest.java +++ b/src/test/java/seedu/duke/InternshipListTest.java @@ -105,7 +105,7 @@ void removeField_validDeadline_expectUpdated() throws InvalidIndex, InvalidStatu internshipList.removeField(0, "deadline", " Interview Deadline "); - assertThrows(IndexOutOfBoundsException.class, + assertThrows(IndexOutOfBoundsException.class, () -> internshipList.getInternship(0).getDeadlines().get(0)); } } From 92365cb81504f8cb392ec131c05da089762fbfd6 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 30 Oct 2024 13:16:59 +0800 Subject: [PATCH 179/359] Add deadline flag to RemoveCommand --- .../java/seedu/commands/RemoveCommand.java | 1 + .../seedu/commands/RemoveCommandTest.java | 34 +++++++++++++++---- 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/src/main/java/seedu/commands/RemoveCommand.java b/src/main/java/seedu/commands/RemoveCommand.java index 6273844a6b..1e0fd6ea1a 100644 --- a/src/main/java/seedu/commands/RemoveCommand.java +++ b/src/main/java/seedu/commands/RemoveCommand.java @@ -14,6 +14,7 @@ protected void updateOneField(String[] words, int internshipIndex) throws Invali try { switch (field) { case "skills": + case "deadline": if (!isValidValue(words)) { return; } diff --git a/src/test/java/seedu/commands/RemoveCommandTest.java b/src/test/java/seedu/commands/RemoveCommandTest.java index b3c0353a41..48b888bd52 100644 --- a/src/test/java/seedu/commands/RemoveCommandTest.java +++ b/src/test/java/seedu/commands/RemoveCommandTest.java @@ -3,6 +3,8 @@ import org.junit.jupiter.api.Test; import seedu.duke.Internship; import seedu.duke.InternshipList; +import seedu.exceptions.InvalidDeadline; +import seedu.exceptions.MissingValue; import java.util.ArrayList; import java.util.List; @@ -17,13 +19,18 @@ class RemoveCommandTest { //@@author Ridiculouswifi void createList() { - internships = new InternshipList(); - Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); - internship.setSkills("Java, Python"); - internships.addInternship(internship); - - removeCommand = new RemoveCommand(); - removeCommand.setInternshipList(internships); + try { + internships = new InternshipList(); + Internship internship = new Internship("Data", "ABC", "01/24", "06/24"); + internship.setSkills("Java, Python"); + internship.updateDeadline("Interview Deadline 11/11/25"); + internships.addInternship(internship); + + removeCommand = new RemoveCommand(); + removeCommand.setInternshipList(internships); + } catch (InvalidDeadline e) { + System.out.println(e.getMessage()); + } } //@@author Ridiculouswifi @@ -64,4 +71,17 @@ void updateOneField_invalidSkill_expectException() { assertEquals("Java, Python", internships.getInternship(0).getSkills()); } + + //@@author Ridiculouswifi + @Test + void updateOneField_validDeadline_expectUpdate() { + createList(); + + String[] parsedInputs = {"01", "deadline Interview deadline"}; + ArrayList arguments = new ArrayList<>(List.of(parsedInputs)); + + removeCommand.execute(arguments); + + assertEquals(0, internships.getInternship(0).getDeadlines().size()); + } } From a35fbe3597ada667bdb6c1b881002e547946eae9 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 30 Oct 2024 13:25:25 +0800 Subject: [PATCH 180/359] Resolve checkstyle errors --- data/EasInternship.txt | 2 +- src/test/java/seedu/commands/RemoveCommandTest.java | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/data/EasInternship.txt b/data/EasInternship.txt index 85a20f8d50..3a840f97de 100644 --- a/data/EasInternship.txt +++ b/data/EasInternship.txt @@ -1,4 +1,4 @@ 1 | ABC | XYZ | 01/01 | 01/01 | | Application Pending | No Deadlines set. 2 | software engineer | abs | 01/01 | 03/24 | python, c++, backend | Application Completed | No Deadlines set. 3 | lawyer | lolo pte ltd | 04/23 | 01/01 | source, terry | Application Completed | Application deadline -date 03/12/04 -4 | Technician | Nokia | 12/22 | 12/30 | java, c++ | Application Pending | interview round 1 -date 26/04/24 - interview round 2 -date 14/05/24 +4 | Technician | Nokia | 12/22 | 12/30 | java, c++ | Application Pending | interview round 2 -date 14/05/24 diff --git a/src/test/java/seedu/commands/RemoveCommandTest.java b/src/test/java/seedu/commands/RemoveCommandTest.java index 48b888bd52..f77e0e6218 100644 --- a/src/test/java/seedu/commands/RemoveCommandTest.java +++ b/src/test/java/seedu/commands/RemoveCommandTest.java @@ -4,7 +4,6 @@ import seedu.duke.Internship; import seedu.duke.InternshipList; import seedu.exceptions.InvalidDeadline; -import seedu.exceptions.MissingValue; import java.util.ArrayList; import java.util.List; From fcf5bcc5c6b7501f44cfbacaf61eb90b1bbc9ec9 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 30 Oct 2024 14:00:16 +0800 Subject: [PATCH 181/359] Refactor user guide --- docs/UserGuide.md | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 3dbe867e4c..3d52e6e3fa 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -1,5 +1,20 @@ # User Guide +## Outline +- [Product Desciption](#product-description) +- [Quick Start](#quick-start) +- [Features](#features) + - [Add Command: `add`](#add-command-add) + - [Update Command: `update`](#update-command-update) + - [Sort Command: `sort`](#sort-command-sort) + - [Filter Command: `filter`](#filter-command-filter) + - [Delete Command: `delete`](#delete-command-delete) + - [Help Command: `help`](#help-command-help) + - [Exit Command: `exit`](#exit-command-exit) + - [Invalid Inputs](#invalid-inputs) +- [FAQ](#faq) +- [Command Summary](#command-summary) + ## Product Description This product aims to streamline the tracking of internship applications for the user, where the user is able to store key details of the internship as well as save and edit the status of the application. @@ -129,8 +144,7 @@ Deadlines: No deadlines set. ``` -## Sort Command -`sort` +## Sort Command: `sort` This feature allows you to sort and list all the internships saved in your database. The default display format is in increasing order of their ID’s (based on time of creation) @@ -254,8 +268,7 @@ __________________________________________________ __________________________________________________ ``` -## Filter command: -`filter` +## Filter command: `filter` This feature is an extension of the previous list feature. It allows the user to specify certain values for any of the role name, company name or duration parameters based on which only the relevant internships are shown. @@ -310,8 +323,7 @@ Duration: 05/25 to 08/25 Skills: Not Stated ``` -## Delete Command: -`del` +## Delete Command: `delete` This feature removes an entire listing from the tracker. @@ -357,8 +369,7 @@ Duration: Not Stated Skills: Not Stated ``` -## Help Command: -`help` +## Help Command: `help` Shows the commands available for the user. Describes the available functions and inputs that are needed @@ -377,11 +388,11 @@ Other basic commands. ``` -## Exit Command +## Exit Command: `exit` Terminates the program. -**Format:** `/exit` +**Format:** `exit` @@ -405,7 +416,7 @@ I do not understand what flag you are using, type /help to get a list of valid c **Q**: How do I transfer my data to another computer? -**A**: {your answer here} +**A**: Copy the `.jar` file and ## Command Summary From c0041b143bbc744e3bcb0822ccb498fc7ce134dc Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 30 Oct 2024 14:06:59 +0800 Subject: [PATCH 182/359] Start Remove Command section --- docs/UserGuide.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 3d52e6e3fa..9553c1643f 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -6,6 +6,7 @@ - [Features](#features) - [Add Command: `add`](#add-command-add) - [Update Command: `update`](#update-command-update) + - [Remove Command: `remove`]() - [Sort Command: `sort`](#sort-command-sort) - [Filter Command: `filter`](#filter-command-filter) - [Delete Command: `delete`](#delete-command-delete) @@ -144,6 +145,22 @@ Deadlines: No deadlines set. ``` +## Remove Command: `remove` + +Removes specific values from fields of an Internship entry. + +Valid Fields: +- `skills` +- `deadline` + +**Format:** +`remove {ID} -{field} {value}` + +**Examples:** + +`remove` + + ## Sort Command: `sort` This feature allows you to sort and list all the internships saved in your database. The default display format is in increasing order of their ID’s (based on time of creation) From 053ee38d4e2e5e3c24b97a7480ce24f91fd212b2 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 30 Oct 2024 14:11:27 +0800 Subject: [PATCH 183/359] Remove commented code --- .../java/seedu/commands/UpdateCommand.java | 57 ------------------- 1 file changed, 57 deletions(-) diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index 5e8a5160c2..768f013fbd 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -27,21 +27,6 @@ public void execute(ArrayList args) { uiCommand.clearUpdatedFields(); uiCommand.clearInvalidFields(); - /* - if (args.get(0).startsWith("deadline")) { - String trimmedDescription = args.get(0).substring(args.get(0).indexOf(" ") + 1).trim(); - String trimmedDate = args.size() > 1 ? args.get(1).substring(args.get(1).indexOf(" ") + 1) : ""; - if (isValidDeadline(trimmedDescription,trimmedDate)) { - updateDeadline(internshipIndex, trimmedDescription,trimmedDate); - } - - } else { - for (String arg : args) { - String[] words = arg.split(" ", 2); - updateOneField(words, internshipIndex); - } - } - */ for (String arg : args) { String[] words = arg.split(" ", 2); updateOneField(words, internshipIndex); @@ -105,48 +90,6 @@ protected void updateOneField(String[] words, int internshipIndex) throws Invali uiCommand.addInvalidField(field, message); } } - //@@author jadenlimjc - /* - private boolean isValidDeadline(String description, String date) throws DateTimeParseException { - if (description.isEmpty()) { - uiCommand.addInvalidFlag("deadline"); - return false; - } - if (date.isEmpty()) { - uiCommand.addInvalidFlag("date"); - return false; - } - try { - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yy"); - formatter.parse(date); - } catch (DateTimeParseException e) { - uiCommand.addInvalidField("date", "Invalid date format. use dd/MM/yy"); - return false; - } - return true; - } - - private void updateDeadline(int internshipIndex, String description, String date) throws InvalidIndex { - Internship internship = internships.getInternship(internshipIndex); - - boolean deadlineFound = false; - - for (Deadline deadline : internship.getDeadlines()) { - if (deadline.getDescription().equalsIgnoreCase(description)) { - deadline.setDate(date); - deadlineFound = true; - //uiCommand.addUpdatedField(deadline.getDescription(), deadline.getDate()); - uiCommand.addUpdatedField(deadline.getDescription(), deadline.getDate(), "update"); - break; - } - } - - if (!deadlineFound) { - internship.addDeadline(description, date); - uiCommand.addCreatedField("Deadline", description); - } - } - */ public String getUsage() { return """ From 8794a9833f0162b888a787ddcdb18a1c3a74aaa3 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 30 Oct 2024 19:49:24 +0800 Subject: [PATCH 184/359] Add CalendarCommand class --- .../java/seedu/commands/CalendarCommand.java | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/main/java/seedu/commands/CalendarCommand.java diff --git a/src/main/java/seedu/commands/CalendarCommand.java b/src/main/java/seedu/commands/CalendarCommand.java new file mode 100644 index 0000000000..0812aabc58 --- /dev/null +++ b/src/main/java/seedu/commands/CalendarCommand.java @@ -0,0 +1,43 @@ +package seedu.commands; + +//@@author Ridiculouswifi + +import seedu.duke.Deadline; +import seedu.duke.Internship; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Comparator; +import java.util.List; + +/** + * Subclass of Command to display all deadlines from every Intenship entry. + */ +public class CalendarCommand extends Command { + @Override + public void execute(ArrayList args) { + ArrayList deadlines = getDeadlines(); + ArrayList sortedDeadlines = sortDeadlines(deadlines); + } + + protected ArrayList getDeadlines() { + List allInternships = internships.getAllInternships(); + ArrayList deadlines = new ArrayList<>(); + for (Internship internship : allInternships) { + deadlines.addAll(internship.getDeadlines()); + } + return deadlines; + } + + protected ArrayList sortDeadlines(ArrayList deadlines) { + deadlines.sort(Comparator.comparing(deadline -> deadline.getDate())); + return deadlines; + } + + @Override + public String getUsage() { + return """ + calendar + Usage: calendar"""; + } +} From f5b34027c506167edbc16859a331cc6f4c679714 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 30 Oct 2024 19:55:48 +0800 Subject: [PATCH 185/359] Add showCalendar method to UiCommand --- .../java/seedu/commands/CalendarCommand.java | 1 + src/main/java/seedu/ui/UiCommand.java | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/main/java/seedu/commands/CalendarCommand.java b/src/main/java/seedu/commands/CalendarCommand.java index 0812aabc58..73c4a70f63 100644 --- a/src/main/java/seedu/commands/CalendarCommand.java +++ b/src/main/java/seedu/commands/CalendarCommand.java @@ -18,6 +18,7 @@ public class CalendarCommand extends Command { public void execute(ArrayList args) { ArrayList deadlines = getDeadlines(); ArrayList sortedDeadlines = sortDeadlines(deadlines); + uiCommand.showCalendar(sortedDeadlines); } protected ArrayList getDeadlines() { diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index 0b1c086336..e0b701e90d 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -1,8 +1,11 @@ package seedu.ui; import seedu.commands.Command; +import seedu.duke.Deadline; import seedu.duke.Internship; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; //@@author Ridiculouswifi @@ -203,6 +206,20 @@ public void showCommands(ArrayList commands) { printTailDivider(); } + //@@author Ridiculouswifi + /** + * Prints out the deadlines in order of date. + * @param deadlines Sorted list of deadlines. + */ + public void showCalendar(ArrayList deadlines) { + printHeadDivider(); + for (Deadline deadline : deadlines) { + String date = deadline.getDate(); + System.out.println(date + ": " + deadline.getDescription()); + } + printTailDivider(); + } + public String getInvalidFlags() { return invalidFlags; } From 4d50e6db174aab4919997c360c3185a938225c3e Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 30 Oct 2024 19:58:45 +0800 Subject: [PATCH 186/359] Add calendar as function call in Parser class --- src/main/java/seedu/duke/Parser.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index 47591bd0d6..459f5825c7 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -9,6 +9,7 @@ import seedu.commands.ListCommand; import seedu.commands.HelpCommand; import seedu.commands.RemoveCommand; +import seedu.commands.CalendarCommand; import seedu.ui.Ui; @@ -37,6 +38,7 @@ private void initializeCommands() { commands.put("list", ListCommand::new); commands.put("help", HelpCommand::new); commands.put("remove", RemoveCommand::new); + commands.put("calendar", CalendarCommand::new); } public Command parseCommand(String input) { @@ -60,7 +62,7 @@ public Command parseCommand(String input) { } public ArrayList parseData(Command command, String input) { - if (command instanceof ListCommand || command instanceof HelpCommand) { + if (command instanceof ListCommand || command instanceof HelpCommand || command instanceof CalendarCommand) { return new ArrayList<>(); } From a47c9e2a661564c6ee69c350a9281898f98646cd Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 30 Oct 2024 20:09:18 +0800 Subject: [PATCH 187/359] Refactor output of calendar function --- data/EasInternship.txt | 8 ++++---- src/main/java/seedu/ui/UiCommand.java | 14 +++++++++++++- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/data/EasInternship.txt b/data/EasInternship.txt index 3a840f97de..dd2ac3d976 100644 --- a/data/EasInternship.txt +++ b/data/EasInternship.txt @@ -1,4 +1,4 @@ -1 | ABC | XYZ | 01/01 | 01/01 | | Application Pending | No Deadlines set. -2 | software engineer | abs | 01/01 | 03/24 | python, c++, backend | Application Completed | No Deadlines set. -3 | lawyer | lolo pte ltd | 04/23 | 01/01 | source, terry | Application Completed | Application deadline -date 03/12/04 -4 | Technician | Nokia | 12/22 | 12/30 | java, c++ | Application Pending | interview round 2 -date 14/05/24 +1 | ABC | XYZ | 01/01 | 01/01 | | Application Pending | interview round 1 -date 02/04/23 - interview round 2 -date 14/05/23 +2 | software engineer | abs | 01/01 | 03/24 | python, c++, backend | Application Completed | contract signing -date 25/12/22 +3 | lawyer | lolo pte ltd | 04/23 | 01/01 | source, terry | Application Completed | application deadline -date 20/07/24 +4 | Technician | Nokia | 12/22 | 12/30 | java, c++ | Application Pending | reply HR -date 06/01/24 diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index e0b701e90d..8c191bd671 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -213,9 +213,21 @@ public void showCommands(ArrayList commands) { */ public void showCalendar(ArrayList deadlines) { printHeadDivider(); + String currentDate = ""; + if (deadlines.isEmpty()) { + System.out.println("No deadlines listed"); + printTailDivider(); + return; + } + System.out.println("Deadlines:"); for (Deadline deadline : deadlines) { String date = deadline.getDate(); - System.out.println(date + ": " + deadline.getDescription()); + if (!date.equals(currentDate)) { + System.out.println(); + System.out.println(date); + currentDate = date; + } + System.out.println("\t" + deadline.getInternshipId() + ": " + deadline.getDescription()); } printTailDivider(); } From 040d94187cf654deb54d07907cc9bc06e6d1c43f Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 30 Oct 2024 20:13:53 +0800 Subject: [PATCH 188/359] Fix sorting of deadlines --- src/main/java/seedu/commands/CalendarCommand.java | 5 ++--- src/main/java/seedu/duke/Deadline.java | 4 ++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/seedu/commands/CalendarCommand.java b/src/main/java/seedu/commands/CalendarCommand.java index 73c4a70f63..7b8a2ca5ed 100644 --- a/src/main/java/seedu/commands/CalendarCommand.java +++ b/src/main/java/seedu/commands/CalendarCommand.java @@ -6,12 +6,11 @@ import seedu.duke.Internship; import java.util.ArrayList; -import java.util.Collection; import java.util.Comparator; import java.util.List; /** - * Subclass of Command to display all deadlines from every Intenship entry. + * Subclass of Command to display all deadlines from every Internship entry. */ public class CalendarCommand extends Command { @Override @@ -31,7 +30,7 @@ protected ArrayList getDeadlines() { } protected ArrayList sortDeadlines(ArrayList deadlines) { - deadlines.sort(Comparator.comparing(deadline -> deadline.getDate())); + deadlines.sort(Comparator.comparing(deadline -> deadline.getUnformattedDate())); return deadlines; } diff --git a/src/main/java/seedu/duke/Deadline.java b/src/main/java/seedu/duke/Deadline.java index 179cae7031..3e798da129 100644 --- a/src/main/java/seedu/duke/Deadline.java +++ b/src/main/java/seedu/duke/Deadline.java @@ -43,6 +43,10 @@ public String getDate() { return date.format(DATE_FORMATTER); } + public LocalDate getUnformattedDate() { + return this.date; + } + @Override public String toString() { return description + ": " + getDate(); From 88c44ca00e24a1704a71f0a43a4fadada3caa074 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Wed, 30 Oct 2024 22:17:08 +0800 Subject: [PATCH 189/359] FilterCommand Plant UML --- ...erCommand-FilterCommand_execute_method.png | Bin 0 -> 32064 bytes docs/UML/FilterCommand.puml | 44 ++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 docs/UML/FilterCommand-FilterCommand_execute_method.png create mode 100644 docs/UML/FilterCommand.puml diff --git a/docs/UML/FilterCommand-FilterCommand_execute_method.png b/docs/UML/FilterCommand-FilterCommand_execute_method.png new file mode 100644 index 0000000000000000000000000000000000000000..06a5515922e88d785c124eab5e542a5e26dca0c0 GIT binary patch literal 32064 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 XOfmh1oM+)x<^-xr*Axpcn+5$pQaEf8 literal 0 HcmV?d00001 diff --git a/docs/UML/FilterCommand.puml b/docs/UML/FilterCommand.puml new file mode 100644 index 0000000000..483f1418a3 --- /dev/null +++ b/docs/UML/FilterCommand.puml @@ -0,0 +1,44 @@ +@startuml +Title FilterCommand execute method + +participant User +participant FilterCommand +participant InternshipList +participant UICommand + +User -> FilterCommand: execute(args) +activate FilterCommand #turquoise +activate InternshipList #green +activate UICommand #red + +FilterCommand -> InternshipList: getAllInternships() +InternshipList --> FilterCommand: internships + +FilterCommand -> InternshipList: favouriteInternships +InternshipList --> FilterCommand: favouriteInternships + +FilterCommand -> InternshipList: new InternshipList(internshipList) +InternshipList --> FilterCommand: filteredInternshipsList + +break Empty args + FilterCommand -> UICommand: showInsufficientArguments() + FilterCommand --> User +else + loop for each arg in args + FilterCommand -> FilterCommand: executeFilterByOneFlag(words) + activate FilterCommand #turquoise + break Incomplete or invalid arg + FilterCommand --> FilterCommand: IllegalArgumentException() + FilterCommand --> User + end break + FilterCommand --> FilterCommand + deactivate FilterCommand + end +end break + +FilterCommand -> InternshipList: listAllInternships() +deactivate FilterCommand +deactivate InternshipList +deactivate UICommand + +@enduml From 812e123366ac479b72ae8a70413a76853987e6ee Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Wed, 30 Oct 2024 23:51:14 +0800 Subject: [PATCH 190/359] Add FilterCommand info to Developer Guide --- docs/DeveloperGuide.md | 42 ++++++++++++++++++ ...d.png => FilterCommand_Execute_Method.png} | Bin 2 files changed, 42 insertions(+) rename docs/UML/{FilterCommand-FilterCommand_execute_method.png => FilterCommand_Execute_Method.png} (100%) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 4e67e20bda..e24cea8c64 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -204,6 +204,48 @@ System -> SortCommand: execute("alphabet") SortCommand -> InternshipList: listInternshipsSortedByRole() InternshipList -> UI: showSortedInternshipsByRole() ``` +### Filter Command Implementation + +#### Overview: + +The FilterCommand class is responsible for filtering internship listings in the InternshipList based on various criteria. It extends the Command class, providing the filter functionality as part of the command execution framework. + +#### Design: + +The FilterCommand class processes user input to determine which fields to filter by (e.g., role, company, start date, end date and/or favourite status) and then filters the internships based on the respective fields. + +Role and Company: Filters internships by checking the equality of the given role or company name against each internship's role or company name + +Start Date (-from) and End Date (-to): Filters internships by checking if the internship's duration is within the time interval specified by the start and end dates. if no -to flag is provided, all internships whose start date is greater than or equal to the given start date is listed. If no -from flag is provided, all internships whose end date is lesser than or equal to the given end date is listed. + +Favourite: Filters internships based on whether or not they are marked as a favourite (true or false). + +If an invalid flag, empty or invalid fields are provided, it prompts the user with an error message indicating which flags/fields are missing or erroneous. + +#### Key Methods: + +execute(ArrayList args): Handles filtering logic based on the arguments provided. The command allows the user to filter internships by different criteria such as role, company, start date, end date and/or favourite status. If the arguments are invalid or missing, the user is notified accordingly. + +getUsage(): Returns a string showing the correct usage of the filter command and the expected inputs. + +#### Example Usage Scenario: + +The user enters `filter -role Software Engineer`, and the execute method filters the internships to only those with the role of "Software Engineer" + +The user enters `filter -company Google`, and the execute method filters internships from "Google" + +The user enters `filter -favourite true`, and the execute method filters internships that have been marked as favourites + +The user enters `filter -from 06/24`, and the execute method filters internships starting from June 2024 + +The user enters `filter -role Software Engineer -from 02/24 -to 08/24`, the execute method filters internships whose duration is within the period of 02/24 to 08/24 and which has the role of "Software Engineer" + +The user enters `filter -favourite false -company Huawei`, the execute method filters internships from "Huawei" and which have not been marked as favourite by the user + +#### Sequence Diagram +The following sequence diagram shows how the `FilterCommand` is executed: +![FilterCommandSequenceDiagram](UML/FilterCommand_Execute_Method.png) + ### Product scope ### Target user profile diff --git a/docs/UML/FilterCommand-FilterCommand_execute_method.png b/docs/UML/FilterCommand_Execute_Method.png similarity index 100% rename from docs/UML/FilterCommand-FilterCommand_execute_method.png rename to docs/UML/FilterCommand_Execute_Method.png From d4d7127f25a8ec2e279482351cf0a515f6b51cc2 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Fri, 1 Nov 2024 14:21:52 +0800 Subject: [PATCH 191/359] Update Toby Yu PPP --- docs/DeveloperGuide.md | 5 +-- docs/team/johndoe.md | 6 ---- docs/team/toby-yu.md | 69 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 72 insertions(+), 8 deletions(-) delete mode 100644 docs/team/johndoe.md create mode 100644 docs/team/toby-yu.md diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 63ffda5adb..26ee56b179 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -184,7 +184,7 @@ The `SortCommand` class is responsible for sorting the internship listings based #### Key Methods: - **`execute(ArrayList args)`**: Handles sorting logic based on the first argument provided. The valid sort options include: - - `"alphabet"`: Sorts internships by role alphabetically. + - `"role"`: Sorts internships by role alphabetically. - `"duration"`: Sorts internships by duration (start and end dates). - `"deadline"`: Sorts internships by deadline. - `"skills"`: Sorts internships by the first skill in the skills list alphabetically. @@ -194,9 +194,10 @@ The `SortCommand` class is responsible for sorting the internship listings based #### Example Usage Scenario: 1. The user enters `sort alphabet`, and the `execute` method sorts the internships by role. -2. The user enters `sort deadline`, and the internships are sorted by their start and end dates. +2. The user enters `sort duration`, and the internships are sorted by their start and end dates. 3. The user enters `sort skills`, and the internships are sorted by the first skill alphabetically. 4. The user enters `sort status`, and the internships are sorted by their status alphabetically. +5. The user enters `sort deadline`, and the internships are sorted by each of their earliest deadline. 5. If the user enters an invalid sort option, the command returns an error and lists the internships by ID. #### Sequence Diagram: diff --git a/docs/team/johndoe.md b/docs/team/johndoe.md deleted file mode 100644 index ab75b391b8..0000000000 --- a/docs/team/johndoe.md +++ /dev/null @@ -1,6 +0,0 @@ -# John Doe - Project Portfolio Page - -## Overview - - -### Summary of Contributions diff --git a/docs/team/toby-yu.md b/docs/team/toby-yu.md new file mode 100644 index 0000000000..51f6b91c63 --- /dev/null +++ b/docs/team/toby-yu.md @@ -0,0 +1,69 @@ +# Toby Yu Project Portfolio Page + +## Project: EasInternship +### Overview + +**EasInternship** is a desktop application designed to streamline the tracking of internship applications for users. The application allows users to store key details of their internships, manage status updates, and prioritize applications based on deadlines. The user interacts with it using a CLI, and it is written in Java, containing about 8 kLoC. + +By using this tool, the user can: + +- **Store Important Internship Information**: Users can input and store key details such as the role, company, duration, required skills, application deadlines, and additional notes. +- **Track Application Status**: Users can save the current status of their application (e.g., not applied, applied, interview scheduled, offer received) and update it as the application progresses. +- **Edit and Manage Internships**: Users can edit saved internships, modify statuses, update deadlines, or remove outdated internships from the list. +- **Filter Internships by Key Criteria**: The user can filter internships by relevant skills, application status, or upcoming deadlines. +- **Monitor Deadlines Easily**: The tool helps users stay on top of their internship deadlines with sorting features and deadline alerts. + +--- + +## Summary of Contributions + +### New Feature: SortCommand Implementation +- **What it does**: The `SortCommand` allows users to sort their list of internships by various criteria such as skills, status or role alphabetically and deadline or duration in chronological order . This improves the ease of managing and prioritizing multiple internship applications. +- **Justification**: This feature is crucial for users who want to quickly identify upcoming deadlines or sort applications by specific attributes like company or position. It enhances the organizational capabilities of the application, making it more user-friendly. +- **Highlights**: The implementation required modifying the internal data structures to allow dynamic sorting based on different fields. It also involved significant testing to ensure that the various sorting criteria interacted correctly with other commands. +- **Credits**: Some of the sorting logic was inspired by existing Java collection utilities, but the integration required custom implementations to handle the application's data model. + +### New Feature: EasInternship Class +- **What it does**: `EasInternship` serves as the main class that manages the core functionality of the application, including the list of internships and their respective commands. +- **Justification**: This class is the backbone of the application and integrates various features like adding, editing, and deleting internship entries. It also handles the interaction between user commands and the underlying data structure. +- **Highlights**: Designing the `EasInternship` class required careful consideration of how to structure the main components of the system and how they would interact in a modular and maintainable way. + +### Code Contributed +- My code contributions can be found in the [RepoSense Link](https://nus-cs2113-ay2425s1.github.io/tp-dashboard/?search=toby-yu&breakdown=true). + +### Enhancements to Existing Features +- Enhanced the command system to integrate with the sorting functionality (Pull requests #41, #43). +- Refactored the internship data model to support filtering and sorting features (Pull request #45). +- Improved the application's performance by optimizing the sorting algorithm for large datasets (Pull request #47). + +### Testing +- Wrote comprehensive JUnit tests for the `SortCommand` to ensure accuracy across different sorting criteria and edge cases +- Achieved 95% coverage for the `SortCommand` class. + +### Documentation Contributions + +#### User Guide (UG) +- Authored the sections for the `SortCommand` and `EasInternship` class. +- Added detailed examples for how users can sort their internship applications by various criteria + +#### Developer Guide (DG) +- Wrote the implementation details for the `SortCommand`, including a UML sequence diagram illustrating the sorting process. +- Contributed to the data model section, explaining how internships are stored and managed in the `EasInternship` class + +### Project Management +- overseeing the implementation of major features +- Coordinated the team’s effort to address bugs and feature requests during the final stages of development. + +### Community Contributions +- Reviewed and provided feedback, focusing on code quality and adherence to project guidelines. +- Contributed to class-wide discussions on the forum, offering suggestions for improving code quality and project workflow. + +### Contributions Beyond the Project Team +- Provided feedback for other teams’ DeveloperGuide during the peer review phase (examples: [PR #25](https://github.com/nus-cs2113-AY2425S1/tp/pull/25/files/f0b67d32a197dce41b7895792c204b6902da091c)). + +--- + +## Optional Contributions to the Developer Guide (Extracts) + +### SortCommand Class +The `SortCommand` class allows users to sort the list of internships based on specific criteria such as role, or skills alphabetically and duration, deadline. Here's an excerpt of the sequence diagram for the `SortCommand` From b21ada5d2d09e599143d9d1230a8ba65d49a6654 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Fri, 1 Nov 2024 14:34:05 +0800 Subject: [PATCH 192/359] Remove ignored files --- data/EasInternship.txt | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 data/EasInternship.txt diff --git a/data/EasInternship.txt b/data/EasInternship.txt deleted file mode 100644 index dd2ac3d976..0000000000 --- a/data/EasInternship.txt +++ /dev/null @@ -1,4 +0,0 @@ -1 | ABC | XYZ | 01/01 | 01/01 | | Application Pending | interview round 1 -date 02/04/23 - interview round 2 -date 14/05/23 -2 | software engineer | abs | 01/01 | 03/24 | python, c++, backend | Application Completed | contract signing -date 25/12/22 -3 | lawyer | lolo pte ltd | 04/23 | 01/01 | source, terry | Application Completed | application deadline -date 20/07/24 -4 | Technician | Nokia | 12/22 | 12/30 | java, c++ | Application Pending | reply HR -date 06/01/24 From fb528662994abe9d5ffac83efb06ed83f9809eec Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Fri, 1 Nov 2024 15:51:21 +0800 Subject: [PATCH 193/359] Draft PPP --- docs/team/tantinghui.md | 69 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 docs/team/tantinghui.md diff --git a/docs/team/tantinghui.md b/docs/team/tantinghui.md new file mode 100644 index 0000000000..7e7521f5fa --- /dev/null +++ b/docs/team/tantinghui.md @@ -0,0 +1,69 @@ +# Tan Ting Hui - Project Portfolio Page + +## Overview + +EasInternship is a desktop tracking application used for tracking internship applications along the various stages +of an application. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java. + +Given below are my contributions to the project. + +### Summary of Contributions + +- **New Feature:** Added the ability to update fields of an internship entry. + - What it does: allows the user to change the data that is reflected in any of the fields in an internship entry. + - Justification: Internship applications often have changes in their details which the applicant has to keep track of + as they are applying for that internship. Updating also allows the user to change erroneous data resulting from + typos without removing the entire entry and restarting. + - Highlights: This enhancement affects both the `InternshipList` and `Internship` class, requiring a careful analysis + on the methods to implement in each class, as well as the `Exceptions` to be handled on each level. The + implementation also has to be constantly updated when new fields are added to the internship entries. +

+ +- **New Feature:** Added the ability to remove fields of an internship entry. + - What it does: allows the user to remove the data that is reflected in select fields in an internship entry. + - Justification: This is a continuation of the previous `update` feature. It is implemented as a separate function + call to keep the overall workflow for updating internship entries simple for the user to understand. + - Highlights: This enhancement branches off from the `update` feature, requiring updates to the `InternshipList` and + `Internship` classes to function properly. +

+ +- **New Feature:** Added the ability to structure the outputs of the application. + - What it does: Structures the response of the application and prints it ina format that is easy to follow. + - Justification: There are a myriad of responses the application can provide, and it is important to structure it + so that is readable to the user. + - Highlights: This enhancement involves creating several subclasses that need to referenced in the various other + classes used in the application. The volume of responses result in large classes filled with methods to deal + with the various responses. +

+ +- **New Feature:** Added the ability to add deadlines to an internship entry. + - What it does: Allows the user to add or remove deadlines of different descriptions and dates to an internship entry. + - Justification: Every internship application has a different set of deadlines the applicant has to follow. This + feature aids users to track their deadlines. + - Highlights: This enhancement was tough to implement as there were a lot of various implementations, and it was + difficult to find one that keeps the syntax easy and simple for the user. A lot of simpler implementations + compromised on functionality in favour of a simpler syntax. + - Credits: jadenlimjc was a co-author that drafted several implementations. +

+ +- **Code Contributed:** [RepoSense Link](https://nus-cs2113-ay2425s1.github.io/tp-dashboard/?search=ridiculouswifi&breakdown=true&sort=groupTitle%20dsc&sortWithin=title&since=2024-09-20&timeframe=commit&mergegroup=&groupSelect=groupByRepos&checkedFileTypes=docs~functional-code~test-code~other) +

+ +- **Project Management:** + - Managed integration of code. + - Aided in splitting work load of features. +

+ +- **Enhancement to Existing Features:** + - Updated `update` and `remove` function ([#74]() for skills, [#86]() for deadlines). +

+ +- **Documentation:** + - Developer Guide: + - Added implementation details for `update` and `remove` feature. + - User Guide: + - Reformatted document to reduce excess information. +

+ +- **Community:** + - PRs reviewed (with non-trivial review comments): [#28](), [#33](), [#49](), [#69]() From d6c5b8ece49de9ec2bdd80868dc219d62e32503c Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Fri, 1 Nov 2024 15:58:34 +0800 Subject: [PATCH 194/359] Draft Jaden's PPP --- docs/team/jadenlim.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 docs/team/jadenlim.md diff --git a/docs/team/jadenlim.md b/docs/team/jadenlim.md new file mode 100644 index 0000000000..ed41265fb3 --- /dev/null +++ b/docs/team/jadenlim.md @@ -0,0 +1,25 @@ +# Jaden Lim - Project Portfolio Page + +## Overview + +EasInternship is a desktop tracking application used for tracking internship applications along the various stages +of an application. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java. + +Given below are my contributions to the project. + +### Summary of Contributions + +- **New Feature:** Added the ability to add an internship entry. + - What it does: Allows the user to add a new internship entry + - Justification: Applicants might be applying to multiple companies and hence it can aid the user in tracking their multiple applications + - Highlights: This enhancement affects both the `InternshipList` and `Internship` class, requiring a careful analysis + on the methods to implement in each class, as well as the `Exceptions` to be handled on each level. The + implementation also has to be constantly updated when new fields are added to the internship entries. +

+ +- **Code Contributed:** [RepoSense Link](https://nus-cs2113-ay2425s1.github.io/tp-dashboard/?search=jadenlimjc&breakdown=true&sort=groupTitle%20dsc&sortWithin=title&since=2024-09-20&timeframe=commit&mergegroup=&groupSelect=groupByRepos&checkedFileTypes=docs~functional-code~test-code~other) +

+ +- **Project Management:** + - Head in splitting work load of features. +

\ No newline at end of file From 51887e3db6cfcbbd7c61df92a80b18a66a1090d5 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Fri, 1 Nov 2024 17:18:15 +0800 Subject: [PATCH 195/359] Draft calendar command enhancement --- src/main/java/seedu/ui/UiCommand.java | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index 8c191bd671..67069b99c6 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -13,6 +13,8 @@ * Subclass of Ui to print outputs from Command subclasses */ public class UiCommand extends Ui { + private static final DateTimeFormatter FORMATTER_DATE = DateTimeFormatter.ofPattern("dd/MM/yy"); + private String invalidFlags; private String updatedFields; private String invalidFields; @@ -213,19 +215,35 @@ public void showCommands(ArrayList commands) { */ public void showCalendar(ArrayList deadlines) { printHeadDivider(); - String currentDate = ""; + LocalDate present = LocalDate.now(); + String pointerToNow = "--> Today"; + boolean isPresentPrinted = false; + + LocalDate currentDate = LocalDate.parse("01/01/00", FORMATTER_DATE); if (deadlines.isEmpty()) { System.out.println("No deadlines listed"); printTailDivider(); return; } + System.out.println("Deadlines:"); + for (Deadline deadline : deadlines) { - String date = deadline.getDate(); - if (!date.equals(currentDate)) { + LocalDate date = deadline.getUnformattedDate(); + if (!isPresentPrinted && date.isAfter(present)) { + isPresentPrinted = true; System.out.println(); - System.out.println(date); + System.out.println(present.format(FORMATTER_DATE) + " " + pointerToNow); + } + String pointer = ""; + if (!isPresentPrinted && date.isEqual(present)) { + isPresentPrinted = true; + pointer = pointerToNow; + } + if (!date.isEqual(currentDate)) { currentDate = date; + System.out.println(); + System.out.println(date.format(FORMATTER_DATE) + " " + pointer); } System.out.println("\t" + deadline.getInternshipId() + ": " + deadline.getDescription()); } From d67ad758bf7f33e35ec08390b09c059702aeef9b Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Fri, 1 Nov 2024 19:12:50 +0800 Subject: [PATCH 196/359] updated PPP --- docs/team/jadenlim.md | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/docs/team/jadenlim.md b/docs/team/jadenlim.md index ed41265fb3..53bf4e2976 100644 --- a/docs/team/jadenlim.md +++ b/docs/team/jadenlim.md @@ -8,18 +8,44 @@ of an application. The user interacts with it using a CLI, and it has a GUI crea Given below are my contributions to the project. ### Summary of Contributions +- **New Feature:** Created the base Internship and InternshipList classes. + - What it does: creates the baseline functionality for these classes as well as the getters and setters for each field within the class. + - Justification: When applying for internships, there are often multiple vital fields to take into account, such as `Role`, `Company`, `Duration`, `Deadlines` amongst others. It is integral for these fields to recorded within each internship. Creating the getters and setters for these fields is the foundation for all functions built on top of it. + - Highlights: The design of Internship and InternshipList focused on flexibility, allowing future additions to accommodate new fields without requiring major rewrites. Getters and setters enable controlled access to fields, maintaining encapsulation while ensuring that key data can be updated as needed. This setup provides the structural foundation for further functionality, such as filtering or sorting internships based on user-defined criteria. +

- **New Feature:** Added the ability to add an internship entry. - What it does: Allows the user to add a new internship entry - Justification: Applicants might be applying to multiple companies and hence it can aid the user in tracking their multiple applications - - Highlights: This enhancement affects both the `InternshipList` and `Internship` class, requiring a careful analysis - on the methods to implement in each class, as well as the `Exceptions` to be handled on each level. The - implementation also has to be constantly updated when new fields are added to the internship entries. + - Highlights: This functionality is fundamental for managing and tracking multiple internship applications in a single place, which allows for efficient updates and reviews of application statuses. +

+ +- **New Feature:** Added the ability to delete an internship entry. + - What it does: Allows the user to delete a new internship entry + - Justification: Applicants might be applying to multiple companies and hence it can aid the user in tracking their multiple applications by deleting internships that are no longer necessary to be maintained. + - Highlights: This functionality is fundamental for managing and tracking multiple internship applications in a single place, which allows for efficient updates and reviews of application statuses.

+ - **Code Contributed:** [RepoSense Link](https://nus-cs2113-ay2425s1.github.io/tp-dashboard/?search=jadenlimjc&breakdown=true&sort=groupTitle%20dsc&sortWithin=title&since=2024-09-20&timeframe=commit&mergegroup=&groupSelect=groupByRepos&checkedFileTypes=docs~functional-code~test-code~other)

- **Project Management:** - Head in splitting work load of features. -

\ No newline at end of file + - Managed expectations and milestones to be met for v1.0 and v2.0. +

+ +- **Enhancement to Existing Features:** + - Updated `Internship` class to include the `dealdine` field. +

+ - +- **Documentation:** + - Developer Guide: + - Added implementation details for `add` and `delete` features. + - Added implementation details for `Internship` ,`InternshipList`, and `Deadline` classes as well as how they interact with one another. + - User Guide: + - Created the entire skeleton of the UserGuide with all base functions. (Add, Delete, Update, Sort Filter, Help) +

+ +- **Community:** + - PRs reviewed (with non-trivial review comments): [#35](), [#37]() From b01f06d4efb439876b2c802886d8f2132f15835a Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Fri, 1 Nov 2024 19:17:11 +0800 Subject: [PATCH 197/359] updated new feature in PPP --- docs/team/jadenlim.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/team/jadenlim.md b/docs/team/jadenlim.md index 53bf4e2976..bb89e82d14 100644 --- a/docs/team/jadenlim.md +++ b/docs/team/jadenlim.md @@ -36,8 +36,13 @@ Given below are my contributions to the project.

- **Enhancement to Existing Features:** - - Updated `Internship` class to include the `dealdine` field. -

+ - Updated `Internship` class to include the `deadline` field. + - What it does: Allows the user to monitor a list of deadlines within each internship. Each deadline has a different description and date tagged to it. + - Justification: Every internship application has a different set of deadlines the applicant has to follow. This + feature aids users to track their deadlines. + - Highlights: This feature was tough to implement using a format that corresponded to our existing command structure, as our structure specialised in parsing commands with only one flag. Adding deadlines would require multiple flags due to the nested nature of each deadline within each internship, making it difficult to find an implementation that met both our functionality and syntax goals. + - Credits: ridiculouswifi was a co-author that completed the final implementation and syntax format for the deadline class. +

- - **Documentation:** - Developer Guide: From 0919b436a6cf9daa490bd1b69b3abf1d311f1d3b Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Sat, 2 Nov 2024 12:44:17 +0800 Subject: [PATCH 198/359] update the value proposition and user story --- docs/DeveloperGuide.md | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 8a55f32a8c..6ae8144704 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -324,14 +324,34 @@ The following sequence diagram shows how the `RemoveCommand` is executed: ### Value proposition -{Describe the value proposition: what problem does it solve?} +This product helps users streamline the process of tracking and managing their internship applications by allowing them to: + +- **Store Important Internship Information**: Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes regarding each internship. + +- **Track Application Status**: Users can keep track of the current status of their applications (e.g., not applied, applied, interview scheduled, offer received) and update it as the application progresses. + +- **Edit and Manage Internships**: Users can edit saved internships, modify application statuses, update deadlines, or remove outdated internships from their list. + +- **Filter Internships by Key Criteria**: Users can filter tracked internships by relevant criteria such as required skills, application status, or upcoming deadlines, helping them find specific applications. + +- **Sort Internships by Key Criteria**: Users can sort tracked internships by relevant criteria such as required skills, application status, or upcoming deadlines, helping them prioritize applications. + +- **Monitor Deadlines Easily**: Users can stay on top of their internship deadlines by sorting or flagging applications with approaching deadlines, ensuring that no important opportunity is missed. ## User Stories -|Version| As a ... | I want to ... | So that I can ...| -|--------|----------|---------------|------------------| -|v1.0|new user|see usage instructions|refer to them when I forget how to use the application| -|v2.0|user|find a to-do item by name|locate a to-do without having to go through the entire list| +| Version | As a ... | I want to ... | So that I can ... | +|---------|----------------------|------------------------------------------------|--------------------------------------------------------| +| v1.0 | new user | see usage instructions | refer to them when I forget how to use the application | +| v1.0 | user | add an internship with all relevant details | store information about the internships I’m applying to | +| v1.0 | user | edit the details of an internship | update information when I receive new details | +| v1.0 | user | delete an internship | remove outdated or irrelevant internships from my list | +| v1.0 | user | track the status of an internship | know what stage my application is in | +| v1.0 | user | sort internships by duration | focus on internships where I need to take action | +| v1.0 | user | sort internships by deadlines | prioritize internships with approaching deadlines | +| v2.0 | user | receive alerts about upcoming deadlines | ensure I don't miss important deadlines | +| v2.0 | user | sort internships by required skills | focus on internships that match my skill set | +| v2.0 | user | update the status of my internship application | keep track of my progress in the application process | ## Non-Functional Requirements From c30a86c107f90025f2c17a326889ced6420d6341 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Sat, 2 Nov 2024 12:57:38 +0800 Subject: [PATCH 199/359] update Toby-Yu PPP --- docs/team/toby-yu.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/team/toby-yu.md b/docs/team/toby-yu.md index 51f6b91c63..6db7757018 100644 --- a/docs/team/toby-yu.md +++ b/docs/team/toby-yu.md @@ -11,6 +11,7 @@ By using this tool, the user can: - **Track Application Status**: Users can save the current status of their application (e.g., not applied, applied, interview scheduled, offer received) and update it as the application progresses. - **Edit and Manage Internships**: Users can edit saved internships, modify statuses, update deadlines, or remove outdated internships from the list. - **Filter Internships by Key Criteria**: The user can filter internships by relevant skills, application status, or upcoming deadlines. +- **Sort Internships by Key Criteria**: Users can sort tracked internships by relevant criteria such as required skills, application status, or upcoming deadlines, helping them prioritize applications. - **Monitor Deadlines Easily**: The tool helps users stay on top of their internship deadlines with sorting features and deadline alerts. --- @@ -38,7 +39,7 @@ By using this tool, the user can: ### Testing - Wrote comprehensive JUnit tests for the `SortCommand` to ensure accuracy across different sorting criteria and edge cases -- Achieved 95% coverage for the `SortCommand` class. +- Achieved 60% coverage for the `SortCommand` class. ### Documentation Contributions @@ -67,3 +68,9 @@ By using this tool, the user can: ### SortCommand Class The `SortCommand` class allows users to sort the list of internships based on specific criteria such as role, or skills alphabetically and duration, deadline. Here's an excerpt of the sequence diagram for the `SortCommand` + +### Value Proposition +The value proposition parts shows the problem we solve in this project + +### User Stories +Mention the situation and reason why user need such functions or design. \ No newline at end of file From 11f63617f43ef218d9a5570098558d0887cdc4a3 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sat, 2 Nov 2024 21:08:30 +0800 Subject: [PATCH 200/359] Add RemoveCommand to user guide --- docs/UserGuide.md | 119 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 95 insertions(+), 24 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 9553c1643f..67710ec55f 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -1,12 +1,12 @@ # User Guide ## Outline -- [Product Desciption](#product-description) +- [Product Description](#product-description) - [Quick Start](#quick-start) - [Features](#features) - [Add Command: `add`](#add-command-add) - [Update Command: `update`](#update-command-update) - - [Remove Command: `remove`]() + - [Remove Command: `remove`](#remove-command-remove) - [Sort Command: `sort`](#sort-command-sort) - [Filter Command: `filter`](#filter-command-filter) - [Delete Command: `delete`](#delete-command-delete) @@ -58,31 +58,41 @@ Each internship is assigned a unique ID, serving as the reference for functions - `from` and `to` are optional and will be replaced with `01/01` when left empty. **Example Input 1:** -`add -name Software Engineer Intern -company Google` +`add -role Software Engineer Intern -company Google` **Example Output 1:** ``` -ID: 01 +__________________________________________________ +__________________________________________________ +Internship added: +ID: 1 Status: Application Pending Role: Software Engineer Intern Company: Google Duration: 01/01 to 01/01 -Skills: Not Stated +Skills: No Skills Entered Deadlines: - No deadlines set. + No deadlines set. +__________________________________________________ +__________________________________________________ ``` **Example Input 2:** -`add -name Embedded Software Engineer Intern -company Continental -from 05/25 -to 08/25` +`add -role Embedded Software Engineer Intern -company Continental -from 05/25 -to 08/25` **Example Output 2:** ``` -ID: 02 +__________________________________________________ +__________________________________________________ +Internship added: +ID: 2 Status: Application Pending Role: Embedded Software Engineer Intern Company: Continental Duration: 05/25 to 08/25 -Skills: Not Stated +Skills: No Skills Entered Deadlines: - No deadlines set. + No deadlines set. +__________________________________________________ +__________________________________________________ ``` ## Update Command: `update` @@ -112,37 +122,60 @@ Valid Statuses for `status` flag:
`update 02 -status application completed` ``` -ID: 02 Status -Role: Embedded Software Engineer Intern application completed +__________________________________________________ +__________________________________________________ +status updated: application completed +__________________________________________________ +Internship updated: +ID: 2 Status: Application Completed +Role: Embedded Software Engineer Intern Company: Continental Duration: 05/25 to 08/25 -Skills: Not Stated +Skills: No Skills Entered Deadlines: - No deadlines set. + No deadlines set. +__________________________________________________ +__________________________________________________ ``` -`update 02 -company Venti` +`update 02 -company Venti -deadline Interview Round 1 03/02/25` ``` -ID: 02 Status -Role: Embedded Software Engineer Intern application completed +__________________________________________________ +__________________________________________________ +company updated: Venti +deadline updated: Interview Round 1 03/02/25 +__________________________________________________ +Internship updated: +ID: 2 Status: Application Completed +Role: Embedded Software Engineer Intern Company: Venti Duration: 05/25 to 08/25 -Skills: Not Stated +Skills: No Skills Entered Deadlines: - No deadlines set. + Interview Round 1: 03/02/25 +__________________________________________________ +__________________________________________________ ``` `update 02 -from 04/25 -skills Python` ``` -ID: 02 Status -Role: Embedded Software Engineer Intern application completed +__________________________________________________ +__________________________________________________ +from updated: 04/25 +skills updated: Python +__________________________________________________ +Internship updated: +ID: 2 Status: Application Completed +Role: Embedded Software Engineer Intern Company: Venti Duration: 04/25 to 08/25 -Skills: Python +Skills: Python Deadlines: - No deadlines set. + Interview Round 1: 03/02/25 +__________________________________________________ +__________________________________________________ ``` ## Remove Command: `remove` @@ -158,7 +191,45 @@ Valid Fields: **Examples:** -`remove` +`remove 02 -skills Python` + +``` +__________________________________________________ +__________________________________________________ +skills removed: Python +__________________________________________________ +Internship updated: +ID: 2 Status: Application Completed +Role: Embedded Software Engineer Intern +Company: Venti +Duration: 04/25 to 08/25 +Skills: No Skills Entered +Deadlines: + Interview Round 1: 03/02/25 +__________________________________________________ +__________________________________________________ +``` + +`remove 02 -deadline Interview Round 1 -deadline Interview Round 2` + +``` +__________________________________________________ +__________________________________________________ +deadline: Interview Round 2 is not found +__________________________________________________ +deadline removed: Interview Round 1 +__________________________________________________ +Internship updated: +ID: 2 Status: Application Completed +Role: Embedded Software Engineer Intern +Company: Venti +Duration: 04/25 to 08/25 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +__________________________________________________ +``` ## Sort Command: `sort` From f4e3f45f902e25c6afc20270bae697f4563275c2 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sat, 2 Nov 2024 21:30:33 +0800 Subject: [PATCH 201/359] Refactor SortCommand in User Guide --- docs/UserGuide.md | 126 +++++++++++++++------------------------------- 1 file changed, 41 insertions(+), 85 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 67710ec55f..38fc0f1bc3 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -234,128 +234,84 @@ __________________________________________________ ## Sort Command: `sort` -This feature allows you to sort and list all the internships saved in your database. The default display format is in increasing order of their ID’s (based on time of creation) +Lists out all the Internships sorted by a specified field. The default list in increasing order of their IDs. -Users can specify a flag to display them in alphabetical order (regardless of uppercase or lowercase) of their role, skills and status or by deadline. - -**Format:** +Valid Fields: +- `role` +- `duration` +- `skills` +- `status` +- `deadline` +The fields are not case-sensitive. -`sort {field}` +**Format:** `sort -{field}` **Example:** `sort -duration` ``` -ID: 02 +__________________________________________________ +__________________________________________________ +Sorted internships by start date (year first), then end date. +__________________________________________________ +__________________________________________________ + + +__________________________________________________ +__________________________________________________ +ID: 1 Status: Application Pending Role: Software Engineer Intern Company: Google -Duration: 05/23 to 08/25 -Skills: Not Stated -Deadlines: - online assessment: 11/11/24 - -ID: 01 -Role: Embedded Software Engineer Intern -Company: Continental Duration: 05/24 to 08/24 -Skills: Not Stated +Skills: No Skills Entered Deadlines: - interview: 25/11/24 -``` -`sort -role` - -``` -ID: 01 + interview: 25/11/24 +__________________________________________________ +ID: 2 Status: Application Completed Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: Not Stated -Deadlines: - interview: 25/11/24 - - -ID: 02 -Role: Software Engineer Intern -Company: Google -Duration: Not Stated -Skills: Not Stated +Company: Venti +Duration: 04/25 to 08/25 +Skills: No Skills Entered Deadlines: - online assessment: 11/11/24 + online assessment: 11/11/24 +__________________________________________________ +__________________________________________________ ``` `sort -deadline` -``` -ID: 02 -Role: Software Engineer Intern -Company: Google -Duration: 05/23 to 08/25 -Skills: Not Stated -Deadlines: - online assessment: 11/11/24 - -ID: 01 -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/24 to 08/24 -Skills: Not Stated -Deadlines: - interview: 25/11/24 - -``` -`sort -skills` - ``` __________________________________________________ __________________________________________________ -ID: 1 Status: Application Completed -Role: Embedded Software Engineer Intern -Company: Google -Duration: 02/23 to 05/24 -Skills: No Skills Entered -Deadlines: - interview: 25/11/24 - +Sorted internships by deadline. __________________________________________________ -ID: 2 Status: Accepted -Role: Marketing sales -Company: Castify -Duration: 05/23 to 05/24 -Skills: No Skills Entered -Deadlines: - online assessment: 11/11/24 - __________________________________________________ -__________________________________________________ -``` -`sort -status` -``` + __________________________________________________ __________________________________________________ -ID: 2 Status: Accepted -Role: Marketing sales -Company: Castify -Duration: 05/23 to 05/24 +ID: 2 Status: Application Completed +Role: Embedded Software Engineer Intern +Company: Venti +Duration: 04/25 to 08/25 Skills: No Skills Entered Deadlines: - online assessment: 11/11/24 - + online assessment: 11/11/24 __________________________________________________ -ID: 1 Status: Application Completed -Role: Embedded Software Engineer Intern +ID: 1 Status: Application Pending +Role: Software Engineer Intern Company: Google -Duration: 02/23 to 05/24 +Duration: 05/24 to 08/24 Skills: No Skills Entered Deadlines: - interview: 25/11/24 - + interview: 25/11/24 __________________________________________________ __________________________________________________ ``` + ## Filter command: `filter` This feature is an extension of the previous list feature. It allows the user to specify certain values for any of the role name, company name or duration parameters based on which only the relevant internships are shown. From 5d1ce3bd78cb038322edfdc3f73d1d865b17892d Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sat, 2 Nov 2024 21:39:34 +0800 Subject: [PATCH 202/359] Add getUsage of CalendarCommand to HelpCommand --- src/main/java/seedu/commands/HelpCommand.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/seedu/commands/HelpCommand.java b/src/main/java/seedu/commands/HelpCommand.java index 3721a0d8a3..e8a9afc32e 100644 --- a/src/main/java/seedu/commands/HelpCommand.java +++ b/src/main/java/seedu/commands/HelpCommand.java @@ -18,6 +18,7 @@ public void execute(ArrayList args) { commands.add(new SortCommand()); commands.add(new UpdateCommand()); commands.add(new RemoveCommand()); + commands.add(new CalendarCommand()); uiCommand.showCommands(commands); } From 76e2d709073c848e9bbf155f3dc10ab9765396ec Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sat, 2 Nov 2024 23:02:19 +0800 Subject: [PATCH 203/359] Refactor output of SortCommand --- src/main/java/seedu/commands/SortCommand.java | 19 +++---- src/main/java/seedu/duke/InternshipList.java | 24 +++++---- src/main/java/seedu/ui/UiCommand.java | 39 --------------- src/main/java/seedu/ui/UiInternshipList.java | 49 ++++++++++++++++--- 4 files changed, 61 insertions(+), 70 deletions(-) diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index 469034c3c2..5b8c5577e7 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -21,10 +21,11 @@ public class SortCommand extends Command { // Execute method for the SortCommand @Override public void execute(ArrayList args) { + uiCommand.clearInvalidFlags(); + // Check if no arguments are provided after "sort" if (args.isEmpty()) { - uiCommand.showSortedInternships("none"); // No valid sort option provided - internships.listAllInternships(); // Default to listing by ID + internships.listInternshipsNotSorted(); // No valid sort option provided return; } @@ -34,32 +35,23 @@ public void execute(ArrayList args) { // Handle valid sorting options switch (sortOption) { case "role": - uiCommand.showSortedInternships(sortOption); // Show sorting message for alphabet internships.listInternshipsSortedByRole(); // Sort by role alphabetically (case-insensitive) break; case "duration": - uiCommand.showSortedInternships(sortOption); // Show sorting message for deadline internships.listInternshipsSortedByDuration(); // Sort by start date, then end date (year first) break; case "deadline": - uiCommand.showSortedInternships(sortOption); internships.listInternshipsSortedByDeadline(); break; case "skills": - uiCommand.showSortedInternships(sortOption); internships.listInternshipsSortedByFirstSkill(); // Sort by first skill alphabetically break; case "status": - uiCommand.showSortedInternships(sortOption); internships.listInternshipsSortedByStatus(); // Sort by status alphabetically break; default: // Handle invalid sorting options - uiCommand.clearInvalidFlags(); - uiCommand.addInvalidFlag(sortOption); - uiCommand.printInvalidFlags(); - System.out.println(uiCommand.getSortUsageMessage()); // Show correct usage message - internships.listAllInternships(); // Default to listing by ID + internships.listInternshipsInvalidFlag(sortOption); } } @@ -68,7 +60,8 @@ public String getUsage() { return """ sort Usage: sort [role | deadline | duration | skills | status] - alphabet: Sort internships alphabetically by role (case-insensitive). + + role: Sort internships alphabetically by role (case-insensitive). deadline: Sort internships by start date (year first), then end date. duration: Sort internships by internship duration. skills: Sort internships by the first skill alphabetically. diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 2418ca2a09..b11e3751c9 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -134,11 +134,7 @@ public void removeField(int index, String field, String value) throws InvalidInd //@@author jadenlimjc // Method to list all internships public void listAllInternships() { - if (internships.isEmpty()) { - ui.showEmptyInternshipList(); - } else { - ui.showInternships(internships); - } + ui.showInternships(internships, "list"); } public List getAllInternships() { @@ -158,7 +154,7 @@ public void listInternshipsSortedByRole() { Collections.sort(sortedList, Comparator.comparing(internship -> internship.getRole().toLowerCase())); // Display the sorted list without changing IDs - ui.showInternships(sortedList); + ui.showInternships(sortedList, "role"); } // Method to list all internships sorted by start date (year first), then end date @@ -176,7 +172,7 @@ public void listInternshipsSortedByDuration() { }); // Display the sorted list without changing IDs - ui.showInternships(sortedInternships); + ui.showInternships(sortedInternships, "duration"); } // Helper method to compare YearMonth strings in "MM/yy" format (year first, then month) @@ -214,7 +210,7 @@ public void listInternshipsSortedByDeadline() { } return compareYearMonth(earliestDeadline1.getDate(), earliestDeadline2.getDate()); }); - ui.showInternships(sortedInternships); + ui.showInternships(sortedInternships, "deadline"); } /** @@ -230,7 +226,7 @@ public void listInternshipsSortedByFirstSkill() { })); // Display the sorted list without changing IDs - ui.showInternships(sortedList); + ui.showInternships(sortedList, "skills"); } /** @@ -243,7 +239,15 @@ public void listInternshipsSortedByStatus() { Collections.sort(sortedList, Comparator.comparing(internship -> internship.getStatus().toLowerCase())); // Display the sorted list without changing IDs - ui.showInternships(sortedList); + ui.showInternships(sortedList, "status"); + } + + public void listInternshipsNotSorted() { + ui.showInternships(internships, "none"); + } + + public void listInternshipsInvalidFlag(String flag) { + ui.showInternships(internships, flag); } } diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index 67069b99c6..2ab35bd073 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -156,45 +156,6 @@ public void showInsufficientArguments() { showOutput("Insufficient arguments! Please include a flag to filter by."); } - //@@author Toby-Yu - /** - * Prints message indicating how internships are sorted. - * - * @param field Criteria that internships are sorted by. - */ - public void showSortedInternships(String field) { - printHeadDivider(); - switch (field) { - case "none": - System.out.println("No sorting option provided. Listing internships by ID."); - break; - case "alphabet": - System.out.println("Sorted internships by role alphabetically (case-insensitive)."); - break; - case "duration": - System.out.println("Sorted internships by start date (year first), then end date."); - break; - case "deadline": - System.out.println("Sorted internships by deadline."); - break; - default: - // Handling invalid sorting options - System.out.println("Error: Unknown or invalid sorting option: \"" + field + "\"."); - System.out.println(getSortUsageMessage()); - break; - } - printTailDivider(); - } - - /** - * Prints the correct usage message for the sort command. - */ - public String getSortUsageMessage() { - return "Usage: sort [alphabet | deadline]\n" + - "alphabet: Sort internships alphabetically by role (case-insensitive).\n" + - "deadline: Sort internships by start date (year first), then end date."; - } - //@@author Ridiculouswifi public void showCommands(ArrayList commands) { printHeadDivider(); diff --git a/src/main/java/seedu/ui/UiInternshipList.java b/src/main/java/seedu/ui/UiInternshipList.java index c8bbb7b154..406f1181ff 100644 --- a/src/main/java/seedu/ui/UiInternshipList.java +++ b/src/main/java/seedu/ui/UiInternshipList.java @@ -9,18 +9,21 @@ * Subclass of Ui to print outputs from InternshipList. */ public class UiInternshipList extends Ui { - /** - * Prints message when InternshipList is empty. - */ - public void showEmptyInternshipList() { - showOutput("No internships found."); - } - /** * Prints out all internships in a specified ArrayList. */ - public void showInternships(ArrayList internships) { + public void showInternships(ArrayList internships, String field) { printHeadDivider(); + String message = getSortField(field); + if (!message.isEmpty()) { + System.out.println(message); + printDivider(); + } + if (internships.isEmpty()) { + System.out.println("No internships found."); + printTailDivider(); + return; + } for (Internship internship : internships) { System.out.println(internship.toString()); printDivider(); @@ -29,6 +32,36 @@ public void showInternships(ArrayList internships) { System.out.println("\n"); } + //@@author Toby-Yu + /** + * Returns message indicating how internships are sorted. + * + * @param field Criteria that internships are sorted by. + */ + public String getSortField(String field) { + String message = "Sorted internships by "; + switch (field) { + case "list": + return ""; + case "none": + return "No sorting option provided. Listing internships by ID."; + case "role": + return message + "role alphabetically (case-insensitive)."; + case "duration": + return message + "start date (year first), then end date."; + case "deadline": + return message + "deadline."; + case "skills": + return message + "skills."; + case "status": + return message + "status."; + default: + // Handling invalid sorting options + return "Unknown flag: " + field + "\n Use \"help\" to view valid flags."; + } + } + + //author Ridiculouswifi /** * Prints message when index provided is out of bounds. */ From 7519ed2e5555e5001a3038929b7df19775925ece Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sat, 2 Nov 2024 23:14:25 +0800 Subject: [PATCH 204/359] Refactor HelpCommand, FAQ and Invalid inputs section in User Guide --- docs/UserGuide.md | 36 +++++++++++++----------------------- 1 file changed, 13 insertions(+), 23 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 38fc0f1bc3..9161ed49ad 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -415,21 +415,9 @@ Skills: Not Stated ## Help Command: `help` -Shows the commands available for the user. -Describes the available functions and inputs that are needed -Other basic commands. +Shows the commands available for the user and the inputs required. -**Format:** `/help` - -**Example Output** - -``` - add -name {Role name} -company {Company name}: Adds internship to the list of internships currently being tracked by the user. - - - update {ID} {-field} {updated information}: Adds information to the field of the entry tagged to the ID. - Eg. update 02 -status application completed -``` +**Format:** `help` ## Exit Command: `exit` @@ -443,16 +431,18 @@ Terminates the program. ## Invalid Inputs Shows whenever an incomplete or invalid search call is performed. Output also shows what corrective action can be taken. -Example Output: -Please include a duration if you are using the -duration flag! -Eg. Update 02 -duration /from 04/25 - -Please include specific skills if you are using the -skills flag! - -I do not understand what flag you are using, type /help to get a list of valid commands. - +Examples: +`add -company` +``` +__________________________________________________ +__________________________________________________ +Company not specified. +Role not specified. +__________________________________________________ +__________________________________________________ +``` @@ -460,7 +450,7 @@ I do not understand what flag you are using, type /help to get a list of valid c **Q**: How do I transfer my data to another computer? -**A**: Copy the `.jar` file and +**A**: Locate the `/data/` directory, in the same directory as your `.jar` file. Copy this `/data/` directory to the second computer and store it in the same directory as the `.jar` file. ## Command Summary From a981c936c05439afc5966e53945a7fdfd461d11c Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sat, 2 Nov 2024 23:40:38 +0800 Subject: [PATCH 205/359] Refactor FilterCommand and DeleteCommand Sections --- docs/UserGuide.md | 132 +++++++++++++++++++++++----------------------- 1 file changed, 66 insertions(+), 66 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 9161ed49ad..6752bc3fa6 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -318,55 +318,59 @@ This feature is an extension of the previous list feature. It allows the user to The role and company name parameters are case-insensitive, For the duration parameter, this feature displays all relevant internships whose start dates and end dates are within the duration timeline specified by the user. For the MVP version of the product, user can only sort by 1 field at a time. -**Format:** - -`filter -role {Role name} -` - -`filter -company {Company name}` +**Format:** `filter -{field} {value}` -`filter -duration /from {start date} /to {end date}` +Valid fields: +- `role`: Provide the role name +- `company`: Provide the company name +- `from`: Provide the start date +- `to`: Provide the end date +- `skills`: Provide one skill listed in `skills` +- `deadline`: Provide the description of one of the deadlines -`filter -skills {skill}` - -`filter -deadline /by {date}` - -**Example:** +**Examples:** `list` ``` -ID: 01 -Role: Software Engineer Intern -Company: Google -Duration: Not Stated -Skills: Not Stated - -ID: 02 -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: Not Stated -``` -`filter -company Google` - -``` -ID: 01 -Role: Software Engineer Intern -Company: Google -Duration: Not Stated -Skills: Not Stated +__________________________________________________ +__________________________________________________ +ID: 1 Status: Application Pending +Role: engineer +Company: ABS +Duration: 01/01 to 01/01 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +ID: 2 Status: Application Pending +Role: accountant +Company: XYZ +Duration: 01/01 to 01/01 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +__________________________________________________ ``` -`filter -duration /from 04/25 /to 09/25` +`filter -company ABS` ``` -ID: 02 -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: Not Stated +__________________________________________________ +__________________________________________________ +ID: 1 Status: Application Pending +Role: engineer +Company: ABS +Duration: 01/01 to 01/01 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +__________________________________________________ ``` + ## Delete Command: `delete` This feature removes an entire listing from the tracker. @@ -378,39 +382,35 @@ This feature removes an entire listing from the tracker. `list` ``` -ID: 01 -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: Not Stated - -ID: 02 -Role: Software Engineer Intern -Company: Google -Duration: Not Stated -Skills: Not Stated -``` - -`del {01}` - -``` -You have deleted this listing: - -ID: 01 -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: Not Stated +__________________________________________________ +__________________________________________________ +ID: 1 Status: Application Pending +Role: engineer +Company: ABS +Duration: 01/01 to 01/01 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +ID: 2 Status: Application Pending +Role: accountant +Company: XYZ +Duration: 01/01 to 01/01 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +__________________________________________________ ``` -`list` +`delete 01` ``` -ID: 02 -Role: Software Engineer Intern -Company: Google -Duration: Not Stated -Skills: Not Stated +__________________________________________________ +__________________________________________________ +Internship deleted: 1 +__________________________________________________ +__________________________________________________ ``` ## Help Command: `help` From 17c9e4f8ec647bfe6de1913a9e9e974901168506 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sat, 2 Nov 2024 23:45:06 +0800 Subject: [PATCH 206/359] Add CalendarCommand section --- docs/UserGuide.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 6752bc3fa6..5ad072fb4c 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -413,6 +413,31 @@ __________________________________________________ __________________________________________________ ``` +## Calendar Command: `calendar` + +Lists out all deadlines along with the current date (according to local machine date) + +**Format:** `calendar` + +Example Output: + +``` +__________________________________________________ +__________________________________________________ +Deadlines: + +10/10/24 + 1: interview round 1 + +02/11/24 --> Today + 2: application deadline + +05/11/24 + 1: interview round 2 +__________________________________________________ +__________________________________________________ +``` + ## Help Command: `help` Shows the commands available for the user and the inputs required. From a31f9775aa46de5ad19b8d4ebbdae07b6d4f07fd Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sat, 2 Nov 2024 23:51:17 +0800 Subject: [PATCH 207/359] Refactor Update and Remove Command sections --- docs/UserGuide.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 5ad072fb4c..af2b824107 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -10,6 +10,7 @@ - [Sort Command: `sort`](#sort-command-sort) - [Filter Command: `filter`](#filter-command-filter) - [Delete Command: `delete`](#delete-command-delete) + - [Calendar Command: `calendar`](#calendar-command-calendar) - [Help Command: `help`](#help-command-help) - [Exit Command: `exit`](#exit-command-exit) - [Invalid Inputs](#invalid-inputs) @@ -100,12 +101,13 @@ __________________________________________________ Updates any field of an Internship entry. Valid Fields:
-- `role` -- `company` -- `status` -- `from` -- `to` -- `skills` +- `role`: Provide the new role +- `company`: Provide the new company +- `status`: Provide the new status, according to the list below +- `from`: Provide the new start date in `MM/yy` format +- `to`: Provide the new end date in `MM/yy` format +- `skills`: Provide a new skill +- `deadline`: Provide the description and deadline (in `dd/MM/yy` format) with a whitespace between them Valid Statuses for `status` flag:
- Application Pending (Default Status) @@ -113,6 +115,7 @@ Valid Statuses for `status` flag:
- Accepted - Rejected +For multiple uses of flags that are not `skills` or `deadline` only the last occurrence of the flag is used. **Format:** `update {ID} -{field} {updated information}` @@ -183,8 +186,8 @@ __________________________________________________ Removes specific values from fields of an Internship entry. Valid Fields: -- `skills` -- `deadline` +- `skills`: Provide a skill listed in `skills` (case-sensitive) +- `deadline`: Provide the description of the deadline to be removed (case-insensitive) **Format:** `remove {ID} -{field} {value}` From 5e40e81d7c72e2f0180f3aed60bc7cfb772a1235 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Sat, 2 Nov 2024 23:54:18 +0800 Subject: [PATCH 208/359] update the ug for stanard output for sortCommand --- docs/UserGuide.md | 49 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 34 insertions(+), 15 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 8375f1a085..4b02f8a352 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -155,6 +155,10 @@ Users can specify a flag to display them in alphabetical order (regardless of up `sort -duration` ``` +__________________________________________________ +__________________________________________________ +Sorted internships by start date (year first), then end date. +__________________________________________________ ID: 02 Role: Software Engineer Intern Company: Google @@ -162,25 +166,32 @@ Duration: 05/23 to 08/25 Skills: Not Stated Deadlines: online assessment: 11/11/24 - +__________________________________________________ ID: 01 Role: Embedded Software Engineer Intern Company: Continental Duration: 05/24 to 08/24 Skills: Not Stated Deadlines: -interview: 25/11/24 + interview: 25/11/24 +__________________________________________________ +__________________________________________________ ``` + `sort -role` ``` +__________________________________________________ +__________________________________________________ +Sorted internships by role alphabetically (case-insensitive). +__________________________________________________ ID: 01 Role: Embedded Software Engineer Intern Company: Continental Duration: 05/25 to 08/25 Skills: Not Stated Deadlines: -interview: 25/11/24 + interview: 25/11/24 ID: 02 @@ -189,19 +200,25 @@ Company: Google Duration: Not Stated Skills: Not Stated Deadlines: -online assessment: 11/11/24 + online assessment: 11/11/24 +__________________________________________________ +__________________________________________________ ``` `sort -deadline` ``` +__________________________________________________ +__________________________________________________ +Sorted internships by deadline. +__________________________________________________ ID: 02 Role: Software Engineer Intern Company: Google Duration: 05/23 to 08/25 Skills: Not Stated Deadlines: -online assessment: 11/11/24 + online assessment: 11/11/24 ID: 01 Role: Embedded Software Engineer Intern @@ -209,22 +226,25 @@ Company: Continental Duration: 05/24 to 08/24 Skills: Not Stated Deadlines: -interview: 25/11/24 - + interview: 25/11/24 +__________________________________________________ +__________________________________________________ ``` + `sort -skills` ``` __________________________________________________ __________________________________________________ +Sorted internships by skills. +__________________________________________________ ID: 1 Status: Application Completed Role: Embedded Software Engineer Intern Company: Google Duration: 02/23 to 05/24 Skills: No Skills Entered Deadlines: -interview: 25/11/24 - + interview: 25/11/24 __________________________________________________ ID: 2 Status: Accepted Role: Marketing sales @@ -232,8 +252,7 @@ Company: Castify Duration: 05/23 to 05/24 Skills: No Skills Entered Deadlines: -online assessment: 11/11/24 - + online assessment: 11/11/24 __________________________________________________ __________________________________________________ ``` @@ -242,14 +261,15 @@ __________________________________________________ ``` __________________________________________________ __________________________________________________ +Sorted internships by status. +__________________________________________________ ID: 2 Status: Accepted Role: Marketing sales Company: Castify Duration: 05/23 to 05/24 Skills: No Skills Entered Deadlines: -online assessment: 11/11/24 - + online assessment: 11/11/24 __________________________________________________ ID: 1 Status: Application Completed Role: Embedded Software Engineer Intern @@ -257,8 +277,7 @@ Company: Google Duration: 02/23 to 05/24 Skills: No Skills Entered Deadlines: -interview: 25/11/24 - + interview: 25/11/24 __________________________________________________ __________________________________________________ ``` From 4ebe02cf64cfbc74f9e0f5c9d51002e17e336dd5 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sat, 2 Nov 2024 23:55:32 +0800 Subject: [PATCH 209/359] Add List Command section --- docs/UserGuide.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index af2b824107..d0fd7f50f0 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -7,6 +7,7 @@ - [Add Command: `add`](#add-command-add) - [Update Command: `update`](#update-command-update) - [Remove Command: `remove`](#remove-command-remove) + - [List Command: `list`](#list-command-list) - [Sort Command: `sort`](#sort-command-sort) - [Filter Command: `filter`](#filter-command-filter) - [Delete Command: `delete`](#delete-command-delete) @@ -235,6 +236,37 @@ __________________________________________________ ``` +## List Command: `list` + +Lists out all the Internships in the order of IDs. + +**Format:** `list` + +Example Output: + +``` +__________________________________________________ +__________________________________________________ +ID: 1 Status: Application Pending +Role: accountant +Company: XYZ +Duration: 01/01 to 01/01 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +ID: 2 Status: Application Pending +Role: engineer +Company: ABS +Duration: 01/01 to 01/01 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +__________________________________________________ +``` + + ## Sort Command: `sort` Lists out all the Internships sorted by a specified field. The default list in increasing order of their IDs. From aa50d7cd87489e445e5722a8b6dce5201984d275 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Sat, 2 Nov 2024 23:59:31 +0800 Subject: [PATCH 210/359] update 1 in DG of user stories --- docs/DeveloperGuide.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 6ae8144704..b7729bf31f 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -349,9 +349,9 @@ This product helps users streamline the process of tracking and managing their i | v1.0 | user | track the status of an internship | know what stage my application is in | | v1.0 | user | sort internships by duration | focus on internships where I need to take action | | v1.0 | user | sort internships by deadlines | prioritize internships with approaching deadlines | -| v2.0 | user | receive alerts about upcoming deadlines | ensure I don't miss important deadlines | -| v2.0 | user | sort internships by required skills | focus on internships that match my skill set | -| v2.0 | user | update the status of my internship application | keep track of my progress in the application process | +| v1.0 | user | receive alerts about upcoming deadlines | ensure I don't miss important deadlines | +| v1.0 | user | sort internships by required skills | focus on internships that match my skill set | +| v1.0 | user | update the status of my internship application | keep track of my progress in the application process | ## Non-Functional Requirements From 9057ad7cf7bb35d143dcb16ef0534c0ad3aa9d18 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 3 Nov 2024 00:01:11 +0800 Subject: [PATCH 211/359] Edit Product Description --- docs/UserGuide.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index d0fd7f50f0..6c7c3ad7fb 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -23,7 +23,7 @@ This product aims to streamline the tracking of internship applications for the **By using this tool, the user can:** -**Store Important seedu.duke.Internship Information:** Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes. +**Store Important Internship Information:** Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes. **Track Application Status:** Users can save the current status of their application (e.g., not applied, applied, interview scheduled, offer received) and update it as the application progresses. @@ -52,8 +52,6 @@ Adds a new internship entry to the list of internships currently being tracked b Each internship is assigned a unique ID, serving as the reference for functions that call specific Internship entries (e.g. `update`, `delete`). - - **Format:** `add -role {Role name} -company {Company name} -from {date} -to {date}` - `role` and `company` are compulsory flags. From 78674a5c8918fbe4716f95512458c4998d8218bc Mon Sep 17 00:00:00 2001 From: Ridiculouswifi <142128914+Ridiculouswifi@users.noreply.github.com> Date: Sun, 3 Nov 2024 00:05:51 +0800 Subject: [PATCH 212/359] Update DeveloperGuide.md --- docs/DeveloperGuide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index b7729bf31f..ff2a9bfa07 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -349,9 +349,9 @@ This product helps users streamline the process of tracking and managing their i | v1.0 | user | track the status of an internship | know what stage my application is in | | v1.0 | user | sort internships by duration | focus on internships where I need to take action | | v1.0 | user | sort internships by deadlines | prioritize internships with approaching deadlines | -| v1.0 | user | receive alerts about upcoming deadlines | ensure I don't miss important deadlines | -| v1.0 | user | sort internships by required skills | focus on internships that match my skill set | | v1.0 | user | update the status of my internship application | keep track of my progress in the application process | +| v2.0 | user | receive alerts about upcoming deadlines | ensure I don't miss important deadlines | +| v2.0 | user | sort internships by required skills | focus on internships that match my skill set | ## Non-Functional Requirements From 6e0646107c46002d116fb28f8bdbe6922c22888d Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Sun, 3 Nov 2024 13:22:16 +0800 Subject: [PATCH 213/359] added assertions to internship and internshiplist --- src/main/java/seedu/duke/Internship.java | 7 +++++++ src/main/java/seedu/duke/InternshipList.java | 11 +++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 516d7800a4..9fdef88072 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -95,6 +95,7 @@ public String getRole() { } public void setRole(String role) { + assert role != null; this.role = role; } @@ -103,6 +104,7 @@ public String getCompany() { } public void setCompany(String company) { + assert company != null; this.company = company; } public String getStartDate() { @@ -110,6 +112,7 @@ public String getStartDate() { } public void setStartDate(String start) throws DateTimeParseException { + assert start != null; this.startDate = YearMonth.parse(start, FORMATTER_MONTH_YEAR); } @@ -118,6 +121,7 @@ public String getEndDate() { } public void setEndDate(String end) throws DateTimeParseException { + assert end != null; this.endDate = YearMonth.parse(end, FORMATTER_MONTH_YEAR); } @@ -129,6 +133,8 @@ public void setEndDate(String end) throws DateTimeParseException { * @param date deadline date in MM/yy format. */ public void addDeadline(String description, String date) throws DateTimeParseException{ + assert description != null && !description.isEmpty() : "Deadline cannot be null or empty"; + deadlines.add(new Deadline(getId(), description, date)); } @@ -150,6 +156,7 @@ public void removeDeadline(String description) throws MissingValue { * Clears all deadlines when the internship is deleted. */ public void clearDeadlines() { + deadlines.clear(); } diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index b11e3751c9..d642d8f369 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -26,9 +26,16 @@ public InternshipList(ArrayList internships) { } public void addInternship(Internship internship) { + + assert internship != null : "Internship object cannot be null"; + if (internship.getId() == -1) { internship.setId(internships.size()); } + + assert internship.getId() >= 0 : "Internship ID should be non-negative after setting"; + assert internship.getId() == internships.size() : "Internship ID should match the list size before adding"; + internships.add(internship); } @@ -46,8 +53,12 @@ public boolean isWithinBounds(int index) { // Method to remove an internship by index (0-based) public void removeInternship(int index) { + assert isWithinBounds(index) : "Index is out of bounds for removal"; + if (isWithinBounds(index)) { Internship internship = internships.remove(index); + assert internship != null : "Removed internship should not be null"; + internship.clearDeadlines(); ui.showDeletedInternship(index + 1); updateIds(); // Reassign IDs after removal From f6141c8ec00ac388b83ba6f7f09208819fd814c4 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Sun, 3 Nov 2024 14:58:33 +0800 Subject: [PATCH 214/359] edited plantUML diagrams --- docs/UML/AddCommand.puml | 65 ++++++++++---------- docs/UML/DeleteCommand.puml | 19 +++--- docs/UML/DeleteCommand_Sequence_Diagram.png | Bin 33302 -> 23018 bytes docs/UML/Internship-Model_Component.png | Bin 109386 -> 104420 bytes docs/UML/Internship.puml | 1 + docs/UML/loadFromFile.png | Bin 51904 -> 46443 bytes docs/UML/loadFromFile.puml | 61 +++++++++--------- docs/UML/saveToFile.png | Bin 40918 -> 35256 bytes docs/UML/saveToFile.puml | 50 +++++++-------- 9 files changed, 100 insertions(+), 96 deletions(-) diff --git a/docs/UML/AddCommand.puml b/docs/UML/AddCommand.puml index 5d72245ac3..b5d4a5a64a 100644 --- a/docs/UML/AddCommand.puml +++ b/docs/UML/AddCommand.puml @@ -1,63 +1,64 @@ @startuml -title AddCommand Sequence Diagram +title ":AddCommand" Sequence Diagram +hide footbox -participant User -participant AddCommand -participant uiCommand -participant Internship -participant InternshipList +participant ":User" +participant ":AddCommand" +participant ":uiCommand" +participant ":Internship" +participant ":InternshipList" -User->AddCommand:execute(args) -activate AddCommand #red -AddCommand-->uiCommand:clearInvalidFlags() -activate uiCommand #green -AddCommand->AddCommand : Initialize variables +":User"->":AddCommand":execute(args) +activate ":AddCommand" #red +":AddCommand"-->":uiCommand":clearInvalidFlags() +activate ":uiCommand" #green +":AddCommand"->":AddCommand" : Initialize variables loop for each arg in args - AddCommand -> AddCommand : split arg into flag and data + ":AddCommand" -> ":AddCommand" : split arg into flag and data alt flag == "role" - AddCommand -> AddCommand: hasRole = true + ":AddCommand" -> ":AddCommand": hasRole = true alt data is present - AddCommand-> AddCommand: set role + ":AddCommand"-> ":AddCommand": set role else - AddCommand -> uiCommand: addInvalidFlag("role") + ":AddCommand" -> ":uiCommand": addInvalidFlag("role") end else flag -- "company" - AddCommand -> AddCommand: hasCompany = true + ":AddCommand" -> ":AddCommand": hasCompany = true alt data is present - AddCommand->AddCommand: set company + ":AddCommand"->":AddCommand": set company else - AddCommand->uiCommand: addInvalidFlag("company") + ":AddCommand"->":uiCommand": addInvalidFlag("company") end else flag == "from" alt data is present - AddCommand -> AddCommand: set startDate + ":AddCommand" -> ":AddCommand": set startDate else - AddCommand -> uiCommand: addInvalidFlag("from") + ":AddCommand" -> ":uiCommand": addInvalidFlag("from") end else flag == "to" alt data is present - AddCommand -> AddCommand: set endDate + ":AddCommand" -> ":AddCommand": set endDate else - AddCommand -> uiCommand: addInvalidFlag("to") + ":AddCommand" -> ":uiCommand": addInvalidFlag("to") end else - AddCommand -> uiCommand: addInvalidFlag(flag) + ":AddCommand" -> ":uiCommand": addInvalidFlag(flag) end end alt invalid flags found - AddCommand->uiCommand: printInvalidFlags() + ":AddCommand"->":uiCommand": printInvalidFlags() else all required flags present - AddCommand -> Internship: new Internship(role, company, startDate, endDate) - activate Internship #blue - AddCommand-> InternshipList: addInternship(newInternship) - activate InternshipList #aquamarine - deactivate Internship - deactivate InternshipList - AddCommand -> uiCommand: showEditedInternship(newInternship, "add") - deactivate uiCommand + ":AddCommand" -> ":Internship": new ":Internship"(role, company, startDate, endDate) + activate ":Internship" #blue + ":AddCommand"-> ":InternshipList": addInternship(newInternship) + activate ":InternshipList" #aquamarine + deactivate ":Internship" + deactivate ":InternshipList" + ":AddCommand" -> ":uiCommand": showEditedInternship(newInternship, "add") + deactivate ":uiCommand" end @enduml \ No newline at end of file diff --git a/docs/UML/DeleteCommand.puml b/docs/UML/DeleteCommand.puml index 7176666988..474d079384 100644 --- a/docs/UML/DeleteCommand.puml +++ b/docs/UML/DeleteCommand.puml @@ -1,18 +1,17 @@ @startuml title DeleteCommand Sequence Diagram +hide footbox -User -> DeleteCommand: execute(args: ArrayList) -activate DeleteCommand #red +":User" -> ":DeleteCommand": execute(args: ArrayList) +activate ":DeleteCommand" #red alt Valid ID - DeleteCommand -> DeleteCommand: parse ID from args - DeleteCommand -> InternshipList: removeInternship(index) - activate InternshipList #green - deactivate InternshipList #green + ":DeleteCommand" -> ":InternshipList": removeInternship(index) + activate ":InternshipList" #green + deactivate ":InternshipList" #green else Invalid ID - DeleteCommand -> DeleteCommand: Catch NumberFormatException - DeleteCommand -> UI: showOutput("Invalid integer, please provide a valid internship ID") - activate UI #blue - deactivate UI + ":DeleteCommand" -> ":UI": showOutput("Invalid integer, please provide a valid internship ID") + activate ":UI" #blue + deactivate ":UI" end @enduml \ No newline at end of file diff --git a/docs/UML/DeleteCommand_Sequence_Diagram.png b/docs/UML/DeleteCommand_Sequence_Diagram.png index edcf87a3110bfedb344e6c46c339e39a6e636514..cba7f3c7be2ad17074ecec6ef9f17c193b28c6c0 100644 GIT binary patch literal 23018 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 literal 33302 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 z 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
svED5dic* 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 z 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 Hu0mjfZJpr* literal 109386 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 diff --git a/docs/UML/Internship.puml b/docs/UML/Internship.puml index d459e29edd..183e164820 100644 --- a/docs/UML/Internship.puml +++ b/docs/UML/Internship.puml @@ -1,6 +1,7 @@ @startuml Title Model Component +skinparam classAttributeIconSize 0 class Internship { - int id - String role diff --git a/docs/UML/loadFromFile.png b/docs/UML/loadFromFile.png index 8dc7cffcfd43f1cd0874f5dcaafec2ec98d73f90..8b1a9688a81935aba079231e292ec77cc075e36b 100644 GIT binary patch literal 46443 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 literal 51904 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: start program -activate EasInternship #green -EasInternship->InternshipList: new InternshipList() -activate InternshipList #aquamarine -EasInternship->Storage: loadFromFile(internshipList) -activate Storage #orange -Storage->FileReader :read(file) -activate FileReader #red -FileReader-> Storage: data lines +":User"->":EasInternship": start program +activate ":EasInternship" #green +":EasInternship"->":InternshipList": new ":InternshipList"() +activate ":InternshipList" #aquamarine +":EasInternship"->":Storage": loadFromFile(internshipList) +activate ":Storage" #orange +":Storage"->":FileReader" :read(file) +activate ":FileReader" #red +":FileReader"-> ":Storage": data lines loop for each line in file - Storage-> Internship : new Internship(role, company, startDate, endDate) - activate Internship #blue - Internship->InternshipList: addInternship - Storage -> Internship :setSkills(skills) - Storage -> Internship : setStatus(status) - deactivate Internship + ":Storage"-> ":Internship" : new ":Internship"(role, company, startDate, endDate) + activate ":Internship" #blue + ":Internship"->":InternshipList": addInternship + ":Storage" -> ":Internship" :setSkills(skills) + ":Storage" -> ":Internship" : setStatus(status) + deactivate ":Internship" + + ":Storage" -> ":Storage": parseDeadlines(deadlineString, internshipId) + activate ":Storage" #orange - Storage -> Storage: parseDeadlines(deadlineString, internshipId) - activate Storage #orange - Storage -> Deadline: new Deadline (description, date) - deactivate Storage + ":Storage" -> ":Deadline": new Deadline (description, date) + activate ":Deadline" #purple + deactivate ":Deadline" + deactivate ":Storage" - Internship -> Deadline : addDeadline(deadline) + ":Internship" -> ":Deadline" : addDeadline(deadline) end -deactivate FileReader -deactivate Storage +deactivate ":FileReader" +deactivate ":Storage" @enduml diff --git a/docs/UML/saveToFile.png b/docs/UML/saveToFile.png index 96c9f59a796668eedb19d9f4540820aea33ccadd..ebd6efcc2aba6d8c8003485b5ab73438e10287ea 100644 GIT binary patch literal 35256 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 IsuuqL4-E7FVE_OC literal 40918 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 diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 3d3047d68e..c69b73e007 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -454,6 +454,40 @@ __________________________________________________ __________________________________________________ ``` +`sort -company` + +``` +__________________________________________________ +__________________________________________________ +Sorted internships by company. +__________________________________________________ +ID: 1 Status: Rejected +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: C++ +Deadlines: + online interview: 12/06/24 +__________________________________________________ +ID: 2 Status: Application Completed +Role: Customer Service Intern +Company: Google +Duration: 05/25 to 09/25 +Skills: Python SQL +Deadlines: + interview reply: 12/04/24 +__________________________________________________ +ID: 3 Status: Accepted +Role: IT support Intern +Company: Microsoft +Duration: 03/24 to 08/24 +Skills: Java +Deadlines: + certificate submit: 15/04/24 +__________________________________________________ +__________________________________________________ +``` + `sort -role in favourite` ``` diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index ce240f7138..3d0e8fa275 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -21,6 +21,7 @@ public class SortCommand extends Command { // Execute method for the SortCommand @Override public void execute(ArrayList args) { + assert internships != null : "Internships list cannot be null"; uiCommand.clearInvalidFlags(); // Check if no arguments are provided after "sort" @@ -35,34 +36,44 @@ public void execute(ArrayList args) { // Handle valid sorting options switch (sortOption) { case "role": + assert internships.getAllInternships().size() > 0 : "Internships list should not be empty when sorting by role"; internships.listInternshipsSortedByRole(); // Sort by role alphabetically (case-insensitive) break; case "duration": + assert internships.getAllInternships().stream().allMatch(internship -> internship.getStartDate() != null && internship.getEndDate() != null) : "Internships must have valid start and end dates to sort by duration"; internships.listInternshipsSortedByDuration(); // Sort by start date, then end date (year first) break; case "deadline": + assert internships.getAllInternships().stream().anyMatch(internship -> internship.getEarliestDeadline() != null) : "At least one internship must have a deadline to sort by deadline"; internships.listInternshipsSortedByDeadline(); break; case "skills": + assert internships.getAllInternships().stream().anyMatch(internship -> !internship.getSkills().isEmpty()) : "At least one internship must have skills to sort by skills"; internships.listInternshipsSortedByFirstSkill(); // Sort by first skill alphabetically break; case "status": internships.listInternshipsSortedByStatus(); // Sort by status alphabetically break; + case "company": + internships.listInternshipsSortedByCompany(); // Sort by company alphabetically + break; case "role in favourite": - internships.listFavouriteInternshipsSortedByRole(); // Sort by role alphabetically (case-insensitive) + internships.listFavouriteInternshipsSortedByRole(); // Sort favouriteInternships by role alphabetically (case-insensitive) break; case "duration in favourite": - internships.listFavouriteInternshipsSortedByDuration(); // Sort by start date, then end date (year first) + internships.listFavouriteInternshipsSortedByDuration(); // Sort favouriteInternships by start date, then end date (year first) break; case "deadline in favourite": - internships.listFavouriteInternshipsSortedByDeadline(); + internships.listFavouriteInternshipsSortedByDeadline(); // Sort favouriteInternships by the earliest deadline break; case "skills in favourite": - internships.listFavouriteInternshipsSortedByFirstSkill(); // Sort by first skill alphabetically + internships.listFavouriteInternshipsSortedByFirstSkill(); // Sort favouriteInternships by first skill alphabetically break; case "status in favourite": - internships.listFavouriteInternshipsSortedByStatus(); // Sort by status alphabetically + internships.listFavouriteInternshipsSortedByStatus(); // Sort favouriteInternships by status alphabetically + break; + case "company in favourite": + internships.listFavouriteInternshipsSortedByCompany(); // Sort favouriteInternships by company alphabetically break; default: // Handle invalid sorting options @@ -74,9 +85,9 @@ public void execute(ArrayList args) { public String getUsage() { return """ sort - Usage: sort [role | duration | deadline | skills | status | role in favourite - | duration in favourite | deadline in favourite - | skills in favourite | status in favourite ] + Usage: sort [role | duration | deadline | skills | status | company + | role in favourite | duration in favourite | deadline in favourite + | skills in favourite | status in favourite | company in favourite ] role: Sort internships alphabetically by role (case-insensitive). deadline: Sort internships by start date (year first), then end date. diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index b4f9ae1f7c..983a7fc431 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -268,6 +268,16 @@ public void listInternshipsSortedByStatus() { ui.showInternships(sortedInternships, "status"); } + /** + * Lists internships sorted by company alphabetically (case-insensitive). + */ + public void listInternshipsSortedByCompany() { + ArrayList sortedInternships = new ArrayList<>(internships); + + Collections.sort(sortedInternships, Comparator.comparing(internship -> internship.getCompany().toLowerCase())); + ui.showInternships(sortedInternships, "company"); + } + /** * List all favourite internships in sorted order by role alphabetically (case-insensitive) */ @@ -315,6 +325,15 @@ public void listFavouriteInternshipsSortedByStatus() { ui.showInternships(sortedList, "status in favourite"); } + /** + * Lists all favourite internships sorted by company alphabetically (case-insensitive). + */ + public void listFavouriteInternshipsSortedByCompany() { + ArrayList sortedList = new ArrayList<>(favouriteInternships); + Collections.sort(sortedList, Comparator.comparing(internship -> internship.getCompany().toLowerCase())); + ui.showInternships(sortedList, "company in favourite"); + } + public void listInternshipsNotSorted() { ui.showInternships(internships, "none"); diff --git a/src/main/java/seedu/ui/UiInternshipList.java b/src/main/java/seedu/ui/UiInternshipList.java index 7780d25138..7f709d0814 100644 --- a/src/main/java/seedu/ui/UiInternshipList.java +++ b/src/main/java/seedu/ui/UiInternshipList.java @@ -49,23 +49,27 @@ public String getSortField(String field) { case "role": return messageForNormalInternships + "role alphabetically (case-insensitive)."; case "duration": - return messageForNormalInternships + "start date (year first), then end date."; + return messageForNormalInternships + "duration with start date (year first), then end date."; case "deadline": return messageForNormalInternships + "deadline."; case "skills": return messageForNormalInternships + "skills."; case "status": return messageForNormalInternships + "status."; + case "company": + return messageForNormalInternships + "company."; case "role in favourite": return messageForInternshipsInFavourite + "role alphabetically (case-insensitive)."; case "duration in favourite": - return messageForInternshipsInFavourite + "start date (year first), then end date."; + return messageForInternshipsInFavourite + "duration with start date (year first), then end date."; case "deadline in favourite": return messageForInternshipsInFavourite + "deadline."; case "skills in favourite": return messageForInternshipsInFavourite + "skills."; case "status in favourite": return messageForInternshipsInFavourite + "status."; + case "company in favourite": + return messageForInternshipsInFavourite + "company."; default: // Handling invalid sorting options return "Unknown flag: " + field + "\n Use \"help\" to view valid flags."; From 3f1d3edd21cd72c17d61a297a7c1672479755c6b Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Mon, 4 Nov 2024 23:46:28 +0800 Subject: [PATCH 224/359] change some code format --- src/main/java/seedu/commands/SortCommand.java | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index 3d0e8fa275..74b91e4de4 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -36,19 +36,24 @@ public void execute(ArrayList args) { // Handle valid sorting options switch (sortOption) { case "role": - assert internships.getAllInternships().size() > 0 : "Internships list should not be empty when sorting by role"; + assert internships.getAllInternships().size() > 0 + : "Internships list should not be empty when sorting by role"; internships.listInternshipsSortedByRole(); // Sort by role alphabetically (case-insensitive) break; case "duration": - assert internships.getAllInternships().stream().allMatch(internship -> internship.getStartDate() != null && internship.getEndDate() != null) : "Internships must have valid start and end dates to sort by duration"; + assert internships.getAllInternships().stream().allMatch(internship -> internship.getStartDate() != null && + internship.getEndDate() != null) : + "Internships must have valid start and end dates to sort by duration"; internships.listInternshipsSortedByDuration(); // Sort by start date, then end date (year first) break; case "deadline": - assert internships.getAllInternships().stream().anyMatch(internship -> internship.getEarliestDeadline() != null) : "At least one internship must have a deadline to sort by deadline"; + assert internships.getAllInternships().stream().anyMatch(internship -> internship.getEarliestDeadline() != + null) : "At least one internship must have a deadline to sort by deadline"; internships.listInternshipsSortedByDeadline(); break; case "skills": - assert internships.getAllInternships().stream().anyMatch(internship -> !internship.getSkills().isEmpty()) : "At least one internship must have skills to sort by skills"; + assert internships.getAllInternships().stream().anyMatch(internship -> !internship.getSkills().isEmpty()) : + "At least one internship must have skills to sort by skills"; internships.listInternshipsSortedByFirstSkill(); // Sort by first skill alphabetically break; case "status": @@ -58,22 +63,22 @@ public void execute(ArrayList args) { internships.listInternshipsSortedByCompany(); // Sort by company alphabetically break; case "role in favourite": - internships.listFavouriteInternshipsSortedByRole(); // Sort favouriteInternships by role alphabetically (case-insensitive) - break; + internships.listFavouriteInternshipsSortedByRole(); // Sort by role in favourite alphabetically + break; // (case-insensitive) case "duration in favourite": - internships.listFavouriteInternshipsSortedByDuration(); // Sort favouriteInternships by start date, then end date (year first) - break; + internships.listFavouriteInternshipsSortedByDuration(); // Sort by duration in favourite with start date, + break; // then end date (year first) case "deadline in favourite": - internships.listFavouriteInternshipsSortedByDeadline(); // Sort favouriteInternships by the earliest deadline + internships.listFavouriteInternshipsSortedByDeadline(); // Sort by the earliest deadline in favourite break; case "skills in favourite": - internships.listFavouriteInternshipsSortedByFirstSkill(); // Sort favouriteInternships by first skill alphabetically + internships.listFavouriteInternshipsSortedByFirstSkill(); // Sort by first skill in favourite alphabetically break; case "status in favourite": - internships.listFavouriteInternshipsSortedByStatus(); // Sort favouriteInternships by status alphabetically + internships.listFavouriteInternshipsSortedByStatus(); // Sort by status in favourite alphabetically break; case "company in favourite": - internships.listFavouriteInternshipsSortedByCompany(); // Sort favouriteInternships by company alphabetically + internships.listFavouriteInternshipsSortedByCompany();// Sort by company in favourite alphabetically break; default: // Handle invalid sorting options From 8c376cca872e9c55e93693199d5c38f06e05e615 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Mon, 4 Nov 2024 23:59:56 +0800 Subject: [PATCH 225/359] remove one assertion --- src/main/java/seedu/commands/SortCommand.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index 74b91e4de4..ed7e68c029 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -47,8 +47,6 @@ public void execute(ArrayList args) { internships.listInternshipsSortedByDuration(); // Sort by start date, then end date (year first) break; case "deadline": - assert internships.getAllInternships().stream().anyMatch(internship -> internship.getEarliestDeadline() != - null) : "At least one internship must have a deadline to sort by deadline"; internships.listInternshipsSortedByDeadline(); break; case "skills": From b3c35fd38454d4d71edd12621e9fdccec363dd7d Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Tue, 5 Nov 2024 15:07:07 +0800 Subject: [PATCH 226/359] updated DG --- docs/DeveloperGuide.md | 94 ++++++++++++++++++- .../java/seedu/commands/FavouriteCommand.java | 1 + 2 files changed, 90 insertions(+), 5 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 9982cb6cb5..a158700d06 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -23,6 +23,16 @@ 8. [RemoveCommand Implementation](#removecommand-implementation) --- +## About the Product +1. [Product Scope](#Product-Scope) + 1. [Target User Profile](#Target-user-profile) + 2. [Value Proposition](#Value-proposition) +2. [User Stories](#User-Stories) +3. [Non-Functional Requirements](#Non-Functional-Requirements) +4. [Glossary](#Glossary) +5. [Instructions for Manual Testing](#Instructions-for-manual-testing) + +--- ## 1. Design ### 1.1 Architecture @@ -201,6 +211,8 @@ The `SortCommand` class is responsible for sorting the internship listings based The following sequence diagram shows how the `SortCommand` is executed: ![](UML/loadFromFile.png) + +// can remove this if not necessary? ```plaintext User -> System: sort alphabet System -> SortCommand: execute("alphabet") @@ -313,10 +325,23 @@ The `RemoveCommand` class is responsible for removing the values within fields o The following sequence diagram shows how the `RemoveCommand` is executed: ![](UML/RemoveCommand_Sequence_Diagram.png) -### Product scope +## Product scope ### Target user profile -{Describe the target user profile} +The target user profile for EasInternship includes: + +- Students or Internship Applicants who want to track and organize their internship applications across multiple companies +- Users comfortable with Command Line Interface +- Internship Applicants who want to keep track of their application deadlines +- Students who want a lightweight, distraction-free way to manage their internship application process. +- Applicants seeking to track the status of each application, from submission to interview stages. + +For example, John is a Computer Engineering Junior with the following characteristics +- Command Line Expertise: With a few years of command line usage under his belt throughout his years as a student, John is well-equipped with the technical skills necessary to use EasInternship. +- Applying for summer internships: John is regularly applying for internships in the coming summer and believes in the importance of ensuring he is on track with all his applications. +- Juggling Tight Schedule: As someone with many different tasks on hand, John needs his information readily available. + +These traits make John a suitable candidate to use EasInternship. ### Value proposition @@ -351,12 +376,71 @@ This product helps users streamline the process of tracking and managing their i ## Non-Functional Requirements -{Give non-functional requirements} +1. Usability: The command-line interface should be intuitive and easy to use, even for non-technical users. +2. Reliability: The application should not lose any user data during normal operation or unexpected shutdowns. +3. Compatibility: The application should run on common operating systems (Windows, macOS, Linux). +4. Maintainability: The code should be well-documented and follow clean code principles for easy future enhancements. +5. Portability: User data should be easily exportable and importable for backup purposes or switching devices. +6. Performance: The application should respond to all user commands without negatively noticable delay. +7. Scalability: The application should handle an extensive number of internship entries (e.g., 100+ entries) without a noticeable decrease in performance. +8. Data Persistence: All data should be automatically saved to a file, allowing users to resume their progress upon reopening the application. + ## Glossary -* *glossary item* - Definition +* *Internship* - The position of a student or trainee who works in an organisation, with associated role, company, duration and deadline information. +* *InternshipList* - A collection of Internships added by the user. +* *Deadline* - The date which an event is schedule for. +* *Parser* - The component responsible for interpreting user commands and executing the appropriate actions. +* *Storage* - The component responsible for saving and loading the user's data to and from a file. ## Instructions for manual testing -{Give instructions on how to do a manual product testing e.g., how to load sample data to be used for testing} +1. **Installation and Setup:** + - Ensure Java Runtime Environment (JRE) is installed on your system. + - Download the EasInternship application JAR file. + - Open a terminal or command prompt and navigate to the directory containing the JAR file. + + +2. **Running the Application:** + - Execute the command: java -jar EasInternship.jar + - Verify that the application starts and displays a welcome message. + + +3. **Testing Basic Commands:** + - Enter the `help` command and verify that usage instructions are displayed. + - Test the `exit` command to ensure the application exits properly. + + +4. **Adding an Internship:** + - Enter the command `add -role {role name} -company {company name}` eg. `add -role Software Engineer Intern -company Google` + - Verify that the internship has been added successfully. + + +5. **Updating an Internship:** + - Enter the command `update {ID} {-field} {updated information}` eg. `update 1 -skills python, java`. + - Verify that the internship has been updated successfully. + +// rahul fill up pls +6. **Adding an Internship to favourites:** + - Enter the command `mark {ID}` eg + + +7. **Displaying InternshipList** + - Enter the command `list` to show the most updated `InternshipList`. + + +8. **Sorting the InternshipList** + - Enter the command `sort {field}` eg. `sort deadline`. + - Verify that the list displayed is sorted according to the entered field. + + +9. **Filtering the InternshipList** + - Enter the command `filter {field} {field data}` eg. `filter -company Google`. + - Verify that the filtered list all contain the specified field data. + + +10. Removing an Internship + - Enter the command `delete {ID}` eg. `delete 1` + - Verify that the internship has been deleted successfully. + - Enter `list` to verify the `Internship` is no longer in the `InternshipList`. diff --git a/src/main/java/seedu/commands/FavouriteCommand.java b/src/main/java/seedu/commands/FavouriteCommand.java index 621ca93338..79191b81e5 100644 --- a/src/main/java/seedu/commands/FavouriteCommand.java +++ b/src/main/java/seedu/commands/FavouriteCommand.java @@ -45,6 +45,7 @@ public void execute(ArrayList args) { functionComplete = true; } + // rahul can change here also @Override public String getUsage() { return """ From f83c8da605f1f4916933f6b264d4230ebfbd9777 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Tue, 5 Nov 2024 21:39:32 +0800 Subject: [PATCH 227/359] updated Storage to deal with manual edits of .txt file --- docs/DeveloperGuide.md | 11 +++---- src/main/java/seedu/duke/Storage.java | 43 +++++++++++++++++++++++---- 2 files changed, 43 insertions(+), 11 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index a158700d06..191b63bcdc 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -47,7 +47,7 @@ The architecture of EasInternship is designed to follow the MVC (Model-View-Cont The `EasInternship` class serves as the entry point of the application. It manages the application's main loop, where the user is continually prompted for input, and commands are processed in response. The class is responsible for initializing the UI, loading saved data, and handling user input until the user chooses to exit the program. -### Key Responsibilities +#### Key Responsibilities - **Initialization**: Initializes the necessary components for the application, such as the `Ui`, `InternshipList`, and `Parser` classes. It also loads any saved data from the storage into the `InternshipList`. - **Main Loop**: Continuously prompts the user for input. The input is parsed by the `Parser`, and the corresponding `Command` is executed. If the user enters the exit command, the loop terminates. @@ -390,7 +390,7 @@ This product helps users streamline the process of tracking and managing their i * *Internship* - The position of a student or trainee who works in an organisation, with associated role, company, duration and deadline information. * *InternshipList* - A collection of Internships added by the user. -* *Deadline* - The date which an event is schedule for. +* *Deadline* - The date which an event is scheduled for. * *Parser* - The component responsible for interpreting user commands and executing the appropriate actions. * *Storage* - The component responsible for saving and loading the user's data to and from a file. @@ -398,6 +398,7 @@ This product helps users streamline the process of tracking and managing their i 1. **Installation and Setup:** - Ensure Java Runtime Environment (JRE) is installed on your system. + - Ensure Java Version 17.0. Run `java -version` in a terminal to verify. - Download the EasInternship application JAR file. - Open a terminal or command prompt and navigate to the directory containing the JAR file. @@ -418,7 +419,7 @@ This product helps users streamline the process of tracking and managing their i 5. **Updating an Internship:** - - Enter the command `update {ID} {-field} {updated information}` eg. `update 1 -skills python, java`. + - Enter the command `update {ID} {-field} {updated information}` eg. `update 1 -skills python`. - Verify that the internship has been updated successfully. // rahul fill up pls @@ -431,12 +432,12 @@ This product helps users streamline the process of tracking and managing their i 8. **Sorting the InternshipList** - - Enter the command `sort {field}` eg. `sort deadline`. + - Enter the command `sort {-field}` eg. `sort deadline`. - Verify that the list displayed is sorted according to the entered field. 9. **Filtering the InternshipList** - - Enter the command `filter {field} {field data}` eg. `filter -company Google`. + - Enter the command `filter {-field} {field data}` eg. `filter -company Google`. - Verify that the filtered list all contain the specified field data. diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index 4847e0b8a0..69cabd05c4 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -86,6 +86,12 @@ public static void loadFromFile(InternshipList internshipList) { try (BufferedReader reader = new BufferedReader(new FileReader(file))) { String line; while ((line = reader.readLine()) != null) { + if (!isValidFormat(line)) { + System.out.println("Invalid file format detected. Resetting file..."); + resetFile(); + return; + } + if (!(line.startsWith("FAVOURITES:"))) { String[] data = line.split(" \\| "); String role = data[1]; @@ -108,19 +114,44 @@ public static void loadFromFile(InternshipList internshipList) { } // Parse favourite internships - String[] parts = line.substring("FAVOURITES:".length()).trim().split(" "); - for (String id : parts) { - int favInternshipId = Integer.parseInt(id); - int favInternshipIndex = favInternshipId - 1; - Internship favInternship = internshipList.internships.get(favInternshipIndex); - internshipList.favouriteInternships.add(favInternship); + if (!internshipList.favouriteInternships.isEmpty()) { + String[] parts = line.substring("FAVOURITES:".length()).trim().split(" "); + for (String id : parts) { + int favInternshipId = Integer.parseInt(id); + int favInternshipIndex = favInternshipId - 1; + Internship favInternship = internshipList.internships.get(favInternshipIndex); + internshipList.favouriteInternships.add(favInternship); + } } + } } catch (IOException e) { System.out.println("Error while loading tasks: " + e.getMessage()); } } + private static boolean isValidFormat(String line) { + if (line.startsWith("FAVOURITES:")) { + return line.matches("FAVOURITES:( \\d+)*"); + } + return line.matches( + "\\d+ \\| [^|]+ \\| [^|]" + + "+ \\| \\d{2}/\\d{2}/\\d{4} \\| \\d{2}/\\d{2}/\\d{4} \\| [^|]" + + "+ \\| [^|]+ \\| .*"); + } + + private static void resetFile() { + File file = new File(FILE_PATH); + if (file.delete()) { + try { + file.createNewFile(); + } catch (IOException e) { + System.out.println("Error while creating new file: " + e.getMessage()); + } + } + } + + private static List parseDeadlines(String deadlineString, int internshipId) { List deadlines = new ArrayList<>(); From fd5db625cb0e46d93339224788313f022165b759 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Tue, 5 Nov 2024 21:40:54 +0800 Subject: [PATCH 228/359] minor bugfixes to DG --- docs/DeveloperGuide.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 8497976144..b4b720eddb 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -47,7 +47,7 @@ The architecture of EasInternship is designed to follow the MVC (Model-View-Cont The `EasInternship` class serves as the entry point of the application. It manages the application's main loop, where the user is continually prompted for input, and commands are processed in response. The class is responsible for initializing the UI, loading saved data, and handling user input until the user chooses to exit the program. -### Key Responsibilities +#### Key Responsibilities - **Initialization**: Initializes the necessary components for the application, such as the `Ui`, `InternshipList`, and `Parser` classes. It also loads any saved data from the storage into the `InternshipList`. - **Main Loop**: Continuously prompts the user for input. The input is parsed by the `Parser`, and the corresponding `Command` is executed. If the user enters the exit command, the loop terminates. @@ -397,7 +397,7 @@ This product helps users streamline the process of tracking and managing their i * *Internship* - The position of a student or trainee who works in an organisation, with associated role, company, duration and deadline information. * *InternshipList* - A collection of Internships added by the user. -* *Deadline* - The date which an event is schedule for. +* *Deadline* - The date which an event is scheduled for. * *Parser* - The component responsible for interpreting user commands and executing the appropriate actions. * *Storage* - The component responsible for saving and loading the user's data to and from a file. @@ -405,6 +405,7 @@ This product helps users streamline the process of tracking and managing their i 1. **Installation and Setup:** - Ensure Java Runtime Environment (JRE) is installed on your system. + - Ensure Java Version 17.0. Run `java -version` in a terminal to verify. - Download the EasInternship application JAR file. - Open a terminal or command prompt and navigate to the directory containing the JAR file. @@ -425,7 +426,7 @@ This product helps users streamline the process of tracking and managing their i 5. **Updating an Internship:** - - Enter the command `update {ID} {-field} {updated information}` eg. `update 1 -skills python, java`. + - Enter the command `update {ID} {-field} {updated information}` eg. `update 1 -skills python`. - Verify that the internship has been updated successfully. // rahul fill up pls @@ -438,12 +439,12 @@ This product helps users streamline the process of tracking and managing their i 8. **Sorting the InternshipList** - - Enter the command `sort {field}` eg. `sort deadline`. + - Enter the command `sort {-field}` eg. `sort deadline`. - Verify that the list displayed is sorted according to the entered field. 9. **Filtering the InternshipList** - - Enter the command `filter {field} {field data}` eg. `filter -company Google`. + - Enter the command `filter {-field} {field data}` eg. `filter -company Google`. - Verify that the filtered list all contain the specified field data. From 24d604056ce28a3442e81af25b453642edc0851d Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 6 Nov 2024 09:42:05 +0800 Subject: [PATCH 229/359] Add assertions to UpdateCommand --- src/main/java/seedu/commands/UpdateCommand.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index 052235e174..393ea706b8 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -14,6 +14,8 @@ public class UpdateCommand extends Command { @Override public void execute(ArrayList args) { try { + assert !args.get(0).startsWith("update") : "Parser should have removed the command"; + int internshipId = Integer.parseInt(args.get(0)); int internshipIndex = internshipId - 1; if (!internships.isWithinBounds(internshipIndex)) { From 6ac0dc40bff3dfd57a521b159bfb81af58617d8d Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Wed, 6 Nov 2024 09:56:15 +0800 Subject: [PATCH 230/359] Add assertion to updateStatus method --- src/main/java/seedu/duke/Internship.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 5ac1c702d9..f8ef39aade 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -64,6 +64,8 @@ public Internship(String role, String company, String start, String end) { * @param userStatus user-inputted status. */ public void updateStatus(String userStatus) throws InvalidStatus { + assert !userStatus.isEmpty() : "Status cannot be empty"; + List statuses = Arrays.asList("Application Pending", "Application Completed", "Accepted", "Rejected"); for (String status : statuses) { if (status.equalsIgnoreCase(userStatus)) { @@ -181,13 +183,11 @@ public void updateDeadline(String value) throws InvalidDeadline { String[] words = value.split(" "); String description = ""; String date = ""; - boolean hasFoundDate = false; for (String word : words) { String trimmedWord = word.trim(); if (isValidDate(trimmedWord)) { date = trimmedWord; - hasFoundDate = true; } else { description += trimmedWord + " "; } From 7cedb607ffbb1fae8446ad8bbb3e3f89c190ba4a Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Wed, 6 Nov 2024 12:13:06 +0800 Subject: [PATCH 231/359] updated Storage to skip over corrupted lines instead of deleting the entire file. also takes in blank field for skills. --- src/main/java/seedu/duke/Storage.java | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index 69cabd05c4..b662ebff25 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -87,9 +87,8 @@ public static void loadFromFile(InternshipList internshipList) { String line; while ((line = reader.readLine()) != null) { if (!isValidFormat(line)) { - System.out.println("Invalid file format detected. Resetting file..."); - resetFile(); - return; + System.out.println("Skipping invalid line in file: " + line); + continue; // Skip the invalid line instead of throwing an error } if (!(line.startsWith("FAVOURITES:"))) { @@ -136,20 +135,11 @@ private static boolean isValidFormat(String line) { } return line.matches( "\\d+ \\| [^|]+ \\| [^|]" - + "+ \\| \\d{2}/\\d{2}/\\d{4} \\| \\d{2}/\\d{2}/\\d{4} \\| [^|]" - + "+ \\| [^|]+ \\| .*"); + + "+ \\| \\d{2}/\\d{2} \\| \\d{2}/\\d{2} " + + "\\| ([^|]*) \\| [^|]+ \\| .*" + ); } - private static void resetFile() { - File file = new File(FILE_PATH); - if (file.delete()) { - try { - file.createNewFile(); - } catch (IOException e) { - System.out.println("Error while creating new file: " + e.getMessage()); - } - } - } From d86dc1577ae497d38a3306d42e6a7f31d085c0c0 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Thu, 7 Nov 2024 13:09:13 +0800 Subject: [PATCH 232/359] removed bugged assertion --- src/main/java/seedu/duke/InternshipList.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index b685a7dfc9..ec156f7204 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -52,7 +52,6 @@ public boolean isWithinBounds(int index) { // Method to remove an internship by index (0-based) public void removeInternship(int index) { - assert isWithinBounds(index) : "Index is out of bounds for removal"; if (isWithinBounds(index)) { Internship internship = internships.remove(index); From db1ed277c11b8a19ab360c09fe2985feed577c2e Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Thu, 7 Nov 2024 14:01:04 +0800 Subject: [PATCH 233/359] Fix bugs 1. Favourite internships not being loaded 2. Add command displaying invalid fields from previous prompt 3. Structure happy paths in InternshipList --- src/main/java/seedu/commands/AddCommand.java | 2 ++ src/main/java/seedu/duke/InternshipList.java | 14 +++++++------- src/main/java/seedu/duke/Storage.java | 18 ++++++++++-------- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/main/java/seedu/commands/AddCommand.java b/src/main/java/seedu/commands/AddCommand.java index c846d13aea..2ddb81ce3d 100644 --- a/src/main/java/seedu/commands/AddCommand.java +++ b/src/main/java/seedu/commands/AddCommand.java @@ -16,6 +16,8 @@ public void execute(ArrayList args) { boolean hasCompany = false; uiCommand.clearInvalidFlags(); + uiCommand.clearUpdatedFields(); + uiCommand.clearInvalidFields(); for (String arg : args) { String[] words = arg.split(" ", 2); String flag = words[0]; diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 983a7fc431..bc560c7ac3 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -46,11 +46,11 @@ public void addInternship(Internship internship) { * Returns whether the index given is within the boundaries of the list. */ public boolean isWithinBounds(int index) { - if (index >= 0 && index < internships.size()) { - return true; + if (index < 0 || index > internships.size()) { + ui.showInvalidIndex(); + return false; } - ui.showInvalidIndex(); - return false; + return true; } // Method to remove an internship by index (0-based) @@ -76,10 +76,10 @@ private void updateIds() { // Method to get an internship by index public Internship getInternship(int index) { - if (isWithinBounds(index)) { - return internships.get(index); + if (!isWithinBounds(index)) { + return null; } - return null; + return internships.get(index); } //@@author Ridiculouswifi diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index b662ebff25..8e03e5ab49 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -113,16 +113,18 @@ public static void loadFromFile(InternshipList internshipList) { } // Parse favourite internships - if (!internshipList.favouriteInternships.isEmpty()) { - String[] parts = line.substring("FAVOURITES:".length()).trim().split(" "); - for (String id : parts) { - int favInternshipId = Integer.parseInt(id); - int favInternshipIndex = favInternshipId - 1; - Internship favInternship = internshipList.internships.get(favInternshipIndex); - internshipList.favouriteInternships.add(favInternship); - } + String favouritesString = line.substring("FAVOURITES:".length()); + if (favouritesString.isBlank()) { + return; } + String[] parts = favouritesString.trim().split(" ", -1); + for (String id : parts) { + int favInternshipId = Integer.parseInt(id); + int favInternshipIndex = favInternshipId - 1; + Internship favInternship = internshipList.internships.get(favInternshipIndex); + internshipList.favouriteInternships.add(favInternship); + } } } catch (IOException e) { System.out.println("Error while loading tasks: " + e.getMessage()); From b4684eecc31e54ad8da69dce60252a53a8e0c7a0 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Thu, 7 Nov 2024 14:01:31 +0800 Subject: [PATCH 234/359] Delete Duke placeholder file --- src/main/java/seedu/duke/Duke.java | 30 ------------------------------ 1 file changed, 30 deletions(-) delete mode 100644 src/main/java/seedu/duke/Duke.java diff --git a/src/main/java/seedu/duke/Duke.java b/src/main/java/seedu/duke/Duke.java deleted file mode 100644 index 233a614f2c..0000000000 --- a/src/main/java/seedu/duke/Duke.java +++ /dev/null @@ -1,30 +0,0 @@ -package seedu.duke; - -import java.util.Scanner; - -/** - * The EasInternship class contains the main method which is the entry point for the application. - * It manages the application's main loop, where user input is read, commands are parsed, - * and the task list is displayed and updated accordingly. - */ -public class Duke { - /** - * The main method initializes the UI, loads tasks from the storage, and continuously - * prompts the user for commands to update and manipulate the task list until an - * exit command is given. - * - * @param args Command-line arguments (not used in this application) - */ - public static void main(String[] args) { - String logo = " ____ _ \n" - + "| _ \\ _ _| | _____ \n" - + "| | | | | | | |/ / _ \\\n" - + "| |_| | |_| | < __/\n" - + "|____/ \\__,_|_|\\_\\___|\n"; - System.out.println("Hello from\n" + logo); - System.out.println("What is your name?"); - - Scanner in = new Scanner(System.in); - System.out.println("Hello " + in.nextLine()); - } -} From 760aa1ed9b5292113e6b558c05ef958d326b6c7f Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Thu, 7 Nov 2024 16:03:46 +0800 Subject: [PATCH 235/359] Set up simple logging system --- src/main/java/seedu/duke/BotLogger.java | 28 +++++++++++++++++++++ src/main/java/seedu/duke/EasInternship.java | 27 ++++++++++++++++++++ src/main/java/seedu/duke/Parser.java | 6 +++++ 3 files changed, 61 insertions(+) create mode 100644 src/main/java/seedu/duke/BotLogger.java diff --git a/src/main/java/seedu/duke/BotLogger.java b/src/main/java/seedu/duke/BotLogger.java new file mode 100644 index 0000000000..171902b0fb --- /dev/null +++ b/src/main/java/seedu/duke/BotLogger.java @@ -0,0 +1,28 @@ +package seedu.duke; + +import java.util.logging.Logger; + +public class BotLogger extends Logger { + static Logger logger = Logger.getLogger(BotLogger.class.getName()); + + /** + * Protected method to construct a logger for a named subsystem. + *

+ * The logger will be initially configured with a null Level + * and with useParentHandlers set to true. + * + * @param name A name for the logger. This should + * be a dot-separated name and should normally + * be based on the package name or class name + * of the subsystem, such as java.net + * or javax.swing. It may be null for anonymous Loggers. + * @param resourceBundleName name of ResourceBundle to be used for localizing + * messages for this logger. May be null if none + * of the messages require localization. + * @throws MissingResourceException if the resourceBundleName is non-null and + * no corresponding resource can be found. + */ + protected BotLogger(String name, String resourceBundleName) { + super(name, resourceBundleName); + } +} diff --git a/src/main/java/seedu/duke/EasInternship.java b/src/main/java/seedu/duke/EasInternship.java index f2a63b648d..7ca70ad411 100644 --- a/src/main/java/seedu/duke/EasInternship.java +++ b/src/main/java/seedu/duke/EasInternship.java @@ -5,6 +5,11 @@ import java.util.ArrayList; +import java.util.logging.Logger; +import java.util.logging.Level; +import java.util.logging.FileHandler; +import java.util.logging.SimpleFormatter; + //@@author Toby-Yu /** * The EasInternship class contains the main method which is the entry point for the application. @@ -24,7 +29,12 @@ public static void main(String[] args) { Storage.loadFromFile(internshipList); Parser parser = new Parser(); + setUpLogger(); + + Logger logger = Logger.getLogger("TestLogger"); + ui.showWelcome(); + logger.log(Level.INFO, "Starting Program"); // Main loop boolean isExit = false; @@ -40,6 +50,7 @@ public static void main(String[] args) { continue; } + logger.log(Level.INFO, "Handling Command"); Command command = parser.parseCommand(input); if (command == null) { @@ -59,5 +70,21 @@ public static void main(String[] args) { ui.showErrorCommand(e.getMessage()); } } + + logger.log(Level.INFO, "Ending Program"); + } + + //@@author Ridiculouswifi + protected static void setUpLogger() { + Logger logger = Logger.getLogger("TestLogger"); + logger.setUseParentHandlers(false); + + try { + FileHandler fileHandler = new FileHandler("./data/EasInternshipLogs.txt"); + fileHandler.setFormatter(new SimpleFormatter()); + logger.addHandler(fileHandler); + } catch (Exception e) { + logger.log(Level.SEVERE, e.getMessage()); + } } } diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index ff6ea92cc5..8800ee000c 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -19,11 +19,15 @@ import java.util.Arrays; import java.util.ArrayList; import java.util.function.Supplier; +import java.util.logging.Level; +import java.util.logging.Logger; public class Parser { private static final Ui ui = new Ui(); private final Map> commands = new HashMap<>(); + private static final Logger logger = Logger.getLogger("TestLogger"); + public Parser() { // Initialize command map initializeCommands(); @@ -56,10 +60,12 @@ public Command parseCommand(String input) { if (!commands.containsKey(inputCommand)) { ui.showUnknownCommand(inputCommand); + logger.log(Level.WARNING, "Invalid Command: " + inputCommand); return null; } Supplier commandSupplier = commands.get(inputCommand); + logger.log(Level.INFO, "Command Parsed: " + inputCommand); return commandSupplier.get(); } From 1ecb99730718bf598ffe6425f5a3a19113cd910b Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Thu, 7 Nov 2024 16:06:00 +0800 Subject: [PATCH 236/359] Refactor with proper variable names --- src/main/java/seedu/duke/EasInternship.java | 4 ++-- src/main/java/seedu/duke/Parser.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/seedu/duke/EasInternship.java b/src/main/java/seedu/duke/EasInternship.java index 7ca70ad411..cd6d42b973 100644 --- a/src/main/java/seedu/duke/EasInternship.java +++ b/src/main/java/seedu/duke/EasInternship.java @@ -31,7 +31,7 @@ public static void main(String[] args) { setUpLogger(); - Logger logger = Logger.getLogger("TestLogger"); + Logger logger = Logger.getLogger("EasInternship"); ui.showWelcome(); logger.log(Level.INFO, "Starting Program"); @@ -76,7 +76,7 @@ public static void main(String[] args) { //@@author Ridiculouswifi protected static void setUpLogger() { - Logger logger = Logger.getLogger("TestLogger"); + Logger logger = Logger.getLogger("EasInternship"); logger.setUseParentHandlers(false); try { diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index 8800ee000c..2714ea24c0 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -26,7 +26,7 @@ public class Parser { private static final Ui ui = new Ui(); private final Map> commands = new HashMap<>(); - private static final Logger logger = Logger.getLogger("TestLogger"); + private static final Logger logger = Logger.getLogger("EasInternship"); public Parser() { // Initialize command map From 4b78b3c3aa0e1fbe6cbe6489df6b5da8693614f5 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Thu, 7 Nov 2024 16:08:34 +0800 Subject: [PATCH 237/359] Fix checkstyle errors --- src/main/java/seedu/duke/Parser.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index 2714ea24c0..cab5b413f7 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -24,10 +24,10 @@ public class Parser { private static final Ui ui = new Ui(); - private final Map> commands = new HashMap<>(); - private static final Logger logger = Logger.getLogger("EasInternship"); + private final Map> commands = new HashMap<>(); + public Parser() { // Initialize command map initializeCommands(); From 8f686a25a06ebcb5b57a08c0fec99c66ae823f4d Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Thu, 7 Nov 2024 16:16:22 +0800 Subject: [PATCH 238/359] Add logging to StorageClass --- src/main/java/seedu/duke/EasInternship.java | 10 +++++----- src/main/java/seedu/duke/Storage.java | 9 +++++++++ 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/main/java/seedu/duke/EasInternship.java b/src/main/java/seedu/duke/EasInternship.java index cd6d42b973..fc63383be9 100644 --- a/src/main/java/seedu/duke/EasInternship.java +++ b/src/main/java/seedu/duke/EasInternship.java @@ -24,17 +24,17 @@ public class EasInternship { * @param args Command-line arguments (not used in this application) */ public static void main(String[] args) { + setUpLogger(); + Logger logger = Logger.getLogger("EasInternship"); + + logger.log(Level.INFO, "Starting Program"); + Ui ui = new Ui(); InternshipList internshipList = new InternshipList(); Storage.loadFromFile(internshipList); Parser parser = new Parser(); - setUpLogger(); - - Logger logger = Logger.getLogger("EasInternship"); - ui.showWelcome(); - logger.log(Level.INFO, "Starting Program"); // Main loop boolean isExit = false; diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index b662ebff25..00494e585d 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -7,6 +7,8 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; /** * Handles the saving and loading of internships from a file. @@ -15,6 +17,7 @@ public class Storage { //define filepath private static final String FILE_PATH = "./data/EasInternship.txt"; + private static final Logger logger = Logger.getLogger("EasInternship"); /** @@ -28,6 +31,7 @@ public static void saveToFile(InternshipList internshipList) { //create directory if file does not exist if (!dir.exists()) { dir.mkdirs(); + logger.log(Level.INFO, "Directory created"); } FileWriter writer = new FileWriter(FILE_PATH); List internships = internshipList.getAllInternships(); @@ -66,10 +70,12 @@ public static void saveToFile(InternshipList internshipList) { writer.write(" " + favInternship.getId()); } writer.write("\n"); + logger.log(Level.INFO, "Data saved"); writer.close(); } catch (IOException e) { System.out.println("Error while saving tasks: " + e.getMessage()); + logger.log(Level.WARNING, "Error while saving tasks", e); } } @@ -81,6 +87,7 @@ public static void loadFromFile(InternshipList internshipList) { File file = new File(FILE_PATH); if (!file.exists()) { System.out.println("No data file found."); + logger.log(Level.INFO, "No data file found."); return; } try (BufferedReader reader = new BufferedReader(new FileReader(file))) { @@ -124,8 +131,10 @@ public static void loadFromFile(InternshipList internshipList) { } } + logger.log(Level.INFO, "Data loaded"); } catch (IOException e) { System.out.println("Error while loading tasks: " + e.getMessage()); + logger.log(Level.WARNING, "Error while loading tasks", e); } } From 329937a14528e54ddc3322c95aa5d65bfbbdfebd Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Thu, 7 Nov 2024 16:18:01 +0800 Subject: [PATCH 239/359] Remove unnecessary BotLogger class --- src/main/java/seedu/duke/BotLogger.java | 28 ------------------------- 1 file changed, 28 deletions(-) delete mode 100644 src/main/java/seedu/duke/BotLogger.java diff --git a/src/main/java/seedu/duke/BotLogger.java b/src/main/java/seedu/duke/BotLogger.java deleted file mode 100644 index 171902b0fb..0000000000 --- a/src/main/java/seedu/duke/BotLogger.java +++ /dev/null @@ -1,28 +0,0 @@ -package seedu.duke; - -import java.util.logging.Logger; - -public class BotLogger extends Logger { - static Logger logger = Logger.getLogger(BotLogger.class.getName()); - - /** - * Protected method to construct a logger for a named subsystem. - *

- * The logger will be initially configured with a null Level - * and with useParentHandlers set to true. - * - * @param name A name for the logger. This should - * be a dot-separated name and should normally - * be based on the package name or class name - * of the subsystem, such as java.net - * or javax.swing. It may be null for anonymous Loggers. - * @param resourceBundleName name of ResourceBundle to be used for localizing - * messages for this logger. May be null if none - * of the messages require localization. - * @throws MissingResourceException if the resourceBundleName is non-null and - * no corresponding resource can be found. - */ - protected BotLogger(String name, String resourceBundleName) { - super(name, resourceBundleName); - } -} From 62bb1f2d35ab8df8ef04e8d889cf5c33bca776a2 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Thu, 7 Nov 2024 16:38:03 +0800 Subject: [PATCH 240/359] Remove Duke Class --- src/main/java/seedu/duke/Duke.java | 30 ------------------------------ 1 file changed, 30 deletions(-) delete mode 100644 src/main/java/seedu/duke/Duke.java diff --git a/src/main/java/seedu/duke/Duke.java b/src/main/java/seedu/duke/Duke.java deleted file mode 100644 index 233a614f2c..0000000000 --- a/src/main/java/seedu/duke/Duke.java +++ /dev/null @@ -1,30 +0,0 @@ -package seedu.duke; - -import java.util.Scanner; - -/** - * The EasInternship class contains the main method which is the entry point for the application. - * It manages the application's main loop, where user input is read, commands are parsed, - * and the task list is displayed and updated accordingly. - */ -public class Duke { - /** - * The main method initializes the UI, loads tasks from the storage, and continuously - * prompts the user for commands to update and manipulate the task list until an - * exit command is given. - * - * @param args Command-line arguments (not used in this application) - */ - public static void main(String[] args) { - String logo = " ____ _ \n" - + "| _ \\ _ _| | _____ \n" - + "| | | | | | | |/ / _ \\\n" - + "| |_| | |_| | < __/\n" - + "|____/ \\__,_|_|\\_\\___|\n"; - System.out.println("Hello from\n" + logo); - System.out.println("What is your name?"); - - Scanner in = new Scanner(System.in); - System.out.println("Hello " + in.nextLine()); - } -} From 9f47e01313105322ff7044fd7a249bc37b5ddbe1 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Thu, 7 Nov 2024 16:56:59 +0800 Subject: [PATCH 241/359] Set up to accept folder without Duke class --- build.gradle | 2 +- text-ui-test/EXPECTED.TXT | 25 ++++++++++++++++--------- text-ui-test/input.txt | 2 +- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/build.gradle b/build.gradle index 9b00c6e5d0..a9b8a7c623 100644 --- a/build.gradle +++ b/build.gradle @@ -29,7 +29,7 @@ test { } application { - mainClass.set("seedu.duke.Duke") + mainClass.set("seedu.duke.EasInternship") } shadowJar { diff --git a/text-ui-test/EXPECTED.TXT b/text-ui-test/EXPECTED.TXT index 892cb6cae7..120ceea18f 100644 --- a/text-ui-test/EXPECTED.TXT +++ b/text-ui-test/EXPECTED.TXT @@ -1,9 +1,16 @@ -Hello from - ____ _ -| _ \ _ _| | _____ -| | | | | | | |/ / _ \ -| |_| | |_| | < __/ -|____/ \__,_|_|\_\___| - -What is your name? -Hello James Gosling +No data file found. +__________________________________________________ +__________________________________________________ +Hello! Welcome to EasInternship! +Ready to rock some internships?? :) +__________________________________________________ +__________________________________________________ + + +Enter command: __________________________________________________ +__________________________________________________ +Peace out! Have fun at the internship. +__________________________________________________ +__________________________________________________ + + diff --git a/text-ui-test/input.txt b/text-ui-test/input.txt index f6ec2e9f95..ae3bc0a936 100644 --- a/text-ui-test/input.txt +++ b/text-ui-test/input.txt @@ -1 +1 @@ -James Gosling \ No newline at end of file +exit \ No newline at end of file From c6129a5f8ae6a7cecc8e18b06d2548d3db6a1173 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Thu, 7 Nov 2024 17:07:24 +0800 Subject: [PATCH 242/359] Clean up code Convert invalid integer messages to exceptions Remove tests which cannot be performed from the user end --- .../java/seedu/commands/DeleteCommand.java | 4 + .../java/seedu/commands/FavouriteCommand.java | 19 +-- .../java/seedu/commands/RemoveCommand.java | 2 +- .../java/seedu/commands/UpdateCommand.java | 8 +- src/main/java/seedu/duke/InternshipList.java | 136 +++++++++--------- .../java/seedu/exceptions/InvalidIndex.java | 7 +- src/main/java/seedu/ui/UiInternshipList.java | 8 -- .../seedu/commands/FavouriteCommandTest.java | 12 +- .../java/seedu/duke/InternshipListTest.java | 18 --- 9 files changed, 96 insertions(+), 118 deletions(-) diff --git a/src/main/java/seedu/commands/DeleteCommand.java b/src/main/java/seedu/commands/DeleteCommand.java index c267cf0c7a..d29f644808 100644 --- a/src/main/java/seedu/commands/DeleteCommand.java +++ b/src/main/java/seedu/commands/DeleteCommand.java @@ -1,5 +1,7 @@ package seedu.commands; +import seedu.exceptions.InvalidIndex; + import java.util.ArrayList; //@@author jadenlimjc public class DeleteCommand extends Command { @@ -11,6 +13,8 @@ public void execute (ArrayList args) { internships.removeInternship(index); } catch (NumberFormatException e) { uiCommand.showOutput("Invalid integer, please provide a valid internship ID"); + } catch (InvalidIndex ie) { + uiCommand.showOutput(ie.getMessage()); } } diff --git a/src/main/java/seedu/commands/FavouriteCommand.java b/src/main/java/seedu/commands/FavouriteCommand.java index 79191b81e5..5f659bb96b 100644 --- a/src/main/java/seedu/commands/FavouriteCommand.java +++ b/src/main/java/seedu/commands/FavouriteCommand.java @@ -10,6 +10,7 @@ public class FavouriteCommand extends Command { @Override public void execute(ArrayList args) { + for (String arg : args) { try { int internshipId = Integer.parseInt(arg); @@ -17,32 +18,22 @@ public void execute(ArrayList args) { Internship internship = internships.getInternship(internshipIndex); ArrayList favouriteInternships = internships.favouriteInternships; if (internship == null) { - throw new InvalidIndex(); + continue; } if (favouriteInternships.contains(internship)) { continue; } - functionComplete = true; favouriteInternships.add(internship); } catch (NumberFormatException e) { - uiCommand.showOutput("Invalid integer, please provide a valid internship ID"); - functionComplete = false; - return; - } catch (InvalidIndex e) { - functionComplete = false; - return; - // Exception message is already handled in InternshipList class + uiCommand.showOutput("Invalid integer: " + arg + "\nPlease provide a valid internship ID"); } } if (args.isEmpty()) { uiCommand.showEmptyFlags(); return; } - internships.listAllInternships(internships.favouriteInternships); - if (!functionComplete) { - uiCommand.showOutput("All id's provided were marked as favourite already"); - } - functionComplete = true; + internships.listFavouriteInternshipsBySortedByID(); + uiCommand.showOutput("The list of favourite internships have been displayed above"); } // rahul can change here also diff --git a/src/main/java/seedu/commands/RemoveCommand.java b/src/main/java/seedu/commands/RemoveCommand.java index 1e0fd6ea1a..a79d831cdc 100644 --- a/src/main/java/seedu/commands/RemoveCommand.java +++ b/src/main/java/seedu/commands/RemoveCommand.java @@ -9,7 +9,7 @@ */ public class RemoveCommand extends UpdateCommand { @Override - protected void updateOneField(String[] words, int internshipIndex) throws InvalidIndex { + protected void updateOneField(String[] words, int internshipIndex) { String field = words[INDEX_FIELD]; try { switch (field) { diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index 768f013fbd..ff2ce759b5 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -18,7 +18,7 @@ public void execute(ArrayList args) { int internshipId = Integer.parseInt(args.get(0)); int internshipIndex = internshipId - 1; if (!internships.isWithinBounds(internshipIndex)) { - throw new InvalidIndex(); + throw new InvalidIndex(internshipIndex); } args.remove(0); @@ -35,8 +35,8 @@ public void execute(ArrayList args) { uiCommand.showEditedInternship(internships.getInternship(internshipIndex), "update"); } catch (NumberFormatException e) { uiCommand.showOutput("Invalid integer, please provide a valid internship ID"); - } catch (InvalidIndex e) { - // Exception message is already handled in InternshipList class + } catch (InvalidIndex ie) { + uiCommand.showOutput(ie.getMessage()); } } @@ -53,7 +53,7 @@ protected boolean isValidValue(String[] words) { } } - protected void updateOneField(String[] words, int internshipIndex) throws InvalidIndex { + protected void updateOneField(String[] words, int internshipIndex) { String field = words[INDEX_FIELD]; try { switch (field) { diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index bc560c7ac3..7fb6248e5a 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -28,6 +28,8 @@ public InternshipList(ArrayList internships) { favouriteInternships = new ArrayList<>(); } + //@@author Ridiculouswifi + public void addInternship(Internship internship) { assert internship != null : "Internship object cannot be null"; @@ -41,30 +43,27 @@ public void addInternship(Internship internship) { internships.add(internship); } - //@@author Ridiculouswifi /** * Returns whether the index given is within the boundaries of the list. */ public boolean isWithinBounds(int index) { - if (index < 0 || index > internships.size()) { - ui.showInvalidIndex(); + if (index < 0 || index >= internships.size()) { return false; } return true; } // Method to remove an internship by index (0-based) - public void removeInternship(int index) { - assert isWithinBounds(index) : "Index is out of bounds for removal"; - - if (isWithinBounds(index)) { - Internship internship = internships.remove(index); - assert internship != null : "Removed internship should not be null"; - - internship.clearDeadlines(); - ui.showDeletedInternship(index + 1); - updateIds(); // Reassign IDs after removal + public void removeInternship(int index) throws InvalidIndex { + if (!isWithinBounds(index)) { + throw new InvalidIndex(index); } + Internship internship = internships.remove(index); + assert internship != null : "Removed internship should not be null"; + + internship.clearDeadlines(); + ui.showDeletedInternship(index + 1); + updateIds(); // Reassign IDs after removal } // Private method to update the IDs after a removal @@ -74,15 +73,21 @@ private void updateIds() { } } + //@@author Ridiculouswifi + // Method to get an internship by index public Internship getInternship(int index) { - if (!isWithinBounds(index)) { + try { + if (!isWithinBounds(index)) { + throw new InvalidIndex(index); + } + return internships.get(index); + } catch (InvalidIndex ie) { + ui.showOutput(ie.getMessage()); return null; } - return internships.get(index); } - //@@author Ridiculouswifi /** * Updates the specified field with new values. * @@ -90,57 +95,46 @@ public Internship getInternship(int index) { * @param field Specific attribute to update. * @param value Updated value */ - public void updateField(int index, String field, String value) - throws InvalidIndex, InvalidStatus, InvalidDeadline { - try { - switch (field) { - case "status": - internships.get(index).updateStatus(value); - break; - case "skills": - internships.get(index).setSkills(value); - break; - case "role": - internships.get(index).setRole(value); - break; - case "company": - internships.get(index).setCompany(value); - break; - case "from": - internships.get(index).setStartDate(value); - break; - case "to": - internships.get(index).setEndDate(value); - break; - case "deadline": - internships.get(index).updateDeadline(value); - break; - default: - assert false: "All valid fields should we handled in individual cases"; - break; - } - } catch (IndexOutOfBoundsException e) { - ui.showInvalidIndex(); - throw new InvalidIndex(); + public void updateField(int index, String field, String value) throws InvalidStatus, InvalidDeadline { + switch (field) { + case "status": + internships.get(index).updateStatus(value); + break; + case "skills": + internships.get(index).setSkills(value); + break; + case "role": + internships.get(index).setRole(value); + break; + case "company": + internships.get(index).setCompany(value); + break; + case "from": + internships.get(index).setStartDate(value); + break; + case "to": + internships.get(index).setEndDate(value); + break; + case "deadline": + internships.get(index).updateDeadline(value); + break; + default: + assert false : "All valid fields should we handled in individual cases"; + break; } } - public void removeField(int index, String field, String value) throws InvalidIndex, MissingValue { - try { - switch (field) { - case "skills": - internships.get(index).removeSkill(value); - break; - case "deadline": - internships.get(index).removeDeadline(value); - break; - default: - assert false: "All valid fields should we handled in individual cases"; - break; - } - } catch (IndexOutOfBoundsException e) { - ui.showInvalidIndex(); - throw new InvalidIndex(); + public void removeField(int index, String field, String value) throws MissingValue { + switch (field) { + case "skills": + internships.get(index).removeSkill(value); + break; + case "deadline": + internships.get(index).removeDeadline(value); + break; + default: + assert false : "All valid fields should we handled in individual cases"; + break; } } @@ -150,20 +144,24 @@ public void listAllInternships() { ui.showInternships(internships, "list"); } - public void listAllInternships(ArrayList internships) { - ui.showInternships(internships, "list"); + public void listFavouriteInternshipsBySortedByID() { + ArrayList sortedInternships = new ArrayList<>(favouriteInternships); + + // Sort roles alphabetically, ignoring case sensitivity + sortedInternships.sort(Comparator.comparing(Internship::getId)); + ui.showInternships(sortedInternships, "list"); } public List getAllInternships() { return Collections.unmodifiableList(internships); } + //@@author Toby-Yu + public int getSize() { return internships.size(); } - //@@author Toby-Yu - /** * List all internships in sorted order by role alphabetically (case-insensitive) */ @@ -310,7 +308,7 @@ public void listFavouriteInternshipsSortedByDeadline() { * Lists all favourite internships sorted by the first skill alphabetically (case-insensitive). */ public void listFavouriteInternshipsSortedByFirstSkill() { - ArrayList sortedInternships= new ArrayList<>(favouriteInternships); + ArrayList sortedInternships = new ArrayList<>(favouriteInternships); sortedByFirstSkillFunction(sortedInternships); ui.showInternships(sortedInternships, "skills in favourite"); diff --git a/src/main/java/seedu/exceptions/InvalidIndex.java b/src/main/java/seedu/exceptions/InvalidIndex.java index 59fadd9766..deec1719d1 100644 --- a/src/main/java/seedu/exceptions/InvalidIndex.java +++ b/src/main/java/seedu/exceptions/InvalidIndex.java @@ -1,5 +1,10 @@ package seedu.exceptions; public class InvalidIndex extends Exception { - + public InvalidIndex() { + super("Invalid ID!\nPlease use list to find internship ID"); + } + public InvalidIndex(int internshipIndex) { + super("Invalid ID: " + (internshipIndex + 1) + "\nPlease use list to find internship ID"); + } } diff --git a/src/main/java/seedu/ui/UiInternshipList.java b/src/main/java/seedu/ui/UiInternshipList.java index 7f709d0814..9cf8630227 100644 --- a/src/main/java/seedu/ui/UiInternshipList.java +++ b/src/main/java/seedu/ui/UiInternshipList.java @@ -76,14 +76,6 @@ public String getSortField(String field) { } } - //author Ridiculouswifi - /** - * Prints message when index provided is out of bounds. - */ - public void showInvalidIndex() { - showOutput("Invalid index!\nPlease use list to find internship ID"); - } - /** * Prints message to show internship of specified id has been deleted from InternshipList. */ diff --git a/src/test/java/seedu/commands/FavouriteCommandTest.java b/src/test/java/seedu/commands/FavouriteCommandTest.java index 958b01140e..99f7525a0a 100644 --- a/src/test/java/seedu/commands/FavouriteCommandTest.java +++ b/src/test/java/seedu/commands/FavouriteCommandTest.java @@ -101,7 +101,9 @@ void execute_invalidFavouriteCommandNoArguments_expectNoUpdated() { favouriteCommand.execute(args); - assertFalse(favouriteCommand.functionComplete); + ArrayList favouriteInternships = internships.favouriteInternships; + + assert(favouriteInternships.isEmpty()); } @Test @@ -116,7 +118,9 @@ void execute_invalidFavouriteCommandInvalidNumber_expectNoUpdated() { favouriteCommand.execute(args); - assertFalse(favouriteCommand.functionComplete); + ArrayList favouriteInternships = internships.favouriteInternships; + + assertEquals(3, favouriteInternships.size()); } @Test @@ -131,6 +135,8 @@ void execute_invalidFavouriteCommandInvalidIndex_expectNoUpdated() { favouriteCommand.execute(args); - assertFalse(favouriteCommand.functionComplete); + ArrayList favouriteInternships = internships.favouriteInternships; + + assertEquals(3, favouriteInternships.size()); } } diff --git a/src/test/java/seedu/duke/InternshipListTest.java b/src/test/java/seedu/duke/InternshipListTest.java index c74247d204..3820c9c85c 100644 --- a/src/test/java/seedu/duke/InternshipListTest.java +++ b/src/test/java/seedu/duke/InternshipListTest.java @@ -31,15 +31,6 @@ void updateField_validIndexStatus_expectUpdated() throws InvalidIndex, InvalidSt assertEquals("Application Completed", internshipList.getInternship(0).getStatus()); } - //@@author Ridiculouswifi - @Test - void updateField_outOfBoundsIndex_expectThrow() { - initialiseInternshipList(); - - assertThrows(InvalidIndex.class, - () -> internshipList.updateField(1, "status", "Application Completed")); - } - //@@author Ridiculouswifi @Test void updateField_invalidStartDate_expectThrow() { @@ -88,15 +79,6 @@ void removeField_invalidField_expectAssertion() { assertThrows(AssertionError.class, ()->internshipList.removeField(0, "status", "Java")); } - //@@author Ridiculouswifi - @Test - void removeField_outOfBoundsIndex_expectThrow() { - initialiseInternshipList(); - - assertThrows(InvalidIndex.class, - () -> internshipList.removeField(1, "skills", "Java")); - } - //@@author Ridiculouswifi @Test void removeField_validDeadline_expectUpdated() throws InvalidIndex, InvalidStatus, MissingValue, InvalidDeadline { From 39dcbc42f85a23d0f855fb86c9dfb4b93cdaaeb9 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Thu, 7 Nov 2024 17:21:17 +0800 Subject: [PATCH 243/359] Remove unused imports --- src/main/java/seedu/commands/FavouriteCommand.java | 3 --- src/main/java/seedu/commands/RemoveCommand.java | 1 - src/test/java/seedu/commands/FavouriteCommandTest.java | 1 - 3 files changed, 5 deletions(-) diff --git a/src/main/java/seedu/commands/FavouriteCommand.java b/src/main/java/seedu/commands/FavouriteCommand.java index 5f659bb96b..e87ce8c42b 100644 --- a/src/main/java/seedu/commands/FavouriteCommand.java +++ b/src/main/java/seedu/commands/FavouriteCommand.java @@ -1,13 +1,10 @@ package seedu.commands; import seedu.duke.Internship; -import seedu.exceptions.InvalidIndex; import java.util.ArrayList; public class FavouriteCommand extends Command { - public boolean functionComplete = false; - @Override public void execute(ArrayList args) { diff --git a/src/main/java/seedu/commands/RemoveCommand.java b/src/main/java/seedu/commands/RemoveCommand.java index a79d831cdc..fa0213e234 100644 --- a/src/main/java/seedu/commands/RemoveCommand.java +++ b/src/main/java/seedu/commands/RemoveCommand.java @@ -1,6 +1,5 @@ package seedu.commands; -import seedu.exceptions.InvalidIndex; import seedu.exceptions.MissingValue; //@@author Ridiculouswifi diff --git a/src/test/java/seedu/commands/FavouriteCommandTest.java b/src/test/java/seedu/commands/FavouriteCommandTest.java index 99f7525a0a..023425ade6 100644 --- a/src/test/java/seedu/commands/FavouriteCommandTest.java +++ b/src/test/java/seedu/commands/FavouriteCommandTest.java @@ -8,7 +8,6 @@ import java.util.ArrayList; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; public class FavouriteCommandTest { From 01a52f0fd4c12ab2cb7e827e88d2042e3838910f Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Thu, 7 Nov 2024 17:32:36 +0800 Subject: [PATCH 244/359] Add logging to InternshipList --- src/main/java/seedu/duke/InternshipList.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 983a7fc431..194f16d5c2 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -10,10 +10,13 @@ import java.util.Collections; import java.util.List; import java.util.Comparator; +import java.util.logging.Level; +import java.util.logging.Logger; //@@author jadenlimjc public class InternshipList { private static final UiInternshipList ui = new UiInternshipList(); + private static final Logger logger = Logger.getLogger("EasInternship"); public ArrayList internships; public ArrayList favouriteInternships; @@ -39,6 +42,7 @@ public void addInternship(Internship internship) { assert internship.getId() == internships.size() + 1; internships.add(internship); + logger.log(Level.INFO, "Internship added"); } //@@author Ridiculouswifi @@ -65,6 +69,7 @@ public void removeInternship(int index) { ui.showDeletedInternship(index + 1); updateIds(); // Reassign IDs after removal } + logger.log(Level.INFO, "Internship removed"); } // Private method to update the IDs after a removal @@ -119,8 +124,10 @@ public void updateField(int index, String field, String value) assert false: "All valid fields should we handled in individual cases"; break; } + logger.log(Level.INFO, "Internship " + (index + 1) + " updated: " + field); } catch (IndexOutOfBoundsException e) { ui.showInvalidIndex(); + logger.log(Level.INFO, "Internship out of bounds"); throw new InvalidIndex(); } } @@ -138,8 +145,10 @@ public void removeField(int index, String field, String value) throws InvalidInd assert false: "All valid fields should we handled in individual cases"; break; } + logger.log(Level.INFO, "Internship " + (index + 1) + " removed: " + field); } catch (IndexOutOfBoundsException e) { ui.showInvalidIndex(); + logger.log(Level.INFO, "Internship out of bounds"); throw new InvalidIndex(); } } From a661e3e9d53e4a44e891fd6e2cca197bf01984a9 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Thu, 7 Nov 2024 17:43:53 +0800 Subject: [PATCH 245/359] Add logging to Parser --- src/main/java/seedu/duke/Parser.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index cab5b413f7..17abdb5dc5 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -79,6 +79,7 @@ public ArrayList parseData(Command command, String input) { if (inputArgs.length < 2) { if (!(command instanceof SortCommand)) { ui.showOutput("Please input some ID or flag following the command"); + logger.log(Level.WARNING, "Invalid Command: " + input); return null; } return new ArrayList<>(); From 3613f47be7dfbc8f0f414623b62fb9ac9fcc203b Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Thu, 7 Nov 2024 17:50:05 +0800 Subject: [PATCH 246/359] Add logging to Command Classes --- src/main/java/seedu/commands/AddCommand.java | 3 +++ src/main/java/seedu/commands/CalendarCommand.java | 3 +++ src/main/java/seedu/commands/Command.java | 2 ++ src/main/java/seedu/commands/DeleteCommand.java | 4 ++++ src/main/java/seedu/commands/FavouriteCommand.java | 3 +++ src/main/java/seedu/commands/FilterCommand.java | 3 +++ src/main/java/seedu/commands/HelpCommand.java | 3 +++ src/main/java/seedu/commands/ListCommand.java | 3 +++ src/main/java/seedu/commands/SortCommand.java | 3 +++ src/main/java/seedu/commands/UpdateCommand.java | 3 +++ 10 files changed, 30 insertions(+) diff --git a/src/main/java/seedu/commands/AddCommand.java b/src/main/java/seedu/commands/AddCommand.java index c846d13aea..ade947d4aa 100644 --- a/src/main/java/seedu/commands/AddCommand.java +++ b/src/main/java/seedu/commands/AddCommand.java @@ -3,6 +3,7 @@ import seedu.duke.Internship; import java.util.ArrayList; +import java.util.logging.Level; //@@author jadenlimjc public class AddCommand extends Command { @@ -72,6 +73,8 @@ public void execute(ArrayList args) { Internship newInternship = new Internship(role, company, startDate, endDate); internships.addInternship(newInternship); uiCommand.showEditedInternship(newInternship, "add"); + + logger.log(Level.INFO, "AddCommand Executed"); } @Override diff --git a/src/main/java/seedu/commands/CalendarCommand.java b/src/main/java/seedu/commands/CalendarCommand.java index 7b8a2ca5ed..76fcbf853d 100644 --- a/src/main/java/seedu/commands/CalendarCommand.java +++ b/src/main/java/seedu/commands/CalendarCommand.java @@ -8,6 +8,7 @@ import java.util.ArrayList; import java.util.Comparator; import java.util.List; +import java.util.logging.Level; /** * Subclass of Command to display all deadlines from every Internship entry. @@ -18,6 +19,8 @@ public void execute(ArrayList args) { ArrayList deadlines = getDeadlines(); ArrayList sortedDeadlines = sortDeadlines(deadlines); uiCommand.showCalendar(sortedDeadlines); + + logger.log(Level.INFO, "CalendarCommand Executed"); } protected ArrayList getDeadlines() { diff --git a/src/main/java/seedu/commands/Command.java b/src/main/java/seedu/commands/Command.java index 5136705e35..6438057840 100644 --- a/src/main/java/seedu/commands/Command.java +++ b/src/main/java/seedu/commands/Command.java @@ -4,10 +4,12 @@ import seedu.ui.UiCommand; import java.util.ArrayList; +import java.util.logging.Logger; public abstract class Command { protected static final int INDEX_FIELD = 0; protected static final int INDEX_DATA = 1; + protected static final Logger logger = Logger.getLogger("EasInternship"); protected static UiCommand uiCommand = new UiCommand(); protected InternshipList internships; diff --git a/src/main/java/seedu/commands/DeleteCommand.java b/src/main/java/seedu/commands/DeleteCommand.java index c267cf0c7a..7f1bf60b8f 100644 --- a/src/main/java/seedu/commands/DeleteCommand.java +++ b/src/main/java/seedu/commands/DeleteCommand.java @@ -1,6 +1,8 @@ package seedu.commands; import java.util.ArrayList; +import java.util.logging.Level; + //@@author jadenlimjc public class DeleteCommand extends Command { @Override @@ -9,6 +11,8 @@ public void execute (ArrayList args) { int id = Integer.parseInt(args.get(0)); int index = id - 1; internships.removeInternship(index); + + logger.log(Level.INFO, "DeleteCommand Executed"); } catch (NumberFormatException e) { uiCommand.showOutput("Invalid integer, please provide a valid internship ID"); } diff --git a/src/main/java/seedu/commands/FavouriteCommand.java b/src/main/java/seedu/commands/FavouriteCommand.java index 79191b81e5..920cb2efe3 100644 --- a/src/main/java/seedu/commands/FavouriteCommand.java +++ b/src/main/java/seedu/commands/FavouriteCommand.java @@ -4,6 +4,7 @@ import seedu.exceptions.InvalidIndex; import java.util.ArrayList; +import java.util.logging.Level; public class FavouriteCommand extends Command { public boolean functionComplete = false; @@ -24,6 +25,8 @@ public void execute(ArrayList args) { } functionComplete = true; favouriteInternships.add(internship); + + logger.log(Level.INFO, "FavouriteCommand Executed"); } catch (NumberFormatException e) { uiCommand.showOutput("Invalid integer, please provide a valid internship ID"); functionComplete = false; diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index d530ab5f77..13cabea2d6 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -11,6 +11,7 @@ import java.time.YearMonth; import java.time.format.DateTimeFormatter; import java.util.function.BiPredicate; +import java.util.logging.Level; public class FilterCommand extends Command { public boolean functionComplete = false; // For testing purposes @@ -58,6 +59,8 @@ public void execute(ArrayList args) { functionComplete = true; filteredInternships.listAllInternships(); + + logger.log(Level.INFO, "FilterCommand Executed"); } private void executeFilterByOneFlag(String[] words) { diff --git a/src/main/java/seedu/commands/HelpCommand.java b/src/main/java/seedu/commands/HelpCommand.java index e8a9afc32e..b6062d5539 100644 --- a/src/main/java/seedu/commands/HelpCommand.java +++ b/src/main/java/seedu/commands/HelpCommand.java @@ -1,6 +1,7 @@ package seedu.commands; import java.util.ArrayList; +import java.util.logging.Level; //@@ Ridiculouswifi @@ -21,6 +22,8 @@ public void execute(ArrayList args) { commands.add(new CalendarCommand()); uiCommand.showCommands(commands); + + logger.log(Level.INFO, "HelpCommand Executed"); } @Override diff --git a/src/main/java/seedu/commands/ListCommand.java b/src/main/java/seedu/commands/ListCommand.java index 0de73f2c13..77c14335d3 100644 --- a/src/main/java/seedu/commands/ListCommand.java +++ b/src/main/java/seedu/commands/ListCommand.java @@ -1,6 +1,7 @@ package seedu.commands; import java.util.ArrayList; +import java.util.logging.Level; //@@author Toby-Yu /** @@ -10,6 +11,8 @@ public class ListCommand extends Command { @Override public void execute(ArrayList args) { internships.listAllInternships(); + + logger.log(Level.INFO, "ListCommand Executed"); } @Override diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index ed7e68c029..8a94433a61 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -1,6 +1,7 @@ package seedu.commands; import java.util.ArrayList; +import java.util.logging.Level; //@@author Toby-Yu /** @@ -82,6 +83,8 @@ public void execute(ArrayList args) { // Handle invalid sorting options internships.listInternshipsInvalidFlag(sortOption); } + + logger.log(Level.INFO, "SortCommand Executed"); } @Override diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index 6dced23e70..9ffff89ab1 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -6,6 +6,7 @@ import java.time.format.DateTimeParseException; import java.util.ArrayList; +import java.util.logging.Level; //@@author Ridiculouswifi /** @@ -35,6 +36,8 @@ public void execute(ArrayList args) { } uiCommand.showEditedInternship(internships.getInternship(internshipIndex), "update"); + + logger.log(Level.INFO, "UpdateCommand Executed"); } catch (NumberFormatException e) { uiCommand.showOutput("Invalid integer, please provide a valid internship ID"); } catch (InvalidIndex e) { From bdb3d56749f193b9934fdc47cf7d2e567bf9b93c Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Thu, 7 Nov 2024 18:21:05 +0800 Subject: [PATCH 247/359] Error message for repeated flags in FilterCommand --- src/main/java/seedu/commands/FilterCommand.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index d530ab5f77..ccbf364f39 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -65,18 +65,25 @@ private void executeFilterByOneFlag(String[] words) { // Retrieve the corresponding getter method based on the flag InternshipFieldGetter getter = fieldGetters.get(flag); - if (getter == null) { + if (!fieldGetters.containsKey(flag)) { uiCommand.clearInvalidFlags(); uiCommand.addInvalidFlag(flag); uiCommand.printInvalidFlags(); throw new IllegalArgumentException(); } + if (getter == null) { + uiCommand.showOutput(flag + " flag has been repeated\nPlease input a flag only once"); + throw new IllegalArgumentException(); + } + if (words.length < 2) { uiCommand.showOutput(words[INDEX_FIELD] + " field cannot be empty"); throw new IllegalArgumentException(); } + fieldGetters.put(flag, null); + String searchTerm = words[INDEX_DATA]; BiPredicate dateComparator = null; From a14d4650ba0fb45ac082533722216f903a674c17 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Thu, 7 Nov 2024 20:00:41 +0800 Subject: [PATCH 248/359] Add Command Summary --- docs/UserGuide.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index c69b73e007..3a528afa33 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -594,7 +594,7 @@ __________________________________________________ This feature removes an entire listing from the tracker. -**Format:** `del {ID}` +**Format:** `delete {ID}` **Example:** @@ -698,6 +698,16 @@ __________________________________________________ ## Command Summary -{Give a 'cheat sheet' of commands here} +| Command | Format | +|-------------------|-------------------------------------------------------------------------| +| Add Internship | `add -role {Role name} -company {Company name} -from {date} -to {date}` | +| Update Fields | `update {ID} -{field} {updated information}` | +| Remove Fields | `remove {ID} -{field} {value}` | +| List | `list` | +| Sort | `sort -{field}` | +| Filter | `filter -{field} {value}` | +| Delete Internship | `delete {ID}` | +| Calendar | `calendar` | +| Help | `help` | +| Exit | `exit` | -* Add todo `todo n/TODO_NAME d/DEADLINE` From 0791a24da2582545f00e1c38ac56074c3b3be502 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Thu, 7 Nov 2024 21:04:00 +0800 Subject: [PATCH 249/359] Add FilterCommand and FavouriteCommand to UG --- docs/UserGuide.md | 261 ++++++++++++++++-- .../java/seedu/commands/FavouriteCommand.java | 5 +- src/main/java/seedu/commands/HelpCommand.java | 1 + 3 files changed, 240 insertions(+), 27 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index c69b73e007..d54dba95d6 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -10,6 +10,7 @@ - [List Command: `list`](#list-command-list) - [Sort Command: `sort`](#sort-command-sort) - [Filter Command: `filter`](#filter-command-filter) + - [Favourite Command: `favourite`]() - [Delete Command: `delete`](#delete-command-delete) - [Calendar Command: `calendar`](#calendar-command-calendar) - [Help Command: `help`](#help-command-help) @@ -19,19 +20,19 @@ - [Command Summary](#command-summary) ## Product Description -This product aims to streamline the tracking of internship applications for the user, where the user is able to store key details of the internship as well as save and edit the status of the application. +This product aims to streamline the tracking of internship applications for the user, where the user is able to store key details of the internship as well as edit, filter and save the internships. **By using this tool, the user can:** -**Store Important seedu.duke.Internship Information:** Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes. +**Store Important Information:** Users can input and store key details such as the role, company, internship duration, required skills and application deadlines. -**Track Application Status:** Users can save the current status of their application (e.g., not applied, applied, interview scheduled, offer received) and update it as the application progresses. +**Edit and Manage Internships:** Users have the ability to edit any fields (eg: role, company name) of the saved internships, change deadlines, mark some internships as favourite or higher priority and remove outdated internships from the list. -**Edit and Manage Internships:** Users have the ability to edit saved internships as needed, modify statuses, update deadlines, or remove outdated internships from the list. +**Filter Internships by Key Criteria:** The user can filter the tracked internships by the relevant fields and/or whether the internship has been marked as favourite or not, allowing for a better overview of all the internships available in your list that matches your chosen criteria. -**Filter Internships by Key Criteria:** The user can filter the tracked internships by relevant skills, application status, or upcoming deadlines, allowing for better organization and prioritization. +**Track Application Status:** Users can save the current status of their application (application pending, application completed, accepted or rejected) and update it as the application progresses. -**Monitor Deadlines Easily:** The tool helps ensure users stay on top of their internship deadlines by flagging or sorting applications with approaching deadlines. +**Monitor Deadlines Easily:** This tool helps ensure users stay on top of their internship deadlines by getting a quick overview of the current date and all the deadlines which have passed and which are to follow, in a calendar-like view. ## Quick Start @@ -531,21 +532,27 @@ __________________________________________________ ``` ## Filter command: `filter` -`filter` -This feature is an extension of the previous list feature. It allows the user to specify certain values for any of the role name, company name or duration parameters based on which only the relevant internships are shown. +This feature allows the user to specify certain values for any of the role name, company name, internship duration parameters and/or favourite status based on which only the relevant internships are shown. -The role and company name parameters are case-insensitive, For the duration parameter, this feature displays all relevant internships whose start dates and end dates are within the duration timeline specified by the user. For the MVP version of the product, user can only sort by 1 field at a time. +This feature allows users to filter by multiple flags simultaneously. + +The role and company name parameters are case-insensitive. + +For the duration parameter, this feature displays all relevant internships whose start dates and end dates are within the duration timeline specified by the user. If the start and/or end dates with which to filter, are not explicitly specified by the user, they take on the default values of 01/01 and 12/99 respectively. + +For the favourite parameter, the user has to enter a boolean `true` or `false` (case-insensitive) to specify if they only want internships which have been marked as a favourite or if they only want internships which have not been marked as a favourite. In the default scenario where no `-favourite` flag is given, all internships are considered regardless of their favourite status. + +Users will be able to filter the internships by application statuses and deadlines as well in v2.1. **Format:** `filter -{field} {value}` Valid fields: - `role`: Provide the role name - `company`: Provide the company name -- `from`: Provide the start date -- `to`: Provide the end date -- `skills`: Provide one skill listed in `skills` -- `deadline`: Provide the description of one of the deadlines +- `from`: Provide the start date of the internship +- `to`: Provide the end date of the internship +- `favourite`: Provide the favourite status of the internship **Examples:** @@ -555,33 +562,64 @@ Valid fields: __________________________________________________ __________________________________________________ ID: 1 Status: Application Pending -Role: engineer -Company: ABS -Duration: 01/01 to 01/01 +Role: Software Engineer +Company: Meta +Duration: 01/24 to 09/24 Skills: No Skills Entered Deadlines: No deadlines set. __________________________________________________ ID: 2 Status: Application Pending -Role: accountant -Company: XYZ -Duration: 01/01 to 01/01 +Role: Data Scientist +Company: Meta +Duration: 09/23 to 05/24 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +ID: 3 Status: Application Pending +Role: Data Scientist +Company: Google +Duration: 04/24 to 07/24 Skills: No Skills Entered Deadlines: No deadlines set. __________________________________________________ __________________________________________________ ``` +`filter -role engineer` -`filter -company ABS` +``` +__________________________________________________ +__________________________________________________ +ID: 1 Status: Application Pending +Role: Software Engineer +Company: Meta +Duration: 01/24 to 09/24 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +__________________________________________________ +``` + +`filter -company Meta` ``` __________________________________________________ __________________________________________________ ID: 1 Status: Application Pending -Role: engineer -Company: ABS -Duration: 01/01 to 01/01 +Role: Software Engineer +Company: Meta +Duration: 01/24 to 09/24 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +ID: 2 Status: Application Pending +Role: Data Scientist +Company: Meta +Duration: 09/23 to 05/24 Skills: No Skills Entered Deadlines: No deadlines set. @@ -589,12 +627,187 @@ __________________________________________________ __________________________________________________ ``` +`filter -from 10/23 -to 07/24` +``` +__________________________________________________ +__________________________________________________ +ID: 3 Status: Application Pending +Role: Data Scientist +Company: Google +Duration: 04/24 to 07/24 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +__________________________________________________ +``` + +`filter -role Data Scientist -to 06/24` + +``` +__________________________________________________ +__________________________________________________ +ID: 3 Status: Application Pending +Role: Data Scientist +Company: Google +Duration: 09/23 to 05/24 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +__________________________________________________ +``` + +`filter -favourite true` + +``` +__________________________________________________ +__________________________________________________ +ID: 1 Status: Application Pending +Role: Software Engineer +Company: Meta +Duration: 01/24 to 09/24 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +ID: 3 Status: Application Pending +Role: Data Scientist +Company: Google +Duration: 04/24 to 07/24 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +__________________________________________________ +``` + +`filter -favourite false` + +``` +__________________________________________________ +__________________________________________________ +ID: 2 Status: Application Pending +Role: Data Scientist +Company: Meta +Duration: 09/23 to 05/24 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +__________________________________________________ +``` + +## Favourite Command: `favourite` + +This feature allows the user to mark certain internships as a Favourite. The user can input any number of ID's in a single command to mark them all as favourites. + +The functionality to remove a command's favourite status will be implemented in v2.1. + +**Format:** `favourite {Internship ID}` + +**Example:** + +`list` + +``` +__________________________________________________ +__________________________________________________ +ID: 1 Status: Application Pending +Role: Software Engineer +Company: Meta +Duration: 01/24 to 09/24 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +ID: 2 Status: Application Pending +Role: Data Scientist +Company: Meta +Duration: 09/23 to 05/24 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +ID: 3 Status: Application Pending +Role: Data Scientist +Company: Google +Duration: 04/24 to 07/24 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +__________________________________________________ +``` + +`favourite 1` + +``` +__________________________________________________ +__________________________________________________ +ID: 1 Status: Application Pending +Role: Software Engineer +Company: Meta +Duration: 01/24 to 09/24 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +__________________________________________________ + + +__________________________________________________ +__________________________________________________ +The list of favourite internships have been displayed above +__________________________________________________ +__________________________________________________ +``` + +`favourite 2, 3` + +``` +__________________________________________________ +__________________________________________________ +ID: 1 Status: Application Pending +Role: Software Engineer +Company: Meta +Duration: 01/24 to 09/24 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +ID: 2 Status: Application Pending +Role: Data Scientist +Company: Meta +Duration: 09/23 to 05/24 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +ID: 3 Status: Application Pending +Role: Data Scientist +Company: Google +Duration: 04/24 to 07/24 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +__________________________________________________ + + +__________________________________________________ +__________________________________________________ +The list of favourite internships have been displayed above +__________________________________________________ +__________________________________________________ + +``` ## Delete Command: `delete` This feature removes an entire listing from the tracker. -**Format:** `del {ID}` +**Format:** `delete {ID}` **Example:** diff --git a/src/main/java/seedu/commands/FavouriteCommand.java b/src/main/java/seedu/commands/FavouriteCommand.java index e87ce8c42b..e13084dc0d 100644 --- a/src/main/java/seedu/commands/FavouriteCommand.java +++ b/src/main/java/seedu/commands/FavouriteCommand.java @@ -33,11 +33,10 @@ public void execute(ArrayList args) { uiCommand.showOutput("The list of favourite internships have been displayed above"); } - // rahul can change here also @Override public String getUsage() { return """ - filter - Usage: filter -{flag} {field data}"""; + favourite + Usage: favourite {Internship ID}"""; } } diff --git a/src/main/java/seedu/commands/HelpCommand.java b/src/main/java/seedu/commands/HelpCommand.java index e8a9afc32e..0b5004db56 100644 --- a/src/main/java/seedu/commands/HelpCommand.java +++ b/src/main/java/seedu/commands/HelpCommand.java @@ -16,6 +16,7 @@ public void execute(ArrayList args) { commands.add(new ListCommand()); commands.add(new FilterCommand()); commands.add(new SortCommand()); + commands.add(new FavouriteCommand()); commands.add(new UpdateCommand()); commands.add(new RemoveCommand()); commands.add(new CalendarCommand()); From 450295bd609b1128b7dfaaca8bfcd184974c4b1b Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Thu, 7 Nov 2024 21:06:06 +0800 Subject: [PATCH 250/359] Fix bug with favourite command Fixed a bug where an internship remains in the favouriteInternships list even if it has already been deleted from the main internships list --- src/main/java/seedu/duke/InternshipList.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 7fb6248e5a..61135559c6 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -62,6 +62,7 @@ public void removeInternship(int index) throws InvalidIndex { assert internship != null : "Removed internship should not be null"; internship.clearDeadlines(); + favouriteInternships.remove(internship); ui.showDeletedInternship(index + 1); updateIds(); // Reassign IDs after removal } From 31165a02a3e29c67c1c8b039c1a937e838f65e32 Mon Sep 17 00:00:00 2001 From: jadenlimjc <116095460+jadenlimjc@users.noreply.github.com> Date: Thu, 7 Nov 2024 21:07:37 +0800 Subject: [PATCH 251/359] Update InternshipList.java --- src/main/java/seedu/duke/InternshipList.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 64c5b7b7b7..ad024eff04 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -55,7 +55,7 @@ public boolean isWithinBounds(int index) { // Method to remove an internship by index (0-based) -======= + //@@author jadenlimjc public void removeInternship(int index) throws InvalidIndex { if (!isWithinBounds(index)) { throw new InvalidIndex(index); @@ -213,6 +213,7 @@ private int compareYearMonth(String date1, String date2) { return Integer.compare(month1, month2); } + //@@author jadenlimjc /** * List all internships sorted by the earliest deadline */ From eec6164ce9c838fe8fe0419a3e0a945e2f20f163 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Thu, 7 Nov 2024 21:19:07 +0800 Subject: [PATCH 252/359] Add anchor link --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index d54dba95d6..f7b8caa576 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -10,7 +10,7 @@ - [List Command: `list`](#list-command-list) - [Sort Command: `sort`](#sort-command-sort) - [Filter Command: `filter`](#filter-command-filter) - - [Favourite Command: `favourite`]() + - [Favourite Command: `favourite`](#favourite-command-favourite) - [Delete Command: `delete`](#delete-command-delete) - [Calendar Command: `calendar`](#calendar-command-calendar) - [Help Command: `help`](#help-command-help) From 4fbf228c262b1b94a6f53a58ffeab62b0b7316a0 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Thu, 7 Nov 2024 21:52:08 +0800 Subject: [PATCH 253/359] Add PPP --- docs/team/rahul.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 docs/team/rahul.md diff --git a/docs/team/rahul.md b/docs/team/rahul.md new file mode 100644 index 0000000000..c2dffe59a0 --- /dev/null +++ b/docs/team/rahul.md @@ -0,0 +1,46 @@ +# Jai Vinod Kumar Rahul - Project Portfolio Page + +## Overview + +EasInternship is a desktop tracking application used for tracking internship applications along the various stages +of an application. The user interacts with it using a CLI and the application is written in Java. + +Given below are my contributions to the project. + +### Summary of Contributions + +- **New Feature:** Added the ability to filter internship entries. + - What it does: Allows the user to filter internship entries by various fields such as role name, company name, internship duration, and favorite status. Users can specify multiple filter flags simultaneously, with case-insensitive search for role and company name. + - Justification: Users often need to view only specific internship applications matching particular criteria, such as role type, company, or timeframe. This feature provides flexibility in managing and narrowing down the list of internships based on user preferences. + - Highlights: This feature required a detailed understanding of handling multiple parameters and developing an intuitive syntax for users. It involved implementing logical checks for multiple filtering conditions and managing default values for fields if no specific values are provided. +

+ +- **New Feature:** Added the ability to mark internships as favorites. + - What it does: Enables users to mark specific internships as a "Favorite" by entering the internship ID. This helps users easily identify important or preferred internships. + - Justification: Users may want to flag certain internships to easily return to them, especially if they are in later stages of the application process or hold particular interest. Favoriting helps users keep track of high-priority applications without searching through the entire list. + - Highlights: The implementation involved managing user input for single or multiple IDs in a single command, ensuring flexibility in the favorite marking process. Plans are in place to expand functionality to allow removal of the favorite status in future versions. +

+ +- **Code Contributed:** [RepoSense Link](https://nus-cs2113-ay2425s1.github.io/tp-dashboard/?search=rahuljai-05&breakdown=true) +

+ +- **Project Management:** + - Managed issue tracking and milestones. + - Aided in extensive testing and debugging of all features. +

+ +- **Enhancement to Existing Features:** + - placeholder + + +- **Documentation:** + - Developer Guide: + - Added implementation details for `filter` feature. + - User Guide: + - Rewrote the Product Description to make it more accurate and detailed + - Added `filter` command details + - Added `favourite` command details +

+ +- **Community:** + - PRs reviewed (with non-trivial review comments): From cd68425548fd387d30566973a63e76892ddc2c12 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Thu, 7 Nov 2024 22:19:27 +0800 Subject: [PATCH 254/359] Handle invalid date inputs for AddCommand --- src/main/java/seedu/commands/AddCommand.java | 28 +++++++++++++++----- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/src/main/java/seedu/commands/AddCommand.java b/src/main/java/seedu/commands/AddCommand.java index 3b702ed59d..b237528c14 100644 --- a/src/main/java/seedu/commands/AddCommand.java +++ b/src/main/java/seedu/commands/AddCommand.java @@ -2,11 +2,15 @@ import seedu.duke.Internship; +import java.time.YearMonth; +import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; import java.util.ArrayList; import java.util.logging.Level; //@@author jadenlimjc public class AddCommand extends Command { + private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/yy"); @Override public void execute(ArrayList args) { String role = ""; @@ -40,17 +44,29 @@ public void execute(ArrayList args) { } break; case "from": - if (words.length > 1) { - startDate = words[INDEX_DATA]; - } else { + if (words.length == 1) { uiCommand.addInvalidFlag(flag); + break; + } + startDate = words[INDEX_DATA]; + try { + YearMonth.parse(startDate, formatter); + } catch (DateTimeParseException ex) { + uiCommand.showOutput(startDate + " is not a valid date\nPlease enter a date in the MM/yy format"); + return; } break; case "to": - if (words.length > 1) { - endDate = words[INDEX_DATA]; - } else { + if (words.length == 1) { uiCommand.addInvalidFlag(flag); + break; + } + endDate = words[INDEX_DATA]; + try { + YearMonth.parse(endDate, formatter); + } catch (DateTimeParseException ex) { + uiCommand.showOutput(endDate + " is not a valid date\nPlease enter a date in the MM/yy format"); + return; } break; default: From a613cc0eba9562266dc0caf4cebdc80242c77196 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Thu, 7 Nov 2024 23:06:33 +0800 Subject: [PATCH 255/359] Fix bug --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 52e6e81f7a..ac6da72913 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -587,7 +587,7 @@ Deadlines: __________________________________________________ __________________________________________________ ``` -`filter -role engineer` +`filter -role software engineer` ``` __________________________________________________ From f90ddd20ce49595edaac7bcd331079f5b31de526 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Sun, 10 Nov 2024 13:18:37 +0800 Subject: [PATCH 256/359] make UG ,DG, and the actual usage of SortCommand is consistent. Also swap the position of sort and favourite in UG. --- docs/DeveloperGuide.md | 26 +- docs/UserGuide.md | 663 +++++++++--------- src/main/java/seedu/commands/SortCommand.java | 8 +- 3 files changed, 352 insertions(+), 345 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index b4b720eddb..4ae83af8d3 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -183,7 +183,7 @@ The following sequence diagram shows how the `DeleteCommand` is executed: ### SortCommand Implementation #### Overview: -The `SortCommand` class is responsible for sorting the internship listings based on different criteria such as the internship role, skills and status (alphabetically) , the application deadline (by start and end dates). It extends the `Command` class, providing the sorting functionality as part of the command execution framework. +The `SortCommand` class is responsible for sorting the internship listings based on different criteria such as the internship role, skills and status (alphabetically) , the application deadline (by start and end dates). It extends the `Command` class, providing the sorting functionality as part of the command execution framework. It can only sort by exactly one field in each time. #### Design: - The `SortCommand` class processes user input to determine which sorting method to apply (e.g., role or deadline). @@ -207,18 +207,18 @@ The `SortCommand` class is responsible for sorting the internship listings based - **`getUsage()`**: Returns a string showing the correct usage of the `sort` command, including valid options like "alphabet", "deadline", "duration", "skills", and "status". #### Example Usage Scenario: -1. The user enters `sort role`, and the `execute` method sorts the internships by role alphabetically. -2. The user enters `sort duration`, and the internships are sorted by their start and end dates. -3. The user enters `sort skills`, and the internships are sorted by the first skill alphabetically. -4. The user enters `sort status`, and the internships are sorted by their status alphabetically. -5. The user enters `sort deadline`, and the internships are sorted by each of their earliest deadline. -6. The user enters `sort company`, and the internships are sorted by their company alphabetically. -7. The user enters `sort role in favourite`, and the `execute` method sorts the internships in favourite by role. -8. The user enters `sort duration in favourite`, and the internships in favourite are sorted by their start and end dates. -9. The user enters `sort skills in favourite`, and the internships in favourite are sorted by the first skill alphabetically. -10. The user enters `sort status in favourite`, and the internships in favourite are sorted by their status alphabetically. -11. The user enters `sort deadline in favourite`, and the internships in favourite are sorted by each of their earliest deadline. -12. The user enters `sort company in favourite`, and the internships in favourite are sorted by their company alphabetically. +1. The user enters `sort -role`, and the `execute` method sorts the internships by role alphabetically. +2. The user enters `sort -duration`, and the internships are sorted by their start and end dates. +3. The user enters `sort -skills`, and the internships are sorted by the first skill alphabetically. +4. The user enters `sort -status`, and the internships are sorted by their status alphabetically. +5. The user enters `sort -deadline`, and the internships are sorted by each of their earliest deadline. +6. The user enters `sort -company`, and the internships are sorted by their company alphabetically. +7. The user enters `sort -role in favourite`, and the `execute` method sorts the internships in favourite by role. +8. The user enters `sort -duration in favourite`, and the internships in favourite are sorted by their start and end dates. +9. The user enters `sort -skills in favourite`, and the internships in favourite are sorted by the first skill alphabetically. +10. The user enters `sort -status in favourite`, and the internships in favourite are sorted by their status alphabetically. +11. The user enters `sort -deadline in favourite`, and the internships in favourite are sorted by each of their earliest deadline. +12. The user enters `sort -company in favourite`, and the internships in favourite are sorted by their company alphabetically. 13. If the user enters an invalid sort option, the command returns an error and lists the internships by ID. #### Sequence Diagram: diff --git a/docs/UserGuide.md b/docs/UserGuide.md index ac6da72913..38dcfb0f94 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -8,9 +8,9 @@ - [Update Command: `update`](#update-command-update) - [Remove Command: `remove`](#remove-command-remove) - [List Command: `list`](#list-command-list) - - [Sort Command: `sort`](#sort-command-sort) - - [Filter Command: `filter`](#filter-command-filter) - [Favourite Command: `favourite`](#favourite-command-favourite) + - [Filter Command: `filter`](#filter-command-filter) + - [Sort Command: `sort`](#sort-command-sort) - [Delete Command: `delete`](#delete-command-delete) - [Calendar Command: `calendar`](#calendar-command-calendar) - [Help Command: `help`](#help-command-help) @@ -267,263 +267,232 @@ __________________________________________________ __________________________________________________ ``` +## Favourite Command: `favourite` -## Sort Command: `sort` - -Lists out all the Internships sorted by a specified field. The default list in increasing order of their IDs. - -Valid Fields: -- `role` -- `duration` -- `skills` -- `status` -- `deadline` +This feature allows the user to mark certain internships as a Favourite. The user can input any number of ID's in a single command to mark them all as favourites. -The fields are not case-sensitive. +The functionality to remove a command's favourite status will be implemented in v2.1. -**Format:** `sort -{field}` +**Format:** `favourite {Internship ID}` **Example:** -`sort -duration` +`list` ``` __________________________________________________ __________________________________________________ -Sorted internships by start date (year first), then end date. -__________________________________________________ -ID: 3 Status: Accepted -Role: IT support Intern -Company: Microsoft -Duration: 03/24 to 08/24 -Skills: Java +ID: 1 Status: Application Pending +Role: Software Engineer +Company: Meta +Duration: 01/24 to 09/24 +Skills: No Skills Entered Deadlines: - certificate submit: 15/04/24 -_________________________________________________ -ID: 1 Status: Rejected -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: C++ + No deadlines set. +__________________________________________________ +ID: 2 Status: Application Pending +Role: Data Scientist +Company: Meta +Duration: 09/23 to 05/24 +Skills: No Skills Entered Deadlines: - online interview: 12/06/24 + No deadlines set. __________________________________________________ -ID: 2 Status: Application Completed -Role: Customer Service Intern +ID: 3 Status: Application Pending +Role: Data Scientist Company: Google -Duration: 05/25 to 09/25 -Skills: Python SQL +Duration: 04/24 to 07/24 +Skills: No Skills Entered Deadlines: - interview reply: 12/04/24 + No deadlines set. __________________________________________________ __________________________________________________ ``` -`sort -role` +`favourite 1` ``` __________________________________________________ __________________________________________________ -Sorted internships by role alphabetically (case-insensitive). -__________________________________________________ -ID: 2 Status: Application Completed -Role: Customer Service Intern -Company: Google -Duration: 05/25 to 09/25 -Skills: Python SQL +ID: 1 Status: Application Pending +Role: Software Engineer +Company: Meta +Duration: 01/24 to 09/24 +Skills: No Skills Entered Deadlines: - interview reply: 12/04/24 + No deadlines set. __________________________________________________ -ID: 1 Status: Rejected -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: C++ -Deadlines: - online interview: 12/06/24 __________________________________________________ -ID: 3 Status: Accepted -Role: IT support Intern -Company: Microsoft -Duration: 03/24 to 08/24 -Skills: Java -Deadlines: - certificate submit: 15/04/24 + + +__________________________________________________ +__________________________________________________ +The list of favourite internships have been displayed above __________________________________________________ __________________________________________________ ``` -`sort -deadline` +`favourite 2, 3` ``` __________________________________________________ __________________________________________________ -Sorted internships by deadline. -__________________________________________________ -ID: 2 Status: Application Completed -Role: Customer Service Intern -Company: Google -Duration: 05/25 to 09/25 -Skills: Python SQL +ID: 1 Status: Application Pending +Role: Software Engineer +Company: Meta +Duration: 01/24 to 09/24 +Skills: No Skills Entered Deadlines: - interview reply: 12/04/24 + No deadlines set. __________________________________________________ -ID: 3 Status: Accepted -Role: IT support Intern -Company: Microsoft -Duration: 03/24 to 08/24 -Skills: Java +ID: 2 Status: Application Pending +Role: Data Scientist +Company: Meta +Duration: 09/23 to 05/24 +Skills: No Skills Entered Deadlines: - certificate submit: 15/04/24 + No deadlines set. __________________________________________________ -ID: 1 Status: Rejected -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: C++ +ID: 3 Status: Application Pending +Role: Data Scientist +Company: Google +Duration: 04/24 to 07/24 +Skills: No Skills Entered Deadlines: - online interview: 12/06/24 + No deadlines set. +__________________________________________________ +__________________________________________________ + + +__________________________________________________ +__________________________________________________ +The list of favourite internships have been displayed above __________________________________________________ __________________________________________________ + ``` -`sort -skills` +## Filter command: `filter` + +This feature allows the user to specify certain values for any of the role name, company name, internship duration parameters and/or favourite status based on which only the relevant internships are shown. + +This feature allows users to filter by multiple flags simultaneously. + +The role and company name parameters are case-insensitive. + +For the duration parameter, this feature displays all relevant internships whose start dates and end dates are within the duration timeline specified by the user. If the start and/or end dates with which to filter, are not explicitly specified by the user, they take on the default values of 01/01 and 12/99 respectively. + +For the favourite parameter, the user has to enter a boolean `true` or `false` (case-insensitive) to specify if they only want internships which have been marked as a favourite or if they only want internships which have not been marked as a favourite. In the default scenario where no `-favourite` flag is given, all internships are considered regardless of their favourite status. + +Users will be able to filter the internships by application statuses and deadlines as well in v2.1. + +**Format:** `filter -{field} {value}` + +Valid fields: +- `role`: Provide the role name +- `company`: Provide the company name +- `from`: Provide the start date of the internship +- `to`: Provide the end date of the internship +- `favourite`: Provide the favourite status of the internship + +**Examples:** + +`list` ``` __________________________________________________ __________________________________________________ -Sorted internships by skills. -__________________________________________________ -ID: 1 Status: Rejected -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: C++ +ID: 1 Status: Application Pending +Role: Software Engineer +Company: Meta +Duration: 01/24 to 09/24 +Skills: No Skills Entered Deadlines: - online interview: 12/06/24 + No deadlines set. __________________________________________________ -ID: 3 Status: Accepted -Role: IT support Intern -Company: Microsoft -Duration: 03/24 to 08/24 -Skills: Java +ID: 2 Status: Application Pending +Role: Data Scientist +Company: Meta +Duration: 09/23 to 05/24 +Skills: No Skills Entered Deadlines: - certificate submit: 15/04/24 + No deadlines set. __________________________________________________ -ID: 2 Status: Application Completed -Role: Customer Service Intern +ID: 3 Status: Application Pending +Role: Data Scientist Company: Google -Duration: 05/25 to 09/25 -Skills: Python SQL +Duration: 04/24 to 07/24 +Skills: No Skills Entered Deadlines: - interview reply: 12/04/24 + No deadlines set. __________________________________________________ __________________________________________________ ``` - -`sort -status` +`filter -role software engineer` ``` __________________________________________________ __________________________________________________ -Sorted internships by status. -__________________________________________________ -ID: 3 Status: Accepted -Role: IT support Intern -Company: Microsoft -Duration: 03/24 to 08/24 -Skills: Java +ID: 1 Status: Application Pending +Role: Software Engineer +Company: Meta +Duration: 01/24 to 09/24 +Skills: No Skills Entered Deadlines: - certificate submit: 15/04/24 + No deadlines set. __________________________________________________ -ID: 2 Status: Application Completed -Role: Customer Service Intern -Company: Google -Duration: 05/25 to 09/25 -Skills: Python SQL +__________________________________________________ +``` + +`filter -company Meta` + +``` +__________________________________________________ +__________________________________________________ +ID: 1 Status: Application Pending +Role: Software Engineer +Company: Meta +Duration: 01/24 to 09/24 +Skills: No Skills Entered Deadlines: - interview reply: 12/04/24 + No deadlines set. __________________________________________________ -ID: 1 Status: Rejected -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: C++ +ID: 2 Status: Application Pending +Role: Data Scientist +Company: Meta +Duration: 09/23 to 05/24 +Skills: No Skills Entered Deadlines: - online interview: 12/06/24 + No deadlines set. __________________________________________________ __________________________________________________ ``` -`sort -company` +`filter -from 10/23 -to 07/24` ``` __________________________________________________ __________________________________________________ -Sorted internships by company. -__________________________________________________ -ID: 1 Status: Rejected -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: C++ -Deadlines: - online interview: 12/06/24 -__________________________________________________ -ID: 2 Status: Application Completed -Role: Customer Service Intern +ID: 3 Status: Application Pending +Role: Data Scientist Company: Google -Duration: 05/25 to 09/25 -Skills: Python SQL -Deadlines: - interview reply: 12/04/24 -__________________________________________________ -ID: 3 Status: Accepted -Role: IT support Intern -Company: Microsoft -Duration: 03/24 to 08/24 -Skills: Java +Duration: 04/24 to 07/24 +Skills: No Skills Entered Deadlines: - certificate submit: 15/04/24 + No deadlines set. __________________________________________________ __________________________________________________ ``` -`sort -role in favourite` +`filter -role Data Scientist -to 06/24` ``` __________________________________________________ __________________________________________________ -Sorted internships in favourite by role in favourite. -__________________________________________________ -ID: 2 Status: Application Completed -Role: Customer Service Intern +ID: 3 Status: Application Pending +Role: Data Scientist Company: Google -Duration: 05/25 to 09/25 -Skills: Python SQL -Deadlines: - interview reply: 12/04/24 -__________________________________________________ -ID: 1 Status: Rejected -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: C++ -Deadlines: - online interview: 12/06/24 -======= -ID: 1 Status: Application Pending -Role: engineer -Company: ABS -Duration: 01/01 to 01/01 -Skills: No Skills Entered -Deadlines: - No deadlines set. -__________________________________________________ -ID: 2 Status: Application Pending -Role: accountant -Company: XYZ -Duration: 01/01 to 01/01 +Duration: 09/23 to 05/24 Skills: No Skills Entered Deadlines: No deadlines set. @@ -531,32 +500,7 @@ __________________________________________________ __________________________________________________ ``` -## Filter command: `filter` - -This feature allows the user to specify certain values for any of the role name, company name, internship duration parameters and/or favourite status based on which only the relevant internships are shown. - -This feature allows users to filter by multiple flags simultaneously. - -The role and company name parameters are case-insensitive. - -For the duration parameter, this feature displays all relevant internships whose start dates and end dates are within the duration timeline specified by the user. If the start and/or end dates with which to filter, are not explicitly specified by the user, they take on the default values of 01/01 and 12/99 respectively. - -For the favourite parameter, the user has to enter a boolean `true` or `false` (case-insensitive) to specify if they only want internships which have been marked as a favourite or if they only want internships which have not been marked as a favourite. In the default scenario where no `-favourite` flag is given, all internships are considered regardless of their favourite status. - -Users will be able to filter the internships by application statuses and deadlines as well in v2.1. - -**Format:** `filter -{field} {value}` - -Valid fields: -- `role`: Provide the role name -- `company`: Provide the company name -- `from`: Provide the start date of the internship -- `to`: Provide the end date of the internship -- `favourite`: Provide the favourite status of the internship - -**Examples:** - -`list` +`filter -favourite true` ``` __________________________________________________ @@ -569,14 +513,6 @@ Skills: No Skills Entered Deadlines: No deadlines set. __________________________________________________ -ID: 2 Status: Application Pending -Role: Data Scientist -Company: Meta -Duration: 09/23 to 05/24 -Skills: No Skills Entered -Deadlines: - No deadlines set. -__________________________________________________ ID: 3 Status: Application Pending Role: Data Scientist Company: Google @@ -587,35 +523,12 @@ Deadlines: __________________________________________________ __________________________________________________ ``` -`filter -role software engineer` -``` -__________________________________________________ -__________________________________________________ -ID: 1 Status: Application Pending -Role: Software Engineer -Company: Meta -Duration: 01/24 to 09/24 -Skills: No Skills Entered -Deadlines: - No deadlines set. -__________________________________________________ -__________________________________________________ -``` - -`filter -company Meta` +`filter -favourite false` ``` __________________________________________________ __________________________________________________ -ID: 1 Status: Application Pending -Role: Software Engineer -Company: Meta -Duration: 01/24 to 09/24 -Skills: No Skills Entered -Deadlines: - No deadlines set. -__________________________________________________ ID: 2 Status: Application Pending Role: Data Scientist Company: Meta @@ -627,182 +540,274 @@ __________________________________________________ __________________________________________________ ``` -`filter -from 10/23 -to 07/24` +## Sort Command: `sort` + +Lists out all the Internships / Internships in favourite, sorted by a specified field. The default list in increasing order of their IDs and it can only sort by exactly one field in each time. + +Valid Fields: +- `role` +- `duration` +- `skills` +- `status` +- `deadline` +- `role in favourite` +- `duration in favourite` +- `skills in favourite` +- `status in favourite` +- `deadline in favourite` + +The fields are not case-sensitive. + +**Format:** `sort -{field}` + +**Example:** + +`sort -duration` ``` __________________________________________________ __________________________________________________ -ID: 3 Status: Application Pending -Role: Data Scientist +Sorted internships by start date (year first), then end date. +__________________________________________________ +ID: 3 Status: Accepted +Role: IT support Intern +Company: Microsoft +Duration: 03/24 to 08/24 +Skills: Java +Deadlines: + certificate submit: 15/04/24 +_________________________________________________ +ID: 1 Status: Rejected +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: C++ +Deadlines: + online interview: 12/06/24 +__________________________________________________ +ID: 2 Status: Application Completed +Role: Customer Service Intern Company: Google -Duration: 04/24 to 07/24 -Skills: No Skills Entered +Duration: 05/25 to 09/25 +Skills: Python SQL Deadlines: - No deadlines set. + interview reply: 12/04/24 __________________________________________________ __________________________________________________ ``` -`filter -role Data Scientist -to 06/24` +`sort -role` ``` __________________________________________________ __________________________________________________ -ID: 3 Status: Application Pending -Role: Data Scientist +Sorted internships by role alphabetically (case-insensitive). +__________________________________________________ +ID: 2 Status: Application Completed +Role: Customer Service Intern Company: Google -Duration: 09/23 to 05/24 -Skills: No Skills Entered +Duration: 05/25 to 09/25 +Skills: Python SQL Deadlines: - No deadlines set. + interview reply: 12/04/24 +__________________________________________________ +ID: 1 Status: Rejected +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: C++ +Deadlines: + online interview: 12/06/24 +__________________________________________________ +ID: 3 Status: Accepted +Role: IT support Intern +Company: Microsoft +Duration: 03/24 to 08/24 +Skills: Java +Deadlines: + certificate submit: 15/04/24 __________________________________________________ __________________________________________________ ``` -`filter -favourite true` +`sort -deadline` ``` __________________________________________________ __________________________________________________ -ID: 1 Status: Application Pending -Role: Software Engineer -Company: Meta -Duration: 01/24 to 09/24 -Skills: No Skills Entered -Deadlines: - No deadlines set. +Sorted internships by deadline. __________________________________________________ -ID: 3 Status: Application Pending -Role: Data Scientist +ID: 2 Status: Application Completed +Role: Customer Service Intern Company: Google -Duration: 04/24 to 07/24 -Skills: No Skills Entered +Duration: 05/25 to 09/25 +Skills: Python SQL Deadlines: - No deadlines set. + interview reply: 12/04/24 +__________________________________________________ +ID: 3 Status: Accepted +Role: IT support Intern +Company: Microsoft +Duration: 03/24 to 08/24 +Skills: Java +Deadlines: + certificate submit: 15/04/24 +__________________________________________________ +ID: 1 Status: Rejected +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: C++ +Deadlines: + online interview: 12/06/24 __________________________________________________ __________________________________________________ ``` -`filter -favourite false` +`sort -skills` ``` __________________________________________________ __________________________________________________ -ID: 2 Status: Application Pending -Role: Data Scientist -Company: Meta -Duration: 09/23 to 05/24 -Skills: No Skills Entered +Sorted internships by skills. +__________________________________________________ +ID: 1 Status: Rejected +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: C++ Deadlines: - No deadlines set. + online interview: 12/06/24 +__________________________________________________ +ID: 3 Status: Accepted +Role: IT support Intern +Company: Microsoft +Duration: 03/24 to 08/24 +Skills: Java +Deadlines: + certificate submit: 15/04/24 +__________________________________________________ +ID: 2 Status: Application Completed +Role: Customer Service Intern +Company: Google +Duration: 05/25 to 09/25 +Skills: Python SQL +Deadlines: + interview reply: 12/04/24 __________________________________________________ __________________________________________________ ``` -## Favourite Command: `favourite` - -This feature allows the user to mark certain internships as a Favourite. The user can input any number of ID's in a single command to mark them all as favourites. - -The functionality to remove a command's favourite status will be implemented in v2.1. - -**Format:** `favourite {Internship ID}` - -**Example:** - -`list` +`sort -status` ``` __________________________________________________ __________________________________________________ -ID: 1 Status: Application Pending -Role: Software Engineer -Company: Meta -Duration: 01/24 to 09/24 -Skills: No Skills Entered -Deadlines: - No deadlines set. +Sorted internships by status. __________________________________________________ -ID: 2 Status: Application Pending -Role: Data Scientist -Company: Meta -Duration: 09/23 to 05/24 -Skills: No Skills Entered +ID: 3 Status: Accepted +Role: IT support Intern +Company: Microsoft +Duration: 03/24 to 08/24 +Skills: Java Deadlines: - No deadlines set. + certificate submit: 15/04/24 __________________________________________________ -ID: 3 Status: Application Pending -Role: Data Scientist +ID: 2 Status: Application Completed +Role: Customer Service Intern Company: Google -Duration: 04/24 to 07/24 -Skills: No Skills Entered +Duration: 05/25 to 09/25 +Skills: Python SQL Deadlines: - No deadlines set. + interview reply: 12/04/24 +__________________________________________________ +ID: 1 Status: Rejected +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: C++ +Deadlines: + online interview: 12/06/24 __________________________________________________ __________________________________________________ ``` -`favourite 1` +`sort -company` ``` __________________________________________________ __________________________________________________ -ID: 1 Status: Application Pending -Role: Software Engineer -Company: Meta -Duration: 01/24 to 09/24 -Skills: No Skills Entered -Deadlines: - No deadlines set. -__________________________________________________ +Sorted internships by company. __________________________________________________ - - +ID: 1 Status: Rejected +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: C++ +Deadlines: + online interview: 12/06/24 __________________________________________________ +ID: 2 Status: Application Completed +Role: Customer Service Intern +Company: Google +Duration: 05/25 to 09/25 +Skills: Python SQL +Deadlines: + interview reply: 12/04/24 __________________________________________________ -The list of favourite internships have been displayed above +ID: 3 Status: Accepted +Role: IT support Intern +Company: Microsoft +Duration: 03/24 to 08/24 +Skills: Java +Deadlines: + certificate submit: 15/04/24 __________________________________________________ __________________________________________________ ``` -`favourite 2, 3` +`sort -role in favourite` ``` __________________________________________________ __________________________________________________ -ID: 1 Status: Application Pending -Role: Software Engineer -Company: Meta -Duration: 01/24 to 09/24 -Skills: No Skills Entered +Sorted internships in favourite by role in favourite. +__________________________________________________ +ID: 2 Status: Application Completed +Role: Customer Service Intern +Company: Google +Duration: 05/25 to 09/25 +Skills: Python SQL Deadlines: - No deadlines set. + interview reply: 12/04/24 __________________________________________________ -ID: 2 Status: Application Pending -Role: Data Scientist -Company: Meta -Duration: 09/23 to 05/24 +ID: 1 Status: Rejected +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: C++ +Deadlines: + online interview: 12/06/24 +======= +ID: 1 Status: Application Pending +Role: engineer +Company: ABS +Duration: 01/01 to 01/01 Skills: No Skills Entered Deadlines: No deadlines set. __________________________________________________ -ID: 3 Status: Application Pending -Role: Data Scientist -Company: Google -Duration: 04/24 to 07/24 +ID: 2 Status: Application Pending +Role: accountant +Company: XYZ +Duration: 01/01 to 01/01 Skills: No Skills Entered Deadlines: No deadlines set. __________________________________________________ __________________________________________________ - - -__________________________________________________ -__________________________________________________ -The list of favourite internships have been displayed above -__________________________________________________ -__________________________________________________ - ``` + ## Delete Command: `delete` This feature removes an entire listing from the tracker. diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index 8a94433a61..4c2a0073ea 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -91,9 +91,11 @@ public void execute(ArrayList args) { public String getUsage() { return """ sort - Usage: sort [role | duration | deadline | skills | status | company - | role in favourite | duration in favourite | deadline in favourite - | skills in favourite | status in favourite | company in favourite ] + Usage: sort [-role | -duration | -deadline | -skills | -status | -company + | -role in favourite | -duration in favourite | -deadline in favourite + | -skills in favourite | -status in favourite | -company in favourite ] + + Only sort by exactly one field in each time role: Sort internships alphabetically by role (case-insensitive). deadline: Sort internships by start date (year first), then end date. From 39c217fcf297b985be5e094fa7098f69e17d4a9d Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Sun, 10 Nov 2024 14:03:07 +0800 Subject: [PATCH 257/359] Add slightly change in format of the sort in UG --- docs/UserGuide.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 38dcfb0f94..b72cdac957 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -542,7 +542,8 @@ __________________________________________________ ## Sort Command: `sort` -Lists out all the Internships / Internships in favourite, sorted by a specified field. The default list in increasing order of their IDs and it can only sort by exactly one field in each time. +Lists out all the Internships / Internships in favourite, sorted by a specified field. +The default list in increasing order of their IDs and it can only sort by exactly one field in each time. Valid Fields: - `role` From ba72ad7a1271dfa9acad8d3a3debe64dbd895150 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Sun, 10 Nov 2024 14:30:42 +0800 Subject: [PATCH 258/359] add Toby pic in about us page --- docs/AboutUs.md | 2 +- docs/images/Toby.jpg | Bin 0 -> 74096 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 docs/images/Toby.jpg diff --git a/docs/AboutUs.md b/docs/AboutUs.md index ed0c5ce76f..aced5ef4dc 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -3,6 +3,6 @@ Display | Name | Github Profile | Portfolio --------|:---------:|:---------------------------------------:|:---------: ![](/images/jaden.png) | Jaden Lim | [Github](https://github.com/jadenlimjc) | [Portfolio](https://www.linkedin.com/in/jadenlimjc/) -![](https://via.placeholder.com/100.png?text=Photo) | Yu Man Kit | [Github](https://github.com/Toby-Yu) | [Portfolio](toby-yu) +![](/images/Toby.jpg) | Yu Man Kit | [Github](https://github.com/Toby-Yu) | [Portfolio](toby-yu) ![](https://via.placeholder.com/100.png?text=Photo) | Rahul | [Github](https://github.com/rahuljai-05) | [Portfolio](rahuljai-05) ![](https://via.placeholder.com/100.png?text=Photo) | Tan Ting Hui | [Github](https://github.com/Ridiculouswifi) | [Portfolio](ridiculouswifi) diff --git a/docs/images/Toby.jpg b/docs/images/Toby.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f59f1dc6ce97fbd6ec1538ddf5cb39a079b3094a GIT binary patch literal 74096 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 z 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 Date: Sun, 10 Nov 2024 14:55:58 +0800 Subject: [PATCH 259/359] Update loading: Revert status when status is corrupted in data file --- src/main/java/seedu/duke/Internship.java | 6 ++++-- src/main/java/seedu/duke/Storage.java | 14 +++++++++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index f8ef39aade..02fb3e9f8f 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -22,6 +22,9 @@ public class Internship { private static final DateTimeFormatter FORMATTER_MONTH_YEAR = DateTimeFormatter.ofPattern("MM/yy"); private static final DateTimeFormatter FORMATTER_DATE = DateTimeFormatter.ofPattern("dd/MM/yy"); + private static final List STATUSES = Arrays.asList( + "Application Pending", "Application Completed", "Accepted", "Rejected"); + private int id = -1; private String role; private String company; @@ -66,8 +69,7 @@ public Internship(String role, String company, String start, String end) { public void updateStatus(String userStatus) throws InvalidStatus { assert !userStatus.isEmpty() : "Status cannot be empty"; - List statuses = Arrays.asList("Application Pending", "Application Completed", "Accepted", "Rejected"); - for (String status : statuses) { + for (String status : STATUSES) { if (status.equalsIgnoreCase(userStatus)) { this.status = status; return; diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index 50dd4f42d7..87761395f1 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -1,5 +1,7 @@ package seedu.duke; +import seedu.exceptions.InvalidStatus; + import java.io.File; import java.io.FileWriter; import java.io.FileReader; @@ -111,7 +113,7 @@ public static void loadFromFile(InternshipList internshipList) { Internship internship = new Internship(role, company, startDate, endDate); internshipList.addInternship(internship); internship.setSkills(skills); - internship.setStatus(status); + loadStatus(internship, status); List loadedDeadlines = parseDeadlines(deadlines, internship.getId()); for (Deadline deadline : loadedDeadlines) { internship.addDeadline(deadline.getDescription(), deadline.getDate()); @@ -175,4 +177,14 @@ private static List parseDeadlines(String deadlineString, int internsh return deadlines; } + private static void loadStatus(Internship internship, String status) { + try { + internship.updateStatus(status); + } catch (InvalidStatus e) { + internship.setStatus("Application Pending"); + System.out.println("Internship ID: " + internship.getId() + + " has corrupted status, reverting to Application Pending"); + } + } + } From 75fd0f0c818659ee128fe4540e1cdff3a0dacf7f Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 10 Nov 2024 15:11:28 +0800 Subject: [PATCH 260/359] Fix typo in invalid status message --- src/main/java/seedu/commands/UpdateCommand.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index f2ec34ead0..2c0ef38422 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -86,12 +86,12 @@ protected void updateOneField(String[] words, int internshipIndex) { uiCommand.addInvalidField(field, "Either description or date is missing."); } catch (InvalidStatus e) { String message = """ - Status provided is not recognised: - Please provide one of the following:i - - Application Pending - - Application Completed - - Accepted - - Rejected"""; + Status provided is not recognised + \tPlease provide one of the following: + \t- Application Pending + \t- Application Completed + \t- Accepted + \t- Rejected"""; uiCommand.addInvalidField(field, message); } } From fca8661b09d1287c5335be461498572cfddadea5 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Sun, 10 Nov 2024 15:41:12 +0800 Subject: [PATCH 261/359] issue 210 --- docs/UML/AddCommand.puml | 42 +++++++++++++------------------------- docs/UML/loadFromFile.puml | 5 ----- docs/UML/saveToFile.puml | 4 ---- 3 files changed, 14 insertions(+), 37 deletions(-) diff --git a/docs/UML/AddCommand.puml b/docs/UML/AddCommand.puml index b5d4a5a64a..cf943363a4 100644 --- a/docs/UML/AddCommand.puml +++ b/docs/UML/AddCommand.puml @@ -15,41 +15,27 @@ activate ":AddCommand" #red activate ":uiCommand" #green ":AddCommand"->":AddCommand" : Initialize variables -loop for each arg in args - ":AddCommand" -> ":AddCommand" : split arg into flag and data - alt flag == "role" - ":AddCommand" -> ":AddCommand": hasRole = true +loop Process each argument in args + ":AddCommand" -> ":AddCommand" : process flag and data + alt flag is valid alt data is present - ":AddCommand"-> ":AddCommand": set role + ":AddCommand" -> ":AddCommand" : set data else - ":AddCommand" -> ":uiCommand": addInvalidFlag("role") - end - else flag -- "company" - ":AddCommand" -> ":AddCommand": hasCompany = true - alt data is present - ":AddCommand"->":AddCommand": set company - else - ":AddCommand"->":uiCommand": addInvalidFlag("company") - end - else flag == "from" - alt data is present - ":AddCommand" -> ":AddCommand": set startDate - else - ":AddCommand" -> ":uiCommand": addInvalidFlag("from") - end - else flag == "to" - alt data is present - ":AddCommand" -> ":AddCommand": set endDate - else - ":AddCommand" -> ":uiCommand": addInvalidFlag("to") - end - else - ":AddCommand" -> ":uiCommand": addInvalidFlag(flag) + ":AddCommand" -> ":uiCommand" : addInvalidFlag(flag) + activate ":uiCommand" #green + deactivate ":uiCommand" end + else + ":AddCommand" -> ":uiCommand" : addInvalidFlag(flag) + activate ":uiCommand" #green + deactivate ":uiCommand" + end end alt invalid flags found ":AddCommand"->":uiCommand": printInvalidFlags() + activate ":uiCommand" #green + deactivate ":uiCommand" else all required flags present ":AddCommand" -> ":Internship": new ":Internship"(role, company, startDate, endDate) activate ":Internship" #blue diff --git a/docs/UML/loadFromFile.puml b/docs/UML/loadFromFile.puml index fde65fba9c..cc255c28b7 100644 --- a/docs/UML/loadFromFile.puml +++ b/docs/UML/loadFromFile.puml @@ -6,7 +6,6 @@ participant ":EasInternship" participant ":Storage" participant ":InternshipList" participant ":Internship" -participant ":FileReader" ":User"->":EasInternship": start program activate ":EasInternship" #green @@ -14,9 +13,6 @@ activate ":EasInternship" #green activate ":InternshipList" #aquamarine ":EasInternship"->":Storage": loadFromFile(internshipList) activate ":Storage" #orange -":Storage"->":FileReader" :read(file) -activate ":FileReader" #red -":FileReader"-> ":Storage": data lines loop for each line in file ":Storage"-> ":Internship" : new ":Internship"(role, company, startDate, endDate) @@ -36,7 +32,6 @@ loop for each line in file ":Internship" -> ":Deadline" : addDeadline(deadline) end -deactivate ":FileReader" deactivate ":Storage" @enduml diff --git a/docs/UML/saveToFile.puml b/docs/UML/saveToFile.puml index b214a911a8..b781201d5c 100644 --- a/docs/UML/saveToFile.puml +++ b/docs/UML/saveToFile.puml @@ -6,7 +6,6 @@ participant ":EasInternship" participant ":Storage" participant ":InternshipList" participant ":Internship" -participant ":FileWriter" ":User" -> ":EasInternship": exit program activate ":EasInternship" #green @@ -29,8 +28,5 @@ deactivate ":Internship" end end -":Storage" -> ":FileWriter" : write(internship data) -activate ":FileWriter" #red -deactivate ":FileWriter" deactivate ":Storage" @enduml \ No newline at end of file From c9c53ca7d9a28bf408fdb69d4a331cd435dd6273 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Sun, 10 Nov 2024 16:11:30 +0800 Subject: [PATCH 262/359] issue 185, issue 208, issue 146 --- docs/UML/Internship.puml | 63 ++++++++++++++-------------------------- 1 file changed, 21 insertions(+), 42 deletions(-) diff --git a/docs/UML/Internship.puml b/docs/UML/Internship.puml index 183e164820..a9fae250dd 100644 --- a/docs/UML/Internship.puml +++ b/docs/UML/Internship.puml @@ -2,34 +2,24 @@ Title Model Component skinparam classAttributeIconSize 0 +hide circle class Internship { - - int id - - String role - - String company - - YearMonth startDate - - YearMonth endDate - - List deadlines - - ArrayList skills - - String status - - + Internship(String role, String company, String start, String end) - + void updateStatus(String userStatus) throws InvalidStatus - + int getId() - + String getRole() - + String getCompany() - + String getStartDate() - + String getEndDate() - + String getStatus() - + void setStartDate(String start) throws DateTimeParseException - + void setEndDate(String end) throws DateTimeParseException - + void addDeadline(String description, String date) throws DateTimeParseException - + List getDeadlines() - + void removeDeadline(String description) - + void clearDeadlines() - + String getSkills() - + void setSkills(String skills) - + void removeSkill(String skill) throws MissingValue - + String toString() + - id: int + - role: String + - company: String + - startDate: YearMonth + - endDate: YearMonth + - deadlines: List + - skills: ArrayList + - status: String + + + updateStatus(String userStatus): void + + setStartDate(String start): void + + setEndDate(String end): void + + addDeadline(String description, String date): void + + removeDeadline(String description): void + + setSkills(String skills): void + + removeSkill(String skill): void } @@ -38,16 +28,10 @@ class InternshipList { - internships : ArrayList - ui : UiInternshipList - + InternshipList() - + addInternship(internship : Internship) : void - + isWithinBounds(index : int) : boolean - + removeInternship(index : int) : void - + getInternship(index : int) : Internship - + updateField(index : int, field : String, value : String) : void - + listAllInternships() : void - + getAllInternships() : List - + getSize() : int - - updateIds() : void + + addInternship(internship : Internship): void + + removeInternship(index : int): void + + updateField(index : int, field : String, value : String): void + + listAllInternships(): void } class Deadline { @@ -55,14 +39,9 @@ class Deadline { - description : String - date : LocalDate - + Deadline(internshipID : int, description : String, date : String) - + getInternshipId() : int + setInternshipId(internshipId : int) : void - + getDescription() : String + setDescription(description : String) : void + setDate(date : String) : void - + getDate() : String - + toString() : String } InternshipList "1" --> "*" Internship From 04bf534052ca411520c5558040eb114fd884292c Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 10 Nov 2024 16:48:58 +0800 Subject: [PATCH 263/359] Update invalid deadline message to be clearer --- src/main/java/seedu/commands/UpdateCommand.java | 5 ++++- src/main/java/seedu/duke/Internship.java | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index 2c0ef38422..893851239f 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -83,7 +83,10 @@ protected void updateOneField(String[] words, int internshipIndex) { } catch (DateTimeParseException e) { uiCommand.addInvalidField(field, "Invalid date format"); } catch (InvalidDeadline e) { - uiCommand.addInvalidField(field, "Either description or date is missing."); + String message = """ + Either description or date is missing. + \tIf you have provided a date, please check it is valid and is in dd/MM/yy format"""; + uiCommand.addInvalidField(field, message); } catch (InvalidStatus e) { String message = """ Status provided is not recognised diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 02fb3e9f8f..42e9c8903f 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -12,6 +12,8 @@ import java.util.Arrays; import java.util.List; import java.util.Comparator; +import java.util.logging.Level; +import java.util.logging.Logger; /** @@ -25,6 +27,8 @@ public class Internship { private static final List STATUSES = Arrays.asList( "Application Pending", "Application Completed", "Accepted", "Rejected"); + private static final Logger LOGGER = Logger.getLogger("EasInternship"); + private int id = -1; private String role; private String company; @@ -196,6 +200,7 @@ public void updateDeadline(String value) throws InvalidDeadline { } if (description.trim().isEmpty() || date.trim().isEmpty()) { + LOGGER.log(Level.WARNING, "Deadline is invalid"); throw new InvalidDeadline(); } @@ -214,6 +219,7 @@ protected boolean isValidDate(String date) { LocalDate.parse(date, FORMATTER_DATE); return true; } catch (DateTimeParseException e) { + LOGGER.log(Level.WARNING, e.getMessage(), e); return false; } } From 7436645e1bc7edad25b21a9412a664081b3b8675 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Sun, 10 Nov 2024 17:25:39 +0800 Subject: [PATCH 264/359] issue 202, issue 187 --- docs/UML/loadFromFile.puml | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/docs/UML/loadFromFile.puml b/docs/UML/loadFromFile.puml index cc255c28b7..b92434fa0b 100644 --- a/docs/UML/loadFromFile.puml +++ b/docs/UML/loadFromFile.puml @@ -4,34 +4,47 @@ hide footbox participant ":User" participant ":EasInternship" participant ":Storage" -participant ":InternshipList" participant ":Internship" +participant ":InternshipList" ":User"->":EasInternship": start program activate ":EasInternship" #green -":EasInternship"->":InternshipList": new ":InternshipList"() +":EasInternship"-->":InternshipList" **: create activate ":InternshipList" #aquamarine +deactivate ":InternshipList" ":EasInternship"->":Storage": loadFromFile(internshipList) activate ":Storage" #orange loop for each line in file - ":Storage"-> ":Internship" : new ":Internship"(role, company, startDate, endDate) + ":Storage"-> ":Internship" **: create activate ":Internship" #blue ":Internship"->":InternshipList": addInternship + activate ":InternshipList" #aquamarine + deactivate ":InternshipList" ":Storage" -> ":Internship" :setSkills(skills) + activate ":Internship" #blue + deactivate ":Internship" ":Storage" -> ":Internship" : setStatus(status) + activate ":Internship" #blue deactivate ":Internship" ":Storage" -> ":Storage": parseDeadlines(deadlineString, internshipId) activate ":Storage" #orange - ":Storage" -> ":Deadline": new Deadline (description, date) + ":Storage" -> ":Deadline"**:create activate ":Deadline" #purple deactivate ":Deadline" deactivate ":Storage" - ":Internship" -> ":Deadline" : addDeadline(deadline) + ":Deadline" -> ":Internship" : addDeadline(deadline) + activate ":Internship" #blue + deactivate ":Internship" + deactivate ":Internship" + deactivate ":Deadline" + deactivate ":InternshipList" end deactivate ":Storage" + + @enduml From 93e100a8326aa1c6eec4f8ba52eb023153ac658e Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 10 Nov 2024 17:26:17 +0800 Subject: [PATCH 265/359] Updating deadline ignores all inputs after a valid date --- .../java/seedu/commands/UpdateCommand.java | 4 ++-- src/main/java/seedu/duke/Deadline.java | 4 ++++ src/main/java/seedu/duke/Internship.java | 24 +++++++++++++------ src/main/java/seedu/duke/InternshipList.java | 8 ++++--- 4 files changed, 28 insertions(+), 12 deletions(-) diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index 893851239f..ad10472608 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -73,8 +73,8 @@ protected void updateOneField(String[] words, int internshipIndex) { return; } String value = words[INDEX_DATA].trim(); - internships.updateField(internshipIndex, field, value); - uiCommand.addUpdatedField(field, value, "update"); + String updatedValue = internships.updateField(internshipIndex, field, value); + uiCommand.addUpdatedField(field, updatedValue, "update"); break; default: uiCommand.addInvalidFlag(field); diff --git a/src/main/java/seedu/duke/Deadline.java b/src/main/java/seedu/duke/Deadline.java index 3e798da129..eecd604e4c 100644 --- a/src/main/java/seedu/duke/Deadline.java +++ b/src/main/java/seedu/duke/Deadline.java @@ -51,4 +51,8 @@ public LocalDate getUnformattedDate() { public String toString() { return description + ": " + getDate(); } + + public String toStringMessage() { + return description + " (" + getDate() + ")"; + } } diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 42e9c8903f..6f213a4a20 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -69,14 +69,16 @@ public Internship(String role, String company, String start, String end) { * Does not update with invalid statuses and will prompt for a valid status. * * @param userStatus user-inputted status. + * + * @return Updated status as reflected in the entry. */ - public void updateStatus(String userStatus) throws InvalidStatus { + public String updateStatus(String userStatus) throws InvalidStatus { assert !userStatus.isEmpty() : "Status cannot be empty"; for (String status : STATUSES) { if (status.equalsIgnoreCase(userStatus)) { this.status = status; - return; + return status; } } throw new InvalidStatus(); @@ -184,19 +186,25 @@ public void clearDeadlines() { * * @param value String with description and deadline. * @throws InvalidDeadline Either description is empty or there is no parsable date. + * + * @return Updated deadline as reflected in Internship entry. */ - public void updateDeadline(String value) throws InvalidDeadline { + public String updateDeadline(String value) throws InvalidDeadline { String[] words = value.split(" "); String description = ""; String date = ""; + boolean hasFoundDate = false; - for (String word : words) { - String trimmedWord = word.trim(); + int wordsIndex = 0; + while (!hasFoundDate && wordsIndex < words.length) { + String trimmedWord = words[wordsIndex].trim(); if (isValidDate(trimmedWord)) { date = trimmedWord; + hasFoundDate = true; } else { description += trimmedWord + " "; } + wordsIndex++; } if (description.trim().isEmpty() || date.trim().isEmpty()) { @@ -208,9 +216,11 @@ public void updateDeadline(String value) throws InvalidDeadline { assert deadlineIndex >= -1 : "The index must be -1 minimally"; if (deadlineIndex != -1) { deadlines.get(deadlineIndex).setDate(date); - } else { - deadlines.add(new Deadline(getId(), description.trim(), date)); + return deadlines.get(deadlineIndex).toStringMessage(); } + Deadline newDeadline = new Deadline(getId(), description.trim(), date); + deadlines.add(newDeadline); + return newDeadline.toStringMessage(); } //@@author Ridiculouswifi diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 1d7f51d1ba..644bc7019c 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -101,10 +101,11 @@ public Internship getInternship(int index) { * @param field Specific attribute to update. * @param value Updated value */ - public void updateField(int index, String field, String value) throws InvalidStatus, InvalidDeadline { + public String updateField(int index, String field, String value) throws InvalidStatus, InvalidDeadline { + String updatedValue = value; switch (field) { case "status": - internships.get(index).updateStatus(value); + updatedValue = internships.get(index).updateStatus(value); break; case "skills": internships.get(index).setSkills(value); @@ -122,13 +123,14 @@ public void updateField(int index, String field, String value) throws InvalidSta internships.get(index).setEndDate(value); break; case "deadline": - internships.get(index).updateDeadline(value); + updatedValue = internships.get(index).updateDeadline(value); break; default: assert false : "All valid fields should we handled in individual cases"; break; } logger.log(Level.INFO, "Internship " + (index + 1) + " updated: " + field); + return updatedValue; } public void removeField(int index, String field, String value) throws MissingValue { From a3cd1bbd8c61036424d0f875c6f6a9cea0e9eefb Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Sun, 10 Nov 2024 17:58:31 +0800 Subject: [PATCH 266/359] updated all diagrams --- docs/UML/AddCommand.puml | 4 ++-- docs/UML/AddCommand_Sequence_Diagram.png | Bin 89259 -> 55251 bytes docs/UML/Internship-Model_Component.png | Bin 104420 -> 56023 bytes docs/UML/loadFromFile.png | Bin 46443 -> 46254 bytes docs/UML/loadFromFile.puml | 20 +++++++++----------- docs/UML/saveToFile.puml | 4 ++-- 6 files changed, 13 insertions(+), 15 deletions(-) diff --git a/docs/UML/AddCommand.puml b/docs/UML/AddCommand.puml index cf943363a4..f4fb249c55 100644 --- a/docs/UML/AddCommand.puml +++ b/docs/UML/AddCommand.puml @@ -1,5 +1,5 @@ @startuml -title ":AddCommand" Sequence Diagram +title AddCommand Sequence Diagram hide footbox participant ":User" @@ -37,7 +37,7 @@ alt invalid flags found activate ":uiCommand" #green deactivate ":uiCommand" else all required flags present - ":AddCommand" -> ":Internship": new ":Internship"(role, company, startDate, endDate) + ":AddCommand" -> ":Internship" **: new Internship(role, company, startDate, endDate) activate ":Internship" #blue ":AddCommand"-> ":InternshipList": addInternship(newInternship) activate ":InternshipList" #aquamarine diff --git a/docs/UML/AddCommand_Sequence_Diagram.png b/docs/UML/AddCommand_Sequence_Diagram.png index d2852bd3692895c638d6cc2d5076f2c71e505499..60a236339a13637298f3dc804b76a1317f57df7e 100644 GIT binary patch literal 55251 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 literal 89259 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

XDUUQoqBvo*$EW)zKB^&7y8R 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

0>uCA`L(+5GKE_+yjTcMxp71a=tWF|cm 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 z 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 z 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 Hu0mjfZJpr* diff --git a/docs/UML/loadFromFile.png b/docs/UML/loadFromFile.png index 8b1a9688a81935aba079231e292ec77cc075e36b..b5a0750ebbe03db335c0e11a07062809fc20f966 100644 GIT binary patch literal 46254 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 literal 46443 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 diff --git a/docs/UML/loadFromFile.puml b/docs/UML/loadFromFile.puml index b92434fa0b..fd07f47d55 100644 --- a/docs/UML/loadFromFile.puml +++ b/docs/UML/loadFromFile.puml @@ -16,9 +16,9 @@ deactivate ":InternshipList" activate ":Storage" #orange loop for each line in file - ":Storage"-> ":Internship" **: create + ":Storage"-> ":Internship" **: new Internship(role, company, startDate, endDate) activate ":Internship" #blue - ":Internship"->":InternshipList": addInternship + ":Storage"->":InternshipList": addInternship(internship) activate ":InternshipList" #aquamarine deactivate ":InternshipList" ":Storage" -> ":Internship" :setSkills(skills) @@ -29,18 +29,16 @@ loop for each line in file deactivate ":Internship" ":Storage" -> ":Storage": parseDeadlines(deadlineString, internshipId) - activate ":Storage" #orange - - ":Storage" -> ":Deadline"**:create - activate ":Deadline" #purple - deactivate ":Deadline" - deactivate ":Storage" - - ":Deadline" -> ":Internship" : addDeadline(deadline) + activate ":Storage" #orange + return List loadedDeadlines + loop for deadline in loadedDeadlines + ":Storage" -> ":Internship" : addDeadline(description, date) activate ":Internship" #blue deactivate ":Internship" + end + + deactivate ":Storage" deactivate ":Internship" - deactivate ":Deadline" deactivate ":InternshipList" end deactivate ":Storage" diff --git a/docs/UML/saveToFile.puml b/docs/UML/saveToFile.puml index b781201d5c..6e5604cab7 100644 --- a/docs/UML/saveToFile.puml +++ b/docs/UML/saveToFile.puml @@ -13,13 +13,13 @@ activate ":EasInternship" #green activate ":Storage" #orange ":Storage" -> ":InternshipList" : getAllInternships() activate ":InternshipList" #aquamarine -":InternshipList" -> ":Storage" : List<":Internship"> +":InternshipList" --> ":Storage" : List<":Internship"> deactivate ":InternshipList" loop for each ":Internship" ":Storage"-> ":Internship" : get each attribute activate ":Internship" #blue -":Internship" -> ":Storage" : List +":Internship" --> ":Storage" : List deactivate ":Internship" loop for each Deadline ":Storage" -> Deadline : get each attribute From c5f19c71e81505845508a363fdb006696af313e2 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Sun, 10 Nov 2024 18:16:36 +0800 Subject: [PATCH 267/359] fixed dg related issues --- docs/DeveloperGuide.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index b4b720eddb..a8d0014fdc 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -7,7 +7,7 @@ ## Design & implementation 1. [Design](#1-design) - 1. [Architecture](#11-architecture) + 1. [Architecture](#11-Architecture) 2. [UI Component](#12-UI-component) 3. [Logic Component](#13-logic-component) 4. [Model Component](#14-model-component) @@ -20,12 +20,12 @@ 5. [DeleteCommand Implementation](#deletecommand-implementation) 6. [SortCommand Implementation](#sortcommand-implementation) 7. [UpdateCommand Implementation](#updatecommand-implementation) - 8. [RemoveCommand Implementation](#removecommand-implementation) + 8. [RemoveCommand Implementation](#RemoveCommand-implementation) --- ## About the Product 1. [Product Scope](#Product-Scope) - 1. [Target User Profile](#Target-user-profile) + 1. [Target User Profile](#Target-User-Profile) 2. [Value Proposition](#Value-proposition) 2. [User Stories](#User-Stories) 3. [Non-Functional Requirements](#Non-Functional-Requirements) @@ -332,8 +332,8 @@ The `RemoveCommand` class is responsible for removing the values within fields o The following sequence diagram shows how the `RemoveCommand` is executed: ![](UML/RemoveCommand_Sequence_Diagram.png) -## Product scope -### Target user profile +## Product Scope +### Target User Profile The target user profile for EasInternship includes: @@ -350,7 +350,7 @@ For example, John is a Computer Engineering Junior with the following characteri These traits make John a suitable candidate to use EasInternship. -### Value proposition +### Value Proposition This product helps users streamline the process of tracking and managing their internship applications by allowing them to: From 99d511d474c9f4b5c9393d51a95066f25837e308 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Sun, 10 Nov 2024 18:16:53 +0800 Subject: [PATCH 268/359] Fix issue #180 Incorrect exception caught for filter -favourite --- src/main/java/seedu/commands/FilterCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index c4fc5c772a..3d31f360d9 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -140,7 +140,7 @@ private void filterByFavouriteInternships(String searchTerm) { filteredInternships.internships.removeAll(favouriteInternshipList); break; default: - uiCommand.showOutput("Please only input 'true'/'false' following the -fav flag"); + uiCommand.showOutput("Please only input 'true'/'false' following the -favourite flag"); throw new IllegalArgumentException(); } } From 9da9dcaf791c0eb3fe2c004fd354b65639c59d39 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Sun, 10 Nov 2024 19:44:32 +0800 Subject: [PATCH 269/359] Remove static keywords --- src/main/java/seedu/commands/Command.java | 8 ++++---- src/main/java/seedu/duke/EasInternship.java | 2 +- src/main/java/seedu/duke/Internship.java | 4 ++-- src/main/java/seedu/duke/InternshipList.java | 4 ++-- src/main/java/seedu/duke/Parser.java | 4 ++-- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/main/java/seedu/commands/Command.java b/src/main/java/seedu/commands/Command.java index 6438057840..fa0a157ae4 100644 --- a/src/main/java/seedu/commands/Command.java +++ b/src/main/java/seedu/commands/Command.java @@ -7,10 +7,10 @@ import java.util.logging.Logger; public abstract class Command { - protected static final int INDEX_FIELD = 0; - protected static final int INDEX_DATA = 1; - protected static final Logger logger = Logger.getLogger("EasInternship"); - protected static UiCommand uiCommand = new UiCommand(); + protected final int INDEX_FIELD = 0; + protected final int INDEX_DATA = 1; + protected final Logger logger = Logger.getLogger("EasInternship"); + protected UiCommand uiCommand = new UiCommand(); protected InternshipList internships; public void setInternshipList(InternshipList internships) { diff --git a/src/main/java/seedu/duke/EasInternship.java b/src/main/java/seedu/duke/EasInternship.java index fc63383be9..b996446015 100644 --- a/src/main/java/seedu/duke/EasInternship.java +++ b/src/main/java/seedu/duke/EasInternship.java @@ -75,7 +75,7 @@ public static void main(String[] args) { } //@@author Ridiculouswifi - protected static void setUpLogger() { + private static void setUpLogger() { Logger logger = Logger.getLogger("EasInternship"); logger.setUseParentHandlers(false); diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index f8ef39aade..3e387d42ec 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -19,8 +19,8 @@ */ //@@author jadenlimjc public class Internship { - private static final DateTimeFormatter FORMATTER_MONTH_YEAR = DateTimeFormatter.ofPattern("MM/yy"); - private static final DateTimeFormatter FORMATTER_DATE = DateTimeFormatter.ofPattern("dd/MM/yy"); + private final DateTimeFormatter FORMATTER_MONTH_YEAR = DateTimeFormatter.ofPattern("MM/yy"); + private final DateTimeFormatter FORMATTER_DATE = DateTimeFormatter.ofPattern("dd/MM/yy"); private int id = -1; private String role; diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 5d8f4a9a98..6d6b4d0875 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -15,8 +15,8 @@ //@@author jadenlimjc public class InternshipList { - private static final UiInternshipList ui = new UiInternshipList(); - private static final Logger logger = Logger.getLogger("EasInternship"); + private final UiInternshipList ui = new UiInternshipList(); + private final Logger logger = Logger.getLogger("EasInternship"); public ArrayList internships; public ArrayList favouriteInternships; diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index 17abdb5dc5..238cea204d 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -23,8 +23,8 @@ import java.util.logging.Logger; public class Parser { - private static final Ui ui = new Ui(); - private static final Logger logger = Logger.getLogger("EasInternship"); + private final Ui ui = new Ui(); + private final Logger logger = Logger.getLogger("EasInternship"); private final Map> commands = new HashMap<>(); From c6837d8c9574ae4a5f55cafda6c4266fc0088b6e Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 10 Nov 2024 20:26:28 +0800 Subject: [PATCH 270/359] Fix checkstyle errors --- src/main/java/seedu/commands/AddCommand.java | 2 +- src/main/java/seedu/commands/CalendarCommand.java | 2 +- src/main/java/seedu/commands/Command.java | 2 +- src/main/java/seedu/commands/DeleteCommand.java | 2 +- src/main/java/seedu/commands/FavouriteCommand.java | 2 +- src/main/java/seedu/commands/FilterCommand.java | 2 +- src/main/java/seedu/commands/HelpCommand.java | 2 +- src/main/java/seedu/commands/ListCommand.java | 2 +- src/main/java/seedu/commands/SortCommand.java | 2 +- src/main/java/seedu/commands/UpdateCommand.java | 2 +- src/main/java/seedu/duke/Internship.java | 3 +-- src/main/java/seedu/duke/InternshipList.java | 10 +++++----- src/main/java/seedu/duke/Parser.java | 8 ++++---- src/main/java/seedu/duke/Storage.java | 14 +++++++------- 14 files changed, 27 insertions(+), 28 deletions(-) diff --git a/src/main/java/seedu/commands/AddCommand.java b/src/main/java/seedu/commands/AddCommand.java index 3b702ed59d..d4247388f9 100644 --- a/src/main/java/seedu/commands/AddCommand.java +++ b/src/main/java/seedu/commands/AddCommand.java @@ -76,7 +76,7 @@ public void execute(ArrayList args) { internships.addInternship(newInternship); uiCommand.showEditedInternship(newInternship, "add"); - logger.log(Level.INFO, "AddCommand Executed"); + LOGGER.log(Level.INFO, "AddCommand Executed"); } @Override diff --git a/src/main/java/seedu/commands/CalendarCommand.java b/src/main/java/seedu/commands/CalendarCommand.java index 76fcbf853d..b8d17c4e46 100644 --- a/src/main/java/seedu/commands/CalendarCommand.java +++ b/src/main/java/seedu/commands/CalendarCommand.java @@ -20,7 +20,7 @@ public void execute(ArrayList args) { ArrayList sortedDeadlines = sortDeadlines(deadlines); uiCommand.showCalendar(sortedDeadlines); - logger.log(Level.INFO, "CalendarCommand Executed"); + LOGGER.log(Level.INFO, "CalendarCommand Executed"); } protected ArrayList getDeadlines() { diff --git a/src/main/java/seedu/commands/Command.java b/src/main/java/seedu/commands/Command.java index 6438057840..c0c50de517 100644 --- a/src/main/java/seedu/commands/Command.java +++ b/src/main/java/seedu/commands/Command.java @@ -9,7 +9,7 @@ public abstract class Command { protected static final int INDEX_FIELD = 0; protected static final int INDEX_DATA = 1; - protected static final Logger logger = Logger.getLogger("EasInternship"); + protected static final Logger LOGGER = Logger.getLogger("EasInternship"); protected static UiCommand uiCommand = new UiCommand(); protected InternshipList internships; diff --git a/src/main/java/seedu/commands/DeleteCommand.java b/src/main/java/seedu/commands/DeleteCommand.java index b4c7d29913..a8168727e3 100644 --- a/src/main/java/seedu/commands/DeleteCommand.java +++ b/src/main/java/seedu/commands/DeleteCommand.java @@ -14,7 +14,7 @@ public void execute (ArrayList args) { int index = id - 1; internships.removeInternship(index); - logger.log(Level.INFO, "DeleteCommand Executed"); + LOGGER.log(Level.INFO, "DeleteCommand Executed"); } catch (NumberFormatException e) { uiCommand.showOutput("Invalid integer, please provide a valid internship ID"); } catch (InvalidIndex ie) { diff --git a/src/main/java/seedu/commands/FavouriteCommand.java b/src/main/java/seedu/commands/FavouriteCommand.java index 6f3da15a0d..0e6ffcd2c8 100644 --- a/src/main/java/seedu/commands/FavouriteCommand.java +++ b/src/main/java/seedu/commands/FavouriteCommand.java @@ -23,7 +23,7 @@ public void execute(ArrayList args) { } favouriteInternships.add(internship); - logger.log(Level.INFO, "FavouriteCommand Executed"); + LOGGER.log(Level.INFO, "FavouriteCommand Executed"); } catch (NumberFormatException e) { uiCommand.showOutput("Invalid integer: " + arg + "\nPlease provide a valid internship ID"); } diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index c4fc5c772a..43aab4b164 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -60,7 +60,7 @@ public void execute(ArrayList args) { functionComplete = true; filteredInternships.listAllInternships(); - logger.log(Level.INFO, "FilterCommand Executed"); + LOGGER.log(Level.INFO, "FilterCommand Executed"); } private void executeFilterByOneFlag(String[] words) { diff --git a/src/main/java/seedu/commands/HelpCommand.java b/src/main/java/seedu/commands/HelpCommand.java index b6062d5539..2ce88d566a 100644 --- a/src/main/java/seedu/commands/HelpCommand.java +++ b/src/main/java/seedu/commands/HelpCommand.java @@ -23,7 +23,7 @@ public void execute(ArrayList args) { uiCommand.showCommands(commands); - logger.log(Level.INFO, "HelpCommand Executed"); + LOGGER.log(Level.INFO, "HelpCommand Executed"); } @Override diff --git a/src/main/java/seedu/commands/ListCommand.java b/src/main/java/seedu/commands/ListCommand.java index 77c14335d3..2600c9d34f 100644 --- a/src/main/java/seedu/commands/ListCommand.java +++ b/src/main/java/seedu/commands/ListCommand.java @@ -12,7 +12,7 @@ public class ListCommand extends Command { public void execute(ArrayList args) { internships.listAllInternships(); - logger.log(Level.INFO, "ListCommand Executed"); + LOGGER.log(Level.INFO, "ListCommand Executed"); } @Override diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index 8a94433a61..e29498b48f 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -84,7 +84,7 @@ public void execute(ArrayList args) { internships.listInternshipsInvalidFlag(sortOption); } - logger.log(Level.INFO, "SortCommand Executed"); + LOGGER.log(Level.INFO, "SortCommand Executed"); } @Override diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index ad10472608..a73850b240 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -37,7 +37,7 @@ public void execute(ArrayList args) { uiCommand.showEditedInternship(internships.getInternship(internshipIndex), "update"); - logger.log(Level.INFO, "UpdateCommand Executed"); + LOGGER.log(Level.INFO, "UpdateCommand Executed"); } catch (NumberFormatException e) { uiCommand.showOutput("Invalid integer, please provide a valid internship ID"); } catch (InvalidIndex ie) { diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 6f213a4a20..106755ea12 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -185,9 +185,8 @@ public void clearDeadlines() { * If no deadline has the same description, a new deadline entry is created. * * @param value String with description and deadline. + * @return Updated deadline as reflected in Internship entry. * @throws InvalidDeadline Either description is empty or there is no parsable date. - * - * @return Updated deadline as reflected in Internship entry. */ public String updateDeadline(String value) throws InvalidDeadline { String[] words = value.split(" "); diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 644bc7019c..010a4a2796 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -16,7 +16,7 @@ //@@author jadenlimjc public class InternshipList { private static final UiInternshipList ui = new UiInternshipList(); - private static final Logger logger = Logger.getLogger("EasInternship"); + private static final Logger LOGGER = Logger.getLogger("EasInternship"); public ArrayList internships; public ArrayList favouriteInternships; @@ -42,7 +42,7 @@ public void addInternship(Internship internship) { assert internship.getId() == internships.size() + 1; internships.add(internship); - logger.log(Level.INFO, "Internship added"); + LOGGER.log(Level.INFO, "Internship added"); } //@@author Ridiculouswifi @@ -68,7 +68,7 @@ public void removeInternship(int index) throws InvalidIndex { ui.showDeletedInternship(index + 1); updateIds(); // Reassign IDs after removal - logger.log(Level.INFO, "Internship removed"); + LOGGER.log(Level.INFO, "Internship removed"); } // Private method to update the IDs after a removal @@ -129,7 +129,7 @@ public String updateField(int index, String field, String value) throws InvalidS assert false : "All valid fields should we handled in individual cases"; break; } - logger.log(Level.INFO, "Internship " + (index + 1) + " updated: " + field); + LOGGER.log(Level.INFO, "Internship " + (index + 1) + " updated: " + field); return updatedValue; } @@ -145,7 +145,7 @@ public void removeField(int index, String field, String value) throws MissingVal assert false : "All valid fields should we handled in individual cases"; break; } - logger.log(Level.INFO, "Internship " + (index + 1) + " removed: " + field); + LOGGER.log(Level.INFO, "Internship " + (index + 1) + " removed: " + field); } //@@author jadenlimjc diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index 17abdb5dc5..5fb26103e2 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -24,7 +24,7 @@ public class Parser { private static final Ui ui = new Ui(); - private static final Logger logger = Logger.getLogger("EasInternship"); + private static final Logger LOGGER = Logger.getLogger("EasInternship"); private final Map> commands = new HashMap<>(); @@ -60,12 +60,12 @@ public Command parseCommand(String input) { if (!commands.containsKey(inputCommand)) { ui.showUnknownCommand(inputCommand); - logger.log(Level.WARNING, "Invalid Command: " + inputCommand); + LOGGER.log(Level.WARNING, "Invalid Command: " + inputCommand); return null; } Supplier commandSupplier = commands.get(inputCommand); - logger.log(Level.INFO, "Command Parsed: " + inputCommand); + LOGGER.log(Level.INFO, "Command Parsed: " + inputCommand); return commandSupplier.get(); } @@ -79,7 +79,7 @@ public ArrayList parseData(Command command, String input) { if (inputArgs.length < 2) { if (!(command instanceof SortCommand)) { ui.showOutput("Please input some ID or flag following the command"); - logger.log(Level.WARNING, "Invalid Command: " + input); + LOGGER.log(Level.WARNING, "Invalid Command: " + input); return null; } return new ArrayList<>(); diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index 87761395f1..4ed0d9a9ee 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -19,7 +19,7 @@ public class Storage { //define filepath private static final String FILE_PATH = "./data/EasInternship.txt"; - private static final Logger logger = Logger.getLogger("EasInternship"); + private static final Logger LOGGER = Logger.getLogger("EasInternship"); /** @@ -33,7 +33,7 @@ public static void saveToFile(InternshipList internshipList) { //create directory if file does not exist if (!dir.exists()) { dir.mkdirs(); - logger.log(Level.INFO, "Directory created"); + LOGGER.log(Level.INFO, "Directory created"); } FileWriter writer = new FileWriter(FILE_PATH); List internships = internshipList.getAllInternships(); @@ -72,12 +72,12 @@ public static void saveToFile(InternshipList internshipList) { writer.write(" " + favInternship.getId()); } writer.write("\n"); - logger.log(Level.INFO, "Data saved"); + LOGGER.log(Level.INFO, "Data saved"); writer.close(); } catch (IOException e) { System.out.println("Error while saving tasks: " + e.getMessage()); - logger.log(Level.WARNING, "Error while saving tasks", e); + LOGGER.log(Level.WARNING, "Error while saving tasks", e); } } @@ -89,7 +89,7 @@ public static void loadFromFile(InternshipList internshipList) { File file = new File(FILE_PATH); if (!file.exists()) { System.out.println("No data file found."); - logger.log(Level.INFO, "No data file found."); + LOGGER.log(Level.INFO, "No data file found."); return; } try (BufferedReader reader = new BufferedReader(new FileReader(file))) { @@ -135,10 +135,10 @@ public static void loadFromFile(InternshipList internshipList) { internshipList.favouriteInternships.add(favInternship); } } - logger.log(Level.INFO, "Data loaded"); + LOGGER.log(Level.INFO, "Data loaded"); } catch (IOException e) { System.out.println("Error while loading tasks: " + e.getMessage()); - logger.log(Level.WARNING, "Error while loading tasks", e); + LOGGER.log(Level.WARNING, "Error while loading tasks", e); } } From 3892a262e0b8f00071a2da5f062623eb2c694e10 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Sun, 10 Nov 2024 21:47:58 +0800 Subject: [PATCH 271/359] issue 200 --- src/main/java/seedu/duke/Storage.java | 42 +++++++++++++++++---------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index 50dd4f42d7..1855d4c20b 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -90,15 +90,25 @@ public static void loadFromFile(InternshipList internshipList) { logger.log(Level.INFO, "No data file found."); return; } + List favouriteIds = new ArrayList<>(); try (BufferedReader reader = new BufferedReader(new FileReader(file))) { String line; + while ((line = reader.readLine()) != null) { - if (!isValidFormat(line)) { - System.out.println("Skipping invalid line in file: " + line); - continue; // Skip the invalid line instead of throwing an error + if (line.startsWith("FAVOURITES:")) { + // add IDs to favouriteIDs list + String favouritesString = line.substring("FAVOURITES:".length()).trim(); + if (!favouritesString.isEmpty()) { + String[] parts = favouritesString.split(" "); + for (String id : parts) { + int favInternshipId = Integer.parseInt(id); + int favInternshipIndex = favInternshipId - 1; + favouriteIds.add(favInternshipIndex); + } + } } - if (!(line.startsWith("FAVOURITES:"))) { + else if (isValidFormat(line)) { String[] data = line.split(" \\| "); String role = data[1]; String company = data[2]; @@ -116,21 +126,23 @@ public static void loadFromFile(InternshipList internshipList) { for (Deadline deadline : loadedDeadlines) { internship.addDeadline(deadline.getDescription(), deadline.getDate()); } - continue; } - // Parse favourite internships - String favouritesString = line.substring("FAVOURITES:".length()); - if (favouritesString.isBlank()) { - return; + else { + System.out.println("Skipping invalid line in file: " + line); } - String[] parts = favouritesString.trim().split(" ", -1); - for (String id : parts) { - int favInternshipId = Integer.parseInt(id); - int favInternshipIndex = favInternshipId - 1; - Internship favInternship = internshipList.internships.get(favInternshipIndex); - internshipList.favouriteInternships.add(favInternship); + } + //process favourite internships + for (Integer favInternshipId : favouriteIds) { + if (favInternshipId > 0 && favInternshipId <= internshipList.getSize()) { + Internship favInternship = internshipList.getInternship(favInternshipId); + if (favInternship != null) { + internshipList.favouriteInternships.add(favInternship); + } else { + logger.log(Level.WARNING, "Internship with ID " + favInternshipId + " not found."); + } + } } logger.log(Level.INFO, "Data loaded"); From 7ae0f1db3175d7677ec038eaac08ea6157470e13 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Sun, 10 Nov 2024 22:37:42 +0800 Subject: [PATCH 272/359] issue 199, issue 197 --- src/main/java/seedu/duke/Internship.java | 12 ++++++++++-- src/main/java/seedu/duke/Storage.java | 12 +++++++++--- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index f8ef39aade..c801d7c836 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -116,7 +116,11 @@ public String getStartDate() { public void setStartDate(String start) throws DateTimeParseException { assert start != null; - this.startDate = YearMonth.parse(start, FORMATTER_MONTH_YEAR); + try { + this.startDate = YearMonth.parse(start, FORMATTER_MONTH_YEAR); + } catch (DateTimeParseException e) { + this.startDate = YearMonth.of(01,01); + } } public String getEndDate() { @@ -125,7 +129,11 @@ public String getEndDate() { public void setEndDate(String end) throws DateTimeParseException { assert end != null; - this.endDate = YearMonth.parse(end, FORMATTER_MONTH_YEAR); + try { + this.endDate = YearMonth.parse(end, FORMATTER_MONTH_YEAR); + } catch (DateTimeParseException e) { + this.endDate = YearMonth.of(01,01); + } } public String getFavourite() { diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index 1855d4c20b..65aa51927e 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -5,6 +5,11 @@ import java.io.FileReader; import java.io.BufferedReader; import java.io.IOException; +import java.time.LocalDate; +import java.time.Year; +import java.time.YearMonth; +import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; @@ -91,6 +96,9 @@ public static void loadFromFile(InternshipList internshipList) { return; } List favouriteIds = new ArrayList<>(); + DateTimeFormatter monthYearFormatter = DateTimeFormatter.ofPattern("MM/yy"); + DateTimeFormatter deadlineFormatter = DateTimeFormatter.ofPattern("dd/MM/yyyy"); + try (BufferedReader reader = new BufferedReader(new FileReader(file))) { String line; @@ -169,14 +177,12 @@ private static boolean isValidFormat(String line) { private static List parseDeadlines(String deadlineString, int internshipId) { List deadlines = new ArrayList<>(); - // Skip parsing if the default "No Deadlines Added" is present if (deadlineString.equals("No Deadlines set.")) { return deadlines; } - String[] parts = deadlineString.split(" - "); // Adjust as per your actual format + String[] parts = deadlineString.split(" - "); for (String part : parts) { - // Assume part is formatted like: "description -date MM/dd/yyyy" String[] deadlineParts = part.split(" -date "); if (deadlineParts.length == 2) { String description = deadlineParts[0].trim(); From b675f0be71477ace1a961142539b22800225f87f Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Sun, 10 Nov 2024 22:53:26 +0800 Subject: [PATCH 273/359] issue 179 --- docs/team/{jadenlim.md => jadenlimjc.md} | 0 src/main/java/seedu/duke/Deadline.java | 7 ++++++- src/main/java/seedu/duke/Internship.java | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) rename docs/team/{jadenlim.md => jadenlimjc.md} (100%) diff --git a/docs/team/jadenlim.md b/docs/team/jadenlimjc.md similarity index 100% rename from docs/team/jadenlim.md rename to docs/team/jadenlimjc.md diff --git a/src/main/java/seedu/duke/Deadline.java b/src/main/java/seedu/duke/Deadline.java index 3e798da129..3e9986c460 100644 --- a/src/main/java/seedu/duke/Deadline.java +++ b/src/main/java/seedu/duke/Deadline.java @@ -36,7 +36,12 @@ public void setDescription(String description) { } public void setDate(String date) throws DateTimeParseException { - this.date = LocalDate.parse(date, DATE_FORMATTER); + assert date != null; + try { + this.date = LocalDate.parse(date, DATE_FORMATTER); + } catch (DateTimeParseException e) { + this.date = LocalDate.of(1,1,1); + } } public String getDate() { diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index c801d7c836..916237f7a4 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -119,7 +119,7 @@ public void setStartDate(String start) throws DateTimeParseException { try { this.startDate = YearMonth.parse(start, FORMATTER_MONTH_YEAR); } catch (DateTimeParseException e) { - this.startDate = YearMonth.of(01,01); + this.startDate = YearMonth.of(1,1); } } @@ -132,7 +132,7 @@ public void setEndDate(String end) throws DateTimeParseException { try { this.endDate = YearMonth.parse(end, FORMATTER_MONTH_YEAR); } catch (DateTimeParseException e) { - this.endDate = YearMonth.of(01,01); + this.endDate = YearMonth.of(1,1); } } From 20f73b8e871f604b8eeb8b71c46ad14cf8cd7bea Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Sun, 10 Nov 2024 23:14:38 +0800 Subject: [PATCH 274/359] improve the sortCommand usage --- src/main/java/seedu/commands/SortCommand.java | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index 4c2a0073ea..8c25a2d87b 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -91,22 +91,22 @@ public void execute(ArrayList args) { public String getUsage() { return """ sort - Usage: sort [-role | -duration | -deadline | -skills | -status | -company - | -role in favourite | -duration in favourite | -deadline in favourite - | -skills in favourite | -status in favourite | -company in favourite ] + Usage: sort -{field} Only sort by exactly one field in each time - role: Sort internships alphabetically by role (case-insensitive). - deadline: Sort internships by start date (year first), then end date. - duration: Sort internships by internship duration. - skills: Sort internships by the first skill alphabetically. - status: Sort internships by status alphabetically. - role in favourite: Sort internships in favourite alphabetically by role (case-insensitive). - deadline in favourite: Sort internships in favourite by start date (year first), then end date. - duration in favourite: Sort internships in favourite by internship duration. - skills in favourite: Sort internships in favourite by the first skill alphabetically. - status in favourite: Sort internships in favourite by status alphabetically. + List of fields: + + - role: Sort internships alphabetically by role (case-insensitive). + - deadline: Sort internships by start date (year first), then end date. + - duration: Sort internships by internship duration. + - skills: Sort internships by the first skill alphabetically. + - status: Sort internships by status alphabetically. + - role in favourite: Sort internships in favourite alphabetically by role (case-insensitive). + - deadline in favourite: Sort internships in favourite by start date (year first), then end date. + - duration in favourite: Sort internships in favourite by internship duration. + - skills in favourite: Sort internships in favourite by the first skill alphabetically. + - status in favourite: Sort internships in favourite by status alphabetically. """; } } From cd43813d5876bce4d52f1c9bac1e52841d5e9df7 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Sun, 10 Nov 2024 23:31:11 +0800 Subject: [PATCH 275/359] updated loadFromFile --- docs/UML/loadFromFile.png | Bin 46254 -> 78575 bytes docs/UML/loadFromFile.puml | 22 ++++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/docs/UML/loadFromFile.png b/docs/UML/loadFromFile.png index b5a0750ebbe03db335c0e11a07062809fc20f966..f11b5111f14f9db8109a45158631092a75b2418e 100644 GIT binary patch literal 78575 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%0AyZJ|=U*n$+uzrZvBt&;(q}T`Er(q| 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 diff --git a/docs/UML/loadFromFile.puml b/docs/UML/loadFromFile.puml index fd07f47d55..bbe799065d 100644 --- a/docs/UML/loadFromFile.puml +++ b/docs/UML/loadFromFile.puml @@ -16,6 +16,14 @@ deactivate ":InternshipList" activate ":Storage" #orange loop for each line in file + + alt line starts with "FAVOURITES:" + ":Storage" -> ":Storage" : add favInternshipId to favouriteIds + activate ":Storage" #orange + return + + end + ":Storage"-> ":Internship" **: new Internship(role, company, startDate, endDate) activate ":Internship" #blue ":Storage"->":InternshipList": addInternship(internship) @@ -37,6 +45,20 @@ loop for each line in file deactivate ":Internship" end + loop for favInternshipId in favouriteIds + ":Storage" -> ":InternshipList" : getInternship(favInternshipId) + activate ":InternshipList" #aquamarine + ":InternshipList" --> ":Storage" : favInternship + deactivate ":InternshipList" + + alt favInternship is found + ":Storage" -> ":InternshipList" : add to favouriteInternships + else favInternship is not found + ":Storage" -> ":Storage" : warning: favInternshipId not found. + end + + end + deactivate ":Storage" deactivate ":Internship" deactivate ":InternshipList" From b8b25771fb08e54517a1118c047fa64a375daed0 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Sun, 10 Nov 2024 23:36:16 +0800 Subject: [PATCH 276/359] fixed checkstyle errors --- src/main/java/seedu/duke/Storage.java | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index 65aa51927e..d5ebab8b19 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -5,11 +5,7 @@ import java.io.FileReader; import java.io.BufferedReader; import java.io.IOException; -import java.time.LocalDate; -import java.time.Year; -import java.time.YearMonth; import java.time.format.DateTimeFormatter; -import java.time.format.DateTimeParseException; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; @@ -114,9 +110,7 @@ public static void loadFromFile(InternshipList internshipList) { favouriteIds.add(favInternshipIndex); } } - } - - else if (isValidFormat(line)) { + } else if (isValidFormat(line)) { String[] data = line.split(" \\| "); String role = data[1]; String company = data[2]; @@ -134,9 +128,7 @@ else if (isValidFormat(line)) { for (Deadline deadline : loadedDeadlines) { internship.addDeadline(deadline.getDescription(), deadline.getDate()); } - } - - else { + } else { System.out.println("Skipping invalid line in file: " + line); } @@ -172,8 +164,6 @@ private static boolean isValidFormat(String line) { } - - private static List parseDeadlines(String deadlineString, int internshipId) { List deadlines = new ArrayList<>(); From 966e859d795a34877f7b44a9225d5a8147822073 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Sun, 10 Nov 2024 23:49:04 +0800 Subject: [PATCH 277/359] Change the sorting method of sort -status and sort -status in favourite , that sorted by status, (application pending, application completed, accepted, rejected) with this ascending order. Within the same status, the order is sorted by role. --- docs/DeveloperGuide.md | 8 +- docs/UserGuide.md | 16 +-- src/main/java/seedu/commands/SortCommand.java | 8 +- src/main/java/seedu/duke/InternshipList.java | 106 ++++++++++++++++-- 4 files changed, 117 insertions(+), 21 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 4ae83af8d3..a1acde1250 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -195,13 +195,13 @@ The `SortCommand` class is responsible for sorting the internship listings based - `"duration"`: Sorts internships by duration (start and end dates). - `"deadline"`: Sorts internships by deadline. - `"skills"`: Sorts internships by the first skill in the skills list alphabetically. - - `"status"`: Sorts internships by status alphabetically. + - `"status"`: Sort internships by status, (application pending, application completed, accepted, rejected) with this ascending order. Within the same status, the order is sorted by role. - `"company"`: Sorts internships by company alphabetically. - `"role in favourite"`: Sorts internships in favourite by role alphabetically. - `"duration in favourite"`: Sorts internships in favourite by duration (start and end dates). - `"deadline in favourite"`: Sorts internships in favourite by deadline. - `"skills in favourite"`: Sorts internships in favourite by the first skill in the skills list alphabetically. - - `"status in favourite"`: Sorts internships in favourite by status alphabetically. + - `"status in favourite"`: Sort internships in favourite by status, (application pending, application completed, accepted, rejected) with this ascending order. Within the same status, the order is sorted by role. - `"company in favourite"`: Sorts internships in favourite by company alphabetically. - If the user provides an invalid sort option, the command returns an error and defaults to listing internships by ID. - **`getUsage()`**: Returns a string showing the correct usage of the `sort` command, including valid options like "alphabet", "deadline", "duration", "skills", and "status". @@ -210,12 +210,12 @@ The `SortCommand` class is responsible for sorting the internship listings based 1. The user enters `sort -role`, and the `execute` method sorts the internships by role alphabetically. 2. The user enters `sort -duration`, and the internships are sorted by their start and end dates. 3. The user enters `sort -skills`, and the internships are sorted by the first skill alphabetically. -4. The user enters `sort -status`, and the internships are sorted by their status alphabetically. +4. The user enters `sort -status`, and the internships are sorted by status, (application pending, application completed, accepted, rejected) with this ascending order. Within the same status, the order is sorted by role. 5. The user enters `sort -deadline`, and the internships are sorted by each of their earliest deadline. 6. The user enters `sort -company`, and the internships are sorted by their company alphabetically. 7. The user enters `sort -role in favourite`, and the `execute` method sorts the internships in favourite by role. 8. The user enters `sort -duration in favourite`, and the internships in favourite are sorted by their start and end dates. -9. The user enters `sort -skills in favourite`, and the internships in favourite are sorted by the first skill alphabetically. +9. The user enters `sort -skills in favourite`, and the internships in favourite are sorted by status, (application pending, application completed, accepted, rejected) with this ascending order. Within the same status, the order is sorted by role. 10. The user enters `sort -status in favourite`, and the internships in favourite are sorted by their status alphabetically. 11. The user enters `sort -deadline in favourite`, and the internships in favourite are sorted by each of their earliest deadline. 12. The user enters `sort -company in favourite`, and the internships in favourite are sorted by their company alphabetically. diff --git a/docs/UserGuide.md b/docs/UserGuide.md index b72cdac957..0f54b8bcca 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -706,14 +706,6 @@ __________________________________________________ __________________________________________________ Sorted internships by status. __________________________________________________ -ID: 3 Status: Accepted -Role: IT support Intern -Company: Microsoft -Duration: 03/24 to 08/24 -Skills: Java -Deadlines: - certificate submit: 15/04/24 -__________________________________________________ ID: 2 Status: Application Completed Role: Customer Service Intern Company: Google @@ -722,6 +714,14 @@ Skills: Python SQL Deadlines: interview reply: 12/04/24 __________________________________________________ +ID: 3 Status: Accepted +Role: IT support Intern +Company: Microsoft +Duration: 03/24 to 08/24 +Skills: Java +Deadlines: + certificate submit: 15/04/24 +__________________________________________________ ID: 1 Status: Rejected Role: Embedded Software Engineer Intern Company: Continental diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index 8c25a2d87b..6727d81246 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -101,12 +101,16 @@ public String getUsage() { - deadline: Sort internships by start date (year first), then end date. - duration: Sort internships by internship duration. - skills: Sort internships by the first skill alphabetically. - - status: Sort internships by status alphabetically. + - status: Sort internships by status, (application pending, application completed + ,accepted, rejected) with this ascending order. Within the same status, the order is sorted by + role. - role in favourite: Sort internships in favourite alphabetically by role (case-insensitive). - deadline in favourite: Sort internships in favourite by start date (year first), then end date. - duration in favourite: Sort internships in favourite by internship duration. - skills in favourite: Sort internships in favourite by the first skill alphabetically. - - status in favourite: Sort internships in favourite by status alphabetically. + - status in favourite: Sort internships in favourite by status, (application pending, + application completed, accepted, rejected) with this ascending order. Within the + same status, the order is sorted by role. """; } } diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 5d8f4a9a98..7ba202f06f 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -269,12 +269,57 @@ private static void sortedByFirstSkillFunction(ArrayList sortedList) } /** - * Lists internships sorted by status alphabetically (case-insensitive). + * Lists internships sorted by status in the following order: + * 1. Application Pending + * 2. Application Completed + * 3. Accepted + * 4. Rejected + * If internships have the same status, they are sorted by role alphabetically. */ public void listInternshipsSortedByStatus() { - ArrayList sortedInternships = new ArrayList<>(internships); + // Separate internships by status into four different lists + ArrayList pendingList = new ArrayList<>(); + ArrayList completedList = new ArrayList<>(); + ArrayList acceptedList = new ArrayList<>(); + ArrayList rejectedList = new ArrayList<>(); + + for (Internship internship : internships) { + String status = internship.getStatus().toLowerCase(); + switch (status) { + case "application pending": + pendingList.add(internship); + break; + case "application completed": + completedList.add(internship); + break; + case "accepted": + acceptedList.add(internship); + break; + case "rejected": + rejectedList.add(internship); + break; + default: + // If there's an unknown status, you might want to handle it or ignore it + logger.log(Level.WARNING, "Unknown status: " + status); + break; + } + } - Collections.sort(sortedInternships, Comparator.comparing(internship -> internship.getStatus().toLowerCase())); + // Sort each list by role alphabetically (case-insensitive) + Comparator roleComparator = Comparator.comparing(internship -> internship.getRole().toLowerCase()); + pendingList.sort(roleComparator); + completedList.sort(roleComparator); + acceptedList.sort(roleComparator); + rejectedList.sort(roleComparator); + + // Create a final sorted list by combining the lists in the required order + ArrayList sortedInternships = new ArrayList<>(); + sortedInternships.addAll(pendingList); + sortedInternships.addAll(completedList); + sortedInternships.addAll(acceptedList); + sortedInternships.addAll(rejectedList); + + // Display the sorted internships ui.showInternships(sortedInternships, "status"); } @@ -326,13 +371,60 @@ public void listFavouriteInternshipsSortedByFirstSkill() { ui.showInternships(sortedInternships, "skills in favourite"); } + /** - * Lists all favourite internships sorted by status alphabetically (case-insensitive). + * Lists internships sorted by status in the following order: + * 1. Application Pending + * 2. Application Completed + * 3. Accepted + * 4. Rejected + * If internships have the same status, they are sorted by role alphabetically. */ public void listFavouriteInternshipsSortedByStatus() { - ArrayList sortedList = new ArrayList<>(favouriteInternships); - Collections.sort(sortedList, Comparator.comparing(internship -> internship.getStatus().toLowerCase())); - ui.showInternships(sortedList, "status in favourite"); + // Separate internships by status into four different lists + ArrayList pendingList = new ArrayList<>(); + ArrayList completedList = new ArrayList<>(); + ArrayList acceptedList = new ArrayList<>(); + ArrayList rejectedList = new ArrayList<>(); + + for (Internship internship : favouriteInternships) { + String status = internship.getStatus().toLowerCase(); + switch (status) { + case "application pending": + pendingList.add(internship); + break; + case "application completed": + completedList.add(internship); + break; + case "accepted": + acceptedList.add(internship); + break; + case "rejected": + rejectedList.add(internship); + break; + default: + // If there's an unknown status, you might want to handle it or ignore it + logger.log(Level.WARNING, "Unknown status: " + status); + break; + } + } + + // Sort each list by role alphabetically (case-insensitive) + Comparator roleComparator = Comparator.comparing(internship -> internship.getRole().toLowerCase()); + pendingList.sort(roleComparator); + completedList.sort(roleComparator); + acceptedList.sort(roleComparator); + rejectedList.sort(roleComparator); + + // Create a final sorted list by combining the lists in the required order + ArrayList sortedInternships = new ArrayList<>(); + sortedInternships.addAll(pendingList); + sortedInternships.addAll(completedList); + sortedInternships.addAll(acceptedList); + sortedInternships.addAll(rejectedList); + + // Display the sorted internships + ui.showInternships(sortedInternships, "status in favourite"); } /** From 83fcff993140bc0a8c1a813f28b0031af2f0ef75 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Sun, 10 Nov 2024 23:53:02 +0800 Subject: [PATCH 278/359] change the code format --- src/main/java/seedu/duke/InternshipList.java | 64 ++++++++++---------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 7ba202f06f..0b90c72e2a 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -286,22 +286,22 @@ public void listInternshipsSortedByStatus() { for (Internship internship : internships) { String status = internship.getStatus().toLowerCase(); switch (status) { - case "application pending": - pendingList.add(internship); - break; - case "application completed": - completedList.add(internship); - break; - case "accepted": - acceptedList.add(internship); - break; - case "rejected": - rejectedList.add(internship); - break; - default: - // If there's an unknown status, you might want to handle it or ignore it - logger.log(Level.WARNING, "Unknown status: " + status); - break; + case "application pending": + pendingList.add(internship); + break; + case "application completed": + completedList.add(internship); + break; + case "accepted": + acceptedList.add(internship); + break; + case "rejected": + rejectedList.add(internship); + break; + default: + // If there's an unknown status, you might want to handle it or ignore it + logger.log(Level.WARNING, "Unknown status: " + status); + break; } } @@ -390,22 +390,22 @@ public void listFavouriteInternshipsSortedByStatus() { for (Internship internship : favouriteInternships) { String status = internship.getStatus().toLowerCase(); switch (status) { - case "application pending": - pendingList.add(internship); - break; - case "application completed": - completedList.add(internship); - break; - case "accepted": - acceptedList.add(internship); - break; - case "rejected": - rejectedList.add(internship); - break; - default: - // If there's an unknown status, you might want to handle it or ignore it - logger.log(Level.WARNING, "Unknown status: " + status); - break; + case "application pending": + pendingList.add(internship); + break; + case "application completed": + completedList.add(internship); + break; + case "accepted": + acceptedList.add(internship); + break; + case "rejected": + rejectedList.add(internship); + break; + default: + // If there's an unknown status, you might want to handle it or ignore it + logger.log(Level.WARNING, "Unknown status: " + status); + break; } } From 91dbfea311e4d1aad331de14de38d669ac8fa6c5 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 11 Nov 2024 00:04:07 +0800 Subject: [PATCH 279/359] issue 172 --- docs/UserGuide.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index ac6da72913..a31305e5f1 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -98,6 +98,33 @@ __________________________________________________ __________________________________________________ ``` +**Example Erroneous Input 1:** +`add Software Engineer Intern Google` + +**Example Erroneous Output 1:** +``` +__________________________________________________ +__________________________________________________ +Role not specified. +Company not specified. +__________________________________________________ +__________________________________________________ +``` + +**Example Erroneous Input 1:** +`add -role Software Engineer Intern -company Google -from 35/10` + +**Example Erroneous Output 1:** +``` +__________________________________________________ +__________________________________________________ +35/10 is not a valid date +Please enter a date in the MM/yy format +__________________________________________________ +__________________________________________________ + +``` + ## Update Command: `update` Updates any field of an Internship entry. From c086c295893f1c5496e73e10816eb668e451a411 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 11 Nov 2024 00:05:55 +0800 Subject: [PATCH 280/359] issue 170 --- docs/UserGuide.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index a31305e5f1..c98ea9e18a 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -932,6 +932,10 @@ __________________________________________________ ## FAQ +**Q**: Can I use "-" in my fields? + +**A**: No. Unknown flag will be thrown. + **Q**: How do I transfer my data to another computer? **A**: Locate the `/data/` directory, in the same directory as your `.jar` file. Copy this `/data/` directory to the second computer and store it in the same directory as the `.jar` file. From f1945e909cf2f512262d87bb8b113db0d53ad977 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 11 Nov 2024 00:08:04 +0800 Subject: [PATCH 281/359] issue 165 --- docs/UserGuide.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index c98ea9e18a..9ad6d01efb 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -832,7 +832,7 @@ __________________________________________________ ``` ## Delete Command: `delete` -This feature removes an entire listing from the tracker. +This feature removes an entire listing from the tracker and updates all remaining IDs. **Format:** `delete {ID}` @@ -871,7 +871,21 @@ Internship deleted: 1 __________________________________________________ __________________________________________________ ``` +`list` +``` +__________________________________________________ +__________________________________________________ +ID: 1 Status: Application Pending +Role: accountant +Company: XYZ +Duration: 01/01 to 01/01 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +__________________________________________________ +``` ## Calendar Command: `calendar` Lists out all deadlines along with the current date (according to local machine date) From da35bae6d5f4cb9055d356f1402e13ab5a717374 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 11 Nov 2024 00:10:33 +0800 Subject: [PATCH 282/359] issue 159 --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 9ad6d01efb..9a83da1852 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -58,7 +58,7 @@ Each internship is assigned a unique ID, serving as the reference for functions **Format:** `add -role {Role name} -company {Company name} -from {date} -to {date}` - `role` and `company` are compulsory flags. -- `from` and `to` are optional and will be replaced with `01/01` when left empty. +- `from` and `to` are optional and will be replaced with `01/01` when left empty. The format for date is MM/yy. **Example Input 1:** `add -role Software Engineer Intern -company Google` From 0b7ce86c79247bcdbd504bd1661c9172b43ca5ad Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 11 Nov 2024 08:15:24 +0800 Subject: [PATCH 283/359] Date inputs are stricter --- src/main/java/seedu/duke/Deadline.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/duke/Deadline.java b/src/main/java/seedu/duke/Deadline.java index eecd604e4c..a57ab2bc30 100644 --- a/src/main/java/seedu/duke/Deadline.java +++ b/src/main/java/seedu/duke/Deadline.java @@ -3,11 +3,13 @@ import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; +import java.time.format.ResolverStyle; //@@author jadenlimjc public class Deadline { - private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("dd/MM/yy"); + private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("dd/MM/uu") + .withResolverStyle(ResolverStyle.STRICT); private int internshipID; private String description; From 0031253b59669ad9566a32b29d7448652526f9fe Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 11 Nov 2024 08:47:12 +0800 Subject: [PATCH 284/359] Lenient dat parsing in the Internship class --- src/main/java/seedu/duke/Internship.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 106755ea12..1fb10bd6f1 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -8,6 +8,7 @@ import java.time.YearMonth; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; +import java.time.format.ResolverStyle; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -22,7 +23,8 @@ //@@author jadenlimjc public class Internship { private static final DateTimeFormatter FORMATTER_MONTH_YEAR = DateTimeFormatter.ofPattern("MM/yy"); - private static final DateTimeFormatter FORMATTER_DATE = DateTimeFormatter.ofPattern("dd/MM/yy"); + private static final DateTimeFormatter FORMATTER_DATE = DateTimeFormatter.ofPattern("dd/MM/yy") + .withResolverStyle(ResolverStyle.LENIENT); private static final List STATUSES = Arrays.asList( "Application Pending", "Application Completed", "Accepted", "Rejected"); From f1975b57334735f9c7cbfef442a9da171458668f Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 11 Nov 2024 09:01:28 +0800 Subject: [PATCH 285/359] Edit getUsage messages for UpdateCommand and RemoveCommand --- src/main/java/seedu/commands/RemoveCommand.java | 3 ++- src/main/java/seedu/commands/UpdateCommand.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/commands/RemoveCommand.java b/src/main/java/seedu/commands/RemoveCommand.java index fa0213e234..e3d1dbc50c 100644 --- a/src/main/java/seedu/commands/RemoveCommand.java +++ b/src/main/java/seedu/commands/RemoveCommand.java @@ -44,6 +44,7 @@ public String getUsage() { Usage: remove {ID} -{field} {value} List of fields: - - skills"""; + - skills + - deadline: {description}"""; } } diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index a73850b240..670ba7a4ef 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -111,7 +111,7 @@ public String getUsage() { - company - start (in MM/yy format) - end (in MM/yy format) - - deadline ({description} {date (in dd/MM/yy format)} + - deadline: {description} {date (in dd/MM/yy format)} Choose from the following statuses: - Application Pending From 6fb4fff320702d0678c37d29c98cba9af2e29c6d Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 11 Nov 2024 09:37:47 +0800 Subject: [PATCH 286/359] Disallow duplicate skills --- src/main/java/seedu/duke/Internship.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 1fb10bd6f1..af816f4354 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -296,7 +296,9 @@ public void setSkills(String skills) { } String[] skillArray = skills.split(","); for (String skill: skillArray) { - this.skills.add(skill.trim()); + if (!this.skills.contains(skill.trim())) { + this.skills.add(skill.trim()); + } } } From 61a96b5a1ef4a185be0fc84b9f5585fcd6101871 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 11 Nov 2024 10:23:38 +0800 Subject: [PATCH 287/359] Edit Update and Remove commands sections in User Guide --- docs/UserGuide.md | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index b72cdac957..01a7c01b7e 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -109,7 +109,16 @@ Valid Fields:
- `from`: Provide the new start date in `MM/yy` format - `to`: Provide the new end date in `MM/yy` format - `skills`: Provide a new skill -- `deadline`: Provide the description and deadline (in `dd/MM/yy` format) with a whitespace between them + - Skills already listed will be omitted (case-sensitive) + - Example: When `Python` is listed as a skill, future updates with `Python` will be omitted, + however `python` will be accepted as a new skill +- `deadline`: Provide the description (case-insensitive) followed +deadline (in `dd/MM/yy` format) with a whitespace between them + - Inputs after the deadline (till the next field) will be discarded + +> For fields with dates, the program only checks for the validity of dates (i.e. whether it exists).
+> Logic checking (e.g. `from` cannot be after `to` etc) is not available, coming in v2.2.
+> Please check your dates and deadlines to ensure they are correct. Valid Statuses for `status` flag:
- Application Pending (Default Status) @@ -117,7 +126,7 @@ Valid Statuses for `status` flag:
- Accepted - Rejected -For multiple uses of flags that are not `skills` or `deadline` only the last occurrence of the flag is used. +> For multiple uses of flags that are not `skills` or `deadline` only the last occurrence of the flag is used. **Format:** `update {ID} -{field} {updated information}` @@ -149,7 +158,7 @@ __________________________________________________ __________________________________________________ __________________________________________________ company updated: Venti -deadline updated: Interview Round 1 03/02/25 +deadline updated: Interview Round 1 (03/02/25) __________________________________________________ Internship updated: ID: 2 Status: Application Completed @@ -163,13 +172,14 @@ __________________________________________________ __________________________________________________ ``` -`update 02 -from 04/25 -skills Python` +`update 02 -from 04/25 -skills Python -deadline Interview Round 1 05/02/25` ``` __________________________________________________ __________________________________________________ from updated: 04/25 skills updated: Python +deadline updated: Interview Round 1 (05/02/25) __________________________________________________ Internship updated: ID: 2 Status: Application Completed @@ -178,7 +188,7 @@ Company: Venti Duration: 04/25 to 08/25 Skills: Python Deadlines: - Interview Round 1: 03/02/25 + Interview Round 1: 05/02/25 __________________________________________________ __________________________________________________ ``` From c1220794a560ab9ac0579501008867eda564d28b Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 11 Nov 2024 14:21:23 +0800 Subject: [PATCH 288/359] Add company name to calendar function output --- .../java/seedu/commands/CalendarCommand.java | 12 +++++++++- src/main/java/seedu/ui/UiCommand.java | 22 +++++++++++++------ 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/src/main/java/seedu/commands/CalendarCommand.java b/src/main/java/seedu/commands/CalendarCommand.java index 76fcbf853d..9088bbd3b7 100644 --- a/src/main/java/seedu/commands/CalendarCommand.java +++ b/src/main/java/seedu/commands/CalendarCommand.java @@ -18,7 +18,8 @@ public class CalendarCommand extends Command { public void execute(ArrayList args) { ArrayList deadlines = getDeadlines(); ArrayList sortedDeadlines = sortDeadlines(deadlines); - uiCommand.showCalendar(sortedDeadlines); + ArrayList companies = getCompanies(sortedDeadlines); + uiCommand.showCalendar(sortedDeadlines, companies); logger.log(Level.INFO, "CalendarCommand Executed"); } @@ -37,6 +38,15 @@ protected ArrayList sortDeadlines(ArrayList deadlines) { return deadlines; } + protected ArrayList getCompanies(ArrayList deadlines) { + ArrayList companies = new ArrayList<>(); + for (Deadline deadline : deadlines) { + int internshipIndex = deadline.getInternshipId() - 1; + companies.add(internships.getInternship(internshipIndex).getCompany()); + } + return companies; + } + @Override public String getUsage() { return """ diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index 2ab35bd073..e03d76a48f 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -14,6 +14,7 @@ */ public class UiCommand extends Ui { private static final DateTimeFormatter FORMATTER_DATE = DateTimeFormatter.ofPattern("dd/MM/yy"); + private static final String POINTER_TO_NOW = "--> Today"; private String invalidFlags; private String updatedFields; @@ -173,11 +174,11 @@ public void showCommands(ArrayList commands) { /** * Prints out the deadlines in order of date. * @param deadlines Sorted list of deadlines. + * @param companies List of companies that correspond to the deadlines */ - public void showCalendar(ArrayList deadlines) { + public void showCalendar(ArrayList deadlines, ArrayList companies) { printHeadDivider(); LocalDate present = LocalDate.now(); - String pointerToNow = "--> Today"; boolean isPresentPrinted = false; LocalDate currentDate = LocalDate.parse("01/01/00", FORMATTER_DATE); @@ -189,25 +190,32 @@ public void showCalendar(ArrayList deadlines) { System.out.println("Deadlines:"); - for (Deadline deadline : deadlines) { - LocalDate date = deadline.getUnformattedDate(); + for (int i = 0; i < deadlines.size(); i++) { + LocalDate date = deadlines.get(i).getUnformattedDate(); if (!isPresentPrinted && date.isAfter(present)) { isPresentPrinted = true; System.out.println(); - System.out.println(present.format(FORMATTER_DATE) + " " + pointerToNow); + System.out.println(present.format(FORMATTER_DATE) + " " + POINTER_TO_NOW); } String pointer = ""; if (!isPresentPrinted && date.isEqual(present)) { isPresentPrinted = true; - pointer = pointerToNow; + pointer = POINTER_TO_NOW; } if (!date.isEqual(currentDate)) { currentDate = date; System.out.println(); System.out.println(date.format(FORMATTER_DATE) + " " + pointer); } - System.out.println("\t" + deadline.getInternshipId() + ": " + deadline.getDescription()); + System.out.println("\t" + deadlines.get(i).getInternshipId() + + " (" + companies.get(i) + "): " + deadlines.get(i).getDescription()); } + + if (!isPresentPrinted) { + System.out.println(); + System.out.println(present.format(FORMATTER_DATE) + " " + POINTER_TO_NOW); + } + printTailDivider(); } From 844902ef7f872a1a9de1c7f150483168593bccca Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 11 Nov 2024 14:34:28 +0800 Subject: [PATCH 289/359] Separate print date function to shorten showCalendar method --- src/main/java/seedu/ui/UiCommand.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index e03d76a48f..ecac6dab58 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -194,8 +194,7 @@ public void showCalendar(ArrayList deadlines, ArrayList compan LocalDate date = deadlines.get(i).getUnformattedDate(); if (!isPresentPrinted && date.isAfter(present)) { isPresentPrinted = true; - System.out.println(); - System.out.println(present.format(FORMATTER_DATE) + " " + POINTER_TO_NOW); + printDate(present, POINTER_TO_NOW); } String pointer = ""; if (!isPresentPrinted && date.isEqual(present)) { @@ -204,21 +203,24 @@ public void showCalendar(ArrayList deadlines, ArrayList compan } if (!date.isEqual(currentDate)) { currentDate = date; - System.out.println(); - System.out.println(date.format(FORMATTER_DATE) + " " + pointer); + printDate(date, pointer); } System.out.println("\t" + deadlines.get(i).getInternshipId() + " (" + companies.get(i) + "): " + deadlines.get(i).getDescription()); } if (!isPresentPrinted) { - System.out.println(); - System.out.println(present.format(FORMATTER_DATE) + " " + POINTER_TO_NOW); + printDate(present, POINTER_TO_NOW); } printTailDivider(); } + private void printDate(LocalDate date, String pointer) { + System.out.println(); + System.out.println(date.format(FORMATTER_DATE) + " " + pointer); + } + public String getInvalidFlags() { return invalidFlags; } From aa0dc28c971bf6e5e7c2388c210902bedadcfd37 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 11 Nov 2024 15:00:19 +0800 Subject: [PATCH 290/359] Update Calendar example in User Guide --- docs/UserGuide.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index b72cdac957..77872b45d9 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -865,13 +865,13 @@ __________________________________________________ Deadlines: 10/10/24 - 1: interview round 1 + 1 (ABS): interview round 1 02/11/24 --> Today - 2: application deadline + 2 (XYZ): application deadline 05/11/24 - 1: interview round 2 + 1 (ABS): interview round 2 __________________________________________________ __________________________________________________ ``` From c2737fa0fff24e52b11cc45143b6e3cf4d5a613f Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 11 Nov 2024 16:07:16 +0800 Subject: [PATCH 291/359] fixed checkstyle issues --- src/main/java/seedu/commands/AddCommand.java | 2 +- src/main/java/seedu/commands/CalendarCommand.java | 2 +- src/main/java/seedu/commands/Command.java | 2 +- src/main/java/seedu/commands/DeleteCommand.java | 2 +- src/main/java/seedu/commands/FavouriteCommand.java | 2 +- src/main/java/seedu/commands/FilterCommand.java | 2 +- src/main/java/seedu/commands/HelpCommand.java | 2 +- src/main/java/seedu/commands/ListCommand.java | 2 +- src/main/java/seedu/commands/SortCommand.java | 2 +- src/main/java/seedu/commands/UpdateCommand.java | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/java/seedu/commands/AddCommand.java b/src/main/java/seedu/commands/AddCommand.java index b237528c14..d16752ac8b 100644 --- a/src/main/java/seedu/commands/AddCommand.java +++ b/src/main/java/seedu/commands/AddCommand.java @@ -92,7 +92,7 @@ public void execute(ArrayList args) { internships.addInternship(newInternship); uiCommand.showEditedInternship(newInternship, "add"); - logger.log(Level.INFO, "AddCommand Executed"); + LOGGER.log(Level.INFO, "AddCommand Executed"); } @Override diff --git a/src/main/java/seedu/commands/CalendarCommand.java b/src/main/java/seedu/commands/CalendarCommand.java index 76fcbf853d..b8d17c4e46 100644 --- a/src/main/java/seedu/commands/CalendarCommand.java +++ b/src/main/java/seedu/commands/CalendarCommand.java @@ -20,7 +20,7 @@ public void execute(ArrayList args) { ArrayList sortedDeadlines = sortDeadlines(deadlines); uiCommand.showCalendar(sortedDeadlines); - logger.log(Level.INFO, "CalendarCommand Executed"); + LOGGER.log(Level.INFO, "CalendarCommand Executed"); } protected ArrayList getDeadlines() { diff --git a/src/main/java/seedu/commands/Command.java b/src/main/java/seedu/commands/Command.java index 6438057840..c0c50de517 100644 --- a/src/main/java/seedu/commands/Command.java +++ b/src/main/java/seedu/commands/Command.java @@ -9,7 +9,7 @@ public abstract class Command { protected static final int INDEX_FIELD = 0; protected static final int INDEX_DATA = 1; - protected static final Logger logger = Logger.getLogger("EasInternship"); + protected static final Logger LOGGER = Logger.getLogger("EasInternship"); protected static UiCommand uiCommand = new UiCommand(); protected InternshipList internships; diff --git a/src/main/java/seedu/commands/DeleteCommand.java b/src/main/java/seedu/commands/DeleteCommand.java index b4c7d29913..a8168727e3 100644 --- a/src/main/java/seedu/commands/DeleteCommand.java +++ b/src/main/java/seedu/commands/DeleteCommand.java @@ -14,7 +14,7 @@ public void execute (ArrayList args) { int index = id - 1; internships.removeInternship(index); - logger.log(Level.INFO, "DeleteCommand Executed"); + LOGGER.log(Level.INFO, "DeleteCommand Executed"); } catch (NumberFormatException e) { uiCommand.showOutput("Invalid integer, please provide a valid internship ID"); } catch (InvalidIndex ie) { diff --git a/src/main/java/seedu/commands/FavouriteCommand.java b/src/main/java/seedu/commands/FavouriteCommand.java index 5eaeb2fce9..ea3e004dcc 100644 --- a/src/main/java/seedu/commands/FavouriteCommand.java +++ b/src/main/java/seedu/commands/FavouriteCommand.java @@ -23,7 +23,7 @@ public void execute(ArrayList args) { } favouriteInternships.add(internship); - logger.log(Level.INFO, "FavouriteCommand Executed"); + LOGGER.log(Level.INFO, "FavouriteCommand Executed"); } catch (NumberFormatException e) { uiCommand.showOutput("Invalid integer: " + arg + "\nPlease provide a valid internship ID"); } diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index c4fc5c772a..43aab4b164 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -60,7 +60,7 @@ public void execute(ArrayList args) { functionComplete = true; filteredInternships.listAllInternships(); - logger.log(Level.INFO, "FilterCommand Executed"); + LOGGER.log(Level.INFO, "FilterCommand Executed"); } private void executeFilterByOneFlag(String[] words) { diff --git a/src/main/java/seedu/commands/HelpCommand.java b/src/main/java/seedu/commands/HelpCommand.java index 3197459e1e..d6849878e1 100644 --- a/src/main/java/seedu/commands/HelpCommand.java +++ b/src/main/java/seedu/commands/HelpCommand.java @@ -24,7 +24,7 @@ public void execute(ArrayList args) { uiCommand.showCommands(commands); - logger.log(Level.INFO, "HelpCommand Executed"); + LOGGER.log(Level.INFO, "HelpCommand Executed"); } @Override diff --git a/src/main/java/seedu/commands/ListCommand.java b/src/main/java/seedu/commands/ListCommand.java index 77c14335d3..2600c9d34f 100644 --- a/src/main/java/seedu/commands/ListCommand.java +++ b/src/main/java/seedu/commands/ListCommand.java @@ -12,7 +12,7 @@ public class ListCommand extends Command { public void execute(ArrayList args) { internships.listAllInternships(); - logger.log(Level.INFO, "ListCommand Executed"); + LOGGER.log(Level.INFO, "ListCommand Executed"); } @Override diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index 8a94433a61..e29498b48f 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -84,7 +84,7 @@ public void execute(ArrayList args) { internships.listInternshipsInvalidFlag(sortOption); } - logger.log(Level.INFO, "SortCommand Executed"); + LOGGER.log(Level.INFO, "SortCommand Executed"); } @Override diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index f2ec34ead0..3e778a0438 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -37,7 +37,7 @@ public void execute(ArrayList args) { uiCommand.showEditedInternship(internships.getInternship(internshipIndex), "update"); - logger.log(Level.INFO, "UpdateCommand Executed"); + LOGGER.log(Level.INFO, "UpdateCommand Executed"); } catch (NumberFormatException e) { uiCommand.showOutput("Invalid integer, please provide a valid internship ID"); } catch (InvalidIndex ie) { From 6167ccb2925bfb1af042647613b50b82c295903a Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 11 Nov 2024 16:13:34 +0800 Subject: [PATCH 292/359] fixed checkstyle errors --- src/main/java/seedu/duke/InternshipList.java | 10 +++++----- src/main/java/seedu/duke/Storage.java | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 5d8f4a9a98..163a3bb767 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -16,7 +16,7 @@ //@@author jadenlimjc public class InternshipList { private static final UiInternshipList ui = new UiInternshipList(); - private static final Logger logger = Logger.getLogger("EasInternship"); + private static final Logger LOGGER = Logger.getLogger("EasInternship"); public ArrayList internships; public ArrayList favouriteInternships; @@ -42,7 +42,7 @@ public void addInternship(Internship internship) { assert internship.getId() == internships.size() + 1; internships.add(internship); - logger.log(Level.INFO, "Internship added"); + LOGGER.log(Level.INFO, "Internship added"); } //@@author Ridiculouswifi @@ -71,7 +71,7 @@ public void removeInternship(int index) throws InvalidIndex { ui.showDeletedInternship(index + 1); updateIds(); // Reassign IDs after removal - logger.log(Level.INFO, "Internship removed"); + LOGGER.log(Level.INFO, "Internship removed"); } // Private method to update the IDs after a removal @@ -131,7 +131,7 @@ public void updateField(int index, String field, String value) throws InvalidSta assert false : "All valid fields should we handled in individual cases"; break; } - logger.log(Level.INFO, "Internship " + (index + 1) + " updated: " + field); + LOGGER.log(Level.INFO, "Internship " + (index + 1) + " updated: " + field); } public void removeField(int index, String field, String value) throws MissingValue { @@ -146,7 +146,7 @@ public void removeField(int index, String field, String value) throws MissingVal assert false : "All valid fields should we handled in individual cases"; break; } - logger.log(Level.INFO, "Internship " + (index + 1) + " removed: " + field); + LOGGER.log(Level.INFO, "Internship " + (index + 1) + " removed: " + field); } //@@author jadenlimjc diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index d5ebab8b19..50e2c645a7 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -15,6 +15,8 @@ * Handles the saving and loading of internships from a file. * The tasks are saved in a specified format and can be restored upon loading from the file. */ + +//@@author jadenlimjc public class Storage { //define filepath private static final String FILE_PATH = "./data/EasInternship.txt"; From 0117cda23615d3201de474a3af1a7a696bfdf303 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 11 Nov 2024 16:31:09 +0800 Subject: [PATCH 293/359] Edit UpdateCommand Sequence Diagram --- docs/DeveloperGuide.md | 3 + docs/UML/UpdateCommand.puml | 96 +++++++++----------- docs/UML/UpdateCommand_Sequence_Diagram.png | Bin 134926 -> 75293 bytes 3 files changed, 47 insertions(+), 52 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 4ae83af8d3..95193ad6ff 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -300,6 +300,9 @@ The `UpdateCommand` class is responsible for updating the fields of an internshi #### Sequence Diagram The following sequence diagram shows how the `UpdateCommand` is executed: + +>Some functions that have a `void` return value have their return lines omitted. + ![](UML/UpdateCommand_Sequence_Diagram.png) diff --git a/docs/UML/UpdateCommand.puml b/docs/UML/UpdateCommand.puml index 5f069e268b..db35d4c20e 100644 --- a/docs/UML/UpdateCommand.puml +++ b/docs/UML/UpdateCommand.puml @@ -1,90 +1,82 @@ @startuml title UpdateCommand Sequence Diagram +hide footbox participant User participant UpdateCommand -participant uiCommand -participant Internship +participant UiCommand participant InternshipList participant UiInternshipList -activate InternshipList #orange -activate UiInternshipList #yellow -activate Internship #lightblue - User -> UpdateCommand:execute(args) activate UpdateCommand #red -activate uiCommand #green UpdateCommand -> InternshipList:isWithinBounds(index) +activate InternshipList #orange + break Not in Bounds InternshipList -> UiInternshipList:showInvalidIndex() + activate UiInternshipList #yellow UiInternshipList --> User:show invalid index message - InternshipList --> UpdateCommand: false + deactivate UiInternshipList end -InternshipList --> UpdateCommand: true +deactivate InternshipList + +UpdateCommand -> UiCommand:clearInvalidFlags() +activate UiCommand #green +deactivate UiCommand -UpdateCommand -> uiCommand:clearInvalidFlags() -UpdateCommand -> uiCommand:clearUpdatedFields() -UpdateCommand -> uiCommand:clearInvalidFields() +UpdateCommand -> UiCommand:clearUpdatedFields() +activate UiCommand #green +deactivate UiCommand + +UpdateCommand -> UiCommand:clearInvalidFields() +activate UiCommand #green +deactivate UiCommand loop for arg in args UpdateCommand -> UpdateCommand:updateOneField(words, internshipIndex) activate UpdateCommand #red + alt status || skills || role || company || from || to || deadline UpdateCommand -> UpdateCommand:isValidWords() activate UpdateCommand #red - UpdateCommand --> UpdateCommand + + alt field is empty + UpdateCommand -> UiCommand:addInvalidField(field, message) + activate UiCommand #green + deactivate UiCommand + end + + UpdateCommand --> UpdateCommand: :boolean deactivate UpdateCommand UpdateCommand -> InternshipList:updateField(internshipIndex, field, value) - alt status - InternshipList -> Internship:get(index) - Internship -> Internship:updateStatus(value) - else skills - InternshipList -> Internship:get(index) - Internship -> Internship:setSkills(value) - else role - InternshipList -> Internship:get(index) - Internship -> Internship:setRole(value) - else company - InternshipList -> Internship:get(index) - Internship -> Internship:setCompany(value) - else from - InternshipList -> Internship:get(index) - Internship -> Internship:setStartDate(value) - else to - InternshipList -> Internship:get(index) - Internship -> Internship:setEndDate(value) - else deadline - InternshipList -> Internship:get(index) - Internship -> Internship:updateDeadline(value) - end + activate InternshipList #orange + InternshipList --> UpdateCommand:updatedValue: String + deactivate InternshipList - UpdateCommand -> uiCommand:addUpdatedField(field, value, type) + UpdateCommand -> UiCommand:addUpdatedField(field, value, type) + activate UiCommand #green + deactivate UiCommand else default - UpdateCommand -> uiCommand:addInvalidFlag(field) + UpdateCommand -> UiCommand:addInvalidFlag(field) + activate UiCommand #green + deactivate UiCommand end + UpdateCommand --> UpdateCommand deactivate UpdateCommand -end - -UpdateCommand -> uiCommand:showEditedInternships(internship, action) - -uiCommand -> uiCommand:getInvalidFlags(); -uiCommand -> uiCommand:getInvalidFields(); - -alt add - -else word - uiCommand -> uiCommand:getUpdatedFields() - -else default end -uiCommand -> uiCommand:showOutput(message) -uiCommand --> User:print output +UpdateCommand -> UiCommand:showEditedInternships(internship, action) +activate UiCommand #green +UiCommand --> User:print output +deactivate UiCommand + +UpdateCommand --> User +deactivate UpdateCommand @enduml \ No newline at end of file diff --git a/docs/UML/UpdateCommand_Sequence_Diagram.png b/docs/UML/UpdateCommand_Sequence_Diagram.png index 2751d0f762c78fb61d30cd2c5af2ff3c3b82b8e8..ba46d116da46845a0004bd821852a7099f4088f3 100644 GIT binary patch literal 75293 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 literal 134926 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 From be7c253dee02d123d554ac36a829a7ee312444ba Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 11 Nov 2024 16:39:49 +0800 Subject: [PATCH 294/359] fixed checkstyle errors --- src/main/java/seedu/duke/Storage.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index 50e2c645a7..8ec81b7143 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -20,7 +20,7 @@ public class Storage { //define filepath private static final String FILE_PATH = "./data/EasInternship.txt"; - private static final Logger logger = Logger.getLogger("EasInternship"); + private static final Logger LOGGER = Logger.getLogger("EasInternship"); /** @@ -34,7 +34,7 @@ public static void saveToFile(InternshipList internshipList) { //create directory if file does not exist if (!dir.exists()) { dir.mkdirs(); - logger.log(Level.INFO, "Directory created"); + LOGGER.log(Level.INFO, "Directory created"); } FileWriter writer = new FileWriter(FILE_PATH); List internships = internshipList.getAllInternships(); @@ -73,12 +73,12 @@ public static void saveToFile(InternshipList internshipList) { writer.write(" " + favInternship.getId()); } writer.write("\n"); - logger.log(Level.INFO, "Data saved"); + LOGGER.log(Level.INFO, "Data saved"); writer.close(); } catch (IOException e) { System.out.println("Error while saving tasks: " + e.getMessage()); - logger.log(Level.WARNING, "Error while saving tasks", e); + LOGGER.log(Level.WARNING, "Error while saving tasks", e); } } @@ -90,7 +90,7 @@ public static void loadFromFile(InternshipList internshipList) { File file = new File(FILE_PATH); if (!file.exists()) { System.out.println("No data file found."); - logger.log(Level.INFO, "No data file found."); + LOGGER.log(Level.INFO, "No data file found."); return; } List favouriteIds = new ArrayList<>(); @@ -142,15 +142,15 @@ public static void loadFromFile(InternshipList internshipList) { if (favInternship != null) { internshipList.favouriteInternships.add(favInternship); } else { - logger.log(Level.WARNING, "Internship with ID " + favInternshipId + " not found."); + LOGGER.log(Level.WARNING, "Internship with ID " + favInternshipId + " not found."); } } } - logger.log(Level.INFO, "Data loaded"); + LOGGER.log(Level.INFO, "Data loaded"); } catch (IOException e) { System.out.println("Error while loading tasks: " + e.getMessage()); - logger.log(Level.WARNING, "Error while loading tasks", e); + LOGGER.log(Level.WARNING, "Error while loading tasks", e); } } From 200f827d4eb01dab899d33fa6b24c6392f4036c1 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 11 Nov 2024 16:43:09 +0800 Subject: [PATCH 295/359] fixed checkstyle errors --- src/main/java/seedu/duke/InternshipList.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 4bb665b985..216d9b1456 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -303,7 +303,7 @@ public void listInternshipsSortedByStatus() { break; default: // If there's an unknown status, you might want to handle it or ignore it - logger.log(Level.WARNING, "Unknown status: " + status); + LOGGER.log(Level.WARNING, "Unknown status: " + status); break; } } @@ -407,7 +407,7 @@ public void listFavouriteInternshipsSortedByStatus() { break; default: // If there's an unknown status, you might want to handle it or ignore it - logger.log(Level.WARNING, "Unknown status: " + status); + LOGGER.log(Level.WARNING, "Unknown status: " + status); break; } } From 53758c82ee8e6f43e5169d105598942c73fbd6fd Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 11 Nov 2024 16:52:44 +0800 Subject: [PATCH 296/359] Edit RemoveCommand Sequence Diagram --- docs/UML/RemoveCommand.puml | 85 ++++++++++--------- docs/UML/RemoveCommand_Sequence_Diagram.png | Bin 100793 -> 73233 bytes src/main/java/seedu/duke/InternshipList.java | 4 +- 3 files changed, 46 insertions(+), 43 deletions(-) diff --git a/docs/UML/RemoveCommand.puml b/docs/UML/RemoveCommand.puml index f53dc37006..890bbb4095 100644 --- a/docs/UML/RemoveCommand.puml +++ b/docs/UML/RemoveCommand.puml @@ -1,78 +1,81 @@ @startuml title RemoveCommand Sequence Diagram +hide footbox participant User participant RemoveCommand -participant uiCommand -participant Internship +participant UiCommand participant InternshipList participant UiInternshipList -activate InternshipList #orange -activate UiInternshipList #yellow -activate Internship #lightblue - User -> RemoveCommand:execute(args) activate RemoveCommand #red -activate uiCommand #green RemoveCommand -> InternshipList:isWithinBounds(index) +activate InternshipList #orange + break Not in Bounds InternshipList -> UiInternshipList:showInvalidIndex() + activate UiInternshipList #yellow UiInternshipList --> User:show invalid index message - InternshipList --> RemoveCommand: false + deactivate UiInternshipList end -InternshipList --> RemoveCommand: true +deactivate InternshipList -RemoveCommand -> uiCommand:clearInvalidFlags() -RemoveCommand -> uiCommand:clearUpdatedFields() -RemoveCommand -> uiCommand:clearInvalidFields() +RemoveCommand -> UiCommand:clearInvalidFlags() +activate UiCommand #green +deactivate UiCommand -loop for arg in (args) +RemoveCommand -> UiCommand:clearUpdatedFields() +activate UiCommand #green +deactivate UiCommand + +RemoveCommand -> UiCommand:clearInvalidFields() +activate UiCommand #green +deactivate UiCommand + +loop for arg in args RemoveCommand -> RemoveCommand:updateOneField(words, internshipIndex) activate RemoveCommand #red alt skills || deadline - RemoveCommand -> RemoveCommand:isValidValue(words) + RemoveCommand -> RemoveCommand:isValidWords() activate RemoveCommand #red - RemoveCommand --> RemoveCommand - deactivate RemoveCommand - RemoveCommand -> InternshipList:removeField(index, field, value) - alt skills - InternshipList -> Internship:get(index) - Internship -> Internship:removeSkill(value) - else deadline - InternshipList -> Internship:get(index) - Internship -> Internship:removeDeadline(value) - else default + alt field is empty + RemoveCommand -> UiCommand:addInvalidField(field, message) + activate UiCommand #green + deactivate UiCommand end - RemoveCommand -> uiCommand:addUpdatedField(field, value, type) + RemoveCommand --> RemoveCommand: :boolean + deactivate RemoveCommand + + RemoveCommand -> InternshipList:removeField(internshipIndex, field, value) + activate InternshipList #orange + InternshipList --> RemoveCommand:removedValue: String + deactivate InternshipList + + RemoveCommand -> UiCommand:addUpdatedField(field, value, type) + activate UiCommand #green + deactivate UiCommand else default - RemoveCommand -> uiCommand:addInvalidFlag(field) + RemoveCommand -> UiCommand:addInvalidFlag(field) + activate UiCommand #green + deactivate UiCommand end RemoveCommand --> RemoveCommand deactivate RemoveCommand end -RemoveCommand -> uiCommand:showEditedInternships(internship, action) - -uiCommand -> uiCommand:getInvalidFlags(); -uiCommand -> uiCommand:getInvalidFields(); - -alt add - -else word - uiCommand -> uiCommand:getUpdatedFields() - -else default - -end +RemoveCommand -> UiCommand:showEditedInternships(internship, action) +activate UiCommand #green +UiCommand --> User:print output +deactivate UiCommand -uiCommand -> uiCommand:showOutput(message) -uiCommand --> User:print output +RemoveCommand --> User +deactivate RemoveCommand @enduml \ No newline at end of file diff --git a/docs/UML/RemoveCommand_Sequence_Diagram.png b/docs/UML/RemoveCommand_Sequence_Diagram.png index 021dc85465c9b1e699ba8140a7ee42ef2f2f123b..ab7f30d0c6d6e867ce86e5aabd466a604b0da9b7 100644 GIT binary patch literal 73233 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 ua4(e>fB$u< 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 P&lPs7?z*?b=)(U6E6HTQ diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 221daf7bac..4e24103512 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -302,7 +302,7 @@ public void listInternshipsSortedByStatus() { break; default: // If there's an unknown status, you might want to handle it or ignore it - logger.log(Level.WARNING, "Unknown status: " + status); + LOGGER.log(Level.WARNING, "Unknown status: " + status); break; } } @@ -406,7 +406,7 @@ public void listFavouriteInternshipsSortedByStatus() { break; default: // If there's an unknown status, you might want to handle it or ignore it - logger.log(Level.WARNING, "Unknown status: " + status); + LOGGER.log(Level.WARNING, "Unknown status: " + status); break; } } From 1bd4013097ea8d56954819238bd1d8e11d233084 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 11 Nov 2024 17:36:21 +0800 Subject: [PATCH 297/359] changed incorrect detection to work in storage file instead --- src/main/java/seedu/duke/Deadline.java | 6 +---- src/main/java/seedu/duke/Internship.java | 12 ++------- src/main/java/seedu/duke/Storage.java | 34 ++++++++++++++++++++++-- 3 files changed, 35 insertions(+), 17 deletions(-) diff --git a/src/main/java/seedu/duke/Deadline.java b/src/main/java/seedu/duke/Deadline.java index e5ea2f0c62..c77d0bc400 100644 --- a/src/main/java/seedu/duke/Deadline.java +++ b/src/main/java/seedu/duke/Deadline.java @@ -39,11 +39,7 @@ public void setDescription(String description) { public void setDate(String date) throws DateTimeParseException { assert date != null; - try { - this.date = LocalDate.parse(date, DATE_FORMATTER); - } catch (DateTimeParseException e) { - this.date = LocalDate.of(1,1,1); - } + this.date = LocalDate.parse(date, DATE_FORMATTER); } public String getDate() { diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 9d5268717f..af816f4354 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -126,11 +126,7 @@ public String getStartDate() { public void setStartDate(String start) throws DateTimeParseException { assert start != null; - try { - this.startDate = YearMonth.parse(start, FORMATTER_MONTH_YEAR); - } catch (DateTimeParseException e) { - this.startDate = YearMonth.of(1,1); - } + this.startDate = YearMonth.parse(start, FORMATTER_MONTH_YEAR); } public String getEndDate() { @@ -139,11 +135,7 @@ public String getEndDate() { public void setEndDate(String end) throws DateTimeParseException { assert end != null; - try { - this.endDate = YearMonth.parse(end, FORMATTER_MONTH_YEAR); - } catch (DateTimeParseException e) { - this.endDate = YearMonth.of(1,1); - } + this.endDate = YearMonth.parse(end, FORMATTER_MONTH_YEAR); } public String getFavourite() { diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index 3e9329cc17..b7e23c83be 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -7,7 +7,10 @@ import java.io.FileReader; import java.io.BufferedReader; import java.io.IOException; +import java.time.LocalDate; +import java.time.YearMonth; import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; @@ -96,8 +99,6 @@ public static void loadFromFile(InternshipList internshipList) { return; } List favouriteIds = new ArrayList<>(); - DateTimeFormatter monthYearFormatter = DateTimeFormatter.ofPattern("MM/yy"); - DateTimeFormatter deadlineFormatter = DateTimeFormatter.ofPattern("dd/MM/yyyy"); try (BufferedReader reader = new BufferedReader(new FileReader(file))) { String line; @@ -124,6 +125,25 @@ public static void loadFromFile(InternshipList internshipList) { String status = data[6]; String deadlines = data[7]; + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/yy"); + YearMonth defaultDate = YearMonth.of(1, 1); + YearMonth start; + YearMonth end; + + try { + start = YearMonth.parse(startDate, formatter); + } catch (DateTimeParseException e) { + startDate = "01/01"; + System.out.println("Incorrect startDate format found. Setting to 01/01"); + } + + try { + end = YearMonth.parse(endDate, formatter); + } catch (DateTimeParseException e) { + endDate = "01/01"; + System.out.println("Incorrect endDate format found. Setting to 01/01"); + } + Internship internship = new Internship(role, company, startDate, endDate); internshipList.addInternship(internship); internship.setSkills(skills); @@ -175,12 +195,22 @@ private static List parseDeadlines(String deadlineString, int internsh return deadlines; } + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yy"); + LocalDate defaultDate = LocalDate.of(1,1,1); + String[] parts = deadlineString.split(" - "); for (String part : parts) { String[] deadlineParts = part.split(" -date "); if (deadlineParts.length == 2) { String description = deadlineParts[0].trim(); String date = deadlineParts[1].trim(); + LocalDate parsedDate; + try { + parsedDate = LocalDate.parse(date, formatter); + } catch (DateTimeParseException e) { + date = "01/01/01"; + System.out.println("Incorrect deadline format found. Setting to 01/01/01"); + } deadlines.add(new Deadline(internshipId, description, date)); } } From 0e5c3591942eb91607656edf6d02ab09eca3b56f Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 11 Nov 2024 18:03:53 +0800 Subject: [PATCH 298/359] issue 225 --- docs/UML/loadFromFile.png | Bin 78575 -> 67921 bytes docs/UML/loadFromFile.puml | 10 +++------- src/main/java/seedu/duke/Storage.java | 18 +++++++++++++++--- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/docs/UML/loadFromFile.png b/docs/UML/loadFromFile.png index f11b5111f14f9db8109a45158631092a75b2418e..455d05461c36d13d6b5116acd7ad67952d54c1f5 100644 GIT binary patch literal 67921 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�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

*siLjSY7+9X#5`AW?|{PoXgAc~CR4y+ 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 literal 78575 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%0AyZJ|=U*n$+uzrZvBt&;(q}T`Er(q| ze5ZpZF?F@^nX$r$fe ":Storage" : favInternship deactivate ":InternshipList" - - alt favInternship is found - ":Storage" -> ":InternshipList" : add to favouriteInternships - else favInternship is not found - ":Storage" -> ":Storage" : warning: favInternshipId not found. - end - + ":Storage" -> ":InternshipList" : add to favouriteInternships + activate ":InternshipList" #aquamarine + deactivate ":InternshipList" end deactivate ":Storage" diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index b7e23c83be..b98b3ce79c 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -110,9 +110,19 @@ public static void loadFromFile(InternshipList internshipList) { if (!favouritesString.isEmpty()) { String[] parts = favouritesString.split(" "); for (String id : parts) { - int favInternshipId = Integer.parseInt(id); - int favInternshipIndex = favInternshipId - 1; - favouriteIds.add(favInternshipIndex); + try { + int favInternshipId = Integer.parseInt(id.trim()); + + // Ensure the ID is a positive number + if (favInternshipId > 0) { + int favInternshipIndex = favInternshipId - 1; + favouriteIds.add(favInternshipIndex); + } else { + System.out.println("Invalid ID '" + id + "': ID should be a positive integer."); + } + } catch (NumberFormatException e) { + System.out.println("Invalid ID '" + id + "': Not a valid integer."); + } } } } else if (isValidFormat(line)) { @@ -167,6 +177,8 @@ public static void loadFromFile(InternshipList internshipList) { LOGGER.log(Level.WARNING, "Internship with ID " + favInternshipId + " not found."); } + } else { + System.out.println("Internship with ID " + favInternshipId + " not found. Not added to Favourites List."); } } LOGGER.log(Level.INFO, "Data loaded"); From 6d89e4a626edea26b9b965e49fbc4b739ff7ddaf Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 11 Nov 2024 18:33:44 +0800 Subject: [PATCH 299/359] fix checkstyle errors --- src/main/java/seedu/duke/Storage.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index b98b3ce79c..9fe7218adc 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -178,7 +178,8 @@ public static void loadFromFile(InternshipList internshipList) { } } else { - System.out.println("Internship with ID " + favInternshipId + " not found. Not added to Favourites List."); + System.out.println("Internship with ID " + favInternshipId + + " not found. Not added to Favourites List."); } } LOGGER.log(Level.INFO, "Data loaded"); From 5a76180edbe1970815f6a8d55907641ab7320d56 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Mon, 11 Nov 2024 21:16:39 +0800 Subject: [PATCH 300/359] Refactor code according to code quality guidelines Renamed a few variables and added JavaDoc comments --- README.md | 2 +- .../{duke => EasInternship}/Deadline.java | 2 +- .../EasInternship.java | 4 +- .../{duke => EasInternship}/Internship.java | 2 +- .../InternshipList.java | 17 +-- .../seedu/{duke => EasInternship}/Parser.java | 129 +++++++++------- .../{duke => EasInternship}/Storage.java | 2 +- src/main/java/seedu/commands/AddCommand.java | 4 +- .../java/seedu/commands/CalendarCommand.java | 6 +- src/main/java/seedu/commands/Command.java | 15 +- .../java/seedu/commands/DeleteCommand.java | 6 +- .../java/seedu/commands/FavouriteCommand.java | 92 ++++++++--- .../java/seedu/commands/FilterCommand.java | 143 +++++++++++------- .../seedu/commands/InternshipFieldGetter.java | 2 +- src/main/java/seedu/commands/ListCommand.java | 2 +- .../java/seedu/commands/RemoveCommand.java | 2 +- src/main/java/seedu/commands/SortCommand.java | 36 ++--- .../java/seedu/commands/UpdateCommand.java | 12 +- .../{InvalidIndex.java => InvalidID.java} | 6 +- .../java/seedu/exceptions/InvalidInteger.java | 7 + src/main/java/seedu/ui/UiCommand.java | 4 +- src/main/java/seedu/ui/UiInternshipList.java | 2 +- .../{duke => EasInternship}/DukeTest.java | 2 +- .../InternshipListTest.java | 14 +- .../InternshipTest.java | 2 +- .../{duke => EasInternship}/ParserTest.java | 2 +- .../java/seedu/commands/AddCommandTest.java | 6 +- .../seedu/commands/FavouriteCommandTest.java | 10 +- .../seedu/commands/FilterCommandTest.java | 6 +- .../seedu/commands/RemoveCommandTest.java | 6 +- .../java/seedu/commands/SortCommandTest.java | 16 +- .../seedu/commands/UpdateCommandTest.java | 6 +- 32 files changed, 338 insertions(+), 229 deletions(-) rename src/main/java/seedu/{duke => EasInternship}/Deadline.java (97%) rename src/main/java/seedu/{duke => EasInternship}/EasInternship.java (96%) rename src/main/java/seedu/{duke => EasInternship}/Internship.java (99%) rename src/main/java/seedu/{duke => EasInternship}/InternshipList.java (96%) rename src/main/java/seedu/{duke => EasInternship}/Parser.java (50%) rename src/main/java/seedu/{duke => EasInternship}/Storage.java (99%) rename src/main/java/seedu/exceptions/{InvalidIndex.java => InvalidID.java} (63%) create mode 100644 src/main/java/seedu/exceptions/InvalidInteger.java rename src/test/java/seedu/{duke => EasInternship}/DukeTest.java (86%) rename src/test/java/seedu/{duke => EasInternship}/InternshipListTest.java (87%) rename src/test/java/seedu/{duke => EasInternship}/InternshipTest.java (99%) rename src/test/java/seedu/{duke => EasInternship}/ParserTest.java (99%) diff --git a/README.md b/README.md index b1961676e3..8525658888 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ This product aims to streamline the tracking of internship applications for the **By using this tool, the user can:** -**Store Important seedu.duke.Internship Information:** Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes. +**Store Important seedu.EasInternship.Internship Information:** Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes. **Track Application Status:** Users can save the current status of their application (e.g., not applied, applied, interview scheduled, offer received) and update it as the application progresses. diff --git a/src/main/java/seedu/duke/Deadline.java b/src/main/java/seedu/EasInternship/Deadline.java similarity index 97% rename from src/main/java/seedu/duke/Deadline.java rename to src/main/java/seedu/EasInternship/Deadline.java index 3e798da129..a4e6c26f1d 100644 --- a/src/main/java/seedu/duke/Deadline.java +++ b/src/main/java/seedu/EasInternship/Deadline.java @@ -1,4 +1,4 @@ -package seedu.duke; +package seedu.EasInternship; import java.time.LocalDate; import java.time.format.DateTimeFormatter; diff --git a/src/main/java/seedu/duke/EasInternship.java b/src/main/java/seedu/EasInternship/EasInternship.java similarity index 96% rename from src/main/java/seedu/duke/EasInternship.java rename to src/main/java/seedu/EasInternship/EasInternship.java index b996446015..cddfb9c602 100644 --- a/src/main/java/seedu/duke/EasInternship.java +++ b/src/main/java/seedu/EasInternship/EasInternship.java @@ -1,4 +1,4 @@ -package seedu.duke; +package seedu.EasInternship; import seedu.commands.Command; import seedu.ui.Ui; @@ -57,7 +57,7 @@ public static void main(String[] args) { continue; } - command.setInternshipList(internshipList); + command.setInternshipsList(internshipList); ArrayList commandArgs = parser.parseData(command, input); if (commandArgs == null) { diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/EasInternship/Internship.java similarity index 99% rename from src/main/java/seedu/duke/Internship.java rename to src/main/java/seedu/EasInternship/Internship.java index 3e387d42ec..f8c78b4454 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/EasInternship/Internship.java @@ -1,4 +1,4 @@ -package seedu.duke; +package seedu.EasInternship; import seedu.exceptions.InvalidDeadline; import seedu.exceptions.InvalidStatus; diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/EasInternship/InternshipList.java similarity index 96% rename from src/main/java/seedu/duke/InternshipList.java rename to src/main/java/seedu/EasInternship/InternshipList.java index 6d6b4d0875..2c7973c302 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/EasInternship/InternshipList.java @@ -1,7 +1,7 @@ -package seedu.duke; +package seedu.EasInternship; import seedu.exceptions.InvalidDeadline; -import seedu.exceptions.InvalidIndex; +import seedu.exceptions.InvalidID; import seedu.exceptions.InvalidStatus; import seedu.exceptions.MissingValue; import seedu.ui.UiInternshipList; @@ -59,9 +59,9 @@ public boolean isWithinBounds(int index) { // Method to remove an internship by index (0-based) //@@author jadenlimjc - public void removeInternship(int index) throws InvalidIndex { + public void removeInternship(int index) throws InvalidID { if (!isWithinBounds(index)) { - throw new InvalidIndex(index); + throw new InvalidID(index); } Internship internship = internships.remove(index); assert internship != null : "Removed internship should not be null"; @@ -85,15 +85,10 @@ private void updateIds() { // Method to get an internship by index public Internship getInternship(int index) { - try { - if (!isWithinBounds(index)) { - throw new InvalidIndex(index); - } - return internships.get(index); - } catch (InvalidIndex ie) { - ui.showOutput(ie.getMessage()); + if (!isWithinBounds(index)) { return null; } + return internships.get(index); } //@@author Ridiculouswifi diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/EasInternship/Parser.java similarity index 50% rename from src/main/java/seedu/duke/Parser.java rename to src/main/java/seedu/EasInternship/Parser.java index 238cea204d..9f3c6516c0 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/EasInternship/Parser.java @@ -1,4 +1,4 @@ -package seedu.duke; +package seedu.EasInternship; import seedu.commands.Command; import seedu.commands.AddCommand; @@ -22,31 +22,42 @@ import java.util.logging.Level; import java.util.logging.Logger; +/** + * Interprets user input and converts it + * into executable commands. It identifies the command type and parses any associated arguments or flags. + */ public class Parser { private final Ui ui = new Ui(); private final Logger logger = Logger.getLogger("EasInternship"); - private final Map> commands = new HashMap<>(); + private final Map> commandConstructors = new HashMap<>(); public Parser() { - // Initialize command map initializeCommands(); } - // Initialize map with suppliers + /** + * Populates the {@code commandConstructors} map with command keywords and their constructors. + */ private void initializeCommands() { - commands.put("add", AddCommand::new); - commands.put("delete", DeleteCommand::new); - commands.put("update", UpdateCommand::new); - commands.put("sort", SortCommand::new); - commands.put("filter", FilterCommand::new); - commands.put("list", ListCommand::new); - commands.put("help", HelpCommand::new); - commands.put("remove", RemoveCommand::new); - commands.put("favourite", FavouriteCommand::new); - commands.put("calendar", CalendarCommand::new); + commandConstructors.put("add", AddCommand::new); + commandConstructors.put("delete", DeleteCommand::new); + commandConstructors.put("update", UpdateCommand::new); + commandConstructors.put("sort", SortCommand::new); + commandConstructors.put("filter", FilterCommand::new); + commandConstructors.put("list", ListCommand::new); + commandConstructors.put("help", HelpCommand::new); + commandConstructors.put("remove", RemoveCommand::new); + commandConstructors.put("favourite", FavouriteCommand::new); + commandConstructors.put("calendar", CalendarCommand::new); } + /** + * Parses the user's input string to determine the command to execute. + * + * @param input the raw input string from the user; must not be blank. + * @return the corresponding {@code Command} object to be executed, or {@code null} if the {@code input} is invalid. + */ public Command parseCommand(String input) { if (input.isBlank()) { ui.showOutput("Please enter a command"); @@ -54,28 +65,33 @@ public Command parseCommand(String input) { } String[] inputArgs = input.trim().split(" ", 2); - - assert inputArgs[0].equals(inputArgs[0].trim()); String inputCommand = inputArgs[0].trim(); - if (!commands.containsKey(inputCommand)) { + if (!commandConstructors.containsKey(inputCommand)) { ui.showUnknownCommand(inputCommand); logger.log(Level.WARNING, "Invalid Command: " + inputCommand); return null; } - Supplier commandSupplier = commands.get(inputCommand); + Supplier commandConstructor = commandConstructors.get(inputCommand); logger.log(Level.INFO, "Command Parsed: " + inputCommand); - return commandSupplier.get(); + Command command = commandConstructor.get(); + return command; } + /** + * Parses the input data for the given command, extracting any arguments or flags. + * + * @param command the {@code Command} object for which to parse data + * @param input the raw input string from the user + * @return an {@code ArrayList} containing the parsed arguments, or {@code null} if the input is invalid. + */ public ArrayList parseData(Command command, String input) { if (command instanceof ListCommand || command instanceof HelpCommand || command instanceof CalendarCommand) { return new ArrayList<>(); } String[] inputArgs = input.trim().split(" ", 2); - if (inputArgs.length < 2) { if (!(command instanceof SortCommand)) { ui.showOutput("Please input some ID or flag following the command"); @@ -84,11 +100,10 @@ public ArrayList parseData(Command command, String input) { } return new ArrayList<>(); } - String inputData = inputArgs[1]; - if (command instanceof AddCommand) { - return parseAddCommandData(inputData); + if (command instanceof AddCommand || command instanceof FilterCommand || command instanceof SortCommand) { + return parseFlagData(inputData); } if (command instanceof DeleteCommand) { return parseDeleteCommandData(inputData); @@ -96,12 +111,6 @@ public ArrayList parseData(Command command, String input) { if (command instanceof UpdateCommand) { return parseUpdateCommandData(inputData); } - if (command instanceof SortCommand) { - return parseSortCommandData(inputData); - } - if (command instanceof FilterCommand) { - return parseFilterCommandData(inputData); - } if (command instanceof FavouriteCommand) { return parseFavouriteCommandData(inputData); } @@ -109,6 +118,13 @@ public ArrayList parseData(Command command, String input) { return null; } + /** + * Parses input data containing flags and their corresponding values. + * + * @param inputData the input data string containing flags + * @return an {@code ArrayList} of parsed flags and their corresponding data, or {@code null} if there is an + * empty flag + */ private ArrayList parseFlagData(String inputData) { ArrayList commandArgs = new ArrayList<>(Arrays.asList(inputData.trim().split("-"))); if (commandArgs.isEmpty()) { @@ -120,45 +136,48 @@ private ArrayList parseFlagData(String inputData) { return commandArgs; } - private ArrayList parseAddCommandData(String inputData) { - return parseFlagData(inputData); - } - + /** + * Parses input data for the delete command, extracting the internship ID. + * + * @param inputData the input data string containing the internship ID + * @return an {@code ArrayList} containing a single element - the internship ID. + */ private ArrayList parseDeleteCommandData(String inputData) { ArrayList commandArgs = new ArrayList<>(); - commandArgs.add(inputData); - commandArgs.set(0, inputData.trim()); + commandArgs.add(inputData.trim()); return commandArgs; } + /** + * Parses input data for the update command, extracting the internship ID and flags. + * + * @param inputData the input data string containing the internship ID and flags + * @return an {@code ArrayList} containing the internship ID followed by parsed flags and their + * corresponding data. or {@code null} if there are no/empty flags. + */ private ArrayList parseUpdateCommandData(String inputData) { String[] splitArray = inputData.trim().split(" ", 2); - assert splitArray[0].equals(splitArray[0].trim()); String id = splitArray[0].trim(); - try { - String fields = splitArray[1].trim(); - - ArrayList commandArgs = parseFlagData(fields); - if (commandArgs == null) { - return null; - } - - commandArgs.add(0, id); - return commandArgs; - } catch (ArrayIndexOutOfBoundsException e) { + if (splitArray.length < 2) { ui.showEmptyFlags(); return null; } + String fields = splitArray[1].trim(); + ArrayList commandArgs = parseFlagData(fields); + if (commandArgs == null) { + return null; + } + commandArgs.add(0, id); + return commandArgs; } - private ArrayList parseSortCommandData(String inputData) { - return parseFlagData(inputData); - } - - private ArrayList parseFilterCommandData(String inputData) { - return parseFlagData(inputData); - } - + /** + * Parses input data for the favourite command, extracting the list of internship IDs. + * + * @param inputData the input data string containing internship IDs separated by commas; must not be empty. + * @return an {@code ArrayList} containing the internship IDs, or {@code null} if the {@code inputData} + * is empty. + */ private ArrayList parseFavouriteCommandData(String inputData) { if (inputData.trim().isEmpty()) { return null; diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/EasInternship/Storage.java similarity index 99% rename from src/main/java/seedu/duke/Storage.java rename to src/main/java/seedu/EasInternship/Storage.java index 50dd4f42d7..dea7fc47d5 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/EasInternship/Storage.java @@ -1,4 +1,4 @@ -package seedu.duke; +package seedu.EasInternship; import java.io.File; import java.io.FileWriter; diff --git a/src/main/java/seedu/commands/AddCommand.java b/src/main/java/seedu/commands/AddCommand.java index b237528c14..d5a5c0e252 100644 --- a/src/main/java/seedu/commands/AddCommand.java +++ b/src/main/java/seedu/commands/AddCommand.java @@ -1,6 +1,6 @@ package seedu.commands; -import seedu.duke.Internship; +import seedu.EasInternship.Internship; import java.time.YearMonth; import java.time.format.DateTimeFormatter; @@ -89,7 +89,7 @@ public void execute(ArrayList args) { } Internship newInternship = new Internship(role, company, startDate, endDate); - internships.addInternship(newInternship); + internshipsList.addInternship(newInternship); uiCommand.showEditedInternship(newInternship, "add"); logger.log(Level.INFO, "AddCommand Executed"); diff --git a/src/main/java/seedu/commands/CalendarCommand.java b/src/main/java/seedu/commands/CalendarCommand.java index 76fcbf853d..4bc7715523 100644 --- a/src/main/java/seedu/commands/CalendarCommand.java +++ b/src/main/java/seedu/commands/CalendarCommand.java @@ -2,8 +2,8 @@ //@@author Ridiculouswifi -import seedu.duke.Deadline; -import seedu.duke.Internship; +import seedu.EasInternship.Deadline; +import seedu.EasInternship.Internship; import java.util.ArrayList; import java.util.Comparator; @@ -24,7 +24,7 @@ public void execute(ArrayList args) { } protected ArrayList getDeadlines() { - List allInternships = internships.getAllInternships(); + List allInternships = internshipsList.getAllInternships(); ArrayList deadlines = new ArrayList<>(); for (Internship internship : allInternships) { deadlines.addAll(internship.getDeadlines()); diff --git a/src/main/java/seedu/commands/Command.java b/src/main/java/seedu/commands/Command.java index fa0a157ae4..0158c64c51 100644 --- a/src/main/java/seedu/commands/Command.java +++ b/src/main/java/seedu/commands/Command.java @@ -1,22 +1,29 @@ package seedu.commands; -import seedu.duke.InternshipList; +import seedu.EasInternship.InternshipList; import seedu.ui.UiCommand; import java.util.ArrayList; import java.util.logging.Logger; +/** + * Represents an executable command + */ public abstract class Command { protected final int INDEX_FIELD = 0; protected final int INDEX_DATA = 1; protected final Logger logger = Logger.getLogger("EasInternship"); protected UiCommand uiCommand = new UiCommand(); - protected InternshipList internships; + protected InternshipList internshipsList; - public void setInternshipList(InternshipList internships) { - this.internships = internships; + public void setInternshipsList(InternshipList internships) { + this.internshipsList = internships; } + /** + * Executes the command whose implementation + * is specified by the respective child classes + */ public abstract void execute(ArrayList args); public abstract String getUsage(); } diff --git a/src/main/java/seedu/commands/DeleteCommand.java b/src/main/java/seedu/commands/DeleteCommand.java index b4c7d29913..a1c5ae6538 100644 --- a/src/main/java/seedu/commands/DeleteCommand.java +++ b/src/main/java/seedu/commands/DeleteCommand.java @@ -1,6 +1,6 @@ package seedu.commands; -import seedu.exceptions.InvalidIndex; +import seedu.exceptions.InvalidID; import java.util.ArrayList; import java.util.logging.Level; @@ -12,12 +12,12 @@ public void execute (ArrayList args) { try { int id = Integer.parseInt(args.get(0)); int index = id - 1; - internships.removeInternship(index); + internshipsList.removeInternship(index); logger.log(Level.INFO, "DeleteCommand Executed"); } catch (NumberFormatException e) { uiCommand.showOutput("Invalid integer, please provide a valid internship ID"); - } catch (InvalidIndex ie) { + } catch (InvalidID ie) { uiCommand.showOutput(ie.getMessage()); } } diff --git a/src/main/java/seedu/commands/FavouriteCommand.java b/src/main/java/seedu/commands/FavouriteCommand.java index 5eaeb2fce9..38675c9c2d 100644 --- a/src/main/java/seedu/commands/FavouriteCommand.java +++ b/src/main/java/seedu/commands/FavouriteCommand.java @@ -1,39 +1,85 @@ package seedu.commands; -import seedu.duke.Internship; +import seedu.EasInternship.Internship; +import seedu.exceptions.InvalidID; +import seedu.exceptions.InvalidInteger; import java.util.ArrayList; -import java.util.logging.Level; +/** + * The {@code FavouriteCommand} class allows users to add internships to their list of favourite internships. + * Users can do this by specifying the internship IDs. + */ public class FavouriteCommand extends Command { + /** + * A {@code StringBuilder} to accumulate messages to be displayed to the user. + */ + StringBuilder message = new StringBuilder(); + @Override public void execute(ArrayList args) { + if (args.isEmpty()) { + uiCommand.showEmptyFlags(); + return; + } + ArrayList inputInternships; + try { + inputInternships = getInputInternships(args); + } catch (InvalidInteger | InvalidID exception) { + uiCommand.showOutput(exception.getMessage()); + return; + } + + ArrayList favouriteInternships = internshipsList.favouriteInternships; + for (Internship internship : inputInternships) { + if (favouriteInternships.contains(internship)) { + message.append("Internship with ID ").append(internship.getId()) + .append(" is already present in favourite internships\n"); + continue; + } + favouriteInternships.add(internship); + } + message.append("The favourite internships are listed below"); + uiCommand.showOutput(String.valueOf(message)); + internshipsList.listFavouriteInternshipsBySortedByID(); + } + + /** + * Retrieves the internships corresponding to the provided IDs. + * + * @param args an {@code ArrayList} containing internship IDs; must not be empty. + * @return an {@code ArrayList} of internships matching the provided IDs + * @throws InvalidInteger if any of the input IDs are not valid integers + * @throws InvalidID if any of the input IDs do not correspond to the IDs of the internships in the list + */ + private ArrayList getInputInternships(ArrayList args) throws InvalidID, InvalidInteger { + ArrayList inputInternships = new ArrayList<>(); for (String arg : args) { - try { - int internshipId = Integer.parseInt(arg); - int internshipIndex = internshipId - 1; - Internship internship = internships.getInternship(internshipIndex); - ArrayList favouriteInternships = internships.favouriteInternships; - if (internship == null) { - continue; - } - if (favouriteInternships.contains(internship)) { - continue; - } - favouriteInternships.add(internship); - - logger.log(Level.INFO, "FavouriteCommand Executed"); - } catch (NumberFormatException e) { - uiCommand.showOutput("Invalid integer: " + arg + "\nPlease provide a valid internship ID"); + int InternshipIndex = getInternshipIndex(arg); + Internship internship = internshipsList.getInternship(InternshipIndex); + if (internship == null) { + throw new InvalidID(InternshipIndex); } + inputInternships.add(internship); } - if (args.isEmpty()) { - uiCommand.showEmptyFlags(); - return; + return inputInternships; + } + + /** + * Converts a string argument to an internship index. + * + * @param arg a string representing the internship ID; must be a valid integer + * @return the internship index corresponding to the ID + * @throws InvalidInteger if the {@code arg} is not a valid integer + */ + private int getInternshipIndex (String arg) throws InvalidInteger { + try { + int internshipId = Integer.parseInt(arg); + return internshipId - 1; + } catch (NumberFormatException e) { + throw new InvalidInteger(arg); } - internships.listFavouriteInternshipsBySortedByID(); - uiCommand.showOutput("The list of favourite internships have been displayed above"); } @Override diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index 3d31f360d9..c71a4c005a 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -1,7 +1,7 @@ package seedu.commands; -import seedu.duke.InternshipList; -import seedu.duke.Internship; +import seedu.EasInternship.InternshipList; +import seedu.EasInternship.Internship; import java.time.format.DateTimeParseException; import java.util.ArrayList; @@ -13,18 +13,27 @@ import java.util.function.BiPredicate; import java.util.logging.Level; +/** + * Filters the list of internships based on the given criteria. + * It supports filtering by role, company, favourite status, and date range. + */ public class FilterCommand extends Command { - public boolean functionComplete = false; // For testing purposes + // The below variable is used for unit testing purposes + public boolean functionComplete = false; private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/yy"); private final Map fieldGetters = new HashMap<>(); - private ArrayList internshipList; - private ArrayList favouriteInternshipList; - private InternshipList filteredInternships; - + private ArrayList internships; + private ArrayList favouriteInternships; + private InternshipList filteredInternshipsList; + + /** + * Constructs a {@code FilterCommand} object + * and populates the {@code fieldGetters} attribute with all the flags + * and their respective lambda functions + */ public FilterCommand() { - // Map flags to getter methods using lambdas fieldGetters.put("role", Internship::getRole); fieldGetters.put("company", Internship::getCompany); fieldGetters.put("from", Internship::getStartDate); @@ -33,15 +42,15 @@ public FilterCommand() { } public InternshipList getFilteredInternships() { - return filteredInternships; + return filteredInternshipsList; } @Override public void execute(ArrayList args) { - assert internships != null : "Internship list should always be set before a command can be executed"; - internshipList = new ArrayList<>(internships.getAllInternships()); - favouriteInternshipList = new ArrayList<>(internships.favouriteInternships); - filteredInternships = new InternshipList(internshipList); + assert internshipsList != null : "Internship list should always be set before a command can be executed"; + internships = new ArrayList<>(internshipsList.getAllInternships()); + favouriteInternships = new ArrayList<>(internshipsList.favouriteInternships); + filteredInternshipsList = new InternshipList(internships); if (args.isEmpty()) { uiCommand.showInsufficientArguments(); @@ -58,12 +67,20 @@ public void execute(ArrayList args) { } functionComplete = true; - filteredInternships.listAllInternships(); + filteredInternshipsList.listAllInternships(); logger.log(Level.INFO, "FilterCommand Executed"); } - private void executeFilterByOneFlag(String[] words) { + /** + * Extracts the flag, its corresponding getter method and the search term + * from the parsed arguments + * and then filters by the respective flag + * @param words The parsed arguments; must have a length of exactly 2 + * @throws IllegalArgumentException If the arguments have an unknown flag, repeated flags or an empty field + * and in the case of an invalid favourite status or date field input by the user + */ + private void executeFilterByOneFlag(String[] words) throws IllegalArgumentException { String flag = words[INDEX_FIELD]; // Retrieve the corresponding getter method based on the flag InternshipFieldGetter getter = fieldGetters.get(flag); @@ -86,10 +103,19 @@ private void executeFilterByOneFlag(String[] words) { } fieldGetters.put(flag, null); - String searchTerm = words[INDEX_DATA]; - BiPredicate dateComparator = null; + filterByRespectiveFlag(flag, getter, searchTerm); + } + /** + * Parses the flag argument to then filter by the appropriate method for the + * given flag + * @param flag The field type to filter by + * @param getter The lambda method for fetching the respective field based on the flag + * @param searchTerm The field value input by the user + * @throws IllegalArgumentException If an invalid favourite status or date field is input by the user + */ + private void filterByRespectiveFlag(String flag, InternshipFieldGetter getter, String searchTerm) throws IllegalArgumentException { switch (flag) { case "role": case "company": @@ -101,76 +127,85 @@ private void executeFilterByOneFlag(String[] words) { return; case "from": - dateComparator = YearMonth::isBefore; + filterByDate(getter, searchTerm, YearMonth::isBefore); break; case "to": - dateComparator = YearMonth::isAfter; + filterByDate(getter, searchTerm, YearMonth::isAfter); break; default: assert false : "Should never be able to reach this statement if all flags are accounted for"; } - - filterByDate(getter, searchTerm, dateComparator); } - private void filterByRoleAndCompany(InternshipFieldGetter getter, String searchTerm) { - ArrayList internshipListIterator = new ArrayList<>(internshipList); + /** + * Retains any internships whose role/company field is equal to the field entered + * by the user (case-insensitive) and discards the rest. + * @param getter The lambda method for fetching the role/company field + * @param inputValue The field value input by the user + */ + private void filterByRoleAndCompany(InternshipFieldGetter getter, String inputValue) { + ArrayList internshipListIterator = new ArrayList<>(internships); // Iterate over the internships and apply the getter for comparison for (Internship internship : internshipListIterator) { String fieldValue = getter.getField(internship); // Dynamically calls getRole(), getCompany(), // etc. - boolean isEqualToSearchTerm = fieldValue.equalsIgnoreCase(searchTerm); - if (!isEqualToSearchTerm) { - internshipList.remove(internship); + boolean isEqualToSearchTerm = fieldValue.equalsIgnoreCase(inputValue); + if (isEqualToSearchTerm) { + continue; } + internships.remove(internship); } } - private void filterByFavouriteInternships(String searchTerm) { + /** + * Retains any internships whose favourite status is equal to the status entered + * by the user (case-insensitive) and discards the rest. + * @param inputFavouriteStatus The favourite status value input by the user + * @throws IllegalArgumentException If the {@code inputFavouriteStatus} is invalid; neither true nor false + */ + private void filterByFavouriteInternships(String inputFavouriteStatus) throws IllegalArgumentException{ // Iterate over the internships and retrieve favourites - switch (searchTerm) { - case "true": - case "True": - filteredInternships.internships.retainAll(favouriteInternshipList); - break; - case "false": - case "False": - filteredInternships.internships.removeAll(favouriteInternshipList); - break; - default: + if (inputFavouriteStatus.equalsIgnoreCase("true")) { + filteredInternshipsList.internships.retainAll(favouriteInternships); + } else if (inputFavouriteStatus.equalsIgnoreCase("false")) { + filteredInternshipsList.internships.removeAll(favouriteInternships); + } else { uiCommand.showOutput("Please only input 'true'/'false' following the -favourite flag"); throw new IllegalArgumentException(); } } - private void filterByDate(InternshipFieldGetter getter, String searchTerm, - BiPredicate dateComparator) { - assert dateComparator != null : "dateComparator should not be null in filterByDate method"; - - ArrayList internshipListIterator = new ArrayList<>(internshipList); + /** + * Removes any internships whose date is before the {@code -from} date entered by the user + * and if the date is after the {@code -to} date entered by the user. It retains the rest of the + * internships. + * @param getter The lambda method for fetching the date field + * @param inputDate The date value input by the user + * @param dateComparator The lambda method for comparing the dates + * @throws IllegalArgumentException If the {@code inputDate} is an invalid date + */ + private void filterByDate(InternshipFieldGetter getter, String inputDate, + BiPredicate dateComparator) throws IllegalArgumentException { + ArrayList internshipListIterator = new ArrayList<>(internships); for (Internship internship : internshipListIterator) { - String fieldValue = getter.getField(internship); // Dynamically calls getRole(), getCompany(), etc. - YearMonth fieldDate = parseDate(fieldValue); - assert fieldDate != null : "fieldValue should always be a valid date"; - YearMonth searchDate = parseDate(searchTerm); - if (searchDate == null) { - String outputString = searchTerm + " is not a valid date\n" + "Please enter a date in the MM/yy format"; - uiCommand.showOutput(outputString); - throw new IllegalArgumentException(); - } + String fieldTerm = getter.getField(internship); // Dynamically calls getRole(), getCompany(), etc. + YearMonth fieldDate = parseDate(fieldTerm); + YearMonth searchDate = parseDate(inputDate); if (dateComparator.test(fieldDate, searchDate)) { - internshipList.remove(internship); + internships.remove(internship); } } } - private YearMonth parseDate(String stringDate) { + private YearMonth parseDate (String stringDate) throws IllegalArgumentException { try { return YearMonth.parse(stringDate, formatter); } catch (DateTimeParseException e) { - return null; + String outputString = stringDate + " is not a valid date\n" + "Please enter a date in the MM/yy format"; + uiCommand.showOutput(outputString); + throw new IllegalArgumentException(); } } diff --git a/src/main/java/seedu/commands/InternshipFieldGetter.java b/src/main/java/seedu/commands/InternshipFieldGetter.java index 8307d05466..336c18cc7c 100644 --- a/src/main/java/seedu/commands/InternshipFieldGetter.java +++ b/src/main/java/seedu/commands/InternshipFieldGetter.java @@ -1,6 +1,6 @@ package seedu.commands; -import seedu.duke.Internship; +import seedu.EasInternship.Internship; @FunctionalInterface public interface InternshipFieldGetter { diff --git a/src/main/java/seedu/commands/ListCommand.java b/src/main/java/seedu/commands/ListCommand.java index 77c14335d3..216ab42d65 100644 --- a/src/main/java/seedu/commands/ListCommand.java +++ b/src/main/java/seedu/commands/ListCommand.java @@ -10,7 +10,7 @@ public class ListCommand extends Command { @Override public void execute(ArrayList args) { - internships.listAllInternships(); + internshipsList.listAllInternships(); logger.log(Level.INFO, "ListCommand Executed"); } diff --git a/src/main/java/seedu/commands/RemoveCommand.java b/src/main/java/seedu/commands/RemoveCommand.java index fa0213e234..f0ff8a7232 100644 --- a/src/main/java/seedu/commands/RemoveCommand.java +++ b/src/main/java/seedu/commands/RemoveCommand.java @@ -18,7 +18,7 @@ protected void updateOneField(String[] words, int internshipIndex) { return; } String value = words[INDEX_DATA].trim(); - internships.removeField(internshipIndex, field, value); + internshipsList.removeField(internshipIndex, field, value); uiCommand.addUpdatedField(field, value, "remove"); break; case "status": diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index 8a94433a61..d259ea69a2 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -22,12 +22,12 @@ public class SortCommand extends Command { // Execute method for the SortCommand @Override public void execute(ArrayList args) { - assert internships != null : "Internships list cannot be null"; + assert internshipsList != null : "Internships list cannot be null"; uiCommand.clearInvalidFlags(); // Check if no arguments are provided after "sort" if (args.isEmpty()) { - internships.listInternshipsNotSorted(); // No valid sort option provided + internshipsList.listInternshipsNotSorted(); // No valid sort option provided return; } @@ -37,51 +37,51 @@ public void execute(ArrayList args) { // Handle valid sorting options switch (sortOption) { case "role": - assert internships.getAllInternships().size() > 0 + assert internshipsList.getAllInternships().size() > 0 : "Internships list should not be empty when sorting by role"; - internships.listInternshipsSortedByRole(); // Sort by role alphabetically (case-insensitive) + internshipsList.listInternshipsSortedByRole(); // Sort by role alphabetically (case-insensitive) break; case "duration": - assert internships.getAllInternships().stream().allMatch(internship -> internship.getStartDate() != null && + assert internshipsList.getAllInternships().stream().allMatch(internship -> internship.getStartDate() != null && internship.getEndDate() != null) : "Internships must have valid start and end dates to sort by duration"; - internships.listInternshipsSortedByDuration(); // Sort by start date, then end date (year first) + internshipsList.listInternshipsSortedByDuration(); // Sort by start date, then end date (year first) break; case "deadline": - internships.listInternshipsSortedByDeadline(); + internshipsList.listInternshipsSortedByDeadline(); break; case "skills": - assert internships.getAllInternships().stream().anyMatch(internship -> !internship.getSkills().isEmpty()) : + assert internshipsList.getAllInternships().stream().anyMatch(internship -> !internship.getSkills().isEmpty()) : "At least one internship must have skills to sort by skills"; - internships.listInternshipsSortedByFirstSkill(); // Sort by first skill alphabetically + internshipsList.listInternshipsSortedByFirstSkill(); // Sort by first skill alphabetically break; case "status": - internships.listInternshipsSortedByStatus(); // Sort by status alphabetically + internshipsList.listInternshipsSortedByStatus(); // Sort by status alphabetically break; case "company": - internships.listInternshipsSortedByCompany(); // Sort by company alphabetically + internshipsList.listInternshipsSortedByCompany(); // Sort by company alphabetically break; case "role in favourite": - internships.listFavouriteInternshipsSortedByRole(); // Sort by role in favourite alphabetically + internshipsList.listFavouriteInternshipsSortedByRole(); // Sort by role in favourite alphabetically break; // (case-insensitive) case "duration in favourite": - internships.listFavouriteInternshipsSortedByDuration(); // Sort by duration in favourite with start date, + internshipsList.listFavouriteInternshipsSortedByDuration(); // Sort by duration in favourite with start date, break; // then end date (year first) case "deadline in favourite": - internships.listFavouriteInternshipsSortedByDeadline(); // Sort by the earliest deadline in favourite + internshipsList.listFavouriteInternshipsSortedByDeadline(); // Sort by the earliest deadline in favourite break; case "skills in favourite": - internships.listFavouriteInternshipsSortedByFirstSkill(); // Sort by first skill in favourite alphabetically + internshipsList.listFavouriteInternshipsSortedByFirstSkill(); // Sort by first skill in favourite alphabetically break; case "status in favourite": - internships.listFavouriteInternshipsSortedByStatus(); // Sort by status in favourite alphabetically + internshipsList.listFavouriteInternshipsSortedByStatus(); // Sort by status in favourite alphabetically break; case "company in favourite": - internships.listFavouriteInternshipsSortedByCompany();// Sort by company in favourite alphabetically + internshipsList.listFavouriteInternshipsSortedByCompany();// Sort by company in favourite alphabetically break; default: // Handle invalid sorting options - internships.listInternshipsInvalidFlag(sortOption); + internshipsList.listInternshipsInvalidFlag(sortOption); } logger.log(Level.INFO, "SortCommand Executed"); diff --git a/src/main/java/seedu/commands/UpdateCommand.java b/src/main/java/seedu/commands/UpdateCommand.java index f2ec34ead0..a0908b99dc 100644 --- a/src/main/java/seedu/commands/UpdateCommand.java +++ b/src/main/java/seedu/commands/UpdateCommand.java @@ -1,7 +1,7 @@ package seedu.commands; import seedu.exceptions.InvalidDeadline; -import seedu.exceptions.InvalidIndex; +import seedu.exceptions.InvalidID; import seedu.exceptions.InvalidStatus; import java.time.format.DateTimeParseException; @@ -20,8 +20,8 @@ public void execute(ArrayList args) { int internshipId = Integer.parseInt(args.get(0)); int internshipIndex = internshipId - 1; - if (!internships.isWithinBounds(internshipIndex)) { - throw new InvalidIndex(internshipIndex); + if (!internshipsList.isWithinBounds(internshipIndex)) { + throw new InvalidID(internshipIndex); } args.remove(0); @@ -35,12 +35,12 @@ public void execute(ArrayList args) { updateOneField(words, internshipIndex); } - uiCommand.showEditedInternship(internships.getInternship(internshipIndex), "update"); + uiCommand.showEditedInternship(internshipsList.getInternship(internshipIndex), "update"); logger.log(Level.INFO, "UpdateCommand Executed"); } catch (NumberFormatException e) { uiCommand.showOutput("Invalid integer, please provide a valid internship ID"); - } catch (InvalidIndex ie) { + } catch (InvalidID ie) { uiCommand.showOutput(ie.getMessage()); } } @@ -73,7 +73,7 @@ protected void updateOneField(String[] words, int internshipIndex) { return; } String value = words[INDEX_DATA].trim(); - internships.updateField(internshipIndex, field, value); + internshipsList.updateField(internshipIndex, field, value); uiCommand.addUpdatedField(field, value, "update"); break; default: diff --git a/src/main/java/seedu/exceptions/InvalidIndex.java b/src/main/java/seedu/exceptions/InvalidID.java similarity index 63% rename from src/main/java/seedu/exceptions/InvalidIndex.java rename to src/main/java/seedu/exceptions/InvalidID.java index deec1719d1..d1f84b8a82 100644 --- a/src/main/java/seedu/exceptions/InvalidIndex.java +++ b/src/main/java/seedu/exceptions/InvalidID.java @@ -1,10 +1,10 @@ package seedu.exceptions; -public class InvalidIndex extends Exception { - public InvalidIndex() { +public class InvalidID extends Exception { + public InvalidID() { super("Invalid ID!\nPlease use list to find internship ID"); } - public InvalidIndex(int internshipIndex) { + public InvalidID(int internshipIndex) { super("Invalid ID: " + (internshipIndex + 1) + "\nPlease use list to find internship ID"); } } diff --git a/src/main/java/seedu/exceptions/InvalidInteger.java b/src/main/java/seedu/exceptions/InvalidInteger.java new file mode 100644 index 0000000000..e49f74fcdb --- /dev/null +++ b/src/main/java/seedu/exceptions/InvalidInteger.java @@ -0,0 +1,7 @@ +package seedu.exceptions; + +public class InvalidInteger extends Exception{ + public InvalidInteger(String arg) { + super("Invalid Integer: " + arg + "\nPlease use list to find internship ID"); + } +} diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index 2ab35bd073..22b98b789b 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -1,8 +1,8 @@ package seedu.ui; import seedu.commands.Command; -import seedu.duke.Deadline; -import seedu.duke.Internship; +import seedu.EasInternship.Deadline; +import seedu.EasInternship.Internship; import java.time.LocalDate; import java.time.format.DateTimeFormatter; diff --git a/src/main/java/seedu/ui/UiInternshipList.java b/src/main/java/seedu/ui/UiInternshipList.java index 9cf8630227..15f72da925 100644 --- a/src/main/java/seedu/ui/UiInternshipList.java +++ b/src/main/java/seedu/ui/UiInternshipList.java @@ -1,6 +1,6 @@ package seedu.ui; -import seedu.duke.Internship; +import seedu.EasInternship.Internship; import java.util.ArrayList; diff --git a/src/test/java/seedu/duke/DukeTest.java b/src/test/java/seedu/EasInternship/DukeTest.java similarity index 86% rename from src/test/java/seedu/duke/DukeTest.java rename to src/test/java/seedu/EasInternship/DukeTest.java index 2dda5fd651..98df8ca058 100644 --- a/src/test/java/seedu/duke/DukeTest.java +++ b/src/test/java/seedu/EasInternship/DukeTest.java @@ -1,4 +1,4 @@ -package seedu.duke; +package seedu.EasInternship; import static org.junit.jupiter.api.Assertions.assertTrue; diff --git a/src/test/java/seedu/duke/InternshipListTest.java b/src/test/java/seedu/EasInternship/InternshipListTest.java similarity index 87% rename from src/test/java/seedu/duke/InternshipListTest.java rename to src/test/java/seedu/EasInternship/InternshipListTest.java index 3820c9c85c..cfa3d1cbdb 100644 --- a/src/test/java/seedu/duke/InternshipListTest.java +++ b/src/test/java/seedu/EasInternship/InternshipListTest.java @@ -1,8 +1,8 @@ -package seedu.duke; +package seedu.EasInternship; import org.junit.jupiter.api.Test; import seedu.exceptions.InvalidDeadline; -import seedu.exceptions.InvalidIndex; +import seedu.exceptions.InvalidID; import seedu.exceptions.InvalidStatus; import seedu.exceptions.MissingValue; @@ -24,7 +24,7 @@ void initialiseInternshipList() { //@@author Ridiculouswifi @Test - void updateField_validIndexStatus_expectUpdated() throws InvalidIndex, InvalidStatus, InvalidDeadline { + void updateField_validIndexStatus_expectUpdated() throws InvalidID, InvalidStatus, InvalidDeadline { initialiseInternshipList(); internshipList.updateField(0, "status", "Application Completed"); @@ -42,7 +42,7 @@ void updateField_invalidStartDate_expectThrow() { //@@author Ridiculouswifi @Test - void updateField_validDeadline_expectUpdated() throws InvalidDeadline, InvalidStatus, InvalidIndex { + void updateField_validDeadline_expectUpdated() throws InvalidDeadline, InvalidStatus, InvalidID { initialiseInternshipList(); internshipList.updateField(0, "deadline", "Interview 11/11/25"); @@ -53,7 +53,7 @@ void updateField_validDeadline_expectUpdated() throws InvalidDeadline, InvalidSt //@@author Ridiculouswifi @Test - void removeField_validSkill_expectUpdated() throws InvalidIndex, InvalidStatus, MissingValue, InvalidDeadline { + void removeField_validSkill_expectUpdated() throws InvalidID, InvalidStatus, MissingValue, InvalidDeadline { initialiseInternshipList(); internshipList.updateField(0, "skills", "Java, Python"); @@ -64,7 +64,7 @@ void removeField_validSkill_expectUpdated() throws InvalidIndex, InvalidStatus, //@@author Ridiculouswifi @Test - void removeField_invalidSkill_expectThrow() throws InvalidIndex, InvalidStatus, InvalidDeadline { + void removeField_invalidSkill_expectThrow() throws InvalidID, InvalidStatus, InvalidDeadline { initialiseInternshipList(); internshipList.updateField(0, "skills", "Java, Python"); @@ -81,7 +81,7 @@ void removeField_invalidField_expectAssertion() { //@@author Ridiculouswifi @Test - void removeField_validDeadline_expectUpdated() throws InvalidIndex, InvalidStatus, MissingValue, InvalidDeadline { + void removeField_validDeadline_expectUpdated() throws InvalidID, InvalidStatus, MissingValue, InvalidDeadline { initialiseInternshipList(); internshipList.updateField(0, "deadline", "Interview Deadline 11/11/25"); diff --git a/src/test/java/seedu/duke/InternshipTest.java b/src/test/java/seedu/EasInternship/InternshipTest.java similarity index 99% rename from src/test/java/seedu/duke/InternshipTest.java rename to src/test/java/seedu/EasInternship/InternshipTest.java index fbbdebd27e..dabc895ee7 100644 --- a/src/test/java/seedu/duke/InternshipTest.java +++ b/src/test/java/seedu/EasInternship/InternshipTest.java @@ -1,4 +1,4 @@ -package seedu.duke; +package seedu.EasInternship; import org.junit.jupiter.api.Test; import seedu.exceptions.InvalidDeadline; diff --git a/src/test/java/seedu/duke/ParserTest.java b/src/test/java/seedu/EasInternship/ParserTest.java similarity index 99% rename from src/test/java/seedu/duke/ParserTest.java rename to src/test/java/seedu/EasInternship/ParserTest.java index 6b21ebd8ed..0ea3b02f9f 100644 --- a/src/test/java/seedu/duke/ParserTest.java +++ b/src/test/java/seedu/EasInternship/ParserTest.java @@ -1,4 +1,4 @@ -package seedu.duke; +package seedu.EasInternship; import org.junit.jupiter.api.Test; import seedu.commands.AddCommand; diff --git a/src/test/java/seedu/commands/AddCommandTest.java b/src/test/java/seedu/commands/AddCommandTest.java index 4f0d90ee8e..aaf87b7dbe 100644 --- a/src/test/java/seedu/commands/AddCommandTest.java +++ b/src/test/java/seedu/commands/AddCommandTest.java @@ -1,8 +1,8 @@ package seedu.commands; import org.junit.jupiter.api.Test; -import seedu.duke.Internship; -import seedu.duke.InternshipList; +import seedu.EasInternship.Internship; +import seedu.EasInternship.InternshipList; import java.util.ArrayList; @@ -17,7 +17,7 @@ public class AddCommandTest { void createList() { internships = new InternshipList(); addCommand = new AddCommand(); - addCommand.setInternshipList(internships); + addCommand.setInternshipsList(internships); } @Test diff --git a/src/test/java/seedu/commands/FavouriteCommandTest.java b/src/test/java/seedu/commands/FavouriteCommandTest.java index 023425ade6..b269f7c289 100644 --- a/src/test/java/seedu/commands/FavouriteCommandTest.java +++ b/src/test/java/seedu/commands/FavouriteCommandTest.java @@ -2,8 +2,8 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import seedu.duke.Internship; -import seedu.duke.InternshipList; +import seedu.EasInternship.Internship; +import seedu.EasInternship.InternshipList; import java.util.ArrayList; @@ -20,7 +20,7 @@ void initializeParams() { internships = new InternshipList(); favouriteCommand = new FavouriteCommand(); args = new ArrayList<>(); - favouriteCommand.setInternshipList(internships); + favouriteCommand.setInternshipsList(internships); } void createList() { @@ -119,7 +119,7 @@ void execute_invalidFavouriteCommandInvalidNumber_expectNoUpdated() { ArrayList favouriteInternships = internships.favouriteInternships; - assertEquals(3, favouriteInternships.size()); + assertEquals(0, favouriteInternships.size()); } @Test @@ -136,6 +136,6 @@ void execute_invalidFavouriteCommandInvalidIndex_expectNoUpdated() { ArrayList favouriteInternships = internships.favouriteInternships; - assertEquals(3, favouriteInternships.size()); + assertEquals(0, favouriteInternships.size()); } } diff --git a/src/test/java/seedu/commands/FilterCommandTest.java b/src/test/java/seedu/commands/FilterCommandTest.java index 7d3f3633cf..a134555a8f 100644 --- a/src/test/java/seedu/commands/FilterCommandTest.java +++ b/src/test/java/seedu/commands/FilterCommandTest.java @@ -1,8 +1,8 @@ package seedu.commands; import org.junit.jupiter.api.Test; -import seedu.duke.Internship; -import seedu.duke.InternshipList; +import seedu.EasInternship.Internship; +import seedu.EasInternship.InternshipList; import java.util.ArrayList; @@ -19,7 +19,7 @@ void initializeParams() { internships = new InternshipList(); filterCommand = new FilterCommand(); args = new ArrayList<>(); - filterCommand.setInternshipList(internships); + filterCommand.setInternshipsList(internships); } void createListOne() { diff --git a/src/test/java/seedu/commands/RemoveCommandTest.java b/src/test/java/seedu/commands/RemoveCommandTest.java index f77e0e6218..3b5e9da79e 100644 --- a/src/test/java/seedu/commands/RemoveCommandTest.java +++ b/src/test/java/seedu/commands/RemoveCommandTest.java @@ -1,8 +1,8 @@ package seedu.commands; import org.junit.jupiter.api.Test; -import seedu.duke.Internship; -import seedu.duke.InternshipList; +import seedu.EasInternship.Internship; +import seedu.EasInternship.InternshipList; import seedu.exceptions.InvalidDeadline; import java.util.ArrayList; @@ -26,7 +26,7 @@ void createList() { internships.addInternship(internship); removeCommand = new RemoveCommand(); - removeCommand.setInternshipList(internships); + removeCommand.setInternshipsList(internships); } catch (InvalidDeadline e) { System.out.println(e.getMessage()); } diff --git a/src/test/java/seedu/commands/SortCommandTest.java b/src/test/java/seedu/commands/SortCommandTest.java index 209a135e00..d2721eb08b 100644 --- a/src/test/java/seedu/commands/SortCommandTest.java +++ b/src/test/java/seedu/commands/SortCommandTest.java @@ -2,8 +2,8 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import seedu.duke.Internship; -import seedu.duke.InternshipList; +import seedu.EasInternship.Internship; +import seedu.EasInternship.InternshipList; import java.util.ArrayList; import java.util.List; @@ -31,7 +31,7 @@ void setUp() { @Test void execute_sortNoArgs_expectNoCrash() { SortCommand sortCommand = new SortCommand(); - sortCommand.setInternshipList(internshipList); + sortCommand.setInternshipsList(internshipList); // Test "sort" with no additional arguments ArrayList arguments = new ArrayList<>(); @@ -41,7 +41,7 @@ void execute_sortNoArgs_expectNoCrash() { @Test void execute_sortEmptyFlag_expectNoCrash() { SortCommand sortCommand = new SortCommand(); - sortCommand.setInternshipList(internshipList); + sortCommand.setInternshipsList(internshipList); // Test "sort -" with an empty flag ArrayList arguments = new ArrayList<>(List.of("-")); @@ -51,7 +51,7 @@ void execute_sortEmptyFlag_expectNoCrash() { @Test void execute_sortAlphabet_expectSortedByRole() { SortCommand sortCommand = new SortCommand(); - sortCommand.setInternshipList(internshipList); + sortCommand.setInternshipsList(internshipList); // Test "sort -alphabet" ArrayList arguments = new ArrayList<>(List.of("alphabet")); @@ -61,7 +61,7 @@ void execute_sortAlphabet_expectSortedByRole() { @Test void execute_sortDeadline_expectSortedByDate() { SortCommand sortCommand = new SortCommand(); - sortCommand.setInternshipList(internshipList); + sortCommand.setInternshipsList(internshipList); // Test "sort -deadline" ArrayList arguments = new ArrayList<>(List.of("deadline")); @@ -71,7 +71,7 @@ void execute_sortDeadline_expectSortedByDate() { @Test void execute_sortInvalid_expectNoCrash() { SortCommand sortCommand = new SortCommand(); - sortCommand.setInternshipList(internshipList); + sortCommand.setInternshipsList(internshipList); // Test "sort -invalid" ArrayList arguments = new ArrayList<>(List.of("invalid")); @@ -81,7 +81,7 @@ void execute_sortInvalid_expectNoCrash() { @Test void execute_sortUnknown_expectNoCrash() { SortCommand sortCommand = new SortCommand(); - sortCommand.setInternshipList(internshipList); + sortCommand.setInternshipsList(internshipList); // Test "sort -unknown" ArrayList arguments = new ArrayList<>(List.of("unknown")); diff --git a/src/test/java/seedu/commands/UpdateCommandTest.java b/src/test/java/seedu/commands/UpdateCommandTest.java index 8c4e2e8ff7..1fb0e5dc0c 100644 --- a/src/test/java/seedu/commands/UpdateCommandTest.java +++ b/src/test/java/seedu/commands/UpdateCommandTest.java @@ -1,8 +1,8 @@ package seedu.commands; import org.junit.jupiter.api.Test; -import seedu.duke.Internship; -import seedu.duke.InternshipList; +import seedu.EasInternship.Internship; +import seedu.EasInternship.InternshipList; import java.util.ArrayList; import java.util.List; @@ -22,7 +22,7 @@ void createList() { internships.addInternship(internship); updateCommand = new UpdateCommand(); - updateCommand.setInternshipList(internships); + updateCommand.setInternshipsList(internships); } //@@author Ridiculouswifi From b5b3555b8ad0f0477ca0233c205769f4f33e22fb Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Mon, 11 Nov 2024 21:23:38 +0800 Subject: [PATCH 301/359] Fix error --- src/main/java/seedu/commands/CalendarCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/seedu/commands/CalendarCommand.java b/src/main/java/seedu/commands/CalendarCommand.java index 255a712bfb..6f7bdbbb50 100644 --- a/src/main/java/seedu/commands/CalendarCommand.java +++ b/src/main/java/seedu/commands/CalendarCommand.java @@ -42,7 +42,7 @@ protected ArrayList getCompanies(ArrayList deadlines) { ArrayList companies = new ArrayList<>(); for (Deadline deadline : deadlines) { int internshipIndex = deadline.getInternshipId() - 1; - companies.add(internships.getInternship(internshipIndex).getCompany()); + companies.add(internshipsList.getInternship(internshipIndex).getCompany()); } return companies; } From f15f1b8f8c9bf958c7d4318a387d493b543821f0 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Mon, 11 Nov 2024 21:32:12 +0800 Subject: [PATCH 302/359] Fix checkstyle errors --- .../java/seedu/EasInternship/Internship.java | 4 +-- .../seedu/EasInternship/InternshipList.java | 2 +- .../java/seedu/commands/FilterCommand.java | 28 +++++++++++-------- src/main/java/seedu/commands/SortCommand.java | 16 ++++++----- 4 files changed, 28 insertions(+), 22 deletions(-) diff --git a/src/main/java/seedu/EasInternship/Internship.java b/src/main/java/seedu/EasInternship/Internship.java index f6edd1faa9..c57c5e6467 100644 --- a/src/main/java/seedu/EasInternship/Internship.java +++ b/src/main/java/seedu/EasInternship/Internship.java @@ -26,10 +26,10 @@ public class Internship { private final DateTimeFormatter FORMATTER_DATE = DateTimeFormatter.ofPattern("dd/MM/yy") .withResolverStyle(ResolverStyle.LENIENT); - private static final List STATUSES = Arrays.asList( + private final List STATUSES = Arrays.asList( "Application Pending", "Application Completed", "Accepted", "Rejected"); - private static final Logger LOGGER = Logger.getLogger("EasInternship"); + private final Logger LOGGER = Logger.getLogger("EasInternship"); private int id = -1; private String role; diff --git a/src/main/java/seedu/EasInternship/InternshipList.java b/src/main/java/seedu/EasInternship/InternshipList.java index e537c8ce00..2ccdfbf334 100644 --- a/src/main/java/seedu/EasInternship/InternshipList.java +++ b/src/main/java/seedu/EasInternship/InternshipList.java @@ -16,7 +16,7 @@ //@@author jadenlimjc public class InternshipList { private final UiInternshipList ui = new UiInternshipList(); - private static final Logger LOGGER = Logger.getLogger("EasInternship"); + private final Logger LOGGER = Logger.getLogger("EasInternship"); public ArrayList internships; public ArrayList favouriteInternships; diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index 61836519a0..6b102dc838 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -18,12 +18,10 @@ * It supports filtering by role, company, favourite status, and date range. */ public class FilterCommand extends Command { - // The below variable is used for unit testing purposes + // Boolean variable is used for unit testing purposes public boolean functionComplete = false; - private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/yy"); private final Map fieldGetters = new HashMap<>(); - private ArrayList internships; private ArrayList favouriteInternships; private InternshipList filteredInternshipsList; @@ -76,9 +74,10 @@ public void execute(ArrayList args) { * Extracts the flag, its corresponding getter method and the search term * from the parsed arguments * and then filters by the respective flag + * * @param words The parsed arguments; must have a length of exactly 2 * @throws IllegalArgumentException If the arguments have an unknown flag, repeated flags or an empty field - * and in the case of an invalid favourite status or date field input by the user + * and in the case of an invalid favourite status or date field input by the user */ private void executeFilterByOneFlag(String[] words) throws IllegalArgumentException { String flag = words[INDEX_FIELD]; @@ -110,12 +109,14 @@ private void executeFilterByOneFlag(String[] words) throws IllegalArgumentExcept /** * Parses the flag argument to then filter by the appropriate method for the * given flag - * @param flag The field type to filter by - * @param getter The lambda method for fetching the respective field based on the flag + * + * @param flag The field type to filter by + * @param getter The lambda method for fetching the respective field based on the flag * @param searchTerm The field value input by the user * @throws IllegalArgumentException If an invalid favourite status or date field is input by the user */ - private void filterByRespectiveFlag(String flag, InternshipFieldGetter getter, String searchTerm) throws IllegalArgumentException { + private void filterByRespectiveFlag(String flag, InternshipFieldGetter getter, String searchTerm) + throws IllegalArgumentException { switch (flag) { case "role": case "company": @@ -142,7 +143,8 @@ private void filterByRespectiveFlag(String flag, InternshipFieldGetter getter, S /** * Retains any internships whose role/company field is equal to the field entered * by the user (case-insensitive) and discards the rest. - * @param getter The lambda method for fetching the role/company field + * + * @param getter The lambda method for fetching the role/company field * @param inputValue The field value input by the user */ private void filterByRoleAndCompany(InternshipFieldGetter getter, String inputValue) { @@ -162,10 +164,11 @@ private void filterByRoleAndCompany(InternshipFieldGetter getter, String inputVa /** * Retains any internships whose favourite status is equal to the status entered * by the user (case-insensitive) and discards the rest. + * * @param inputFavouriteStatus The favourite status value input by the user * @throws IllegalArgumentException If the {@code inputFavouriteStatus} is invalid; neither true nor false */ - private void filterByFavouriteInternships(String inputFavouriteStatus) throws IllegalArgumentException{ + private void filterByFavouriteInternships(String inputFavouriteStatus) throws IllegalArgumentException { // Iterate over the internships and retrieve favourites if (inputFavouriteStatus.equalsIgnoreCase("true")) { filteredInternshipsList.internships.retainAll(favouriteInternships); @@ -181,8 +184,9 @@ private void filterByFavouriteInternships(String inputFavouriteStatus) throws Il * Removes any internships whose date is before the {@code -from} date entered by the user * and if the date is after the {@code -to} date entered by the user. It retains the rest of the * internships. - * @param getter The lambda method for fetching the date field - * @param inputDate The date value input by the user + * + * @param getter The lambda method for fetching the date field + * @param inputDate The date value input by the user * @param dateComparator The lambda method for comparing the dates * @throws IllegalArgumentException If the {@code inputDate} is an invalid date */ @@ -199,7 +203,7 @@ private void filterByDate(InternshipFieldGetter getter, String inputDate, } } - private YearMonth parseDate (String stringDate) throws IllegalArgumentException { + private YearMonth parseDate(String stringDate) throws IllegalArgumentException { try { return YearMonth.parse(stringDate, formatter); } catch (DateTimeParseException e) { diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index 36158e29e7..269f046b56 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -4,17 +4,18 @@ import java.util.logging.Level; //@@author Toby-Yu + /** * Command to sort internships by different fields: alphabetically by role, by duration, by earliest deadline, * by the first skill in the skills list, or by status alphabetically. - * + *

* Usage: * - `sort -alphabet`: Sort internships alphabetically by role (case-insensitive). * - `sort -duration`: Sort internships by start date (year first), then end date. * - `sort -deadline`: Sort internships by earliest deadline. * - `sort -skills`: Sort internships by the first skill in the skills list alphabetically. * - `sort -status`: Sort internships by status alphabetically. - * + *

This method takes in a string where each deadline is described in the format: + * "Description -date dd/MM/yy". It splits the string by " - " and parses each part to extract + * the description and date, adding a Deadline object to the list. If no deadlines are set, + * an empty list is returned.

+ * + * @param deadlineString A string containing deadlines in a specific format. + * @param internshipId The ID of the internship to associate with each deadline. + * @return A list of Deadline objects representing the parsed deadlines. + */ + private static List parseDeadlines(String deadlineString, int internshipId) { List deadlines = new ArrayList<>(); @@ -230,6 +243,16 @@ private static List parseDeadlines(String deadlineString, int internsh return deadlines; } + /** + * Loads and sets the status of an Internship object from a given status string. + * + *

This method attempts to update the internship's status using the provided string. + * If the status is invalid (i.e., it does not match any predefined statuses), the + * internship's status is set to "Application Pending" and a message is displayed.

+ * + * @param internship The Internship object to update. + * @param status The status string to set for the internship. + */ private static void loadStatus(Internship internship, String status) { try { internship.updateStatus(status); From 8f53436a1129f874ec01a8fc529a0de2c59620f1 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 11 Nov 2024 22:14:34 +0800 Subject: [PATCH 315/359] updated to fix checkstyle errors --- docs/UML/Internship.puml | 14 +++++++------- src/main/java/seedu/duke/Deadline.java | 3 ++- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/UML/Internship.puml b/docs/UML/Internship.puml index a9fae250dd..615dc303fc 100644 --- a/docs/UML/Internship.puml +++ b/docs/UML/Internship.puml @@ -13,13 +13,13 @@ class Internship { - skills: ArrayList - status: String - + updateStatus(String userStatus): void - + setStartDate(String start): void - + setEndDate(String end): void - + addDeadline(String description, String date): void - + removeDeadline(String description): void - + setSkills(String skills): void - + removeSkill(String skill): void + + updateStatus(userStatus : String): void + + setStartDate(start : String): void + + setEndDate(end : String): void + + addDeadline(description : String , date : String): void + + removeDeadline(description : String ): void + + setSkills(skills : String): void + + removeSkill(skill : String): void } diff --git a/src/main/java/seedu/duke/Deadline.java b/src/main/java/seedu/duke/Deadline.java index 4827ba78a2..c1b3478e75 100644 --- a/src/main/java/seedu/duke/Deadline.java +++ b/src/main/java/seedu/duke/Deadline.java @@ -10,7 +10,8 @@ /** * Represents a deadline associated with an internship, with a description and a specific due date. * The date is stored in the format "dd/MM/yy", and the class ensures that the date is parsed and validated -* strictly according to the given pattern. The deadline also contains an internship ID to link it to a specific internship. +* strictly according to the given pattern. The deadline also contains an internship ID +* to link it to a specific internship. */ public class Deadline { private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("dd/MM/uu") From 775e010f4c6e21590c6f5333f9d644e6cd399521 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Mon, 11 Nov 2024 22:16:07 +0800 Subject: [PATCH 316/359] add the respo code comment --- src/main/java/seedu/duke/InternshipList.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 5d8f4a9a98..37109f92b4 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -250,6 +250,7 @@ private void sortedByDeadlineFunction(ArrayList sortedInternships) { }); } + //@@author Toby-Yu /** * Lists internships sorted by the first skill alphabetically (case-insensitive). */ From 9de2494b01f94e6e74ebe088a789883363ff8409 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Mon, 11 Nov 2024 22:32:23 +0800 Subject: [PATCH 317/359] remove the comment --- src/main/java/seedu/duke/InternshipList.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 37109f92b4..b26fc170af 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -249,8 +249,7 @@ private void sortedByDeadlineFunction(ArrayList sortedInternships) { return compareYearMonth(earliestDeadline1.getDate(), earliestDeadline2.getDate()); }); } - - //@@author Toby-Yu + /** * Lists internships sorted by the first skill alphabetically (case-insensitive). */ From 3f9e20e11bcec582cac01bfbdc6bf010f3b60c30 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 11 Nov 2024 22:44:57 +0800 Subject: [PATCH 318/359] Add Ui Class Diagram to DG --- docs/DeveloperGuide.md | 10 +++++- docs/UML/Ui Component.puml | 46 ++++++++++++++++++++++++++ docs/UML/Ui_Component.png | Bin 0 -> 81506 bytes src/main/java/seedu/ui/UiCommand.java | 13 ++++---- 4 files changed, 62 insertions(+), 7 deletions(-) create mode 100644 docs/UML/Ui Component.puml create mode 100644 docs/UML/Ui_Component.png diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index d0514c7a8e..cd199392d4 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -62,13 +62,21 @@ The `EasInternship` class serves as the entry point of the application. It manag The UI component is responsible for displaying information to the user and reading input. It interacts with the user by printing messages and prompts, and retrieves commands for the rest of the application to process. +This component comprises the following classes: +- `Ui`: Parent class with methods expect of all `Ui` subclasses. +- `UiCommand`: Has specific methods related to displaying output of commands. +- `UiInternshipList`: Handles outputs by methods in `InternshipList` class. + +This is represented with the class diagram below: +![](UML/Ui_Component.png) + ### 1.3 Logic Component The logic component is handled by the `Parser` and `Command` classes. The `Parser` interprets the user's input and returns a command object, which is then executed to perform the desired operation. ### 1.4 Model Component -The model component includes the `Internship`, `InternshipList`, `Deadline` and `DeadlineList` classes. +The model component includes the `Internship`, `InternshipList` and `Deadline` classes. `Internship`: Represents the individual internship entries. diff --git a/docs/UML/Ui Component.puml b/docs/UML/Ui Component.puml new file mode 100644 index 0000000000..e37a8e2f5d --- /dev/null +++ b/docs/UML/Ui Component.puml @@ -0,0 +1,46 @@ +@startuml +Title Ui Component +skinparam classAttributeIconSize 0 +hide circle +class Ui { + # DIVIDER: String + - scanner: Scanner + - MESSAGE_WELCOME: String + - MESSAGE_GOODBYE: String + + + readInput(): void + + showOutput(output: String): voidd + + showUnknownCommand(input: String): void + + showErrorCommand(errorMessage: String): void + + printHeadDivider(): void + + printTailDivider(): void + + printDivider(): void +} + + + +class UiCommand { + - FORMATTER_DATE: DateTimeFormatter + - POINTER_TO_NOW: String + - invalidFlags: String + - updatedFields: String + - invalidFields: String + + + UiCommand(): UiCommand + + showEditedInternship(internship: Internship, action: String): void + + addUpdatedField(updatedField: String, updatedValue: String, type: String): void + + addInvalidFlag(flag: String): void + + addInvalidField(field: String, invalidMessage: String): void + + showCommands(commands: ArrayList): void + + showCalendar(deadlines: ArrayList, companies: ArrayList): void + } + +class UiInternshipList { + + showInternships(internships: ArrayList, field: String): void + + getSortField(field: String): String + + showDeletedInternship(id: Integer): void + } + +UiCommand -left-|> Ui +UiInternshipList -up-|> Ui +@enduml \ No newline at end of file diff --git a/docs/UML/Ui_Component.png b/docs/UML/Ui_Component.png new file mode 100644 index 0000000000000000000000000000000000000000..7999f684f316b37edeedb4c5b7fd354e1b1dfbff GIT binary patch literal 81506 zcmce;X*iW{+c&I8Qbfp{naB{CWyn0wGAAsOmNCgpnP-+Ul6ejpBcaTTl$nLhDk4M3 z?AcfU>%Q*mezy0+dvEWyy?v>$);iDQJdS<;O}lVyO(h~i8bTZ#93mBEd0iYF+)p?- zXYmQn!dHkj<1OGXE;j`uH)|(nPo#~l8;+8Vqm8Sjn+<}|%9GK~&CU6-I3J%g($dlG zi35_?+R4HFa}NW&Max5dBe(zhI?fq*ACH&O20BjZH%a`y8@{Ze%tPTq+jqvd`S2H`p(;ypWR&rRk*E(*tIt*6y`-KxW4?e*`$U{-@XXcJpH);oXZcdk zzmk5!B;4TRx!*uFoQ2D!@RID|hc%7BAV0dxT_+2H(hcFVEfP)a(Yf7?Cm41IBPGTQ zt!KVmbogUtbRnX&-s@_`<)D0K7W!@@f}@&WvN^ITR#v|a7(A4JSDRHRUE(na?Tl)1 z-t39)qn;lxII`yC41V2^cSL$6zaQmRxX7N@l3p(PP9Qhl{rpSD9;tvCIj7`?70lfv zeU|BHD{_rCOVr+wl2dA`iidJSkS&505mHmG*qA$`^wC^JGpDQZNA@p7mrKAFg%!CI z_i8{ST{`YY*p-mR4e_Svbpj;~79QMPv##ME=cn{PkKF3(OI$IfOxxhk(%1XgXj@4k zNA+blqV~^?it3o3e&50<^1@f1Op7gLxc1j0_&#;{$BWo-PkcA@^L=9+EtKTaqghHz z8KRrB6U60f{4CHvk6BSvaj?_&4)s!A(ochrANi@4>0Bl{-zwDR&7^f8Lv&Gpb{~7Y z;g&WT*KN~A6ldA=TZ*XVSTj8debE&7Wa{cHsp51Q`E>aps{5&=Q0$AgZdnO`{DM0_ zvy=+EZ~W*PH)(Dw^A4$h6-;JCTKvgM_H=P|d$kwcK+i(NkDlA6JD8a|37(V=^>`_B z;SaaOr7PMwahzw6H6rVt2{YA>1B4%IW+!g<@yd(My`7E~$C0wo;qr<=V0{2HrZV5Mc~ilVlT`5u6G?p!uEpJM1U_%JQ(eQn*?W%GuMIZsTtCse2D z>RMG=TAH42Dl7Xuh)&#%AXL9tSD|6~^myj9%=E3}Tx+mW44uw-c6N5=J1@^Zv>FS( zNJ-+cHc_h(d39~7;df!CUu)Ot(Rb-EGD^x&@|@hqY8sU`&a%BrfC zRtgDSn4IQI(akUZCuAJa5fSfv59=aghaAS=oGFy>+{zy^6zSwnef_$$5XU6vH@ZeQDP%t!$I+9eo3AS3G~Hf~eLm*z z+~Q?8e4~0MY9INJo{w2r=;doMD>D(oEG;da%kC0UcjDE1fLKtj|Hf2|U!-*v-^k5vDB_k7$b`y>|7gEg|K7v}k)rht21gVuhL+ghWIN ziys5epT1c-^3c+#Qx#xwTOJ#q(G)c6Ac; z?#@oq#?H^N1?$t3}mu$UM{b$|a;?1_Obf18QvPQmt7bg~Ga28xGE3wuEv!GAAk3(b)!y39w~8gRJtlY<2{;_-;% z5sIiYih3bWYi=x8>2f!({8a`@9+U0r6B?@|E(7^2?By92X`h*_e(>dFUxjs2g@IM_ z=`XWx@jB_#qsQ&xQBiJ#HV0b%2SeWLP2ckx;pv_{l|V&5zu)-y`)4>2$tg4`Jf^$V z=IG9l1SzUcQCg_3aoqnr$RqgiYr@FXl$4aBvc^VdSslz*lbd1N)XWe+USK$lvxBD^T~SdHBw|1O zV{55b`oSk&D}ySR`+t6YH8(SRxqWBSp00r&9TOH7x1Db-L%_tEj;;0WpQPcb=H;=9 z{={DVZ>h=ds+G4+Gs&Fg8n=D+NG>qj{3dRs>Ox3+Y|MVnkSHL~wtp!oBs4fZ^`<{YJZ*u{udg6UHXO;|Dy#4jdWosm!+QP;r^$H{{L=9 ze;ecfm)`cfRn^_iZM!|3>{Ok=Mey5~%u^`SlRj$LzDe8>$%#4KT{EqRyy zzU_Ck=YRau;u|ft?Yhw2Q%AoNb(vr2itW=7VQRk<@PN$^;(=*HCJNWaMv?fKy>uqo-8T|MPJ!52)m^1+1MTA%JR1{6Ju8sMT`9kfr}j! zw74k(?D~euVf*`{;@>__N24n2f^$vU?`UIAPLEL*A-t_5UeMG&@b8zkpV>S3SrJKb z!*3}?mtKMT3&DqjhJbmx6L8n2TKroYp1_qT&B0NGCgt9f z<@oiT{e+b2?nU%EJ4Te$%kkR~_VHnCM@kF^1_latq0-QW!@6{Kbg*%7q(6 zGB$@Du)n7MQgmRr8M_7zq<>-5`FZF?)y2Np+x@Rci3h7WPxa42k-&|HS<7HC+Pn<* zOEG8ut~Kr*_>w68Kg;m%7gTnz(Cf_xp1+J}b6r0^{IjsIz-Ly!0d2zCqg){=nB+Y3 zWtCkh8mICEF6zlVriy6x_Nz|K`?jIP^ifPHd=~Dmt`p6^jme(A<&bBQP`^d-8LXI=0V2yDB_T_P_1{X=zbqZEYP(FA)-*bi?pn zLqkVL2eq|3RQRXs(<=*5T)uzKXnZ)tE+o4EkD^d3QwmTGU>;}$hkKg~H8nLhy~#Yr zRf|xa(xmnf3!Tw>jrJp4?G4UzXU|?{kcx8Ht5l^niAA*Re@h48cJG}VI(2XV_xJCg zUIezqS4H^$nriU;{f)_arr9?UIUn}##fDo#3Yq08#a{dP@nff*;^5GboSd9m;`M>r zM`Is8d@!lCH*fNyn8Q6!+^z#x-+9l;Y5iW4*9c%OXk;fRCkCZ=gH0_O-HE;*v@x8J zT)Cp#=)NW!Oz68kpfo;GWurz(nF1J+DLyeV5!&PVbLV#8)}W~0yLXR6^JQE+tuQhy z&$+&$f{*z_2kA8milw=^fpYW40*&-}xBq#u2)!z%*T)Atw-j#)JXsmG>WBz8lB=f` zalFJd>ULSt!_`%w?!l+jX9&ZJd(mqbDS7W7_Gim6V;KC8DhpZ=#_!yg0V_q`__I88 zem5$*Ba*T$$#T(^7a2<{qIm^&)0>xq{QLtWBTrzxmGb~1Tlj1S%PTVf&&zOI9_%PV ztdCd9-BNb1w(Vnl4J$WM=kQ2>Xu>wfU=Yz4_$eXJ_2ro=4a+>_4GE#Gkdvv7+~9qjnG1Tl|mqT%4Vqjf_$W zEvjv!0r?krze#(E-8k2-UE?CIBV|VUZY`=@Kn@oTe9!dfogDw5q>*yMu94>9 z5YRcCd0Hu-`eZQ|?Hu{=_2xrj<`}&7uZ+wN33Z~a837Ix zDr;3BdzU6YG5$GWrPphE?N54zn%NUopYja!8wk*nu+=Ni(FiQIX=#O;zO^5TfGQdPo)=U9BA-Tf zEr772<`1BMP5k#wO%~p3Lb;KYT>5r!B7dY=k1e7Th(b?VXFmomZQ^KdewJ8QzF%q8 zq5r(-mHkLbtxy97q4>nZ~rlgdR9aj`26|ZGL!t6TEZxw{;WH%UcG`E zCQ7(mI+UN6CoeCLh&hoiF(}=IeU&bE!LuB@2)Li%-L?j0KBPla;f}4W{e;R$P9A;h zWWmSB_u#>U_SXP$E9qZI`FeePe(w0_sNa5jc}NK#xfq6E5O*u8Azo$Rc?cLedmzmL zE#-gWlOg^jj=HAWXER>(x~F;7fX3y^m&dk6ZmT;*+fk#MZ2M@2>7`Hh7T_dL)I1EN zJ%Q?WG9F!yVb{hw${vW&rX0wtaK+$3SjS5Z=S5u2%)+l#L5U zKeIzImh*l<%+`LVyAjp&_`BwI%g>Qg5zAIQq>QEa_76*%Vs@0nu*NW{(4*1SsfKDF zeN@wfFW1@=<2hvY_4S{fJ(nlUuTre(O%?#I3EZz^|U={`%S&D)36|vF-YF)6Mmo8bNZU zyJX|Q{ei7qrW3vCy^BnJ=W+=RL~|f`yv~7^IqU7l&kF>e!r1yABue6GST*-Lnnvh( zp77x2)>g^Argsnbg7OiM4%Bm|r>6xvO;m)7OlntPcN*06_iGF3p?uLNn_UbU0_@UW z%;mV%b=hFLPtprWTT8zrrdlp3;-Se4i$uU0f4lmKR{if;P#>lbv#_}E=G+Ji_u z!`DXH%P4vh62@u1qLGICHOeiSny{QR9t+X1+c|&2YVk%Syn0oRGMIxJR-T?tyA?Rx z8Oy*ITU7h0O(BlG=ehaiZH!hl>T8|~nP*S){f}o^pXKHe#KiU^`I?L1!9_&T=~kiFasEL_@lV-kKNEIr|Ni}GxJc*z{re!`RK{n_ zFeX*EOQX=@oAUC<^v#{d{XQS4H5zvpv_kZ@(XsnJJJWf!gj*6aihIVc~j92})^ zL0?<^{kzLAZGA3)4QUT>;GTVbm;oaOp74y{VHy9%kd}0rPAOKar1@v)%BLsla0By^Ovt3&4n^N4-A9~L3ZT| z>vNT=c-t2OHnOs^@7&i)&I(;b6JNY2_Z$G?#Cy+MtD}8=4zO*jC{dDD?O|;%;&q0T z`J{5RK|PUhU+v$1n0~)4xvgiw^SW*xR-Dlp%*)FwDk{3drs}iVL766{#o!JK(*=wl zGg?zkO^%ttZ;xqEo>ZGzRd}C1>o0#{+$u+8in=f}GRh3iczw#0ZgEi$Zmp*x(x<{d z+MRUj>gXsYU`OLycf}|y!h%!dmhmd$O7CuNKAe8PA3{W{uU;BC@F76x5i0uS7>Hsw zZ{C!Y{5rbI3_JkvzXud=Hcn&|^)1EDcQO@F$6s#mtGrUKs%&zaX$Cy!>E)H;D&UL^z2Trx*DKmHzbJI-%o_T$Bt4Z@z()KrgepQuIOa+>j6 zNcIKt2bA4*$E7vs0*`5(;3~)Biw$qpy8S6EwID-1WlO&;w6O!nkH_fEY-{kvbYTZB zK(BB~pW+G75C3(H-rvB4%u%sExM^-F>w5LSO94}R<-b-6`-5G78Fu?K?3d_p|M{us zzz|(7{qr^i@TGSCf4_i_00b2f;8fMs6N7CDJU6>DP|*^Tb7PkY4 zX(bLYukqJMgu~m*YZ~!vmpe)1wK-|;s4u8QkBh5*w&5z+G;_as&8E=4l{4;!Uf3M6 zWy`3G?qK%WvNIXxQ)hye5Xa^18|-5kpATeKJItvpq_VF3iOA6NBfp^T-@=YRc*X@Tm0lh@ZENB+Ws4gmMd z7cPWHM<+Gyg?#|3Q@VE_q%H!VKVP3lKa=#{m7j%Hr>~6VHJmqu9jA(}W(Yk?TP%A! zEf8w^@*VchPGQG! ziq%!bhSA0Fz(QF25FE70u&V(?q{<~FESCkl zkD;9p+#0TOAthjP&q7GtE;{p1Cyo)`+FhHRo13#c1xAXDQ3?x8c*I6~)>q(GRUFr) z$+k9Je4pJ_V;^;8Y z^G}74*XDA3NKs8STAn<3#KNer+>_9zqVfq0Q>Vq57+VdL#4`hR( z%}4+XCF9U6lE)VrUI@z~p7B9`v~Zuj18`HHMFTU%?ZGdY)xi%Sr< z`8)EJC~-_Gxy;gP;=V{IY-2!Imbg6Ka9nhCb)6ZTxr&R6_lRFxv|Jl0=BL-s1_e`* z%o#c(1p)f51%;Y+-~9Y|v0uJwmr~+S0Oe`ZPd+l)kw#hD_W%6gsk6o);jS*5%x4iZ zKdZ}lXGq~qnwA^!K*a|`%B7x<1EN9iLHH>Ppvkiv$Z={pcKxElw7DB{$b;Fg`O8VrA=uUbO_f@0r=$4k#Je36f`um*45i{2@ zaXP~Zup0&O)85pW1~3=>1|#C)$T@W#-jpRR=j8pje3RK39`V;LA2DDh+^sD~&5sotYoHR4Qq)ObU`NW0or!^~*-ZLR&t z%3%IQaT9_&^Ve$&etN?fv~_aD6^>&~^siL1VZh1A&dye5@V!YFEVyJDSA3w5G!5q^ zFN%xaq5;m8KJXma762Jm8q@(<4>V`-#EI5V5Xc9|&c8ocDYYYvru=wUYQR40*>$se zXDF6_hstiU_gJrE?#g83zjBTOwIIZ>8Th2O%BD^Yp50wO&_iKirF;*R)%9hH@`RnH zUoW>3vL&t9!tnq=Q*>3qXdq10M=+tNsy6BY7s%Zy&fS757ChFkzh9O<%38i`66Xiz zTsyxjlx5bXZ{I?yvkGXX{oZ@U{a)RQV#m{nIf{vr>%Ve|R#<)Lk!Ov6H;zR=lbB|C z5^_qO37=g(HDCi6$?UX>s;WSTwC5IUD~On-%c!q_%lyRaZ@A#jvv+*u;AcvyADH&} z-3K45Ejue2A0MxXRVYXM@-NSZZ-o;kk&0kdM>%?4YASsI-$7&rYZRD zy$9{*>8~mNg8Qu{Uvoq&-fu-9S&X-d7B@K}oDOs}tCRheh1Dk#RfLA|CJ0?bI>)Md zI_Engvr)QQ_6G}|`iCap;;+Q184%?x1aYHrojx`rtjBMfUoWjj*2>V=-)< z^xiCPqWOxteuL;uadDHOQav|hlto!l(e)s$3~`D%=Fy`3O$ymRGV`>h7W&J3t;(T9 zwwK=~(?B^12BtB*ovG!*OX_YmV(VQWR_2q#XlJ)QCSbfqh6)GxVV7Koh(n>Q zrh-R_dHO&p5`k8V{~<@N%%NP@ngZ9X+P^O|pBv6)P=e)z?rRhIlD)SV zu8fqK8ZJ>Yxnh^h$IA{NUY$4@*kG&E?M3( z`NjayGF5=HNqE_TO_=sB)ybE$#<_kI78GWr(|=s>c-vI+FcVV$RvM{ z+c{`CqJFp}IAQm5L74-&M>iYgHEyvbjumO4&7RK{WxQU>{Ym94n~JlKVuy^p@AQo&NFGEOqVV81>M_?!X(K zrrqcbM^R=*8sRt*eazaegt)kXi82uMs0*uz4{$&jlHnH*l8c?JoE4DNrH- zIMUvlDl-+)s94en)V_e`e3grsEapWLQGVn>7Qe@Nn>RAYyx}pG)Tz|KjH%BBrKbMr z`n~qV^U11J47WW3$osW+yKyi-$18JH?^LrF6PBXBN_n>_;1kj4gX_v28f08MDgERA z0x^8brbZDuTl%$m}(dTPOVx z7U=&Lz6|(bNHk&KJcExjTqhv~SJn-_mac3bd5u5htq~?veMtw|Yv20Px9}v>QPJ$c zYg&Zx{SKB31@3&T?*0AY8E$mnW5CC$=YcFpV3+e_G9nPzO&aTk5j8-?ARX{9M5D@< zPogI^G(K{|zt*L(z4NOdwSEECq$YgZvT4%=s&+#|12sdYscOmmTjgCq%OH-;=I$yH z7)`7-JpS(70LZFrd4X)UwzKJnf-+I=n@|2R%60s-Ta9MmkgT>oxr**=kvq~Yxsxkb zVfyx0nkD`R=xLowpVLlc8=_93slaCT`rRioqEs_)(~~&BT{6SXhOILjwnF^9pxVe+ zff$v;YHE(x=Pt#G2^xQnatMZlkFC`q7h-6HO1ySf(oWus0qYBq$Te2@8dTTU)pcI6 zbeSxYxgbF*GGRBUH4TM&ZsGw#N$gHOQU51sRHPTuSPub)6ufo7qk0_AtN^y0KM3I9 zX4W(+uYoks|H|f-j>ZiMElo|u$2ZEPu**rOSrvOtG9sP$EqyoCy)yQ%aRUN$JGkhO-vfRu>0bL*Ece7wAxLl&>@EF;XCdC=1!$BG*Ye3sznC%wY``?gduLMvUk%wuz2 zAc+25)a~v)YM)~gCeU#K&vr)MzmW+V1@aEMt`+`2S5V}uEe6o-o}yNc__dq&0}2Z{ z+9}Jvf;1u2bY^2~%WHorr8klD7Bq4Y!lURV?t05wj%?p?Eh^Mbq2MtgA9*Qwg&kcd z)JPy8?6c=w^IB7Uoa&ZsR9e6~X32AR6$91_FC+|fp=@OcN+%+>R-HxBquZpU0)~N+ z#PUiSs50XOq+7Vl#onkf)hZX3TvsYl=d5;8G$ceKK$@cK_7II@m>CW;{reD*#fnkg zy@|;vq7Y*Gh!uq$YVQ3=%Z97%ueGyVLmB+8KRI`>+uh<4qkpFG=U{&1f!&K!r`J4+ zxQNyI(rAo=zM!74pl@sbpg2L7bP<&JA_^hj19DL|Vln604`6>(UVK6?+b?pHXKx3V zTvE~(DF5EoY|T#2VcO(6R$BE;Df$^Q1bzpkJ7Pao{K-RQpisI1&h;0_TDd6h-IlwCn0x!GI_eEmWwg91b@Gd`Q`*d0!;yJXxwd0_$C;Wn{-&M zjlfg)|Gf?YY6H(B@mU?`@7?DGQKratt>z`|ulSe(CA|my%r2j@Ltawh zR*Oj%ZIT4L5Nr3jyC63|xDP}bY3$zl_Okb!$m%H@r{3;sSICNCY2I?>T3|JTLqnFJ z5|?d~P&eFE7-uk*`mF}l<&W+@K0anWWQ5bW_g?NpiTp<6BQr)RCx%yj*aS%4a_xueYi((X;>C|s<4M|NGms2@TyLcSLySCd9m z$QgV#p1o$$eQm_QU`)O@VQPLyF*zvFAfFsmH0AF=2zAuLOrIYPc!cHXSYk8N%fc1*b0J+ou;?-vEncT#EdH_2#QV2wTZz15>fYq_!lXnKcg133I9V12D6| zX8KHbOgU^X0D-q*U|t)*;d8`=%YyNHQutywE*@|#xzh;Wd^F0AMRnf8uH7TjiJGX~)KbDtY0JaAUtDE^j zTC_ob+}x*!M?Db6Bl%dbZwl1R`Cjgy6mDZzC~jcf3Ky2LjGgJr2$j1|3V*KrB6tv7SfYm&d=10Fq{P};bv8D8+>zE4hYCYg zs=|VTHIRE)0ozw*ssm(@yG$TVS5?n5dhP9<$0pPaae87tF`lcX^M&fabdavBu5MOi z7cZ6w(jlH|9R(v+s|h%QP@38~*eQl?+A4KrAr63(f&FbD^?%t_-YqvTFS3E?-cc8u8b*JLmicoF>lo2 zH&CU1^-tEj#}7WgykM*pN?pR!a^`cI&_zjv7%MAlo?Iw#r~C)d_jEF6xs0V8mFOeQ zi`KAlK#2(z28zH_+Z0~&VP{fAF6g16=XfPfa-8@wJQ0mR5+HN%ky`C1w{cZ_q7)Nr ztQ@-Tx$-V#cVBlRWzOh?%9d5JV6+7ZT;%10MwrHm+8=?13#N7{i!WGY>yR)_NSE}k zi;a!-TDj%A*bNq~ZOq|CuIIkXHH2w5MyLY@G*fS$5#s}m46zEE8JxAuU42vruoSsE zB*u!6vI?mOPUu|y-o*z=P1o;(pgr))MycxYn=*qoh4E3Try$@_LK%(J1X;5A1s0{n zk~RWd4_pTY47E(+G6N^u9QuI=ddf$+_nBpSGNE-fs#1c-s$)3|sn zkjbh;{boc(b4`E!Y92z`MgTB=F^Q24QwIgya|=d8|M+8#k_IY`P69M=)OW-T_Anh9Crue!Ubv^CVYB+P;e`VE9Ld6B+nQ< zfu{Or74vv~TJj}1ZQ68+iXJNpVlGdtd%&BEmw&Cg3)CfFLn!zn=AmBpd%HzvAt}hr zVj_hp_W4!oGPb_mH+__dtgHQ!0?48MqI~YNDHp;;)qB_Reo!q$4i{=M>lt9Ziz=EwN4cmAPkDhMs65oyM^uv0XXpop)Mw4V{Sc#4 z2SPZcojQ*pB6i0!fT&H;f`%3V^f6dk>Rl$!CCH!jKFIV9$?bn(nBhDWT_Jv|h~C}a z{-pdZg#o8ySw~4hL7~{$&HV4;E}En3hU_B{*0@$YJL>^waHSyMnShwI9}fc3DBGl|C}*A%s3 zTwj$FpX(|(0zp@s-YO{|04I!n;+h-P;u);^+1A$fB}3wTa1zrpGe$I$-)5x5IB69~ zWXVMv7554Kc;uo+$ZHwnI61*jkX4J=ve%j(rD02VSo^&srn(Epq}i>wdqu6T^sN)TZAcx};TN>Ufs}91KB8Th0U$9C@bW}zh=h$!hoZQ#vGHLE8(C##WkK4R@2-P0=SR35ee|DR=>o=g%4Z+=4EMb3 zpLmglNgB{?=AyL-_`z$P)GRG#rRBn3_5t~s3-t3ZX{?iX+v>dkIC^Gk@%tTl)SL(5 z5wauv{QRBfAd&KeX2u9({o?FHxf;o;$QaR@lvML9g!3*rII`xd<8 z1v2*QftiraE3IfI9B>+clO1%s!)QWSOOf%neSxLY3tR$XY>UZPs49tHsN) z(bcy=8PFR0@8znaUsV?V;ESk2h%!5x>T_=mlpr3xTg&}l~a9uYw zYTirzrzKUX-<|#xlJ@7vfSf{rbFS4TV&apXn~$;%${-Em;&IK<)GgJp+$?-8#ljD> z676JBRjE^M)&P7!?Y@Z#O*xm7k8BuLOmo*p(K9f_rqL&HPvG)c<72qlXp@>X?y$A`s9d*y=;T$qubJ@BI+Q>L=iSqFDX?up z5$Y982Q-G|sfJsQ{6gLZJZSv-KoS%^S~26X z=q-*N%rRVctu`2<;A!mt+^nliTm^uX#2uNOfq;qxHjk~(rP!Wq5cna(^@4C8PNOh# zJWGo3hYtC5Z5)I1pHXRPUSQr2f7wex|8`=Hd`JBBSAyy;Bx{e4k9BV4;`Wys@^QqF zu>={(Km$P`ael*}gbRD>D2GzZgc(G(o88U+JZzX49PKS)wo8{eb4_By!|zaBo_uxN z(-pKu_w{L>wYcTrJQxe85geqtL@m(X+k1nVnVE@c4&;7OJRylhU&wx^@n+a5tM8u? z7hLu?9gU z%;}}~&*gF2kIA1ZE1}kgx=Rpn=2>snsjtGP)Ggo+BKY2O(+k0;v z>2=))4HrKu1kllTHBUOhlF0Q(l5;Ybr6n6zX?&;1doMOVYRid1KJpiFEkryZ+g{qp zuafo}f99ds;i-rw1esYzRH_61^MDVKS9$UT5R2!Aqjb{T`-k84+1IJ>^*WMdy6 zJ#hpT`fiIKi50_;NGJ&^1>J~pD5trA)={4k*_!l>!KSij+%~wm-{{35&RTQ3 zF<=AmDD3q?!L^J5JY(IjNYKOn|O^g^aA4%y_8Ul9>5R>=X-T@5Ja>RhnK|wK*=K;JU6BO#Up*`uR;p; z&6}GepCD7#014Qtvlp4c4gU^u`U-hk^G&806a{lMV{lkl7zC0RWVE!t0GfRAqyJ8s zko6Ons|eA@G`6dS#mkRAM$w5?$vit7HoLMCA$nmGLN6aJ(fXA0j&3mmXirORRShYoWH!U zUljtDKy!;f0J>yuM>AsHd`Nf^FAUnNB#Ekr@O#LpU`Zo{e5!6r*a1TXo(I$~t3;VF zB%*HRKdE1h5DdATdk*P9ERY4p?5wR}@#6iRKz!^#my$&sa{N7~^ycPfCpmXzCcEoi zC#@5sH`rL$F9vy|QEXu|kZBaVEhYwPYZg>c=q%pQwqLtJUgi2BvwJ@B;@1<~huuy+mh)2(eaeW3+dl?clJ&ak zU*@s(+gVs(nU@^7<4iNrn9@P$Wrj{(azf7Z%l(-%EV!NPIG)Xm*U$jN|5D`bhdL-& znqNRX(w{y^Mh;&qaB6;i_P2y`T}Ha{s7h_xnc-_37(KS2MHSe8aW*5kxVYc@(hJXq z648z}`+Dah78WYHs8U5;tYA|_FbE3;}f&*3oG-5ns_-`gwdv<2B83P~T`A4>h8!njrLA)mvw zx8Q`1e3I}#qeOJ=w$YHyp9C!_{xyZ-q#LHH!m4XOAe!6TwhC7Px8 zey*)yk>9IyI5l4EP5!5TK9!qmvNIGGtw5sySuW(K+>PykPyX?I6DvQv?C*?dv8MR%b8j- z-CKn3?*C*zd!3y4&XZ@a-fXgqyUYjC@LK(3mwj-J0aC(auZ?d_$t!oQyunTkiNbjz zL5G-UJ2ZO!W|!^X%`%oPwN69|YDNp-S|^aRYrVR(6l|YsPAzChVq%;mO4B+!dp|Fb zz%I2=Bi$BR+25Y?acKLykzM}qEvFh8J9>i}IBv_4xu?%BB?KTE-@QxQx&?XYCt+;H z1>wT?gn|^~R0I=Xxb^e?jN1h+mLvRS7l>|H>4GgV2G#pRHyg08J-_w>=*DA z@6#njpIXD<&!YKT;0BDOMi)=M)_;RmJM0!-Y|$dccK8A%!A5IwWjk8vSb~I#D(rJZ z!3+x^g81&DGtMmCA%yLe6c!$&E^25niEeS7_Z)3>o|Ankt0F8Y(k`Q~pJ*G0ye=hx zuar^^7!%L2Y&oSI68uF5tO8yk%$Oe=fRfCavGWs1Dv@5G1w0HKlMUffZ3e6d7-m2A=q>V{vY*HcDc#O++#zx~-s-ryS4MyeC`DgmHe#hPfHg zAa1t|EI5X_h@a^!FJt+u<*(Yx!n_%kd62ddRD9C`f$Qwy>o5j|zQ7$J5(aRLK3{$gr5SupO zK?}<|x5?Jq@X4&3u+k33J|?0U7d#9Ud_67Cjut*SYnzDdO()oI5ApiVBrH4{4rt9& z2lDHZfa1q4fi-14mCt%u{YC20*LOP*CK$-dIlc+v>>M-Pw{R1VAW+yJEE8`aGL@Q2 zwNMV|E2oU`^5w4GL{2@>-fmwKwK=kjyxT7d4Mb?CfY?Nv4WlJ)#@Z_gk@#%x8D&T} zA#rG7APDq&p|vL0CBiDAi`Xm?NOf7WP{@*O`OWa4Jf*Qy+<6@1AIC3WEdd0!ehak2 zxGs;gtA%jPU3n7_3(_|x+0j>Za0u>*9w=OIyvI+Ad4mjk4121Z>)bLq5UwaXo=1 zD<8=MJH(=BS0Mgw&ve#t5w!N=Js3_VK`S1i6F2~(kAo;v=kSuIJLovQn-#OdJ}978 zx1>=6gIeTw`$EHLP}oJbghh5Z&xQdw0-lJS60M+JKrAK^?9=-@X}NE#yNKyhQ7HJ_ zs}CN0Z*P}hn1-6z_Owz5EM;r}Cm4XQD7eBCNY7~ylxb=WiwrBK_0-&xALeK%IBM|y z&Zh3v8RXgjksIsd>#OnGNk%D)RKOx4AHio@cgbM|jvPdRiOMSU3S;3>D zCx`33y;L{#eJUMPgkPIP&wqGJDgH_WeXrg*JL+P}2827p5V?x7w)#FsQYcv>+%7OF zLJC?|#{qIp8FR&4I24I@E6bFv0@Wup8k{TTJz%3?3dT|515ivv1cKdqxWA9a^I=Da zs55+yBEUc)oQ;R64yD60l_7bf6&4oL+46@Gi9olltgN6c;r<8fjc$vtry1c13Js;? zHqssqqZU9AOiTdI28*yJOf(Nfv$*@7jSMLBESWQUegVg9Tv(hv8aWSgSax`@NSjjR zRh|PF1wv1Q8Uv<*AY@cvE7`qCNJzkjOrR3)sEM%BYBGvpV0o|-n|etMo_laeNYA~z zfXJx3Q-U_NJm_ouR_ztR!||uRfFq+Hw_axy5ip*EN|AsGpD1{<)Ul z^4M9M5P5C7JnS4E#A9@zOvJEZK#O>`K7X;|(jcS(?v^a?e1O5a4IWwZY~zGgU^sVQ z8|j#l356$Es@M6VUkN*yfOeTb6IssfIBj^(Q(?%WSza>mkWw|;Nr1UG0Xfz3gQ9oV z384}qJ@-D0Wy_)cvqn(2GT8`?_+>3tOq!Hq8GL>b4-6#g%;*A@~lb~qzoyR8gC*5SnGjO`MelgPA?0(y>Gi$c-B>z3s$JhGB zD7rASk6TO8H~KoQ1T`^s<*Rwc%fdLfLg++)CUO}NI+VEl;z_lGu$|=X+X!Dm@;lc) zU+Co+Yju4ZSISrg(_3@p_zHxql=TNC$+2YvTEmpl!!kJlCGDulIJE?=RhweF0H ze=buo$4n6PLpmOU3>9Y}tFpDdEiX;zp5H9IXgq6#B1(fLs<Xdxii5uNB*xx?7=w`1Sd+0;)UmylEd!kVP z-cb`qo{8BGsn2>xMn~7ayXy&D^aU(crnJ*^JW;;@b^!Fe(uw zY+YSlY6&mWJvV0WSXnWbzgN$&z2qO^PESv@FvtYIsvw||YBzz7{g3jlULY;Q(}?At z4=z$`SQ7W)*Bii|i(-OAyO8RwAS!wjOmZXbbH~-&lOIPl@|M3;I~b7GeNf5G$r-++ z1}se>Wk-b!JEnet?eN_BX>LEHY;q@K%ef*&ke04;8wLDq02GE|Q!AOF>#m+X7q|Mo z17gh^$5YL|63wO9z&K#NrNEW%3J`n-xDoXW&+9BilYc=7K@1-h0Cvy`mMFDkUFn8I zq8G^%R|~%Zddc+JQUUS;2Yxi`4sP#QMkb5%&#`;nePd%|Gc*1l0?yR=X|cdqJqwHk z{qN=g!fvx-;HVvw!8Cwz9g_NAV=|$vlV)x(D8AXMTzCA$DDyecv>xs;uoJ!RKP&jc zYi05c9aKgDQb0Ba_k1Tjf{u>-!ou`F#&Su|No4Q+oigZ}?TA~2V3CBF7-aUx-m~D= zF9TVqHY*)b26{Sziu*>*wqu|+awVw_!16~h{Sd?>H2|=ouny9t5dq3uT386ImXMI} z_Vx}94lZ^KC>t!UWrE*%(SaRsaJjSlR#Q0Vzc9!pVYm)y#5s^52fxl zMo(8ih%GI>aa)3ihv)%>z4KF2#-Ke5Hs(i0Maet%Wy2ix8|+w2%$;BH$kcfl02=Os z`N@|M?4*UEh=|C@Hj6zQb@eEhjW#H4(1~DLu>?Q{HQOOXejy0{0_-W1=PnS#33~%L zaHpQ~a|E7 zxk^C)r369b2&BxnkLXAAIt$Y5{j@Vm^n152TngK0OIL@2Z2rB6Kg z^x_trHuEaP1vk2m_s(N!f(?)~<8y#noaY!C*UI{3|uZ zd9zM#PZ_@W0fihp5CvWtWO4EE@M_?9O5lq_>G$;Tz=C$z)?rz!wA02_2sG>g#)8Pm zUTA`(d92vL%$bP)J6EN{S>+qcR(cNE*lvWh7)g@3Z^<{(j%r z^F02%Uw2&Bd49%myw~wo^5@*#^FuyeWm%4fH=p5K!!@7RY89b$xcmmB{i?xvnAZ zQsXBuAlcGrqQ_YGLwGC5nTfeYEV;Q>zLJ41T{+!@SDxVei0*dQk*)L=H@}c z!EvcVO!8;kg||A=V9S#(5s3~e)F_|}$PV(6ksnhh5K3_UC*D=ik1s1&r0w(dn!Lj^IAWvA7l7EGPMY1H6|J8=UAMZxgdeK+?=OW!?HjdcpNaB}0>=Z|V? z${g5>wrH5B0`YMNnU2`Ts+?7_sN4m;-P%Ly3hM@GT0{7)+aA-Vw@SwiBu&{79 zuNf$UqbKkAFE303XSjprig3+JBwJS!={Ow8IfYtxP|Bw7f2EL_p01C_J{W-FkW*>) z<}EMJz!W@X!lHoM248UabnQlm*=}x^XM%(KW_g8sp96Fv?07rzh4z|+0I#I??I_-u z<50E)o`X&7Tc$t{#Bg)-^T`)3{98BT#4_*_W78L0GuzcM0PJre``G&49z@o!J zB{WOC&}d+sjH(-;pxTN4G0e2O}>In3`*HGYr!|Q8wNhfRJJ| z+yScTK9exM!-`#~su+JFgiNG$xkUr)+sMp(X%hBLLe4vWcckRm`0_o-7S+?jNIZ{c zU#rXeU4`HuXpJq|iHNo0kU%+i1CAV`1ki^ET%!S6=d;?s281Tq$M-?X3`s*n?%Tuj zGc&rr`#PF@_~BMzufP)Zd9D-vp%&RppG!6 zxby9oy_e^|jxq5-~sdos8jvl)yG9E z7N+q(vKz~_t3)^!Qa-{QY1|p#Z)LN#WnshSj3uwM1?EG?wOOy77O#_N65+w%+I>&S z@~E9%Cj{~Bky{Q2+*6CVMVw*fzuEfN~M1N4R{KA3U0x@WxnM;?r zcIqY%#gRCSI+~8(s3-t2cZdC(bCn-38y4@y8o+~t>|;4v5qu%esNb<5t~NI(R27fY zrQI3}r(4|Ge3X1NVT@I(WuL^JGL;iQ56nqgt-snx=v#@>a!>^Dk)G?bpaTz4-dFl; zQ}NS=j7xq+yQxd#9&G62!0$;^hlBn7Sr6Y+inwJ`iH|1Tgrv+zP{#orq9sbFVy*4; z;56$m?Gbh$5VbDJs6-$*SVb2?`&N#8k)*QI9@=&&^_U@0_6C9aeE$5>)<$wx~|i>`C- z*ZbCV@xnuvmEZ*|WJQp*wBc~Y^3nZKKFJpJ|s1F%~gKKcj*^_Q9cu*+Yi0uYRIlPC;FiIcoFYTZ9)%fhVIDOZ26;&~Ha0)bWhH9v(79389PXeEcD{2M3KP9`RdwQg2sKt;9}&H=A%S$Fk5wldr_N_hy$=qedX`&~r_Z$8UI5 z`@C|wytPFJXX(icBXDVM8mU$i`T_b329+DTze5{g8qr<}@w&|r@+ivap?QKj>Is8vv6$sPnXzNNP zp4m=(bgpeK;fq7^hgzYZqMfIE(&h7pcmih>+q^Zw1fy!&+d;MeN-EdM$&r!xA|_sy zJ17Gn&PIcz$W zI?<&1F!JVp>tCtKp~r`5XLPGs6AG2f4oW_&Zn#S!&;FN)jd#8uny2I=&1*(0AS;nR z;p2*90htq3+vNlE5=t^_ImyyD4RSQYx&m|^+qQ%%J=vGBNa;F1N`W{@zg$Py7IWF_b){eO2whtm)o4W_U&_YW z)Ge9LlUApozHdAhGM}a7%_*@Zr?aQ0r?*#KO3FN#qIlPpBf$cOHyN7PbekC%!E@)6 z{)|ON%#FV{s|H6#_?KS(q4Ph1KUdiF$n&jW;AqEH5;}>`N9Ioo8MYkzR5RW3vgkWZ zZ#yn31WN?$sRWDjZG4>m4Q%?)u45xWlq#%sO6Rug7f9cfwz;|W+e7*tRp36t*k*Bq$azi;eHM(S>dYg$iz}>S(XBg-dBL%o3H&k}0A!A$#oZJv1*P z1Ctr25yOZ7xL;`nTX zQA-)=>*rr^{TP=fD2fb^aX9_@zSoHS<5)#s`jA@&Q3Q1`{=lxj*3TUA^VhG9V14}i zM>!BhM3lk+ax3%8-n$|ebU^Ii?l#@0rVn+G(uxzU=XXMX*<)}0zDvI1BKfFyzrC@t zqUOKc#RQ7bx;w&J{2CgM(S@V@2a%aPONf&@zCMlYOLT|cfLAo55J@q(^<{habSF`z ziCW6om9p3&W9x<(ml_+}FpOLDDg<%IHG(p0Y#PrLz8YLj^O2MQ8+Wbsau?p zydij4%IeS79FBg-MfZ{k`Pet(3j|dG@!5~z;d%I|a0}UOl&@gs-KwkwjwDmfhv#U5 zhd>WncH6s`HVZ!jizur!*}S z)5UIH4kUTh35bh}W7CJKwd_1Tm6PVG(*wqnfJ6U&K0D;W8i|A&%o5!=aJw5R5d2?N z-3P4)y$%Cmh5q$6_Et|#t~j)^*PWj%DP2LEcuKM9#C{)(X(Zc*i^_!PF{)g2cPKAC z;+3`X&j&W1R|etvzupDIfiL>5e$4KgKRQtR1ysmNrzMz;?- z|9q7{mtMF?Ik1`qm{#g|dV1nKeBXrogLLeayxk2u@o(fbk=!KrLQxpUWqOGW%jxa2 zt0hfcn`+a24mMPf9Pa+tw)y~NT(8v^6pw|XE>)gy3HVuJhugIZbde}gTwGlAM-k{X z$TD;O6V$fb-X7>DZ+q1^A(-vVnciU11UjW>*REX`od6{0@oTJ_2>(GNh9Ma4VnU~I4o^mU`ycIb;s z^LBbk=DJNP>aVZu6l5yTWc1fDq^z9Tm&RR5Lc;Wr z7l1U>0+!hjUkyrt$R_=PgXX$@#X+Lr?<%9al96X2(1Vj7++-_{@8f>NU=$B5P27D0 zAOFX8vrwFWRd`UG`h<#~B4(vV}oP2~RwAw)>M1XkiZVAO%X zT#c0()Ytvyc0qFwdeZdtO%KBW+y%=*Ws>5yeyz2QvfB6SYkS8$zxd*gVvjEXr7rzG zTR%2*U6%4paa+0VtRSzovYOgMTrRXCvaR<>y}I8lwJW8g*WFgfIX;t!yg*jwn3#ZW z)R=c@B{gbDf8Y$-`aK`FGs5oz9s|OA`SK;Q?s^Otfk*xxfA5Vpp%r}cp3tkF@QNEG zZi+J3levzaEOC^GOpa?tB*IM`N5Er?+<_@#U0w<+MliM1?i=YWL!hsEVmE%yQ9jB| zL&RCfaJiha{<7gBp3HR?4i4cryVifu5@@w7vb@5zgw#m`RTsx^CjfP}hUT;H(h3|l zANq95L)raY5hu$WItqWr@9&v?=~V8c=V%Q*-;G{r;NhIXWxqLmhn8B<;xT+JVSYoa zHLV|iqlUM(AaF^iih~9#9E|Tan^j7i+mlyDs6RbKYv}LqU(+O@cP8`xuoQk8Sea#7 zc7{xRFk|8io7k>$lh+rf^Jv5@%en#F%c*0C$!abyAKcDac&hz{&^r% zSoqEth@I;)`tQNIg^f_zIq|htORHYJ;B&xwo-?1Tk2(xJw%0xpn0)*33Y;Ev#t)D8 zT<8~NlWx!6r2AXE)1}B8C>qel^gv;{`k)IqOTt!ub!Xi5{&a8KY2X3oXZH;>piV=E z#PfR8RYcAW@i)-rF;lf)o%%KN%K>a=2D;DNOCJ*)7s?@N#B0nL5hdRqwRMZrVyNN2MY9i?Lg z6bQ7l09YkQ5)1`8W+Xefxric_31tX%t3yVmQJ&K_OE@b@Q) z#nog!LPnr%*C8FyA*j6&eseR2%L~}S`1u`Qtag$JNgo#VX`~}%1iq>Pmc4Y|X-Q47 z38Wk_4SNKBz5HH-6_0A`6COpd30|I;g$$o${1i>Z&?G8pAPuw`BPt3CccBCDJEWDW zE6_ut@H@CDLe*hY>29)QlYC%Fz_=d$XR48^i?zr8IdyY$?R?e?)W1pso3~}M^uGcO zfUUf#<;-HA8;bZALt|2D2WkakD-9;PKf6_nY?1X8)Tl1ruQ=?Y9grdRl9ZG#UKSr{ zqxEMdI2rM`Fg4s#l4_|YPVO4n zJEUGg5kH;(AW_a1jiVD8@>4S?BPGFQ$7CgPU~MECfo}mt3mMGzrU<*>YvX*EA;ozu=3sU z<*N95o!~!gl>l?VG5G#83F!Je|sphXv+u;&HX(>A^@-5cp>L1E2hEaK; z!&~kSV(JA~@qPH+k}Lctfr8XT?SWh8AyP}?=s8XfrW)=1Godj1d;{&I<=|IHJxRjC z{*htVp?AR+tbG5J;?(Nm$WmIB2uP-6-=Isxnu?{6YS}}?)DHy?)u+~y!T?!XTU+}+ z`PBs$DSg(0AbYO4w~&`^PJ|jhO`E{?hmZg-t&R7vhldD>H296941`_;p3RgEHsfO! z`j)PCAELRN`Wm2H{>i}aZ&v98211&}N!@&JGCJSarCXZu>53)KAyf*cpe2`NrIl;fQSVr<73EmVsgAtK>lW^OtFPs! zk03qd^r!I#%IG-&ad4}^USdJK33t?^szCjJ9vfm$&CgN1OnkhAE7#){ViszbXW9ZL zygq&q>5A<~x}i(!cK36mnBBn16*N0+@pxlI#c3a-rG^$iMy;;N6u#R|kLE#u}neufHb?k5?X&I?n0#`s%>a!hzeik z=Cie^;UQjV!ehE}BUTsHg2y2xvXWqDTI4bjyO5L=hDb=^cD9|M8{h;(}pdG)OO1xzGUbi#)kA1qj8%jFFkLiSHg)OnS`k$sfkoXz7 z06kjD@N7Pmi?G=hzKdbWMSg@;$WTl+?|P*#SN%Mg!xzuxMbCXE``~<%dl6$+i8%G{ z3Z}l0|1Gc0Hv_Yc&j>t<1Hu_iyVb5LAyTvO2OP%837~XdKs>0ms*=*~k0fQ(!7|)U{045Gc6fkNX(sZ zhbtb)${dzN|D&pT$iqy$??gb5YDW?4EO;@X+?w_D5d9p^DgG{E6M8c}T^#1QZr)6) z?_1|}-N$)A@aTc&*rP*^b}^Qtd6ZW4B09<7g7o_I57e@Hkug-`6HyKpr(+4Rf0J&h z_UqqC_R%_CpexeT{tB_L@5?+II;t|hg&32COC|yKecCUDI{%Ogdxk+JO3%`q^v!!a zs=RFbTWdCaP@q9s{+^2paQRt-Ha=-%<*f<3;g_idsWaFgz8V{_dHE}*U5ImO7hYq? z)`UQMF)biBtys2agOMx_P%YJ;b6MF$u=Clwex|$~vYlW5_hlffex6KmwNL1RhF}vK zh!>yP_0cSCe7i|Pod4sPAuLI>8nHxyXJy+hz-AkcO#r)6>-z!Jy%umVubzaQ9W*4G z-7MYL^4q2h3eQTx_LoD(eULew*##Ey`FeqQ=-J;6!EI$~YDyoJ#ZLFqX7r;>bg7Mu zd|Pqq;NT$gAJQl`JdpcAbW38^107PQe%9025yaz|eqV<%8k0_cjw8U0OwOt|;gr9W zylhxx5`s2zur((ir65k_8ozBO)p?Jsn125v^^kKQmW=N*-@%ewe2e$K!s(?Tagt>h z*BL}{8gQvdZV!B-Pz1(t4JR5C?iNmf9B8%fd3F><;?hz7JqIJExh-&QnE7mM`ZPQmWKSibJ_eH7;ng67kG zWS{eOe`;}j$vwuUJg`D1&|v$DW?RJK5LdWhIwmMtdsg%T$zgrXQ3f%tp@9KwY5pDD z)lr>n=V64y&3{|+@No|iGjk!SsQuT5`%n(2bdkyAMm67AmQ&bJxFOM|C`S<2OB-t? zsA2t+YS&oBA{0uxa;Y>v=~P#dlz3S?vHV$(uU7ev6(sTQceIOFZ0)o^pp@ z^D-@;!jp#dCOZ2&J)T(gKTq1#q+0!m^V3uNeq{64^?m&_H&%GccplO=tiYnLWJ#{5 zvxcn&85oWc^?*%BpfU)KnTTtQ#Qs6(Kzs7eD(OLn+#I2(pJ@iqzK7(yVL-3qS?q|~GHYYE3q%@{W zx`y`=M?uP77=HCliRG$X_7F$h!wrl=e&JGlew*M@$=Z9}=EbSq$`=hdr7fAg$(8bIt9?h^M@x0MHDa+Q7%PK_MGCwPdkJ?}N_(4fd+q;0%ADL@xRWvEp5So|k zKR1g_{_Msy-@^tZ&Ewbso?(l|K2LOdC_x(?m70zxtQM_w#(3-}k(!#$-0~EC84e!d z8{o-rVGF78je0+84Yhd+)ah^f)kQgTS=<&y#|K!p2O!uyr5hLjtmKS#gn`7tFT|m7 zE^VC){PaEFXj749Di{#>34bdU?{405 z)^BbGcs@TV{XP(>=c*4*9Xj^dBV4dj#*_8N(BdvGPs%Lxbft%1`s!!9mlPM;P_6r-Eqiw21Z8szv`h++dDHfc1JuAJi@_*ur846F#%Pd7nRz;Vb9l>SjVL+T;mk&HUP$BVdL z0ECZmIUz^%oEnY=n|(h%%iUm70T2Xw(+w= zXx!4-`?n}?9R*|3O$dG%hm!@vALw}hr`-JM4R>$3eI0` zk>5M7-^I8Pr}MURZ6+FDWdt)3p-sMgd&3-W>f(0pu2K{~&)rn$#iP*7$ZVn{PbL6C z(n)=h(%*zy;$5~c*+)gV%x>pS1B)5^(?-p2s%GQdBk;?E665PjU`5z;UjYV!AyN<)zzFY#YJoq5}`Dp+E{-1(bT&iUrUuOq$ z75Nq}YHGoqH4L%J)H@bGl=_hHx0)F^MrI>2Ti3b9Rd?QK{P&7ij#{wk7v<3ng?*xX z`(YI9?_g86kfU!r_>_v5BbAGm7V+K^VUn}!aQ8YsIhjG(7;ezhz)p41ouT>RTj!os z4oWOPbQNo3V-Cyae_pSzEjbh#=yH~JP85_*?81@hp8{w}LoX`Vydg!XVB*iBvk=it z-H8$IVdmwZ!-;EYYKkg4{m%|rmJy`d3-Y|83qx_Tv1pi+^Y=Qc9Ct0+6T?}DF^WL2 z38!RR;8UXCoaV11PtY*24B-q2LN~9V(6Mrv8E$L-uh+ia{%-I9|CsTj``6<|B_%sh zy#m!oCB8)U)kh{pfGR`q{x?VpkV1^5t4k>c;eMLz-^1+nLu|7~_z4gcR? zFk$77Sp>6_Zx=Uk6MZ|Xt{-jR58w{HQLDW#zs`qOHDC~@hrq5AUoH;c{~DfV**YS$ zJlt{nli*%jA@Y?SSLUAmaQ539kl(f`$0}%$sBdJ1?ZDr>cR!_Frt;D3M~aF*AFIX?F8F?pPsNX4T)bsL)2`+t z-PQuy3*W&@d&2pK=luMooE9;wEH66eSh$^R5HXjm{GYb-lhz=|osikyFmA{ko~(N0 zzPQ4F&NyV}Lx#ntKK$V;zxM96xaCzWG2C?^@8r1n;s*(tXv0-ZiF@e1S-TpJl?P_C zbm4)U6Q6jmd4wCkW7pwryYdaC>92{;%kPes6P60CnP#CW8;X=$2##p$K0CX${7ur4 zL6w%p4Yz#4bLV$KG93NkgMIdSs3;N=wg8ncE(zyMA2BHMKYQuX98;gD3C0CXNFM*8 zj_y*Qb%k!4|L5#ND8*AYiA9vES0JWw`-04DO`7`aA4Ky`v3+_*t%GA-YiU$SwYUi> zlRjUcYKCQ`9H>r{j1|;)3lBL{{ej-BtSo}-bgYq^wxQBI4KOt{um)G*mYt_+9x2`i z%-Tq>%T5mmCGL~dYpqy}=bs$s(yi>@zSf*vmlV3c!+iJ4TlK?!)I3zhON4C9nc*JY= z957TC&pu*=Lg6$h&#QRxI3UR`D^g-_l8imgjE$R{{*;E3?a59oSpFx`&l9l2-hQ-F z#@X1;Wjg}SHfaTovdkMk2;~~aO#>M2nLI&`=lI5?{TX-I#o{?Rqrx8qaE$59`OEFn zVk3Iz{sSF;6Jyn03xbAsgY@~d_1`MJmeH<(N>n{LCl=wqu~-9RQ_L~p((PPUD}qqI z!100u%IG|I@WM~mR^kCb$Mt#V+mrCQq5dEw0x~b*6W!r!)4a?wi(}xbWW1opYHCa! zvlV13hx+QGJWS9T645fhCwb6t@7jGto#k-tU&+RHIBSWe^ z`t+#}fOVw%O^CBSA>!bdT*l?z2e{3lSYtc|70XHgEW<38#owr1&52n@UiIXOQ#v~Q zJ-@#=(Y9Q)>tK({F5dn2&_W;JqqC+zYFFkjA6wtiNO3?(amb`{TH&leV8++igtmxS zxZWYixxEWYuWM2$pGC#K%|EOj-9FM@b=>nSK+5ft1Z=S5(9(`&i9K)DJ6~F?&$t!D z-+j_4*+6yA%Q52_^!20E`!=Z^bR^`0=guB!=PGuxEDKlyH^#9`Tw2<~G}c|=DyRu^ z>(T}V4z%Q=L*`{AJimjCTKRhh!YN+ZKRKy%^Gx*E(@Ys|OACwl`?A_1mL6D$#426& zKVn)S((_U^<5$jilX(Vuow~#_r$?NkmfT+B6lTxlPh-HP+=&dQ9>-kec8)(5Ob7Tj z_^!tg%0iTw9(4N!zPcz#kK(EstZ07Lp5Htyxa6f2M_bo^$F$=m%|>q0p5n*)2ld5b z9#Bv+N&B}d*n69#E9AZ88E(WqNwprAy}re}A;_oZaTx#>I-#hM6rd3fS{$U^A58a5 z8)o_!Uf|eW9EZ%#WpSBxdWi`MJvIJ?0fLASG57J>bv3&G7d`@zgqpP2NKS zivJzt0L%u&#cFEo$L%qe9Z|7EV%8TmK}r!?aOBpp&Fn>ubtUAxqyyn}Yi{BTGp`Ih zBZrp$dJI>oZ3$Ch7yvc6?43_d8%&p|RtquRhkUj9*-!B%+0ypdri{Syc?Ry9YT(YS zqUKsujwQr0w%oZ$TDyqMv9Be*+Y}P9^18~MF83Tb1NFFIiI6r*o7}J|)r%KGO7k6{ zY>&fu*i8w3X0mFX7RZat=!>*B>jslB^|p{kk>F$`{#ckd7zPCeVQ(XM&)~vE_Ynqq zk(Q^uQ-Ufj^PP&f5@nv{?eOJmXb(dsAsiy4T|(N}ywju;>&l3k6;UJ}-ws6ABK;1? zX}_?a?FpU@s=~OT<<;Ia4mBJB$hO6Y@E7%3KgiMR_%f|^j(cZplx3E@fkfu2#Siz$ zAM$EG+qN~h4D)^&4v=C|=Wf~t+Ey+mk=U!2`6B>d9B-JSG&zv@o< zJne3Cp}@4uF4e(VgK9#Ce*MZ6Ur&gz$Y4?$MOVAGJ6 z=I3Dm24YQ`m5Nf^XA9L&4jx*&S_!$kX48W z4^KU13OmzLiOXYNnobp82P3h$zZo*Ju2PK31{3s*$na826@LJmhq$sbA)*U%m$_Q9 zCoN-p-UpF^grnmxnN|K! z=W`@mOsRCOH^hJsv8JM1gApGt4?cB2kD8DCz0y-zS(c09&IjDPEIEGBb|UN<%5=NH z4As>kfCwdlv1zk+8)6o{t#+L}pC&wSg&bMoxBLNpR_V-^yL*249Q?4bsU_0nRE7QY z@!UcCEx#YjO~mt^H16edX5`}khH=47_fm!9-zBTaKlyxc;CVvMRbBSn;(VqkFY3Rj zfSui@FYDK63*L%94OP>L7WkQV_9(T}9$Q}CgHZ9ZEdM;1ZOP(gPA1gR8ig~g3B^D6 zVcDcbOy{1^Q+v_U5MGp$rN1Q^m5h^?f+NVygv!X${KIbsb^#NZKOKa-42RhCFg2u0 z8;3qrmK0}6>GMeG)jiQREt)~iBkUF{lmBK$oAz5NV&8BB7gL~Ys48CdKoEqSD zLoWrwza6I;_>F)bp_0Da?z1~2&kowqiX%kpPV2bcSrL3!m^F)pUcJ%yTvMWMv!0}G z#TfXA)(xi5G8XmDGQdBC!GHZ~N5@g92rr#1Y(q*C0BpwDv|Yg)o^3XnED}m{r=h0O zV%(}`H?pgW*_+D)=$b(!^Uj4xj=g6py?)IHz6eh%D-{S1?+{5iUEW}8*P_u9exc}Uiw7*LsMuYs}50$qx9k+2E$FRkR zt021mE~)b#wS(&@8jrS26PE;^6z?O!U75!jD>OeFBQR<_$r?xSGk2dF>DKK5jv0<= z7!bSJIpb&GU^A;DAxm%cxEE?YBc!{w`(1zI7tHI!PXSc-EI zA9Yi(mg~|JXgYm%SFg+7tmv6iG$E6F;~9iYZSSSldvw7_ka30g^4zX4dX4P)h6UMo zQ#gRfLPkr0cNJ6#C7Y|W`k$g4wu=4z9DOFn;9DYpG;t_V+!762 zhJjq=JL;qI)+kc%8&puq+u$j>#bFqkC3NnS3E~4j9b(H&+I+e8lIps3k?TzKb?i#t z!`z4K?cF)vjotK8{8N;n3d{vrygZdpadE@=`EFMVmPUcmhX>_W*GxHxGefE+#OM_+ zlJA#uDWy*x!(hnt3r#NY0PZv{`5548!uA`f1md>EEGOic1A-pH^K|CZ4pK4sV5>qh z_Y6y}qc#7Q7v*!7Dok`?p!ku@iq3(zQu!dvYYxq^W0robby+i;b8o*R4Dn*_swAv-sQL-k7swG0NXv^5ol29 zWtEejZkesvLh8XtU(e3c)YWcwmO?akciUga1mr3xXsSpQQ*V+LGxxpW9WW zKd-IVnapeYap@RW=M`s>9C)Onh=iW(R4b$0=h3^rpJs}@vsJBy56k-}Uu~nFK+l70 zy^POaehoFEfe>7m(>wGvfYej$R!|R_#dkH5hG3}J-)Q&%DlU_s)Sap!6ZT@H-j4Hs z1dPbi4voKVv^XDGKhW|5Nfz_?C%-ZdsE7qVLZ``M@^{};M3K`>5)D!$bp-`_&Q?&W?>^bEKi+zD=&stjuy_Is-vbmeaJoyPaN~+ zpP|dzPK*yq(v%?feAMo?@}QyTwlff(5N~$XQYv*NZbP$7u?&~7+#gil3Ei`E3pLCu zrYTsS!Bd~IXa$1ju5BICC~!n%^i1&9SU*Z2U7&GEV@)qGUvYLjO@KB156&%H61;6+ zD_ab*DhS=a#!4F8#P|r*a%IK<`u`#Osexda!9Z37#m0D|(8S9|%l`%1%AqJ-8~4-Q zbnifn1v}md$Xz>|n8+rPMZEPpf#|r%+(%$$?B1pp z7QzoWECnxp)fMeQFZoQh{ff)Cf|LozR|T!de%w(MCxtc|Q>-{7lX`=sigsi^@H=#d zc_Vr2JN!QoX+fH)%SXQWs=kvk&OPj*zt-_|p_buv+QVEb3JL6-A8+Jr{OZ{tdHeBI zU7;R4qQ>2()WmqVxr#&1PmZz`@R-!^ zh^or0@yRjV4@RmEjvHL+O-f2N3s^kPiQMJI;rl{kXzx)SaK){m`}SZc@6qCG*HAbb zOWp}sKBFvSnVNprKw3nETDa5vvn<*wOnkcV*+kYZ`A%3R!#V(h>%`U9Gh3d2fhfZL z&R4#TOt)Cw1hn?_RA{9kqcfwnDyQz&(9&&|QP0S23fw9p4>S`)+wRT|H+dTOY!`6k zaa9o(HfZ3xD8Azd?X%4xXvq?`$8r|E-@dNNl&%qTfV~bHVu3uf@H^KdITFRu!(Ezl z-V^4b=;;pmlF>^s!yizT`dp^BbDLPAc1dpdqp2Q&!U6Q6{3I)r%4TSEH5y%Wb0x{Q zawcWq)Qzp_Q_I@XlO|-0$#b8tg$s(0e2f5UGdDyz^q5TbB0uHOp<{3WlS@7 z73b@lmUYpWN7eLB>F#2V{b_7zp|Ja{;;9c5Wwg5zj_zCcRLMSdlrtTW=A{Qlt#kFv>DP8Rq~I(@;ZG^yfr~7RqAz11Ur0Y^oqI603!{yx!xOGyD&`t?SF4rsrIL+7FLXpi zf9~enK+-uwOG7DpCSSJBo1s-2)1}hZ$!T{TM=`A^m{1Wgl{b2HAY5?0qUlI~s}|n9 zvDwo6q#2b|Gznf$pcQ|ZARvmmFPy-9s^G#lKl-S!W?daaLux+KPw{}E$3Jbf{I3!o z@T7u7*IC*Are6)}%R-{m;cYBzvRk)moRE`|c|Eb|`=Q4&+oSInZr!3sdurCxuRkW{ zNDjkf%5Un-p@N*L4N*O(pm;Dz`v^~a6VUx8uampN#k4cibZS?^5jEtx$hjDeagpye zgSf(J%e_ASqzXE}PUZ<(BZ*x7uQ%zo)-cTmzs@}$AN}cdLF>VI6|r54!pw8N_5A@- zf(dQc&(Q7>nEMfMGymA~ESo=BQ}I?-n^ZB_S4o_BWK(vOmkUe4!%>Ewn&k7}oK z=g61khK{YpsfChEtnQ9Le8UCa?B2{vOXQnADR%F6mpW-}jBT1VTYE2%;?04h(Yxye zYRsgk*ri&S_SRI6d>Y6)oC{lf!Xw2UeooS2cj^{75ub-7(}nK{IspoLYN0=V#umPn znTauopy+`N*T~Ar)<5(cS)KgS$MpGxPK=9Hq$B9@j<;stT@MtbKM@@8=#;*UMf7dRK)pt zd66etG5mM*Bb#u&r|kXFjN`wTr>=MmZJ9-}pftBbJ8r}N`BQH{9Hp7ENz!6%xa2-k zT9wNY@I5fVLCYv};K5d-=JIEEqrD%0boxZ6G4hkCAg<(4_s?s$dDVZ-nuQO^K-^4B zSSqN^dmUK)gKNfVvsX&!Y|d=o(zfMpjc-uKK``3ItVC^;{Lv;Q)nWI`-q^d(@$#qM zsmJ7z7R&R1_p94chC10D>;D~`PL>55Ctu@<;a7&c~k z1HYK{RsEm$IS-s0R{s_l%lYO_aAqFWbZnllzs1=QuHzeOO}hAd^9abja~t6Y)bBc6 zWS=xqc!5QBa3opLIdq6)adQoW>XPK za&Yq<$M%h@lfDtiMhV_t1k4)~RQZ<(zHm|3DxBc+?m$Z%7!X9g*?;=Zw|Dfvh4FqejKi?!A)!$o(=4Ur>87EaB_$>*P}2&qrW-6mhS zN!6&ZQScCOHm55CmsU2o=IR8%{CVi~dLktpv)v8mB|>Sk=Kkup1SqAG{EToU3p`}t zT3-07Dbk~uDVgg^_Oa{+5Plv?J(q_;EvG#=mro_B3dkH!J-lF1NnM!oM)(XZ7ZC>( zt9okj+_gOQcg+edXAF@ff*}r9YErVY5=1u1I4(du+8V*HD%12tKba)b6gd=qjOAMN zB=QUP4&Npe1Bho$xlFNWR*6Okcike)VryV3ify~D!9BDTK+Y=|DwTc^=VG*&#D8P6 zJ1gpi*$Wy&VL+yR+Vi7E?u|UIwVW6&O%vN+nW}I$C^X6ykRvH*lR6yv0@D7+uxsHo3^6H%31-+s7*c|dQmQAmK z%RYs9PWyGqX4wX07zJ(D-GK$}b%PQj6u;|k+{-`c!dnlWqH*dgSHYLjR1BVp zL8*%Pv&4(995iq;fV@vxJ&vy5B3m)_8zvs~gZ=H)5*Ow0*g2%vx?z0uhn#{zYt!euMvSo0GIw<`6&Z!CAJ;f*^Q$M_Zk6Bk*VwfoqImSr$w)@%1f(ic@Z zlaPF4T8c|Al%chh3MNLlU3%u9^;Lat6IS|xj2dofW+toHx4xz!i=1!hwtuFo>~|a5 z3{1~JgTk3r`EKy{J-d#pvb<3SlN;Aj7dOD%(b171)QcyG&+JP1G<@Y@Kx};Jb_x~V zyE@cQ!Cjyg?kF~?{CfJg)7|X4Afp42ZPU6fNv64ny_U||oVr1)6W-QKkf>)1gR1!h z;h7UflqO506?4~FeFNF}=d2>}Q~5@!Cj%@8T~##>TdK;Q_qf4o7$NCQBlUnO`{vN- zhl+2rZ?t^(gyDdOL`baZLjxouSvTKktvO1Ti1dWV*f`UdJwA9bpo+;={~jfjoriFP z*&pm^Kig17Yi52~|I{sMd&Ot0->8N&`p`VdDF6@KZeuOlT;lpFndRMJ>W8h~gmCXI zjlD?uv-CZoV@Hndwm#&dZ_6>3K0h>kiefX=@_w+9g-8_PSi@Cv#VIe`Urk^U#Yzu4~LkCMrsdwBY> zA%L9cmiMsuQwrrO5Y&|7=5ZTq2Q0w1d}s>H#m~D1VAZBu%6wNp_CGScNQy&zXpjO6 zAuQ#!pq_k@6SuY~e$koHS$RGixOI4yGMe*Z5)V3c(PL4@#g%`sg#8~dbO*a!QSRf|B9c3TsW`={=%9_M z-YEBHTghx@rf9k^XKqis8sDLM<}=$&foq0pAtk)PIU@7IA{74Gj6W*7b zUvpL@2-SQ=GtxYkoBN6RffG}0PvL&x0`1OpM|4Ai>!OE;Lsak3o++!1cn!hOISbXC z%+NyrheD^|^)`EIQe;y7HD80ne(|{!=OuQR6a8`U&D4a;Z?uq^!ypr0;rh+@s`<5M z_M#mUVB%4UbAIqAJuSpd8{n%$*x zAFLasFd6jw*|dTm-aO%FqWmSIjDpwY;K8fBX+Eir5QVnB;FBljV@`gk&{Iu}UNm`4 zq$>eF?^E0tCXvQqdU@eC1OqA7uGa_?P;4wQaXFK|DN}9r>;VzdWx4iGb#QPAoNrHE zWh;1Y{8oc(uxoGf>41kmb@>2JyRCYBKUrP%b*gu@7mGLK*#Y_VDe3n+nhW!HZ{7L%!A}eb^r5#VaQD$S4IQ<{M2VNf$$t-k>xj* zURW5pA{TzK?i^}mS&dTD<};4k$> zE4rV)@YQvkYPhhjpX0i$PlDg;v(Z%#K+=0?M@*%(7j`6!@8J9|va^VOgi8~KDO zp#h>BD0{9v3o^Zrwvfq%0;}pTfjOUbH@TE*oMV6$(^(s~V9fuh+GTdaNJVnPn4u*Jz84 zclaqgp6qkeuXcR3W4a<|qC9jk@?6}6uFNyNIJ!><-@aTI9G&8GC@2Vhg`vdW%4W?w z$0l@*=OJ&sChsIi*Xpu&Ha~G#F#AR+S;y#K5;gS z)P(-&K^MlncK(gH!JO&$*&2U@6m9oKl1}GX`9QsJ&xd6*Ci``~7yk;5ehHm5J)!W! zp+M|mDz4{?G^;z@8W}rGO!Qry-jYltkt=;B!suJeaT7rt{AHE%?(9Wtc~M|vZMX}B z`Br4hI+#K8&bV{{V3h3TK!*rXbGaote~&C zmZZA|6?YAz&zXQ3gE?}#_HPx89NMC^e^(3wXZIm=B3V8vQaipxVzWn#brPilOTh>m~2Et?x?)@xGTS^bnnSa*}l2 z1Plmuj4U+JvEL35>D>DME_s!){@^qEw1PM0?kZk(VwlBB6To^mzcjCs?BzN!Kc0H(&BwCM* zkI=;0dXY~<(Xg6fL7BT*^JJBynucHBIy3W_%BUvuczgf1HmRf0o-f_Q})|v8rSKf)qk4l7Cg6UDlR_@Uye6sdc$lC@s`SC8z z@%I`88L{|Rnycc<-Ep|z>JEK}^}+i!6dXTkH}uChpO8MLncJ*`1M&zi)AmYQmrq7;vW&`TSa?9p2>9xKFl|`F+HyMQ zj85+LHma&cXm}(=NnzO<{#!)~+HOMY#oKI4Iuz?pZ5%h%qr*7Qjxy47&wV(*nTU?- zuFlz-dFgQWfdDR<4bO8t_Z%iOUlmdK)-95I2Xd2?Ow>9sz-P7wxV#-Ku91?s{7yH6 zf5=$!i;e1q>tk|`>Lrtc=1MxBeOU5}&#^APx+U72iqgmP>1L+usPJgAY}b?i#Bn*N zxN)^~`NxuJ<0~nr2XmX>2Q0k$g3B!5fAqoxwW|lWvQKFxP1z?I8h&#YR!>T%tz29s zzK(UCCO6%C>oB-9WuMG}#Z;dy>3JKzACak}cl50@wy-$wceR$Dzh{XR4C3VnLxFEJ z-5T#MyRWhcbJHvD>8Ywe6U;HUR^|0a2#&sdC++!?BwVG<$))O|JJ2~98Q*&-dHAl1m+;HoT6Tk6;=%ms6e}ToMd$q*X3<)h&)k@d`XExih@q-v;ctDk z7wuqV-OOiEeJ^tq2}3w)Fu}?em5Q;!oDdla0!_b0={;{aKIsTg6uY+Lrr6;T$CUg- z)1unz@&AfY^y}r_OC9)5lx~wau$*+_V$=9Zu3z2^y1qa8RiMIZG&;|iS5!pA)VNqD zz;|oP*{3s|ssA2EbR&O7XLR$H1^+G=$Z9*8tI(WE%gfu`Rnv$}|8|sxk37;{>{#02 zpzKiPDe%_>|S_|dHt9|hvtqm3@Gop6|rd*B$C{}mnd)9Dl>$=7yfWOq3?#L%)xTwc_Opr1qXGRNwwoe zrc;z1`hZtaj%-|?W<o?cN@WPO_=$x6$!l{P(^i(vK#yVffiE4@Oj@iU<0lW8$a zTIrA}TS@C0M@EEn=Mcmsd7X zaRpf!8ch6yS6r=~dloIjJ0xsYnO(mOb1YR$2Mv;pt}8@B>a~Uu(ap(Psuo~U zRw8D`Kd0zPPcWHU(yDNH(>7_}q`2)yVwPzVJrT(r`aoQ)q}H7QP7AR&utrAlD2RWF zaoje!lTNyb^_0I0Tpi^(1ydOH!i9w$i6amL(XMuWjr>DBnCqehXt@vQ@uSjr;iQXk zeK>7D>LoumWDLQcqITpHVm&MO&imkN_QrE3+_-zp+p#1JGLfzoSMCmU-FIJI&0>}+ z^s%;7IcNN{>xb{*BN>8ac`fesp+`d)@mUMW!W@$Tt5}nJTo6Y1cFiK}rLqnr+JzkS z>Qb-s8!7m7Wb_j7RkP zpJBx0Bcoi>SAMqig8I#9!mv(lu@6u@mC^9r#gzHZLmlbfSQpr+r{N9xbFjsZde6rk zaG7@g*{1d>D}?u#t!=ET)<7URC+$Rq2_GjS;6oumxX0QP82cl9uXvsU(9y}g}7{rcq8fxkEHC{fYy1F#xIh!=VMYI5PvFLCq<}-ws zMj7V9{}U4
iFcKlaw6lPy#>t}yP5gk2}Hyj2(uD>rwM>d={Cxs<2r??&fhO>6b zSetpy<#KYMn4q|Ytm!FgbV^wD{<|nz_0Bm-VK8KlV8?}J8iaCnmJ4@y++$04Q z(hnzOyg~&mj21kBSY*I-}4jw6Ge3eU5?TcF3G}9O?qCz zx|~y^3~cEwhKJ*?DBj4TQkhadxz1viVJhQzg+hQ_3rUsw8&x=2ioB#=H!TsfB{Go>5eu2;2cPfEz;fh+p zBZB{Sa(^oe_WIiSwHQRYEPY?)VOqP#KIFc~WXxT@6SP1-;E%P&^kyNV z>SXv=GcU?L=5Ow8cg;lpJ>P2*{5-Iqi;GN(PE^x>;MPAU$`7UCXnWncBizh2+TGa6 z$Nw2wsm7%radp&#zvYk2w58)Dj$pjlrae(rhV3y#P|%LrL$}7J#nl$Sg$24J^cvz% zkz^|&I}AFqLtZt19EP>-QiZFo(7)2NIzN(xZ&ua_WN1_H0J~Cv`DngTkUybMp8cun zBwxWL(e@(snf5ks1toHNmUqhT&Y${e3~e6LWl1_GDY$X9Sc7!Qx83`c;WfDOvQE=_ z(kx7T&e_RAms29;O;EO9U?}yt9Rpc*klJR+%N<0T>_YVEKrnKY#-X|t#?17vR(;FO zrVpei>TM}{CY|@^8qL2vi%jE={7US+87n!51u_d*DiD0*i8A`PI)xhXcU_WIkHZ5x zvu-~u{Wbpsk0G*xtmY;MaXJ{Y4GAkznh$@_2RkR?{8a4zFvX%BNj%?UGZ8R!v~*84 zWoRAsu;C(gI?ko$)DU{7ZYeuqe2QyS=D~Qu#{g>w&o__@ske~XmqoZcgqUkLqs^`I zJX_bDz+zK8kSRmj6Fx3JYK8ZSFQ=&T!)#f!;9stAVqXaBd~LY~V~zMN=g_&tMQ@rl zqacfH@;@5~Q!mC?K`Xu;a*1RgUk8|rw>=XIC)y8#d;d*-Fy4cI!E?T-u@}(d4l?~` zStjxJyu7?W>1NuvhWM)ye;;zwB~x0ZZ?;h`cZ$X+v=1e#J@nmQXYwO^MbgOPMFO7~ zpv`iAhoS=WFgC!F5ULC^EWPHcVOo3`BF8-{8x$>)U5adRQ~{xZy^3%tj13^FLdYvI z#$tgAR?ja50g`{b4K<3Mn^PEzOjcMVe76rKe$a!9(ivV{0Oa9kEDu(84(CE^;C->_ zhVBo)gVFi!W}eVx_XHq5B5ZeT&Tj}GCnhD?ekvN^8bZJ3I|#LiZwv*+G00F8CiIP` zU*ElQvfsqw2Id0eQlRcLt8f}XYd~wL;5K^bYafg|b*Hukr3-Z)>WF3lh2bi;U@s&8 zmmi**%^R@ee~u2`=o69wX(%Y5zqlTiWN$%w!>E-m0M_9ZMmZ1Mcta+K?q$6pC+ zRnNRtQ~!N;j|!EWTWPhJjY0*_99EtE5gF2{SNk{j(mE4+pX<@JzFT`_vAbll!f}xG zQQr>k0#w2y!siKW4d36N0_KGkxn6c_J$^UQM8pa2V=e@^M8(Hz9)g;_X14i{FUYR` zymW`&KZqn+niT3RpV2y2PJAGBDg1+J)RrGpjzS$z5VD zUaPDvhDkI$*U;Ugo9BT?YP@lMp`t7|NhFmOTnk)leUZS{5A>O9EB(I3f6Ip}~Dj+8-|dAjo02m>;fO4(%S(ZqmN4?E+S5&T1xbSROd&GNTGvEgfe zKtQ>Js0LxB4ON8Br%5hOkIl`eU_h~%Tv1T8weK%>Pj9la!iF6c*A`gA0ubA0k!coM zBMFX}Ibe&wfd1p8Ut*}96k7}kpB)%a*M~}78!QL{4AM=a8#VTfDrIi^i9-ER_fdUSbhwQkl)k4JobE^)`9lXsYkFJ&FOYH?=8%O1!{nX=W|26Fb|5uNSa+YD zz#{U*GWZ7hHvBC++oI?`FgeO7j}#Nx zG;**Zo`4iZf|)#nzBs#;^r?v@*Bi@~>ISBB6#8Vnx(`ys?0T7GGP{!8w$A}E=GD3< z&IyCN-9?WZ8l^c*nvcLs4?Y6LG-f_E`49GJrc3;dBDhb-5m{fFuQb6?WUlC)1+ zhvY%Cx>vxh$*IOvd$HtX+yX*cH?qcUq%p@4$48kio7A|-Y&#M^) zASY@cFkjg7dd)<=KqK*sP5^z8z!zq*O(Al+L}|U3b>#Ce5Vj#kGMo1hx)bC!yW%eSUA|a4h=8Xl$LAr$!GLHU ztH~#k(Ca81#5U4Yn#($ba2gT45H!y#b;{s`<|UFjtn|N4`8Kc;zo$Hg#E!9EgY@&X z8r=8_6-8H+4&&0gU}iCH4)FIDeXS3wdjsT)-#m`~t=P^y{&W64&sSmpYbPj)Cmcz6 zf=#*d30vdaeXMWPpACw%ptOx{I=8MeC_H)==K2>`I}gctXoQte3~K$nM??&9t)8w3;fKs+E-W00@(ewRiGlK znEG-#yqfj;EWqLkX!TqdU1x~kaOhm*$kL;@r{rHv_7b?0u>Q-k$vrL~ zbj%Oe=K7qdV?9@_^6ZLB!kmP%;QDl9nrb1P%ANG{9tI8Z9lSp0S*j!lquQ1Q3d|=G z_Z1q<%f2~dpo=L%yG=PxQ;Z%HNUhn z?cDo|KRDHHUj#XeYd552xcw55ZTT@DzvK;Hz09>|{P9oV8Ew0c?~VLNWgn2pFM|d9 z33OfBgXe30Ri}_MOUDM?_~`AXy$E_(5>CMwBf_M0uwO&E1h&y|2?kG8DF-GrT8rJE z?$=(9zV|&CDr&wNB|aslC4$S2SBRIcq`25sS<(W8L7;}H0H;wsK)08E>|p8r6xwM> z=_nt9@3}-=EU3JQJA!PRyjZHPqD6gfQ=C+v2OFaud|P(>bV-$=4dNVBNlE5DkB^%| zB7B0kd%ty5FXR()FmX^N)$u#Z?uF=6T^wwJKnu8=`z@F{glwb{8q1!Z$sY;h&1B=& zazuL@5}QFyf8k;e1+HK+MXS;+BgX0g=@A45-#Y4#AiivdqW5!Qz8hIFYzz$Dm!Z0Y{I(AI|T8k@w9>2NG1smXfS)rx7_eM&>mpT5;ZmDmsanXBUbtAY}qx5MPq= zl6edxJMi|x&}E1XmP0%j!#_#NYx$0+BRz$}YZ_~RZ-FmX%ACkbU8#tH;nDu%@EA~k zO-IXFa6Ghs4|JR1>eQYSk7K06^3K^-vTt$bzFvUT7#~hdYw)|hzE@nz5MXNW6%m6R z3#)vTw64tFc1;m3rVl&tis(@q#&=--3iy?%ya;l8XNV1JWBo5hy~^UtyLG~Y6ltU- zrWkg=W8ix`9zll08_0A2(*Zi$>u|U1!-@c>ZthCdm0|k{iSIs#+jFpleCVB@U*1$4 z29zEqy_c7PN-!L&sDGj@y`+BCHp`{Xh{8~6m0K^8Sm>QM3{D@i=g{`JAMr?=g&S&xv)w&kgrCYuSlh-ZITZ!fI1J#oCL$Hq4BECB_HkZ z_)5>qAKuPWNJ@2k8xr0g&ykc_M3!4auCv-2V~jb81PIdisPNO0na0L{6F9xnLG_#m zUbFb@2@VhEQb-0YkQAP{Zz&6<@6h-nr=NrY{-eMFB*w5sB4P50cm}|(_9es7@Wlcz ze2<)RYzY(!pyUtk8^FQHTM}$Z+IA3+Iv;&`d!U?jUTHZf``Vx!L}^qswbsSVuH310 z(Gi~k=>cFqb`&sClNSaM+hwY8!2C-{&Pc_|8ut_t)4nC;GLh)+J5nLTD2~*oN{ZWX znX11o{FICle*Fz~JBxpi{oyZqNvtbspo|qs`$7ORU1=R@!m!(`fq2yQngML$DJ765 zM(p(;+&p!fq4$@UdL*>o@Uvt49g^S?TqQy;W`?>vHn?^zQ{0~PS3;!tgKv`m2w|H{t9BLdP}GclLl0PX&Z>qfjWRh|2c0zTT1GOumc^Q zK;*3Ir|-(E4AXNslI86|?xQ5C0!xr4Bwk`)4W$!_-;TL3dKWXI`bBYDa6=MZ%JpFV z-gBqw3B|Z#V-bptmeehukJUqhrtNd+@{qaG(*zP=HKn?|NblW9>*>%2IN zLD~bnKYQjV7Yc19WMG-QY3O<%0)rhB*Tw>@!$G$6rP1q=zsHQ>gLjDPd(+&PiKGHr zbZUohpDfFeE3_3fz!&_|Vesvssc73UMCz?O!LWYF^4aj{0Iv72536P6_PTD72xc!F zk%{gxV(S>7X!DOR;Ru`+i0aV?ILDD7?XZJEm9i4lEO>0}C<$yeKO3u_d zQBUHRmx&}UuknB=q)L*aA?=U)?JnWJ4R8mb-*F2r*2D3Yqfg=xbFIK5qx9=!7JvKc zGAVVM2PEr!0Z!$eM!=V{AE`)*QE+iWeQZ1lgqH<|zTwL%i9&Nd$mJ4nB*Ql+60XGi zh`pHM@bwNi(8h4*=y(&Q|M{b?pz8)os%ujG^h$KX3kHlak5q5nMoV?GiY_%Tnr_kNs$ zBJzI%D3h@EP02vs$t>CUu`4(yPNL_B-GJ#vL*7`G(}31&1(U|C$&pVNe3aA^yKfyk zVuzbuvM-71#)G{?2&s?` z2`2L@tpLK98?yi51f$18QU+J^kKU*jD6%*M9i`XW*A1A|j0Yh%OgR22p>7Qs-SKBb zS>{DxfR>u{3IMh_J)E35g>UaQc;6L|7L#`rTAGMzXCU?tSq|29SY4LBN!Y=16Bm&5 z1uHA3`%jMN|AWjN8wmNo>C}m>l1_k$_Wo48Rf{Jp-Tcx2$MEYTsh54!>j&#p*Yz<9 zb7sL~0}NlFhj7ho)gFl~E-A5S4wyC+44!#>^t>_X20)}rV9SZDn)D#?iy*#^rYhjW zJgR*ndm{ca_z6GB)k%W$09z2=8@lv+2-^q=MoAo2TIugS)xca{E9(HM^+D_(TlO8Pm~3ojpv8q3W>p49)B7byxTa+Q(}uBd zcmRw8LJNK+3$PABENLU~UsNom_beXQ?{UPnYAmJ^8R7y=kF7}gI z7*Mglw{K8u(`5r|&*EGo`2nNc9pYRFYXFVN$=1-(`8g(R{gi*Z>QyTJ^ebd!yc|W~ z%N8qK#!T~!g)h-|O2=X#HeudBT)b@X-CWs>~m&MAupKp==uybvA zx&og+U>(3RU9${rfmyGmEGjjrz~_Z}{0BOG0F_jfrb~Rn@({9uuRHUYfq=LuwVQ(k ztm=n@HC_P2wtEbuoYH~M1Q-l=9MJ9taM^eJG^||^O-E#{0Pr@s-uy!%)R8K+fBe@x zKN#XJSrv)?q&L#bk`@vc#`bqR89+>{3t>2pg^5>$F&O^dLY7AEcr^G zpPU!Y&~uhjASiQ6lvRTNS;#gv@Yx}s=L`eHB7jT(LLQ-+zdjxy$(p5d{txRMQBl5)`OL|2R8mCJ;_kxr$@1~)yu0%5dUZDMDaIk*U&w$40 zyAAF^c3sRFcQNv7oA*rbrV&J$?<){O31Bg4V!BjR>`ds}FUg4Pk@Dl&NB z_&u*%NDdTV1n9x$B9>4Xuxou>qV^Y#J@+(w$&MGH`Pt0@y!c-ww5N6hAP$Y z=V+`H<@AIwU$^+3NBJQ#5J$c_3%Wj;83-u}{yex}Mw zX?g@=7$HT-65vn$8pV*%ol&ahwiXg{hBNbH57H4C_;?&8(}#ISfWR?T8uLK+R(F4z=Tf~0jQ$bAjULoh-C&cz+YrRG3! zy$zHx4~m+r!S^Kkfd2 z?RCrAfLs=C@Pm{mLbUy%@{fJdX;6HC_TCF%?$R3*1Piv;pbOhseJT@>{4(l9!$L~; zSHT7VWGDF%ZmyL0%RLw?9RO%s6kn5-nfWeU;IKRVlo!mEsLIZ61{I>71>jQlKNYs9 zN%lOc{lukK8PeJcxf#DFVM{6v(?wMTbxji{TMw=R#Ic7aH4c`gR${8R=r9ZmMH&Kd z0a~6>8G2TB_Jkj?Xf6yR!!!>M&u^f2VI@-S{`Fn`ifMFwxd^j?0@?Go@p|84L_UGy zqYT1OsLyL4Qm(1nQZsczW!MXrW}%Pl0|n-!t&ryN>y5k1v#5I$)tsNu@84#lJKst0 zMF#iTZj?vKiFux0u-M6ZU|&x4Q%gR(@~%UWE5{P|DA>&z(@xXA>)eq^mwO_ZfwEFL3KUTt@ z1}y!#idG_Rn2KUCuDTYTX0l7O^9_o(lpm$4SRBqk8a{_K+Jb}-+hya2-zQrwT(S6> zprbl(4@I`maxzcRZRdzLS@hIclb3`;Y>I@1j2OjA3`v@*xS`+}!4aQsMO~%aWp#x_ zGtWk=y|x__<8&+T1nT(ih$-9AD#rd|^knJ>DH)Y+6QsJtkFmk(+C08JEl}|nG%li`!36# z)ROcwhmClzbpzg>S8-(J@o69OfN+k25yTC^zcV#Xh#PwwC@x&M@H-jr-6hCK{waF& ziuX=24@u!WdP)um{@GxV`bC$XXs*!`9>so^*W{5fUSNK9=6*FIQO*7G`VDo}RO4$1 zR!;#{6oqG0o-}4LYkmD5*>g3zk`N1Hfe3X26h&w@w?ORzh1ks5rr%rfp)nW zj*9nhfALkwJ78avS_|0BXrLVTx5#_CoSOmU>eEkLHp7|C%G~sqOk=5;A+R{{@%T7*xL%Z-p)e_%Gw`bI;zG-dn6KFU&{ID;=tg`trn2|HztPu zvFY$74MIY)3=no~A3r3O{tSMpew&Q`3E_^Xa`!=cQDC8mG+})ga}z(pAbAsF>!Q}t z9MsO7s3=RlkdC7h8L5!6E(e+|qhtfS`9CBt)2YTZyliCn1&F=zg#v1#@inC1zrFwD zb6SXNw4DwQ!FdhZf(b5QaPT*RqNe9^F6+>oFw9fZVTfZI{rDwXzt>Km*ngV?08CSK z0B6tFV0EC$cM&b?FV({p%`b^D2qZgctPbd zrcrO?Mr9jmF>V9tEI-3s%WU2#YnE8NAdhm19lkt678{99t*do^2L7ktt<)%OZ6xSk z`bSZ*Dc!qU+oJD9slPUOIPPk90hKN)ND4bCtF9p(#*G)rHM!fJV`1&^?HI}~4xW5Om}~7wASmc>3uK9^Cs* z3@@yOzu1$}m{}`uuno{;kSDIN)if+;-VY~dnm?jOPfH%J6eXm;%5uU}z54#`Mn@w1 zkJEXm0{`Sc?f(;uahzjculklr(@B)PGAXi#=bcY4o$6bsx^yn;YK`bV+z$EoF|J(l z;@awWw2_6V2@baaC4&J3(RJ0|&N{{SpxVS`NkeB_qf>aMdK}C(iSk|`d)mdz^bG>!Y-5cMA#on|_3Z8S9np~*!> z(a1Ds8V%2E5?K^z8nwGP2uc}0k4L#U{JwpwJ_$jRFbdAxCjT?^BgD#!_{kLsYFze ze6`YJe`k{@v;9PIv5A&oTil#cmqBT~gway;>ja~;%Pl|=%)_C?&*QrWRS=#h%op~q3@@ZHUGTimCF}$;a;Xx;$X*^)t9o2>y{8&p z;_TZ7amsXfX7?vsYA;+CU+ivZu6G&%8CcAv+-6rcLIC$K7H>4d89vwBU< z)evaZN;v!S^_dOz@DT8JG)EoWWc}}Fj7}N#!2N5}=P)-%i&)N^&~+muRPu@5No?mX z=nxjav*kShfZjjWc!?b^4kmgJ>)-N4yWGEdAQSp}U*|fK$ZI+^AF|Cjns2C zsgZYRG5n&9Bo2sZm!F-(9lE_B*@Cqi&*wIKo@2+>?-4J4Kx_& zNFbBW$yjrac6s4UHpxhqYD?=<_xT037K=-MFf<$e{hc%Ix11#K!!G3p9*FlbU`*NS z0tnMDqUxc(#ESsG&M-kQTSiRW4M2l>_4r4tkU=1Z($6A_3AMX|()Sm5uKOdX^#`%q zEI%YG(0#aPu=0)}s6Snd`w`b)7#}n%I{J>x1*7lvC;-Iy@{ ztxlt+a#sDnPD-4*r_4R^@~Mj|gbM8oAl2WqRrj3o-u3f3gBS&lYR2zCsL#^@)giHw zbp>@ERx(ff?c+C(68iMtw9-nk~X5FZ{0`zRKe_Pu#!vC_iUpOp0_N zi{5k2A=c#eNayg<_Y9UJgX(1efzBq5r{_xr+ z?8C=t3SgnixHKuAg3Iq8%r;#=`e05IyBQy5&!KG`+r>C@C z<%;n={Y?7HnjOI3ETn#yHKxXVP9q(C{_vbQcN1LQE*5`*Z+3ER|_cd*IK;s%vUPGui}|SW{4J8H)Z~m zqBf`MjJ(&e`f7&6Z}H80n_J%4GO8+UJF8Hk$M9AP`&wawYf^m}7@1Ss?;tW|J$O%j zfC)nOJx5;!#p$#di*ErYoU|G z_!_N@sA<2RY!e&OUf_LN(h3B?#J#uLDAp_A6#{MEOq2ZfbH=t=`Gs1%eKYN*^U`o> z=5$O@M_szL2w;GH7Q(_>kk6Icsd6#fbQr>}UnUGnj}p)Iut%LC-4|r6;Il&~cm%qQ z;PO!Kg`k2tqu|HLL?QI(qAf^?;Dr5!YiwR!dJ;w}4#o*?e@kVg7Gab&S(IMv{Y05& z_A&>4*|=p(f&~t8yBqL@4Z><8D$JL907Pf33~!UlkTP3lJTud+gHTRIMbU{%s|q_EM-5 z@VtQAZkSc{I-Hg)6#qE~y-U~0#s&nmc~`D#gARcUdQ4_Pw(<>2Vq9M=Sv-mj_o zMm@KISBI}n_c0j`d>-whE7a~EwC;0REzKQuwu77F^)p_8TU<4Flzz#IOuXJ( zliOM9Jk*%ljpA6CMgMghaWi+s9Q;Myv#j;8%T z(iPm$vzo^I$|JukPn?t9o9ri`Dg}wt*|(Op4Z1_O1@9hvl@rm*ZedA@bnT=_OUG;M zdPmS*5mFh{%4YsFj$s-Y(4W&<1|KFhjJw6oEVv3fSXwuTl;$P;4qcbe)iyyuf1&2e z>c;0*TZ_bN2uc`NwGlN%V$F$%HD6?s66%f#PE;_)Zs(x`#3oy7`FMjg`(@%*r+N$+ zgz?Qhe8qw}WxW?)3k13-ko@~br)5S&%^VmTNpL#R?u?BT7@GMW2?><5CTDBglz%i&A(R=LsnHzL*k^rCOJ_;q+B3czzPg25l=3nI<^?_ z=MkML0wzByk>^4VtoKoATOLYBU(B`L3=rUMX`cLTd`dLYV7yl$K$6fH!9DGU<#-kzQP+dL@B zbrOKXX>7~_7FHO`HZ`6G64PK*i8)7MzT{N*CL#%;Ar*16Q#_&haO^#6=vkr7NH6iW1U~WE z7n(5-79k5TM4$lM9Pnp4^rFSoE4RNo>5+KB!pL@Y(;p-3^{r5(v6#3b8q+P(Nl^)rh~T+XnY?6|8DN6FmI>QTBM!nU=36ndtK0i^8?6r>)&3 zWfiO+&QY7G)I%cnn=aRTmKXqt_g2T+E6NMA{u#j@0H|muguOT%PILw}Jw2HBP4BDe1K=UM2#s~1 zQrrgtUx6Xj!X?>h05c;4$zOZ{-M_K)ATtf7p#F3=gwnLiayk`dlmwebQP#9qr{c`2 zE7ieEo`>)Tfhr!p;N`OXe@0uL4%&uClh73%gEwzfYLN2*)^B3~w+*-_s)oU7c3|@i z7On{MGZ?ji6=C@3uPL>0f051^RR46`-a>v*|FTK^bykuBesLyM6)H^BCN6f&9&SmW z<`73U0aw>`b+xs%5rUC`BNdBZFUkc7&UUY1s774T(>Un7`2f7^z(}z9Izm9p0<+Y; z#eGuNG5OUrnAC?DZQ6!z^S8ra3p(AlYcT z>W2{A*qmGsLRTaj!!&K zS?x`ne2s#DsnAI4x7J@u>l!u?cC{v6W+~N%PgF24{fUACt{eS(IXO9sprTJ>+bK!M z5sSPtW^Y>EVcAkd*!)dbjwgy1BW#UBZ?8XRy4Uopi+No`o~SXY1+&{j_#TJv&UJHo;u9Izk|Ex-qtCUH7r@HnKq*|N;_zyu zR*bputfKkMw?{zi@i))Hs8Lg(8>1d{XT+i5cH}PP#Yy_**~62z_w!3k#vkzR%;jXS zL7oWds^8>;x`xI_p`mad3)7jDj)5__Y)j|WvPtet?i}|K2SC)+W6Q^?c|Gcj45hkO54{KP0yx92%%>dLv%mJa@L?Wl!)Ps5m zJmE;1GR(Dd8(gZaG6EUmz}~u@@x#F6Cv39j}~FyE6=3{d@V$m?pY|>2)aTW>MHL-78bBcz?D= zbww1{UcJS(3LDSfuWSgX`F5e>#tZsY>y24&S#!lF0yoO3d?o8{g1eiVDC+o~%pXv- zD-Fi~c)TOIsEa8*2fp7Q>XFlEOQ*@&jS$MKPK^tk6&E$)u&0wcOYlZ{&~0PtZ~I$; zXYx^>)0!$j?)1WiG_lJ(2bo8UL9j78;PtE=N$J~0+z2f#O^~_#o%!io0WCPM2~=*| zi>C60gm}?|g(kkRV00(A1k1?Bl2J*LEu`hioJtHS(0=rZVKtU-EY&pUP5+P=iymI> zOfSDHOanKe2ihDp;LW_=&Im0|!4Im;8%B4#6?(t0h#3$)LBIQ=j_tHpIFq|?giMZK z+dHNX3uKaZNl&Xb$9MD}tZ=^YkdoE%f?sz<@aTl@q-f6u*biE~z9Z$)7$h!=(!V=L^*TOx zE5sF*Yo#Ur5hjYv-wZupl{6a`ml#W^@$4|(KLZ$2SWxQ4#FDJ9p_&-$W07JJ}PJcUy998#+)A2j3w#K zU0aq{tj8e#dcOxXp;-ZY?zg4ZX+*rKO)Mc&Wfcp#gXHmkeJE%>CLuaW^9 z>!;p;nE-Wn;voMli-vS+`13pSAdZ27Z7t`6IX=_1R--0tcHOqLox3~~%3nVJuq`th zM(c09LKPF7A)WqnQ@jeE`WI&gskV;^|2bQFY#dHvf`jC*fy~o>kT&>gqW3NMQ97P0 zpb8`g)d7o=U`ELzE71-e-$okrO918vy4gj7`mRg#C=CYzBFQUcF2BPz}F z2`8eaXScP2idhdS@p2RM_D2?OdQH+|R0Ga5@W~=Whem+QV zavurGe&Y;T0uy9SNAv0Ls?BG=;0-}M|>*4>?$!t0nV3Gobsb*!i_(boUEp8wI5!6luUjt;KehK(B<8l*}YqMlT z+t>CVr_f?T^*%TBVbda_*7atA?ul3T0`<*9y>~Fir^{8ge{J}d>CzW8Hp|C?1`!J= zN0vO_$!^0;I&8VZ##;xWafsu(`{NH`gj$i#a^Yqe4tw~%?oHs?DF}kLfZyLtS7{FY zgrGjMKdXH-6Ht9tebKVB$6S-;&rogf17pU7NbTAOV$4OK;N7$QICdXKMb{j$-XR1* zw~a&maY-gIN23YDV}`xU9vAA0sLiCtS~r=Tb`(GnS33~Ck!1JfBO?*BoJ@|knQz0Z zJ1n4YY4v(eocP53rVcudhIJ||x88EwFDej*k`Zxy>MX`Z{u;$I9}|i;;fd!1hN_fT zjr}i%l7A-KecPkvF5f>mC|xA}9TG&R>b+i6bYN^;s}of}Jh*ESe>&aq(G-IV zih)T3w_Oa@zqi7Mt`LJ${u9QO4~^a|09I|nUzt6JhY@mtKBIMkVEgude)!)nH{L(} z+HFeDRa3zoH!Dnlnh~B1#ck(KP_R9?#|qSJ|4tPp0j=8XO+Xh-Rl|0#!h=d-S`32h z+G}5;T(V0WHFU+wFp0_5Xl2xcjCMAavOwFc&nuxWfWo!Z$*xq7$rE zKZJWbqSoODb$q``Jr!=YqN_qYTBwsw1}m3|>egMgNtnFRAK{S&1&KY+M+^K(UJ7uh z97&()Jd6M)mHc}bQmc_NIhu7DK+!uKgA@z6>R`e%>bb!wc~ex*bKR*=WkH)f$Bp-= zx@R$_K2U>~19h@yw_0o4-HudZA0W$L^UH{34m3Mf)z&I-r9&a> zy(%8kCKBd>YbDu+*I*;q~L9$MTz(Ud8s-;bu@t6_h-E=Fq2s=j>rb*>uGS{!Ub1L#$G=FQ7G5# zqkAp;C28{RBWD0D!FbZhBaMcyN=v3c$c1*yuU9K3Y~s1(E3uceuyXyET$E@|wbUQ1 zem3T}TBxdHc9a~76*~?lqT_?ahKf^LvG#Gv!s&2;MtT3tlTCyrW|$+3oS+3GV$Jbq z!jSvW)ZWHq+O3!?1>|V5cx%dA+iBcTdm2UqONJDG&09ZUR@8fd9doR@yiKDnO*3_r zGhC&8my0DJFL8^_Z|_)_moB|!NJk*4XUWJK(nA;w5QnA}u<)n7zxapu3|74>EylR3SOW7&l#V@Q#YdP7hoRf8k$&fVEj;)+>~xt%JtCwMqz&?4DhXt z#d081uN_BlSI=kX{urX)zCnzFCvWbVp7CX?PaokAmy+0&t~A*=q`El|MI0scu};gA zkkj+Bq6v-tdG6b?xMZXE-A&%3>tYnPTkvWpIMDFp(&GLIv!M=P@FEjc$1(TcUn%$H z3v(t`ctLh+g6}jnIzL3V^eGQ}sjfkzUvenI6RS}VKWC6-%Hw&9veY(0HhR6DKJsn5 z0zUD2qQkp`a`jIZ9mHV_t(MFm!1nwXE%O#XdTZ@g98EU~7@D=hJn^uNYWW zt$PFckBwl}YSg0%<)(ekz2&n+mMyvCtf4^tUEz&FJiw3>c;9lZxc$r*pT05kns>m=bDt4^$vLyWIz$ZFTC!k~>Uby;b+>4qR&7zh5lLyEO&9w)C2QGWR*V1#4gCT(oeGn_W|% z*S3u~#wHv;&CvWrJC5tND5yLfTQ}vdD6i6mFyl7BYaac40a)Q4D*|Dgxe zgDpLtN~Pi?eTAm?;a(9|e+ZVnN8f$dUIRXcnIzH3ZN+7VV4*ub-0Gh=P^>C2-GK_9 z$>2hT7~qU)fJMUH1X?=RM|gDednokPT~RM;g9`$ppg@JxbG|@R!(v?e!|~=*scb>@ z04(UJO^K)pqf#xV2GB8bPnqj3F{k=P08Ia{{(;Y8y`hX$xZQPx&;4aUo7T5U*%j-8~??*3!-*UrZXeMC!+Y9r6+HT!U|AqjBP-w1y& z{3M&gr=0j`y4(C&vGF>KnXVz#klrKiD`vs1lVqwt#9jQ!xR=MyP-M&(kwXPeWva|ev zrU5{XjVvGdf(|Uark6VZ#?3r~FkGXUSx1Up6gJ=krng$qaGfx3gPLT{^4hsSI;}3md@aa_%ATjt9S$x`xR6L&0uB*o=%spM&wD;ce zSpWUocuRz2kL(lKGeo59Eh2@CIL(kfqLh`L6ImgvNLi=76LLz~*?W_fRZ85?w?5Z( zeZRkPKOXme|MUCfcRj8@K2hg*zhCd?IF93aJh?ED@)AErT`3y&67cU+sAl4#w&)x1 z9EMA)fRasGWq&y}8!1smu~f$>(4`>9^?m<|E_AfvQox&Y;Dh7%@!_$0-$$3(!&Vpq zbQl<>h$~MW7~P)vzeB6m?rpp=qsu}k4+KEo3R_ziR{+JdpbEiH83d^lUnd^T9nwAj z{n-Ug|5Q=Tgl4V^x>e~5vI6VUn47LpkP6`%#C;rwe`}5C1}|7p#R=;KGEO3z3iJOu|T8 z(76^(keq+Dhp02(*Zn96($0XvSJ;<2#!cLJ%o^z#?|cIDh6C{Y8Qz65mCj;ij^XXS z8=cIwDIu?|*edRtq`aX#g-Kl$KxSMc7~iD|+i+jNf~$J~CYGrWP27WEt6eKVssgsU zQSI~Q^GoAWvy-<1E^(REdU3HtGGDESR>HARftj3q$m>|Gfm5a8WdSzFZQ=K-zOWrC zR9HVN`W8E~YP1s1Gqn-@_&)`5X0v-3%EJcO zWA+OcNGdk6v7bNowNNMPBXB-UE0qkwO$VSq5Aa;32q0QjYSoce^S`1?uJ#kq%3e$8 z;7X-2&J!x4?GhG5O2w7>XWcVBd)S@u8tqT-$g#PEt*op-y;QZG{#A!&|8!8!6IhSm=YshgQ9G6e~3pc?@pBnM>8X`B@8N2H-R%knrfEgk&?Uxqkqr{D{fHfaFHC; z3%F~RSyZy)x%JBRJ(w?~Amg*gr^xN2LEQjDGcBT0){RWKfV}hs?iasvg{Epj0Kt_Z zQ8iP0DgH509b_w8W|EdF@{?zECZFIlP5z`@0`x?@M3r(V?Y{BKTua4u^fMpfvGY}T z0(BnGW(sl%iTgsP86rcSJvQSFBPvpEi`TS%C1>1Cnz^Q~BYtrO*!NP$v1IdRyaWV* zCR0}Z`Mi32Whgc#tF5b$auX^F6OGXy=AT7622;d7mf4we#^8tpm58+X7(=YE8S_gd z=Eb^gvTvJmxlZceg2|@S1UWJf-?~z%@;POG750!Ii8O#o0C7N2R`-bHpo|uU1(}x; zoP>9{x-lv8PG(JIGfITfy{>=?QP5@)@mBPlC)I!5oU%RtX&mb%^WhH*|fS z(pwrECTiNbX3?RyR5u~V-_Z^EOf}@zX2zTx%4#>FQ6%kGWb83yDZT+>ev4VQ`lb(| z51Zm8HM>e;J5)CIm2xfuEk55edi_kOeK3cyie8By^Mgg!(f9-`&dRa%&BTLm{0jp` zauE@2Z!O;oX#Pxo@ev0-`#d!z`Oj28^!wXX(pNtxislfa-+%W$V1F*2ZNT@evC@)q zNHo=ueH=BL4J~$wL-3{NnM<&%Ox^giiLG!-R@ME1Y$&UFvj*m~`hrAM&_wI!sD_-^ z{3lyUS%SUmjo!P#klf0iOklbr%~cb>KReI}-CaJVBLXAO6H%ecR&GLAN5FHzX)7=e zTr**MqOIWMlwZj9;0o8BXQRX4NTKdOAwKX7R-=xVJ^+t zUjAhXcAsf}15wN1+B5b@ZY{;V-=KV$wU4E+{uj@xRYvpHNSC=}5a%N!6gQ4W@Ze(| zfKA?>t4Vcy!n8I8^}p-_Dd+Y;K&`d*hZlqLf%s2j;*~+uD`TSZjB}~~9T(;cMw9+- zw8r3Kg2YKDCsGC4>aY{+%NJW=FI4WkF>?;`RG?b|6DueE&DkFQ3z&}EfXxS6`_5m= zgNksK%+~R$5ntX37u;l%!kkvvxqO^4FpJgc%Hi6nRVyNeI^Fz^ty`u-elqj1g8BB{Q6@=^&}_KWix^graR!CD z_mSLxe|MFo68kO|HNtYz>T!&K?rY*3Bjf>ccmb-lH)AekkS`?5A#m~F=v)9%(;fQ} zM@n;2aLRO&Oi~vP692r1)#yGr&k2J`b2A9O8&u zyykInA0}BlJV3U^zw5R#*sb~PN<)+eaqYF(%rhyxtb_NeLWKT;z_g4ujwenVvU=&# zGEb9W!6fW7Wyb@sNRq9xKmG`qcH-mnP1)OENBn)c%JTgQoK3?_5>Ky$c^tF9STkA63g8lt_X4#?urTCU{@jst2rjt;RP;IUR!Y7g7ZET-2ET3UrUMAnz|mrsFZxgRFP+3QWH zJuwlH73Gj7$AbieEQnnf#L;^t8|kKORy6#EZjib)Hfi_bdq+j(qwLq}FP6w}JrgDA z{nC+xg}yY;jOHtX9vkQp`Ew>qd%JK66YR)co|LB>-)+9_;jugU{-TkFUsCpiCl^{y zo=%YN2cvtGk(XaC&V#+0=;QhNGN|+-F5JO?G$FOqsGJh4=ns?XcoW>{*jYeq$aYuy z`5!$d=msf1VjujKkB7~hPO6b3G)+)}*0VWSf_eImGPFwsnT;8m;zvQM9@@Yuj;=op z(J68J;B3iS7{cXzz*8}Pp#TMG;H-cmjEX6fV;Bvxz!t;=Vtiw7B!gs6_)?_=LGHFr zXe<=O5O*c;h)h3SjmJv?7*Vix<3yb)B&vI_AhRln zYX-7It0TryEH!K*m!5Rh?*QDAaCBtpj?UgN=+M|2e*Yzo>Djk_3Cya}aqjFx;2NAy zPwr8aK#^SmtdZz2$hxQ8oY;w*CYSx#1S+*3c?J;_tDLKrw(s1TNT8zoG4t>A31>*y z>ND-ftdh&P%T;;oHtuPK24lpmrtgl959`}3*EcdZFVG)+D*Xw~nfy7nVX^za0f7n- zVdKIYCmhe$d|@#z8lpQ(eAhKUZC%SbbXyD1Y3;TQ-NV0U2SBfoWMc746CWbYqax}+ zng)B(00{>YalYTB5!f0KzXDbN0D$~1qgaAjkOElt2N~RkK;s(X@w88>iiG%3g(^2| z%ZB00{5#ff*6GQ*B>wU#SA0C+q&&rz>BB%r1?BvY#zuMF5h|&H>}GdQzc6zlJ`QZq zEfz&_^MSFSR=#BVtK*JGurp6q&zMeGxWD+m^Wt^s@292%ehNbspruo2a;4^dxpgN~ z@U@NeFBX(d$#oW-Wtyv^CdH&XUj}B))Ood1N&eE1tMUxKAryOuwGdG>#q-|kD0ltl zFwG;kNN7@2yPWsdg%`UNo<8vE7o|kO3`+Jq`2&Y1Po8k`>E%Wn)2pMftK$AXDyPp( z&yvJ^`@~zwULf^~mecdI4}jPwg6<};Cf(Ut8yiV+MW<&dm6FHcNYc2luqGtfyo9$5 zvq~{A<2;sJ4P4+cbLx*u6~X=0&E1e*Ypm~SE2DJoIDuH4^Wz_hl8B4q){&U}^8=yI zcc7pH2X(hYtPg0*Ruv$@*56LO$zJdtqu-jCdA$2O82oMczO?$Q8jmUIo7ua0V6nm}pQB#iYpxAFOj~Tvheq zG?}{dfL!7vdBb;`$`$~t`}f(DI+u!`Q5;+%5=w>HSKXE99oNCGVQo9>sIOZuEkk|F z=vuQ0<66Cq3}1v;Iz+Y4-@2$dkp1k+E-hZsu5vHhRD?ob!j7*A&%;4=^ z0iI&1;UzjH*ub)gOZk?C=Xi1 zyuTx70;F9x|8*UJchFUIk>jK?_RbclK*=BM0Red+*!Wz~UuaYj zH5H&0MkK%;w$hALG0q?7-w9)H)+K7qW{bwz8sPhMn`em8g0#+zDV$jah23gdzN3gD zN@-rkwe^KZLRA^w9d=HZu6K!e3M{57D;~~-K#{9Nw1BA0d7=R1b^Z)e7E`D#I;H~q zZSc+zQb}iAv1CG>J4!YPO5UiXOitqb4wyp`*U$O5*QUaj9>q_&L6Z1!Q%K6{a|+pu zl8PyjN7D)(@y{M=9+Pq{hc2HX16&Ck4?G+n00$45+ahi{X7nO&+Tpa25_eOu;f#WY zz|(hr08}QD`56=T8W^cBx6~Rp(}EFpX5+Z6nUHBVap}1w%BD4=sta=y2=+ykd%*$= zgaXp&(W0a<04xq0yK7WK61bp%QY>FEeIPqQT26;x;cHV>fN#gNnxO8jFA^BvR$Q2( zu>W~cYb@5ieh40a5&CHI$DPM9gSFlzW0GNk#ZT)tb# z!wOZQTvb}srE(dCg#dMl5CI#Z@t$gK;L!t{q& z_W1at-wp$5;4-3caKS|L-1irR&l!wk6+BKg?o|+Afg6EGXV{?^j+IDbnYymrJ_+S* z3_nA21N8Z^ic9D{2BJ`?sJIorH2CK7r4Psu3);1A_cwP$%aDa^T*FHpgIy}HRT{X+pI#h-Z5T5ItMC)qT#^+2Hgk@K=l>P72lbadS3NYDtc0kB9NfWbnku;* z0p^VFx*roOr742>1GB7&27#2wUII}dsayzqdJ)`&Usn&eu4ep1VN%IkAAWcvoU$=d zeV^TgRs9jyrgA+a++}Bkq#ds9W=&nn1|Q6_A+33GpyX$cCuSj+=YmeENW{$Ar-`#<~0pN zA~Is?6tzJzC85iR2{Dbp9SPv&evs^gmEPx6DNjJYbK8Ks zfzvfEp%Vj%EDmpZy0MYrrZQUlQpdVLFUH7R^Tc_lj{R$u@z0lZ%AjkEifvy1)n*y zsEu?#aT(l|+vB(`ax9W%Eyu2ZgeI1H-%!MR#V0TA(BlU{w$A7u$E(a(k$D(V#yt+K zq73RtY@Uz79qhDUheEDlHbxyT{>_3rRd78%Yz-7yTUtUQAgnr4cZx9~qE;XS1S=;` z=n47(9aaO3T()ElTb8NxUy1l=Z2R900p7lPOY|W?;MQM~=k(2^UH(cH zzX6`N5aGVuCya^gsawnphjl=}k`937-;br<)~IWDxg0>d+J?B2A__~GaVvfq0dezi z>*XQZqB(>NzMIDeC+%Np=x76F87NQeBN!x+V^9iRi#XnI&>ht2CWLGAoR2)O!~Sw9 z>Fcp$QlzR1vU-FUF#MZDAhr)AwbgtbvI3rOjz#A_mBAS)uLJ0}lV(Vz2?VLwqq_~$ zj_@@vVDX7*C--he1)yGRBO!FlUFeewOc9uTaKR{GBE#x{0tI~)G8pjf>s#vvICQbb z5}4jX;5G^k%a(yHA5v-sbI}h9;x)Q>zx(z;38`Y0U9}Lt0-1WSHy$xh0y(DK#Fflr zAkYk0Xy1lAg74=K*ZegUE|6M&?7!WCp6bu19I#A=;f4xn%Eu?NCXHDEnr|`zTOI4) zR}c5D!$Si%_YuO~k)rb3C^29oM8HL@zGZc3^lEv<60rQ|xZbS*t z27<*V-3M3+K#wkUS#*}RJjw^oHpnSNf`%bwP;6^8c)*G}ki^{FrF!}Tma74*>?e7(Wnt&*6 zq;diJ8%}LMb@W5{SVpd-h zLg|^g0S>~>HBDf@k#zNxu3V81T(%*bp6oUdKm7Oc*+IDGRdN7!Fxak%K$oZZpAQL? zpQ&OwzkV>B7XVwBzNA9+4L~M4$_JiW4z;*M*qGs&hf9<4guRtF;U0sfyQ{kMFRGgl zVU68E!=Eebd2b6uFq*b6VL?|yz5S2~FIpSTEbSHj0iQX1d%wNMe*qiDsgg0ae z?Um1U9PIXkh4mg_u?oE)L>JhGd>8N`F0JN9pg8M>t>Izi>IQ{Dsr^t-{6qYs2pK(} z@*R|k6_h!qV21`Kgx}$;40<3MWc0K1VuVvQcbiUk7OKMxA)?G&*TbA$Nb^~P#5I2q z1a>lPqeHjL?5Gq84`vaQ@F3@w5s)>*J0VV1oedFVQ1$nA6-0xt2!$*8tkeh`bs$|} z)EOuEpCC*jiw26AObizG%|QYNtmw1Uo(HB+QGE0KYP$gFp?n24gp(mKW=_Jmix*&v zT^SLetc+Oz%lwKz^uEscWn8edFfW0v^xi;+!Y*uafp+E=*bt)KzyOr#;kHgY1NqRy zhocQ$>9QxSPMCZiQH+4JqCF3C4X6{)!P>wxc07mq-s?)IiP}y*4nu??r&or{-u{;l zOFq;Pwt@t6z%JmVT~00ZAHn|&0~)RHX-I#CzLK-k9fo%8X%8dfkM$wJes>-43cJ4C zse>>4AV@?O&PeRA>-oZwR3&6nU_z#W2r&K7^IgR-YH9j8RxiDVzGB$p8Pk;&10_}% z#W@ORFw#?4__N5J(wY{!ztW&dFyU_4{KPvp6DpUD_xHIvkBk|~D*QbpY!D;3LXhep zQ03m=S^zxFg7M3d7@tnLTcNR#Eor9`U0()<7;= zIJ(<2aBM(^FXh*C6@Er4M@h_%RZRXqarkEfI%Em24Hmy4l0!cD4S~)vxG1(C;bra* z6z#pGVmo@3M0gd^Cfj>CjwDnpg4u~$MggnyO}|7=NNak)%C0(px} zGsuBGq0xE$VPr?|r~&Ud99=2HF06R;dlt|}^aSI+^&1MKkmBe>h(fsvJ!;1-dlT*n zYv4}{47{N1=%?sPH{=CEu9Ak@W0=^h%o)9dkUE8Q`W#&BY<$%?H}XG6pW*vc`H7fY6wjTb7lGQ)h|=xgcf%o&X~SP#{H6c( zf&AeEscV0oVn2HO69LE{j~*KWooM)MwxJ5h-DD*cfos7JKY;&MkX3?@#Bp>W0=aN- z(MpdFL?9_19en!uqXR*j$%1?=@}r|AM~Q|DV|Y|B$c6Yv{QqxqbZ`H^bh$L%;nH9w zD5TdzZiOeOAW)EJnhAjuAUr*XXKVD}c+e@8;!I%R3k<8Sz#pq-;qd{pB;4VC=V2h@ zTR6QMC_^*^m0$2YPj$gxLE&``fdcZ3ls^0+Nud;X(0cWNjO08Vq8sy&GS2?}MIds< zX0IX#3NwYA9)$xWw2;z8{qOujf!SEh8=2Bccyw|E0{J9J3b`3!UIrtL_iPY!McVO{t5wd_K1(bq~_Mu3v4g>2` zefyK(bLqx$W)m5g+I&hLz-L??$JhV^8QQ;04>l8^hU&~vXoZqZIr2P}7S&Ng6=8x0 z17^~ZtZ_jju?SX&35sDJHsaCLZuh9ei?TpB@>eI5(ahouWg`35aYL5YPhp>r9xV}u zfBrqh*ZGcAA6R87$byASt%kb#aHA0)E;5j#`Kx7M{0SO+Pe@+^mN4%I#!M+!{pyX1 zo~VsOWdeE)NxY|uO9xQwtVr1QWFxi7OXoTxVpmhb8Xk(Z=0$w1_w@>*_(t(TIB(Jr1k1= z1z=Ee2iVWG>;z*EI_p{(c!V6h50I_blQ~p;2IyO681HY(l=~bBcRq+eH76k*)v)FiwY|VSLa>}I(3`@jox_M@6~Qpg+%F&i zeGUSigY_%;b~He3Uea-ysO{cBIazOrm5&QqH~6`JhcXhG-f>LY0m=(#^dir76R9Nt z)A{Ov7X>v=F$JFDF7$!+bbuh}gLYRC4+DeNz0mO)O+!}%rGfYLc0~p0|9qe~P|{@L zU}Z~gg5Hsvk;pS}ZGgJHd{to=bPT=l9WPz~(16gT@UdXFxJSgN9_P_XQ(#aM+yuiV z)TD2Hi~()?8)zbl-zz0x;G=+=djs7+xNfIr;?{azwL`c# zfVTAxh(jU%>}nOXArhin_}7eTc!yw8a~aNAT@xA#PDJ!g4-e@(?TiobknS{|C;Jw}g=(Bs4ta!7o-j^j4@V68CrNPo{aGkmeTFHreJ9BKLETOwvvl50DU&{U;_G1PZtleW(BT0mSiv8@%U` zWkS`hgERl-=l>`9rTK{X+LwpQXU!WT7I0G#)k3L;rrJf2Oa|2u0V@)r;pF-KJLJiQ z>?{9o{vzczCjSSL2FJU65LGRFfDKDJNTJ;S2Wj#D`3iL0=fL{y%_Tsh2-MwDJ7D6k zaIzyL)!M0@k(ui28w3l?hQmMi#o?GxAFO(^Z>~7+T+y_7J273PlpQpyuBerh0MbmJ zed<>*lGO$CxUd$p9`})$+*aJg_dy5%oFF^f1w3ntIWy$m6NU_dy%7ax2c`spqYRI{ z|KWDd)hm#Kruu4K`VFk>jxypg5Zf|~+387$z4Y4pa;Xy_FsHnQKXb684ju>wEzKtY zewqL^2Bz0+m!)`liNr`d$jl%nfr}nN&OAOP%jU`ZrzHi zrxEn+>5x6(hH(c_zhKg8{eWolw`MVdeil53AHYXlAFCO7^b1j)T~G71+ci}k4^>S^ zA@2-Loa~(!rjV5m7Y_GdI^`Wb71CAIL#LqAI=GyY{C=GeYwELF2Bex`O7ivQGl&hr zyyk(-{zel*+|1xGY#;#{M0zUa$3y~^EZ$>V8eskOcZ^>?H0R7&MSR%B;RIh8`JyVA z)LInon@X`wmjuAFn>R>@@OpQrm#JDOVA3Dlz6Ql+pp(B~7{u0z`V9>}Ji*H_Pvp=} zYzkjEXXOu+{0)J)k8Lw3x(-; z*sz4`cL~XgH%IvZnM0t^6X5w0v6qMJ2HCY$z?{_*s+jQ6Qd78k)6XuK{I33-JgHUev1-^}`+upTQY>LSX{}%SLC6K;dS6M)d2N;BT8&YlT7+R# z3@vccOr4f;R==OBm(C_RlKVGWWsCa zY~C~OU;!%&T1afLNPHHVbj4Hfcr?WHnrUdjM2~gL-UrGL1c_bLxAsysOBweVaR9WV z)X>bLfcXu}^H(&B7u3&$t^mfRBcu`j5o*n9DOVS>STunl*>gKE?e_NpXI*%1Yr!{4 z=Fhh7J!Y%4l(?z&%fi?{k?_#Agg1NJ3VS$n&lYRpuaLf^ zV6Z9pa>Z`~Org7K^-PbT0`@%?EQST4G(dX+*9{E8q?-ew004eY%&u<{JOTN@G5BAS zO9R-M7!{qG8u_3o5u6f-Kum+%!t(?@agF;ot0cfQ=V2cHGf{}WsPaF6@(FssARce@;E3cyIRR5uD>k$Dp{N0D_*>tbfH+lY5^o7Tc)Yo`K+CKp zd3f-nVMMjNk@>CTQ(&ONK?pH$dr{ zOWAUbdmO?^TA`fELM`PRC@K1eL2V*fvm(-g*hK+VFzA+7BYU3?F}ZkD9TCH#R-35r z4^{-ypl>f{Jk_Z1y^GhzhQx+~v$Nr}h9sa^cK~mPLh&h&zkkM1@$qeDdQr9-V(>z& z29$ja8E|e1u}3(*-eJmlD2DezgmT4?++QsVOFIHX_=}~56hnKKJ}U2V^-+B2G>2yp zBWFQ#2Xyo_%)E==AGhZSoduvK!>;uC*AM(OvPD=a`JH$p#|--rTR`t%cJ+SmCJ3w$ z4R4DRik?U#CCs9rFI>Pvjr7-4W<^Cai!Bk1{#yc=Jle&qfcnl#&zVn=W;Cnb%-Z|q~PU;&fQeq+) zGu6p$-;4mEEAted3}LcVD-uwMi5|C3(ljM6dXtPdpWX$d84F!Rg=v#&f4e(KNp5O8LV(gK0<- z4NBKrr@Fg;sR@hu&<3PghJtG=Ocm)}M1m9>|+Pqyl4#Vl# z_X5{pz3{oSPgo$+Gk%zcC6Hw)vKV7LMgGm}`cMl?v10McV)`^p)lAe!OSr6u6@YH)Yn@pbekf zFP`+An9#E8rS$^YJNFBi@faEqN$=RBxk)yprfSpwj*fpf^_->r+oWq51Bnl-Je31^ zruWDf5bxbT8x%R^iah|RUc?JNRdK>c5`2G805%V{KejKSu6qRdK?cpeQ;HthUuOGv zr+;0>MthfB`BAt~Xv+j+VtK-S<*cCP&x>;ru`+h24Tgc?c#0tnckGGwtN!hZG1s<4 z1kb}f=*?TkExv8W#w4Nk6&;*hShf*nS96m2p6)+dXn6>QgWZ4VKdcoGN=GigFur?w zjXH3lQxBNWHN0U4&Gidm@8h7Cgd!XD23$s`T`-X2C@i3jSFll-8gl8G40ty2=r{jW zGAUR_4NVDe#SBc}s+z)1YG}+bGz#}bDW*?S1yLirRW#GRa>DFA6{$nKLx|V)G6J}& zRbt;x$$u^s?CVVX&@?1BU`iv%h6{2OFGda;y_kveRNNZWk&tl$c0}A2?{dXh?rJ%Bli=<;BoW5sf-w>f?}lUT_m7Yz zgSFIV1}VANv12W^y!rgQD)z4=>VGZs?(&eO1OEmE)Xu(1Ne#79E-Lr>uhjX>=~5y5 zjL&I;Aw%E5S}0faQmTpowk{X$RQW>TbHB|tPFNPK%9h2Klyv*S!ed-iY0~JhNld*K z5~a`aO94JZ?^t>KZkVVk79HA-3_e-yDoR3K`OC~5((IgqxU0RmJxBGz+r4+$DEi-? z7cW~tU1Ly>4|AyHM)Zu7L!qmFuwOgw!G^a&u#q;pHv=Qc?<^FOIMVyOwCYL^Vk-ni zS;7w-6xD0>o(o@)l zR&eZ9FI3P#uKlaCuN;KVJ~&cp@YWygYVD0S{@-Bq+TN*0KDa-%f>37iU_@+v{_3_vTrcTpU zex!{;VeW*l0IN3=V1Aml7BB{nnq8of9AVK<%TEgfp&ca8wk3LbTItN z4buxGkz6&O0t1yn6Zpn=+TFhOe;JDaC=2Md&RPehJ(qG42m9(4uS=R zY(zab?2 zM6I^X1jd>f_LwYONB(NdjyoD@RGiZpOHPpYlW}8pX5p*mp!A~KV#aP0gxP--v~I1H zbl+%f#ohAuIxvodso1_99cZveACglFeWJPu^Y;f(P$Qm1^O11DyjO}_H~3e~y^BbH z*vsF+n1M0TZNrTve<+4^x$QJB?_g~c@40q1a9z9JJzwezG}sZ##U67GT-}+qN5IK4 zGd?U}a&_GDg(+hBLwg}#yEdUl%bYils{A|)k-%+5?rh{TKzGgWs99D6AYrO%bYCK%4`ZiY3DP|e0z))Q#pYAQ5ykZm8}VnDO6Z{COop$DMsNj`I?vd8B1pansczww_! zMu*3fS|K^Z3UAQ)N4j=MF2G=x)BO|(Rs*0Eak3kqp!(NK1E_Y05R4(jN4VK0^Z&vx za;}9SH6{WziB8afgUxq~GhPSbuVQQ4`@=h(MqB@=i~kU*f!J3JD7%b@hHtnlDX%=r zd5P8KtB5mI8`*NqubNE1m#8zCwZH7pmQT2S^C%RatKXg#0l{$f&(d`R0|Q`30B2tW zb|~d-=ere{je;dnRy7(DGq`3 z7A%$l_-Ui?x3~#=P z%ua2S)53$sk=@pHnU_~T!|_VlO0jm_cKvwKwL1M7`qr&ma148Q?<2ybot;~^)bp0wetv#XhTIrAIeA!E7__F=2-8%DZ zcX#*26U!;Nvil8BvWE;96DEOEJ$v?SE}M8o>teH+&w272mq9ZDxA`aVNT-QI@BR|y z8zOEJQi?jxPXEEq%8HtaiHVX@6oy1{X}SAAJo5R=7ad7<_U7(xVL`!jK@v(q(3PUC zt>s<$`S`$~1$k<`0~GA-`RZGiVCX@}mLMg&%6)Zd30y3?pwLp40=Gb|1!GtHQQFx2fw^z-*`Hm2ML z+9d!fN!iJRSia}Hdc`4qyGO$?B_(Blf4?g$_VjFQa?7HSQu6q=DErUS@NgnSU>A~( z%bO?4oK+WZ5{kfN6{4GHF5P<^{J`70+u704(Z@&1m*y}yqMtvxw6r`quU}_I%X~@* zzeW*Y`Tib968dcrJNs|Av$RC{XP%t+5UPrun!a%10!)WxQs_wB>*s@AvXKEGkJg!j zH=fKA6BCoevKEq%kN|i3nlM_2b?EEYubU&)C(1snVCPVAh~8d3nUi}?Dct2ew-w3w z_&BmlI2fm-pwJbY42mjc#=E6(ZdH(_7uhC3?D65WLhQjyy+!DY#7(r4ztlWzZI@`y zo5gD1xZKg!mht=?a5dR>EiEnUHtfHlogw{lv9Ph>64!kj8*P>HZ13YO(0Ex`SY)&~ z8B{+#PeX(MoYEbqudb$MW(E%Eq=N6XRm8RSbd(-Fs%MY2FN+RDH|;`&eQ+xwhLW0E zDF)=RwtKxkV;uDQVXsL`Y(|HNe}UIAS&Xr^_C}O_evoff2uZ1x((;8NbK!_ln=hX~ zn_Oa3R8j&m@-#lJjHWb!SHq~y>guX<=FeQJvS`W}humn|*Xti*z6cRp%r5c{ooI2v zynDxoi!U1g_3J^5ed)38l&{Y>H(jdGO*q@e;94pU%PZS6-f{Pb4KJ zLtTQ<-%JEDsbiv7($mvHoE=7ym6@r6otc@LyRPJsU>|W}3T7jX$2Xy93qo6n`v;Vl zi(h`5nJHI+{)UU_)5N}%_Lg&>RpNa~_4(yhKY)$kgI3LDj*!#=AmlU}VJ0POs_h z<%OH*iuh$^g}~G5Dk@HHZj`3osgqc&ND!Ly!i8nQAv@MHZNWD?UtGGLLd(FQ5tEvn zYzMFWsYZPla0=3Kkozg7Mnn)(61H7FH_U zH)GJ3#KdItCbOU|EE4|7%WY_3!N!BOvMMhtYm{O2(DsmUyLa#2-MdrpXgTYvtG9#b z)WN|4QXIGKC@&wMJp`PX`TnvySXj*FU~g|{XV8{7HG&?08SWRBqm0q z<=1Sr`^-GsJ~jdq&N5f3*beasRJGbBCIWsN!YnMu*n)bS@^uVU#EB08$m&bJrfjv5 z|Loay4GrR+9^I_S@NidW=PDrEjg7~E)f~t0KUN}9%&jBfzI^!suqBBV|LwWC62G!` z?HNnz{QUgd+8W5}9&>h&d^dZWmX;Q6wup?gw~UlQ1Rw8yXZGW`kUf zqpx$6M!LI;L6jabHa`9cQag@cE8{ZkLU!`Jyr!rU?eh6LA3y(DTDYUO|J>1v=PMl@ z9dU7#-{;RJ7Q<>(UmaNo2mVuf#Xr0(EV61zWTB7T^+oEsDs+@bK^uYNg2R307$W zzk~p4g$HG>6NsJ#vXY{r;@sREK;3T6&aAqE{QQi<=7CXS(|*i$til?mPdQ%PrTvH# zevEF)mzS4^XY;NKRNR^FZHEuhXf)uKdIrNeHum-rVPP&VE{J#>z6S)iT!tC7>(|!} ze=y7OL;U>qPy9R`Z6AD>R_XZPJkoR&fxP}+NQQXiS51F^Hv9MQGadbm?eC}9_~$kJ z640J*ZnR1plJRBzczUsZbh#9mby=`b192^YGHM9*1 zc{d+2l%4P%Zt!au8Tj$}$>a;}X8K8=%#Rdlh{0yRw1;m-@tsvOXj-uKa2fy5j%$DlZkIVL!W` zeRRRe0QFsvPiH(|ybM(AvW0`gAE+iQZ_?e5vmZW|vMW9Clu6a&I{iACU5v4g4ycg1 z6*K(7yciE3ztJ<6i`GzzK@3vXd1`E49;2VN! z@g;1F%iI8O4FH88b5Q<%8;ho)re>1zAfDT_JoD<+E8txNS;fS~)sh`P!(a+(cMn*j zcqd(k*@cBzbh~>|UESEgfG7CjWM;p6M|?b8v$&;N4!b^D5GaN(T*RL5O zh7j;2T<0Syxy(i@o#7#Ni-@)v3&|GIm}NE&am6$Lxk#|{;>8OJu`V-b1H=gu3RLvz zM)l>Y{JcE59AqP_=jOz5xi$>zGf`-!K9 z?Nd!Y41!I>*UT{#@%FC={&V1e#y@?ktfxoWOk+ZX7bhCCy0CBw^u^Fe!h3^-Y6MT~ z$B(eJIz8z9`)gimY6pXqKpf-~vjyC3 zC#RyEoCUDMGKahb+bH^={+8VXW5}-5*jS2`>uxYXOZMJ#%rXk?HnB>a@!`2=U4cx3nUai8F3lU=-N46_T|CkBvJ$mnp>p+n zW2H7h_pNq*2Aan7-t=^q1{ae;1+OI2MR zlsf^MYRNB}_4W0g`0`^OPJO_m{4hmIo3et`z$6p?-_%9gg0Bt@568UEDD3Lej^W=6 zivrU1^h~BrM$tw-k1f6~D-)Z}d4v&e zzV>W_)k{M>y11`TuUNmbwpN;tkGMlE)o}>!qD!`yez7IAD&-YHDg~Ym)%K!Q4A4;_sZ{an3v;1IA2-%gc?> zn8DIyGWQEwDMS{%C)d4-U~df`o7@i2S=g{_e*AjkF&g~*g0$j9=_t+- z!D~)$L(R`7i94Mqd%(lPvuLy&=lESM*{Gq&=*?TS)aA=P6_Ze$#HlX+1lKM_N!9YG zyLqe$_7^W+)QM{A0sJ((ASPd|qOTp0x;G?$8b&c+H8J577pK-G&`ZDB5;H#}arb3OwOV<| zS^1CesUqLv9cu#*G2v7$_b;^Po0m#APLtQVE!|MLs0PO6V?8~Yi`xK^ut&KZ>F5sa zZs|r*swUs$r4*Nq$+t+f3z^Dd+f$b`+d$X3wDl*CK#u`&f%VJJGu?s;t9F^PzYfnz zzPzVR`AOEwreo&YxA47lBz=#bpxk9;WkKXeNtKzIc^jKF-uSmwsm(`<r!Qr5 z5HW?SB9?-joF#m^rOEAF8DyVUC~1IKK6#308ahG&x2d(Yw4@|%+t`)eT@M@u|5)%s zV|hz&prA=@y7FQmTK=~U_eGr>H{>p*L2(^~&o&G*Iy!x_c+DEs+-a79VM~HT$hqlK z#=gzVYj)U#lxdL-Hdfur*wvL4g*0JNmo-r6eSr}(!dCdVhxY^E}dzOU6s?F*F{@?Pb z*P^YXvoq)EUPy9sGH4qvad0U1)Z$yf77(EB^5IT{2~kB^*;tipPIgr&Ej9Ipc!F@F zM2U_sU&Jn6EGaH#9YVDQpU(IOVGaTYZB<>}75=6m71?KIa?obvo>Sf2*m$f6{m%=O zoMA`!F|&ozYjpiVR#V>z=nc>P@IO#XK2CC8G=zzRn1JB%n*1h9DyUg{O|f%uH~@Fz zPC{GwwmEtc!!brMm}o+Svzlb(~wJ4-Pn^Ju>^SI{d9 z&B@6*vpH4qgeW84h|5Jqg}}b1veFA2;kJo%YLX2(e#2;G)<)lSoam)>2#d`qx-!#r z6=QwU&>mVXt;_dGR2gVX`?FH-jN)Lf{^k-WX1j} zD!Lt{YVze>wq9OduC5oKvl*7sK?C0q5fvpaCf35Gtt^cT*#Ou?NPt+oHQ?D8htYUt zHu+wMR2@kC@3g^D5HIwU75K}NnB1|UYM$}%I3*y-mtyagEa9}B_fZiOpgz$g`k3Rz663#NE2ExTgG_iPhO_tOf|i%d+kr$H>T0Nv2!7t^1yeX&;|M@YoOJK;`+Z)6}+6Og_Lc~qAXJ~hU zl?5mJb91Ke01%82&M?NxK6vo!5PmCkWfp)$aIeYPEYw5(Jx=>M(#0J8|Lb4d8K9c$KZdeidqTupdatedFields for a specified field. + * + * @param updatedField Field to update. + * @param updatedValue Value to update the field with. + * @param type Whether the value was updated or removed. + */ public void addUpdatedField(String updatedField, String updatedValue, String type) { String newUpdatedFields = getUpdatedFields(); newUpdatedFields += updatedField; @@ -94,12 +101,6 @@ public void addUpdatedField(String updatedField, String updatedValue, String typ setUpdatedFields(newUpdatedFields); } - public void addCreatedField(String createdField, String createdValue) { - String newCreatedFields = getUpdatedFields(); - newCreatedFields += createdField + " created: " + createdValue + "\n"; - setUpdatedFields(newCreatedFields); - } - /** * Adds appropriate message to invalidFlags for specified flag. */ From a5d270d66ca1feb0b15d3e1aaa1336f4082878da Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Mon, 11 Nov 2024 22:47:45 +0800 Subject: [PATCH 319/359] solve merge conflicts --- src/main/java/seedu/EasInternship/InternshipList.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/EasInternship/InternshipList.java b/src/main/java/seedu/EasInternship/InternshipList.java index bbbf9d3f76..a1416ae4e1 100644 --- a/src/main/java/seedu/EasInternship/InternshipList.java +++ b/src/main/java/seedu/EasInternship/InternshipList.java @@ -267,7 +267,8 @@ private void sortedByDeadlineFunction(ArrayList sortedInternships) { return compareYearMonth(earliestDeadline1.getDate(), earliestDeadline2.getDate()); }); } - + + //@@author Toby-Yu /** * Lists internships sorted by the first skill alphabetically (case-insensitive). */ From 6fafa8becd6246775f18ad6fe54e9c72c220dd25 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Mon, 11 Nov 2024 22:53:13 +0800 Subject: [PATCH 320/359] Chnage Filter Command sequence diagram --- docs/UML/FilterCommand.puml | 41 ++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/docs/UML/FilterCommand.puml b/docs/UML/FilterCommand.puml index 483f1418a3..801dcede34 100644 --- a/docs/UML/FilterCommand.puml +++ b/docs/UML/FilterCommand.puml @@ -5,40 +5,49 @@ participant User participant FilterCommand participant InternshipList participant UICommand +hide footbox User -> FilterCommand: execute(args) activate FilterCommand #turquoise -activate InternshipList #green -activate UICommand #red FilterCommand -> InternshipList: getAllInternships() +activate InternshipList #green InternshipList --> FilterCommand: internships +deactivate InternshipList FilterCommand -> InternshipList: favouriteInternships +activate InternshipList #green InternshipList --> FilterCommand: favouriteInternships +deactivate InternshipList FilterCommand -> InternshipList: new InternshipList(internshipList) +activate InternshipList #green InternshipList --> FilterCommand: filteredInternshipsList +deactivate InternshipList -break Empty args +opt Empty args FilterCommand -> UICommand: showInsufficientArguments() + activate UICommand #red + UICommand --> FilterCommand + deactivate UICommand + FilterCommand --> User +end +loop for each arg in args + FilterCommand -> FilterCommand: executeFilterByOneFlag(words) + activate FilterCommand #turquoise + opt invalid arg + FilterCommand --> FilterCommand: IllegalArgumentException() FilterCommand --> User -else - loop for each arg in args - FilterCommand -> FilterCommand: executeFilterByOneFlag(words) - activate FilterCommand #turquoise - break Incomplete or invalid arg - FilterCommand --> FilterCommand: IllegalArgumentException() - FilterCommand --> User - end break - FilterCommand --> FilterCommand - deactivate FilterCommand end -end break + FilterCommand --> FilterCommand + deactivate FilterCommand +end FilterCommand -> InternshipList: listAllInternships() -deactivate FilterCommand +activate InternshipList #green +InternshipList --> FilterCommand deactivate InternshipList -deactivate UICommand +FilterCommand --> User +deactivate FilterCommand @enduml From d921a10455b25778116965fc8eba338b8217637a Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 11 Nov 2024 22:58:15 +0800 Subject: [PATCH 321/359] Edit return message for Remove deadline --- src/main/java/seedu/commands/RemoveCommand.java | 4 ++-- src/main/java/seedu/duke/Internship.java | 11 ++++++++--- src/main/java/seedu/duke/InternshipList.java | 6 ++++-- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/main/java/seedu/commands/RemoveCommand.java b/src/main/java/seedu/commands/RemoveCommand.java index e3d1dbc50c..6ccf351aa4 100644 --- a/src/main/java/seedu/commands/RemoveCommand.java +++ b/src/main/java/seedu/commands/RemoveCommand.java @@ -18,8 +18,8 @@ protected void updateOneField(String[] words, int internshipIndex) { return; } String value = words[INDEX_DATA].trim(); - internships.removeField(internshipIndex, field, value); - uiCommand.addUpdatedField(field, value, "remove"); + String removedValue = internships.removeField(internshipIndex, field, value); + uiCommand.addUpdatedField(field, removedValue, "remove"); break; case "status": case "role": diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index af816f4354..67c3826562 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -166,11 +166,16 @@ public void addDeadline(String description, String date) throws DateTimeParseExc * @param description description of the deadline to remove. * @throws MissingValue No deadline in the list of deadlines is */ - public void removeDeadline(String description) throws MissingValue { + public String removeDeadline(String description) throws MissingValue { String trimmedDescription = description.trim(); - if(!deadlines.removeIf(deadline -> deadline.getDescription().equalsIgnoreCase(trimmedDescription))) { - throw new MissingValue(); + for (int i = 0; i < deadlines.size(); i++) { + Deadline deadline = deadlines.get(i); + if (deadline.getDescription().equalsIgnoreCase(trimmedDescription)) { + deadlines.remove(i); + return deadline.toStringMessage(); + } } + throw new MissingValue(); } /** diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index f5f0edeae2..cc2e830314 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -136,19 +136,21 @@ public String updateField(int index, String field, String value) throws InvalidS return updatedValue; } - public void removeField(int index, String field, String value) throws MissingValue { + public String removeField(int index, String field, String value) throws MissingValue { + String removedValue = value; switch (field) { case "skills": internships.get(index).removeSkill(value); break; case "deadline": - internships.get(index).removeDeadline(value); + removedValue = internships.get(index).removeDeadline(value); break; default: assert false : "All valid fields should we handled in individual cases"; break; } LOGGER.log(Level.INFO, "Internship " + (index + 1) + " removed: " + field); + return removedValue; } //@@author jadenlimjc From 413b2f73f4d97cb358311c80379acb35250ea2db Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 11 Nov 2024 23:03:24 +0800 Subject: [PATCH 322/359] Fix variable typo --- src/main/java/seedu/commands/RemoveCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/seedu/commands/RemoveCommand.java b/src/main/java/seedu/commands/RemoveCommand.java index 6ccf351aa4..eabf728177 100644 --- a/src/main/java/seedu/commands/RemoveCommand.java +++ b/src/main/java/seedu/commands/RemoveCommand.java @@ -18,7 +18,7 @@ protected void updateOneField(String[] words, int internshipIndex) { return; } String value = words[INDEX_DATA].trim(); - String removedValue = internships.removeField(internshipIndex, field, value); + String removedValue = internshipsList.removeField(internshipIndex, field, value); uiCommand.addUpdatedField(field, removedValue, "remove"); break; case "status": From f9071a59ffac58852d06b555985d686e12bf9167 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 11 Nov 2024 23:06:36 +0800 Subject: [PATCH 323/359] Refactor package name --- README.md | 2 +- src/main/java/seedu/commands/AddCommand.java | 2 +- src/main/java/seedu/commands/CalendarCommand.java | 4 ++-- src/main/java/seedu/commands/Command.java | 2 +- src/main/java/seedu/commands/FavouriteCommand.java | 2 +- src/main/java/seedu/commands/FilterCommand.java | 4 ++-- src/main/java/seedu/commands/InternshipFieldGetter.java | 2 +- .../java/seedu/{EasInternship => easinternship}/Deadline.java | 2 +- .../seedu/{EasInternship => easinternship}/EasInternship.java | 2 +- .../seedu/{EasInternship => easinternship}/Internship.java | 2 +- .../{EasInternship => easinternship}/InternshipList.java | 2 +- .../java/seedu/{EasInternship => easinternship}/Parser.java | 2 +- .../java/seedu/{EasInternship => easinternship}/Storage.java | 2 +- src/main/java/seedu/ui/UiCommand.java | 4 ++-- src/main/java/seedu/ui/UiInternshipList.java | 2 +- src/test/java/seedu/commands/AddCommandTest.java | 4 ++-- src/test/java/seedu/commands/FavouriteCommandTest.java | 4 ++-- src/test/java/seedu/commands/FilterCommandTest.java | 4 ++-- src/test/java/seedu/commands/RemoveCommandTest.java | 4 ++-- src/test/java/seedu/commands/SortCommandTest.java | 4 ++-- src/test/java/seedu/commands/UpdateCommandTest.java | 4 ++-- .../java/seedu/{EasInternship => easinternship}/DukeTest.java | 2 +- .../{EasInternship => easinternship}/InternshipListTest.java | 2 +- .../{EasInternship => easinternship}/InternshipTest.java | 2 +- .../seedu/{EasInternship => easinternship}/ParserTest.java | 2 +- 25 files changed, 34 insertions(+), 34 deletions(-) rename src/main/java/seedu/{EasInternship => easinternship}/Deadline.java (98%) rename src/main/java/seedu/{EasInternship => easinternship}/EasInternship.java (98%) rename src/main/java/seedu/{EasInternship => easinternship}/Internship.java (99%) rename src/main/java/seedu/{EasInternship => easinternship}/InternshipList.java (99%) rename src/main/java/seedu/{EasInternship => easinternship}/Parser.java (99%) rename src/main/java/seedu/{EasInternship => easinternship}/Storage.java (99%) rename src/test/java/seedu/{EasInternship => easinternship}/DukeTest.java (86%) rename src/test/java/seedu/{EasInternship => easinternship}/InternshipListTest.java (99%) rename src/test/java/seedu/{EasInternship => easinternship}/InternshipTest.java (99%) rename src/test/java/seedu/{EasInternship => easinternship}/ParserTest.java (99%) diff --git a/README.md b/README.md index 8525658888..924a6efcce 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ This product aims to streamline the tracking of internship applications for the **By using this tool, the user can:** -**Store Important seedu.EasInternship.Internship Information:** Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes. +**Store Important seedu.easinternship.Internship Information:** Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes. **Track Application Status:** Users can save the current status of their application (e.g., not applied, applied, interview scheduled, offer received) and update it as the application progresses. diff --git a/src/main/java/seedu/commands/AddCommand.java b/src/main/java/seedu/commands/AddCommand.java index 1f083fd61d..ba609f9542 100644 --- a/src/main/java/seedu/commands/AddCommand.java +++ b/src/main/java/seedu/commands/AddCommand.java @@ -1,6 +1,6 @@ package seedu.commands; -import seedu.EasInternship.Internship; +import seedu.easinternship.Internship; import java.time.YearMonth; import java.time.format.DateTimeFormatter; diff --git a/src/main/java/seedu/commands/CalendarCommand.java b/src/main/java/seedu/commands/CalendarCommand.java index 6f7bdbbb50..6e97385330 100644 --- a/src/main/java/seedu/commands/CalendarCommand.java +++ b/src/main/java/seedu/commands/CalendarCommand.java @@ -2,8 +2,8 @@ //@@author Ridiculouswifi -import seedu.EasInternship.Deadline; -import seedu.EasInternship.Internship; +import seedu.easinternship.Deadline; +import seedu.easinternship.Internship; import java.util.ArrayList; import java.util.Comparator; diff --git a/src/main/java/seedu/commands/Command.java b/src/main/java/seedu/commands/Command.java index a01b4e0b51..4dd13ae2a6 100644 --- a/src/main/java/seedu/commands/Command.java +++ b/src/main/java/seedu/commands/Command.java @@ -1,6 +1,6 @@ package seedu.commands; -import seedu.EasInternship.InternshipList; +import seedu.easinternship.InternshipList; import seedu.ui.UiCommand; import java.util.ArrayList; diff --git a/src/main/java/seedu/commands/FavouriteCommand.java b/src/main/java/seedu/commands/FavouriteCommand.java index 38675c9c2d..8235733b23 100644 --- a/src/main/java/seedu/commands/FavouriteCommand.java +++ b/src/main/java/seedu/commands/FavouriteCommand.java @@ -1,6 +1,6 @@ package seedu.commands; -import seedu.EasInternship.Internship; +import seedu.easinternship.Internship; import seedu.exceptions.InvalidID; import seedu.exceptions.InvalidInteger; diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index 6b102dc838..dff2ab5e4d 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -1,7 +1,7 @@ package seedu.commands; -import seedu.EasInternship.InternshipList; -import seedu.EasInternship.Internship; +import seedu.easinternship.InternshipList; +import seedu.easinternship.Internship; import java.time.format.DateTimeParseException; import java.util.ArrayList; diff --git a/src/main/java/seedu/commands/InternshipFieldGetter.java b/src/main/java/seedu/commands/InternshipFieldGetter.java index 336c18cc7c..7774a66947 100644 --- a/src/main/java/seedu/commands/InternshipFieldGetter.java +++ b/src/main/java/seedu/commands/InternshipFieldGetter.java @@ -1,6 +1,6 @@ package seedu.commands; -import seedu.EasInternship.Internship; +import seedu.easinternship.Internship; @FunctionalInterface public interface InternshipFieldGetter { diff --git a/src/main/java/seedu/EasInternship/Deadline.java b/src/main/java/seedu/easinternship/Deadline.java similarity index 98% rename from src/main/java/seedu/EasInternship/Deadline.java rename to src/main/java/seedu/easinternship/Deadline.java index 315a9350d5..c7d2e6b2c4 100644 --- a/src/main/java/seedu/EasInternship/Deadline.java +++ b/src/main/java/seedu/easinternship/Deadline.java @@ -1,4 +1,4 @@ -package seedu.EasInternship; +package seedu.easinternship; import java.time.LocalDate; import java.time.format.DateTimeFormatter; diff --git a/src/main/java/seedu/EasInternship/EasInternship.java b/src/main/java/seedu/easinternship/EasInternship.java similarity index 98% rename from src/main/java/seedu/EasInternship/EasInternship.java rename to src/main/java/seedu/easinternship/EasInternship.java index cddfb9c602..4605e26cdc 100644 --- a/src/main/java/seedu/EasInternship/EasInternship.java +++ b/src/main/java/seedu/easinternship/EasInternship.java @@ -1,4 +1,4 @@ -package seedu.EasInternship; +package seedu.easinternship; import seedu.commands.Command; import seedu.ui.Ui; diff --git a/src/main/java/seedu/EasInternship/Internship.java b/src/main/java/seedu/easinternship/Internship.java similarity index 99% rename from src/main/java/seedu/EasInternship/Internship.java rename to src/main/java/seedu/easinternship/Internship.java index 09422a9a70..4417c70f6a 100644 --- a/src/main/java/seedu/EasInternship/Internship.java +++ b/src/main/java/seedu/easinternship/Internship.java @@ -1,4 +1,4 @@ -package seedu.EasInternship; +package seedu.easinternship; import seedu.exceptions.InvalidDeadline; import seedu.exceptions.InvalidStatus; diff --git a/src/main/java/seedu/EasInternship/InternshipList.java b/src/main/java/seedu/easinternship/InternshipList.java similarity index 99% rename from src/main/java/seedu/EasInternship/InternshipList.java rename to src/main/java/seedu/easinternship/InternshipList.java index 24460911b0..363709ad22 100644 --- a/src/main/java/seedu/EasInternship/InternshipList.java +++ b/src/main/java/seedu/easinternship/InternshipList.java @@ -1,4 +1,4 @@ -package seedu.EasInternship; +package seedu.easinternship; import seedu.exceptions.InvalidDeadline; import seedu.exceptions.InvalidID; diff --git a/src/main/java/seedu/EasInternship/Parser.java b/src/main/java/seedu/easinternship/Parser.java similarity index 99% rename from src/main/java/seedu/EasInternship/Parser.java rename to src/main/java/seedu/easinternship/Parser.java index 47fe869a8b..950e9ba124 100644 --- a/src/main/java/seedu/EasInternship/Parser.java +++ b/src/main/java/seedu/easinternship/Parser.java @@ -1,4 +1,4 @@ -package seedu.EasInternship; +package seedu.easinternship; import seedu.commands.Command; import seedu.commands.AddCommand; diff --git a/src/main/java/seedu/EasInternship/Storage.java b/src/main/java/seedu/easinternship/Storage.java similarity index 99% rename from src/main/java/seedu/EasInternship/Storage.java rename to src/main/java/seedu/easinternship/Storage.java index 0e141d079d..debaa50e39 100644 --- a/src/main/java/seedu/EasInternship/Storage.java +++ b/src/main/java/seedu/easinternship/Storage.java @@ -1,4 +1,4 @@ -package seedu.EasInternship; +package seedu.easinternship; import seedu.exceptions.InvalidStatus; diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index 0b38c3237f..c75b6f4526 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -1,8 +1,8 @@ package seedu.ui; import seedu.commands.Command; -import seedu.EasInternship.Deadline; -import seedu.EasInternship.Internship; +import seedu.easinternship.Deadline; +import seedu.easinternship.Internship; import java.time.LocalDate; import java.time.format.DateTimeFormatter; diff --git a/src/main/java/seedu/ui/UiInternshipList.java b/src/main/java/seedu/ui/UiInternshipList.java index 15f72da925..2b8e17b2bd 100644 --- a/src/main/java/seedu/ui/UiInternshipList.java +++ b/src/main/java/seedu/ui/UiInternshipList.java @@ -1,6 +1,6 @@ package seedu.ui; -import seedu.EasInternship.Internship; +import seedu.easinternship.Internship; import java.util.ArrayList; diff --git a/src/test/java/seedu/commands/AddCommandTest.java b/src/test/java/seedu/commands/AddCommandTest.java index aaf87b7dbe..633a3f8db6 100644 --- a/src/test/java/seedu/commands/AddCommandTest.java +++ b/src/test/java/seedu/commands/AddCommandTest.java @@ -1,8 +1,8 @@ package seedu.commands; import org.junit.jupiter.api.Test; -import seedu.EasInternship.Internship; -import seedu.EasInternship.InternshipList; +import seedu.easinternship.Internship; +import seedu.easinternship.InternshipList; import java.util.ArrayList; diff --git a/src/test/java/seedu/commands/FavouriteCommandTest.java b/src/test/java/seedu/commands/FavouriteCommandTest.java index b269f7c289..505487e6fb 100644 --- a/src/test/java/seedu/commands/FavouriteCommandTest.java +++ b/src/test/java/seedu/commands/FavouriteCommandTest.java @@ -2,8 +2,8 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import seedu.EasInternship.Internship; -import seedu.EasInternship.InternshipList; +import seedu.easinternship.Internship; +import seedu.easinternship.InternshipList; import java.util.ArrayList; diff --git a/src/test/java/seedu/commands/FilterCommandTest.java b/src/test/java/seedu/commands/FilterCommandTest.java index a134555a8f..2c54eb2f9b 100644 --- a/src/test/java/seedu/commands/FilterCommandTest.java +++ b/src/test/java/seedu/commands/FilterCommandTest.java @@ -1,8 +1,8 @@ package seedu.commands; import org.junit.jupiter.api.Test; -import seedu.EasInternship.Internship; -import seedu.EasInternship.InternshipList; +import seedu.easinternship.Internship; +import seedu.easinternship.InternshipList; import java.util.ArrayList; diff --git a/src/test/java/seedu/commands/RemoveCommandTest.java b/src/test/java/seedu/commands/RemoveCommandTest.java index 3b5e9da79e..df766e1064 100644 --- a/src/test/java/seedu/commands/RemoveCommandTest.java +++ b/src/test/java/seedu/commands/RemoveCommandTest.java @@ -1,8 +1,8 @@ package seedu.commands; import org.junit.jupiter.api.Test; -import seedu.EasInternship.Internship; -import seedu.EasInternship.InternshipList; +import seedu.easinternship.Internship; +import seedu.easinternship.InternshipList; import seedu.exceptions.InvalidDeadline; import java.util.ArrayList; diff --git a/src/test/java/seedu/commands/SortCommandTest.java b/src/test/java/seedu/commands/SortCommandTest.java index d2721eb08b..9731450c67 100644 --- a/src/test/java/seedu/commands/SortCommandTest.java +++ b/src/test/java/seedu/commands/SortCommandTest.java @@ -2,8 +2,8 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import seedu.EasInternship.Internship; -import seedu.EasInternship.InternshipList; +import seedu.easinternship.Internship; +import seedu.easinternship.InternshipList; import java.util.ArrayList; import java.util.List; diff --git a/src/test/java/seedu/commands/UpdateCommandTest.java b/src/test/java/seedu/commands/UpdateCommandTest.java index 1fb0e5dc0c..eecfd96dd1 100644 --- a/src/test/java/seedu/commands/UpdateCommandTest.java +++ b/src/test/java/seedu/commands/UpdateCommandTest.java @@ -1,8 +1,8 @@ package seedu.commands; import org.junit.jupiter.api.Test; -import seedu.EasInternship.Internship; -import seedu.EasInternship.InternshipList; +import seedu.easinternship.Internship; +import seedu.easinternship.InternshipList; import java.util.ArrayList; import java.util.List; diff --git a/src/test/java/seedu/EasInternship/DukeTest.java b/src/test/java/seedu/easinternship/DukeTest.java similarity index 86% rename from src/test/java/seedu/EasInternship/DukeTest.java rename to src/test/java/seedu/easinternship/DukeTest.java index 98df8ca058..ccc2e534a9 100644 --- a/src/test/java/seedu/EasInternship/DukeTest.java +++ b/src/test/java/seedu/easinternship/DukeTest.java @@ -1,4 +1,4 @@ -package seedu.EasInternship; +package seedu.easinternship; import static org.junit.jupiter.api.Assertions.assertTrue; diff --git a/src/test/java/seedu/EasInternship/InternshipListTest.java b/src/test/java/seedu/easinternship/InternshipListTest.java similarity index 99% rename from src/test/java/seedu/EasInternship/InternshipListTest.java rename to src/test/java/seedu/easinternship/InternshipListTest.java index cfa3d1cbdb..15675a3f52 100644 --- a/src/test/java/seedu/EasInternship/InternshipListTest.java +++ b/src/test/java/seedu/easinternship/InternshipListTest.java @@ -1,4 +1,4 @@ -package seedu.EasInternship; +package seedu.easinternship; import org.junit.jupiter.api.Test; import seedu.exceptions.InvalidDeadline; diff --git a/src/test/java/seedu/EasInternship/InternshipTest.java b/src/test/java/seedu/easinternship/InternshipTest.java similarity index 99% rename from src/test/java/seedu/EasInternship/InternshipTest.java rename to src/test/java/seedu/easinternship/InternshipTest.java index dabc895ee7..2e42b2dcd8 100644 --- a/src/test/java/seedu/EasInternship/InternshipTest.java +++ b/src/test/java/seedu/easinternship/InternshipTest.java @@ -1,4 +1,4 @@ -package seedu.EasInternship; +package seedu.easinternship; import org.junit.jupiter.api.Test; import seedu.exceptions.InvalidDeadline; diff --git a/src/test/java/seedu/EasInternship/ParserTest.java b/src/test/java/seedu/easinternship/ParserTest.java similarity index 99% rename from src/test/java/seedu/EasInternship/ParserTest.java rename to src/test/java/seedu/easinternship/ParserTest.java index 0ea3b02f9f..e4708589c5 100644 --- a/src/test/java/seedu/EasInternship/ParserTest.java +++ b/src/test/java/seedu/easinternship/ParserTest.java @@ -1,4 +1,4 @@ -package seedu.EasInternship; +package seedu.easinternship; import org.junit.jupiter.api.Test; import seedu.commands.AddCommand; From 056b65ca9ccfecfe4feabb46a7d2168a708ed79b Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 11 Nov 2024 23:09:00 +0800 Subject: [PATCH 324/359] Edit build.gradle file --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index f0e3e5dae0..43c6945cae 100644 --- a/build.gradle +++ b/build.gradle @@ -29,7 +29,7 @@ test { } application { - mainClass.set("seedu.EasInternship.EasInternship") + mainClass.set("seedu.easinternship.EasInternship") } shadowJar { From 22937d0c2261b9fbc6f25f6edbe74d45ce2f9016 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 11 Nov 2024 23:37:50 +0800 Subject: [PATCH 325/359] updated ReadME to change link to PPP --- docs/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/README.md b/docs/README.md index 0c252a2415..a95965d0c8 100644 --- a/docs/README.md +++ b/docs/README.md @@ -6,7 +6,7 @@ Useful links: * [User Guide](UserGuide.md) * [Developer Guide](DeveloperGuide.md) * [About Us](AboutUs.md) -* [jadenlim-PPP](team/jadenlim.md) +* [jadenlimjc-PPP](team/jadenlimjc.md) * [rahul-PPP](team/rahul.md) * [tantinghui-PPP](team/tantinghui.md) * [Toby Yu-PPP](team/toby-yu.md) \ No newline at end of file From c3ac4e6884d7ca318a890c8f6009fd6be9cd8494 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Mon, 11 Nov 2024 23:38:22 +0800 Subject: [PATCH 326/359] update sortCommandtest and toby PPP --- docs/team/toby-yu.md | 2 +- .../java/seedu/commands/SortCommandTest.java | 128 ++++++++++++++++-- 2 files changed, 119 insertions(+), 11 deletions(-) diff --git a/docs/team/toby-yu.md b/docs/team/toby-yu.md index 6db7757018..fbea75f1d1 100644 --- a/docs/team/toby-yu.md +++ b/docs/team/toby-yu.md @@ -39,7 +39,7 @@ By using this tool, the user can: ### Testing - Wrote comprehensive JUnit tests for the `SortCommand` to ensure accuracy across different sorting criteria and edge cases -- Achieved 60% coverage for the `SortCommand` class. +- Achieved 75% coverage for the `SortCommand` class. ### Documentation Contributions diff --git a/src/test/java/seedu/commands/SortCommandTest.java b/src/test/java/seedu/commands/SortCommandTest.java index d2721eb08b..efa0d300d3 100644 --- a/src/test/java/seedu/commands/SortCommandTest.java +++ b/src/test/java/seedu/commands/SortCommandTest.java @@ -9,7 +9,11 @@ import java.util.List; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; +import static org.junit.jupiter.api.Assertions.assertEquals; +/** + * Unit tests for SortCommand. + */ class SortCommandTest { private InternshipList internshipList; @@ -22,10 +26,14 @@ void setUp() { Internship internship1 = new Internship("Software Engineer", "Google", "01/24", "06/24"); Internship internship2 = new Internship("Data Scientist", "Facebook", "02/23", "08/23"); Internship internship3 = new Internship("Product Manager", "Amazon", "01/23", "09/23"); + Internship internship4 = new Internship("Backend Developer", "Apple", "03/25", "12/25"); + Internship internship5 = new Internship("Frontend Developer", "Netflix", "04/24", "10/24"); internshipList.addInternship(internship1); internshipList.addInternship(internship2); internshipList.addInternship(internship3); + internshipList.addInternship(internship4); + internshipList.addInternship(internship5); } @Test @@ -49,32 +57,74 @@ void execute_sortEmptyFlag_expectNoCrash() { } @Test - void execute_sortAlphabet_expectSortedByRole() { + void execute_sortRole_expectSortedByRole() { SortCommand sortCommand = new SortCommand(); sortCommand.setInternshipsList(internshipList); - // Test "sort -alphabet" - ArrayList arguments = new ArrayList<>(List.of("alphabet")); + // Test "sort role" (sorting by role alphabetically) + ArrayList arguments = new ArrayList<>(List.of("role")); assertDoesNotThrow(() -> sortCommand.execute(arguments)); } @Test - void execute_sortDeadline_expectSortedByDate() { + void execute_sortCompany_expectSortedByCompany() { SortCommand sortCommand = new SortCommand(); sortCommand.setInternshipsList(internshipList); - // Test "sort -deadline" + // Test "sort company" (sorting by company alphabetically) + ArrayList arguments = new ArrayList<>(List.of("company")); + assertDoesNotThrow(() -> sortCommand.execute(arguments)); + } + + @Test + void execute_sortDuration_expectSortedByDuration() { + SortCommand sortCommand = new SortCommand(); + sortCommand.setInternshipsList(internshipList); + + // Test "sort duration" (sorting by duration) + ArrayList arguments = new ArrayList<>(List.of("duration")); + assertDoesNotThrow(() -> sortCommand.execute(arguments)); + } + + @Test + void execute_sortDeadline_expectSortedByDeadline() { + SortCommand sortCommand = new SortCommand(); + sortCommand.setInternshipsList(internshipList); + + // Test "sort -deadline" (sorting by the earliest deadline) ArrayList arguments = new ArrayList<>(List.of("deadline")); assertDoesNotThrow(() -> sortCommand.execute(arguments)); } @Test - void execute_sortInvalid_expectNoCrash() { + void execute_sortSkills_expectSortedByFirstSkill() { SortCommand sortCommand = new SortCommand(); sortCommand.setInternshipsList(internshipList); - // Test "sort -invalid" - ArrayList arguments = new ArrayList<>(List.of("invalid")); + // Add skills to some internships + internshipList.getInternship(0).setSkills("Java, Python"); + internshipList.getInternship(1).setSkills("SQL, Machine Learning"); + internshipList.getInternship(2).setSkills("Leadership"); + + // Test "sort skills" (sorting by the first skill alphabetically) + ArrayList arguments = new ArrayList<>(List.of("skills")); + assertDoesNotThrow(() -> sortCommand.execute(arguments)); + } + + @Test + void execute_sortStatus_expectSortedByStatus() { + SortCommand sortCommand = new SortCommand(); + sortCommand.setInternshipsList(internshipList); + + // Update statuses + internshipList.getInternship(0).setStatus("Application Pending"); + internshipList.getInternship(1).setStatus("Accepted"); + internshipList.getInternship(2).setStatus("Application Completed"); + internshipList.getInternship(3).setStatus("Rejected"); + internshipList.getInternship(4).setStatus("Accepted"); + + // Test "sort status" (sorting by status in the correct order) + ArrayList arguments = new ArrayList<>(List.of("status")); assertDoesNotThrow(() -> sortCommand.execute(arguments)); } @@ -83,8 +133,66 @@ void execute_sortUnknown_expectNoCrash() { SortCommand sortCommand = new SortCommand(); sortCommand.setInternshipsList(internshipList); - // Test "sort -unknown" + // Test "sort -unknown" (invalid flag) ArrayList arguments = new ArrayList<>(List.of("unknown")); assertDoesNotThrow(() -> sortCommand.execute(arguments)); } -} + + @Test + void execute_sortRoleInFavourites_expectSortedByRoleInFavourites() { + SortCommand sortCommand = new SortCommand(); + sortCommand.setInternshipsList(internshipList); + + // Add some internships to favourites + internshipList.favouriteInternships.add(internshipList.getInternship(0)); + internshipList.favouriteInternships.add(internshipList.getInternship(2)); + + // Test "sort role in favourite" + ArrayList arguments = new ArrayList<>(List.of("role in favourite")); + assertDoesNotThrow(() -> sortCommand.execute(arguments)); + } + + @Test + void execute_sortDurationInFavourites_expectSortedByDurationInFavourites() { + SortCommand sortCommand = new SortCommand(); + sortCommand.setInternshipsList(internshipList); + + // Add some internships to favourites + internshipList.favouriteInternships.add(internshipList.getInternship(0)); + internshipList.favouriteInternships.add(internshipList.getInternship(1)); + + // Test "sort duration in favourite" + ArrayList arguments = new ArrayList<>(List.of("duration in favourite")); + assertDoesNotThrow(() -> sortCommand.execute(arguments)); + } + + @Test + void execute_sortByCompanyInFavourites_expectSortedByCompanyInFavourites() { + SortCommand sortCommand = new SortCommand(); + sortCommand.setInternshipsList(internshipList); + + // Add some internships to favourites + internshipList.favouriteInternships.add(internshipList.getInternship(1)); + internshipList.favouriteInternships.add(internshipList.getInternship(4)); + + // Test "sort company in favourite" + ArrayList arguments = new ArrayList<>(List.of("company in favourite")); + assertDoesNotThrow(() -> sortCommand.execute(arguments)); + } + + @Test + void execute_sortByStatusInFavourites_expectSortedByStatusInFavourites() { + SortCommand sortCommand = new SortCommand(); + sortCommand.setInternshipsList(internshipList); + + // Add some internships to favourites and set statuses + internshipList.favouriteInternships.add(internshipList.getInternship(0)); + internshipList.favouriteInternships.add(internshipList.getInternship(2)); + internshipList.getInternship(0).setStatus("Application Pending"); + internshipList.getInternship(2).setStatus("Application Completed"); + + // Test "sort status in favourite" + ArrayList arguments = new ArrayList<>(List.of("status in favourite")); + assertDoesNotThrow(() -> sortCommand.execute(arguments)); + } +} \ No newline at end of file From dcca787b346258ee1d4864daf2ee4652b0bffe5c Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Mon, 11 Nov 2024 23:41:52 +0800 Subject: [PATCH 327/359] change to pass the auto test --- src/test/java/seedu/commands/SortCommandTest.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/test/java/seedu/commands/SortCommandTest.java b/src/test/java/seedu/commands/SortCommandTest.java index efa0d300d3..437ca6e4e3 100644 --- a/src/test/java/seedu/commands/SortCommandTest.java +++ b/src/test/java/seedu/commands/SortCommandTest.java @@ -9,7 +9,6 @@ import java.util.List; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; -import static org.junit.jupiter.api.Assertions.assertEquals; /** * Unit tests for SortCommand. @@ -195,4 +194,4 @@ void execute_sortByStatusInFavourites_expectSortedByStatusInFavourites() { ArrayList arguments = new ArrayList<>(List.of("status in favourite")); assertDoesNotThrow(() -> sortCommand.execute(arguments)); } -} \ No newline at end of file +} From 9b4338092bbe6584d33831134a9c09f182e3afd6 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 11 Nov 2024 23:58:32 +0800 Subject: [PATCH 328/359] updated PPP PR linkes --- docs/team/jadenlimjc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/team/jadenlimjc.md b/docs/team/jadenlimjc.md index ffdf8f9d2f..7be6392872 100644 --- a/docs/team/jadenlimjc.md +++ b/docs/team/jadenlimjc.md @@ -64,4 +64,4 @@ Given below are my contributions to the project.

- **Community:** - - PRs reviewed (with non-trivial review comments): [#35](), [#37](), [#122]() + - PRs reviewed (with non-trivial review comments): [#35](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/35), [#37](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/37), [#122](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/122) From b8a77b87f9004bdd798d636d62294093059200d3 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Tue, 12 Nov 2024 00:13:19 +0800 Subject: [PATCH 329/359] Update PPP --- docs/README.md | 2 +- .../team/{tantinghui.md => ridiculouswifi.md} | 19 ++++++++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) rename docs/team/{tantinghui.md => ridiculouswifi.md} (70%) diff --git a/docs/README.md b/docs/README.md index 0c252a2415..777a95b30e 100644 --- a/docs/README.md +++ b/docs/README.md @@ -8,5 +8,5 @@ Useful links: * [About Us](AboutUs.md) * [jadenlim-PPP](team/jadenlim.md) * [rahul-PPP](team/rahul.md) -* [tantinghui-PPP](team/tantinghui.md) +* [tantinghui-PPP](team/ridiculouswifi) * [Toby Yu-PPP](team/toby-yu.md) \ No newline at end of file diff --git a/docs/team/tantinghui.md b/docs/team/ridiculouswifi.md similarity index 70% rename from docs/team/tantinghui.md rename to docs/team/ridiculouswifi.md index 7e7521f5fa..0b38a9f807 100644 --- a/docs/team/tantinghui.md +++ b/docs/team/ridiculouswifi.md @@ -46,6 +46,14 @@ Given below are my contributions to the project. - Credits: jadenlimjc was a co-author that drafted several implementations.

+- **New Feature:** Added the ability to view consolidated deadlines in a chronological order. + - What it does: Allows the user to view all the deadlines in all Internship entries, along with a pointer to the + current date. + - Justification: The user will likely have multiple deadlines to keep track of all at once, + this provides a way for the user to view all their deadlines at once. + - Highlights: This enhancement required some revisions to the output to ensure the data was readable for the user. +

+ - **Code Contributed:** [RepoSense Link](https://nus-cs2113-ay2425s1.github.io/tp-dashboard/?search=ridiculouswifi&breakdown=true&sort=groupTitle%20dsc&sortWithin=title&since=2024-09-20&timeframe=commit&mergegroup=&groupSelect=groupByRepos&checkedFileTypes=docs~functional-code~test-code~other)

@@ -55,15 +63,20 @@ Given below are my contributions to the project.

- **Enhancement to Existing Features:** - - Updated `update` and `remove` function ([#74]() for skills, [#86]() for deadlines). + - Updated `update` and `remove` function ([#74](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/74) for skills, [#86](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/86) for deadlines). + - Added logging to code [#132](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/132). + - Improved output of `calendar` function [#223](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/223)

- **Documentation:** - Developer Guide: - - Added implementation details for `update` and `remove` feature. + - Added implementation details for `update`, `remove` and `calendar` feature + - Added Ui Component section and Ui class diagram. - User Guide: - Reformatted document to reduce excess information. + - Added usage instructions for `update`, `remove` and `calendar` functions + - Added command summary table

- **Community:** - - PRs reviewed (with non-trivial review comments): [#28](), [#33](), [#49](), [#69]() + - PRs reviewed (with non-trivial review comments): [#28](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/28), [#33](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/33), [#49](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/49), [#69](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/69), [#125](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/125), [#127](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/127) From 012c588ddfdb8128d3255d87473252f20cbd107b Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Tue, 12 Nov 2024 00:22:55 +0800 Subject: [PATCH 330/359] Edit README page --- docs/README.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/README.md b/docs/README.md index 777a95b30e..3b5eee0d20 100644 --- a/docs/README.md +++ b/docs/README.md @@ -6,7 +6,9 @@ Useful links: * [User Guide](UserGuide.md) * [Developer Guide](DeveloperGuide.md) * [About Us](AboutUs.md) -* [jadenlim-PPP](team/jadenlim.md) -* [rahul-PPP](team/rahul.md) -* [tantinghui-PPP](team/ridiculouswifi) -* [Toby Yu-PPP](team/toby-yu.md) \ No newline at end of file +

+* Personal Portfolio Pages + * [Jaden (jadenlimlc)](team/jadenlimjc.md) + * [Rahul (rahuljai-05)](team/rahul.md) + * [Ting Hui (ridiculouswifi)](team/ridiculouswifi.md) + * [Toby (toby-yu)](team/toby-yu.md) \ No newline at end of file From ed24c5acec2327dda963bd2a4551bcd2b9db0b5e Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Tue, 12 Nov 2024 00:25:59 +0800 Subject: [PATCH 331/359] Standardise PPP Overview --- docs/team/jadenlimjc.md | 2 +- docs/team/ridiculouswifi.md | 2 +- docs/team/toby-yu.md | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/team/jadenlimjc.md b/docs/team/jadenlimjc.md index ffdf8f9d2f..0df00be7cb 100644 --- a/docs/team/jadenlimjc.md +++ b/docs/team/jadenlimjc.md @@ -3,7 +3,7 @@ ## Overview EasInternship is a desktop tracking application used for tracking internship applications along the various stages -of an application. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java. +of an application. The user interacts with it using a CLI and the application is written in Java. Given below are my contributions to the project. diff --git a/docs/team/ridiculouswifi.md b/docs/team/ridiculouswifi.md index 0b38a9f807..107d636696 100644 --- a/docs/team/ridiculouswifi.md +++ b/docs/team/ridiculouswifi.md @@ -3,7 +3,7 @@ ## Overview EasInternship is a desktop tracking application used for tracking internship applications along the various stages -of an application. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java. +of an application. The user interacts with it using a CLI and the application is written in Java. Given below are my contributions to the project. diff --git a/docs/team/toby-yu.md b/docs/team/toby-yu.md index 6db7757018..156b101c2a 100644 --- a/docs/team/toby-yu.md +++ b/docs/team/toby-yu.md @@ -3,7 +3,8 @@ ## Project: EasInternship ### Overview -**EasInternship** is a desktop application designed to streamline the tracking of internship applications for users. The application allows users to store key details of their internships, manage status updates, and prioritize applications based on deadlines. The user interacts with it using a CLI, and it is written in Java, containing about 8 kLoC. +EasInternship is a desktop tracking application used for tracking internship applications along the various stages +of an application. The user interacts with it using a CLI and the application is written in Java. By using this tool, the user can: From 2832a01d47429345083fe1e5a5c02b0fadc73a8a Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Tue, 12 Nov 2024 00:42:31 +0800 Subject: [PATCH 332/359] Add FavouriteCommand to DG --- docs/DeveloperGuide.md | 473 ++++++++++++++++++++++++++++------------- 1 file changed, 322 insertions(+), 151 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 1cb47df3bd..4401d2915b 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -2,7 +2,8 @@ ## Acknowledgements -{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well} +{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the +original source as well} ## Design & implementation @@ -21,22 +22,27 @@ 6. [SortCommand Implementation](#sortcommand-implementation) 7. [UpdateCommand Implementation](#updatecommand-implementation) 8. [RemoveCommand Implementation](#RemoveCommand-implementation) + --- ## About the Product + 1. [Product Scope](#Product-Scope) - 1. [Target User Profile](#Target-User-Profile) - 2. [Value Proposition](#Value-proposition) + 1. [Target User Profile](#Target-User-Profile) + 2. [Value Proposition](#Value-proposition) 2. [User Stories](#User-Stories) 3. [Non-Functional Requirements](#Non-Functional-Requirements) 4. [Glossary](#Glossary) 5. [Instructions for Manual Testing](#Instructions-for-manual-testing) --- + ## 1. Design ### 1.1 Architecture -The architecture of EasInternship is designed to follow the MVC (Model-View-Controller) pattern to facilitate separation of concerns, modularity, and maintainability. + +The architecture of EasInternship is designed to follow the MVC (Model-View-Controller) pattern to facilitate separation +of concerns, modularity, and maintainability. - **View (UI)**: Responsible for interacting with the user by displaying output and reading input. - **Controller (Command and Parser)**: Responsible for parsing user input and invoking the appropriate commands. @@ -45,24 +51,32 @@ The architecture of EasInternship is designed to follow the MVC (Model-View-Cont #### Overview -The `EasInternship` class serves as the entry point of the application. It manages the application's main loop, where the user is continually prompted for input, and commands are processed in response. The class is responsible for initializing the UI, loading saved data, and handling user input until the user chooses to exit the program. +The `EasInternship` class serves as the entry point of the application. It manages the application's main loop, where +the user is continually prompted for input, and commands are processed in response. The class is responsible for +initializing the UI, loading saved data, and handling user input until the user chooses to exit the program. #### Key Responsibilities -- **Initialization**: Initializes the necessary components for the application, such as the `Ui`, `InternshipList`, and `Parser` classes. It also loads any saved data from the storage into the `InternshipList`. -- **Main Loop**: Continuously prompts the user for input. The input is parsed by the `Parser`, and the corresponding `Command` is executed. If the user enters the exit command, the loop terminates. -- **Command Processing**: After parsing the user input, the corresponding `Command` object is executed. The application catches and displays any errors that occur during command execution. -- **Saving State**: Upon exiting, the current state of the `InternshipList` is saved to a file to ensure persistence across sessions. +- **Initialization**: Initializes the necessary components for the application, such as the `Ui`, `InternshipList`, and + `Parser` classes. It also loads any saved data from the storage into the `InternshipList`. +- **Main Loop**: Continuously prompts the user for input. The input is parsed by the `Parser`, and the corresponding + `Command` is executed. If the user enters the exit command, the loop terminates. +- **Command Processing**: After parsing the user input, the corresponding `Command` object is executed. The application + catches and displays any errors that occur during command execution. +- **Saving State**: Upon exiting, the current state of the `InternshipList` is saved to a file to ensure persistence + across sessions. --- ### 1.2 UI Component -The UI component is responsible for displaying information to the user and reading input. It interacts with the user by printing messages and prompts, and retrieves commands for the rest of the application to process. +The UI component is responsible for displaying information to the user and reading input. It interacts with the user by +printing messages and prompts, and retrieves commands for the rest of the application to process. ### 1.3 Logic Component -The logic component is handled by the `Parser` and `Command` classes. The `Parser` interprets the user's input and returns a command object, which is then executed to perform the desired operation. +The logic component is handled by the `Parser` and `Command` classes. The `Parser` interprets the user's input and +returns a command object, which is then executed to perform the desired operation. ### 1.4 Model Component @@ -70,11 +84,14 @@ The model component includes the `Internship`, `InternshipList`, `Deadline` and `Internship`: Represents the individual internship entries. -`InternshipList`: Manages a collection of Internship objects, providing methods for adding, retrieving, updating, sorting and removing internships. +`InternshipList`: Manages a collection of Internship objects, providing methods for adding, retrieving, updating, +sorting and removing internships. -`Deadline`: Represents each individual deadline associated with an internship, holding data specific to that deadline (description, date). +`Deadline`: Represents each individual deadline associated with an internship, holding data specific to that deadline ( +description, date). -Each `Internship` object contains a `Deadline` list, and has methods to add, retrieve or remove deadlines associated with that internship. +Each `Internship` object contains a `Deadline` list, and has methods to add, retrieve or remove deadlines associated +with that internship. This is represented with the class diagram below: @@ -82,7 +99,8 @@ This is represented with the class diagram below: ### 1.5 Storage Component -The storage component is responsible for saving the current state of the `InternshipList` to a file and loading it back when the application is restarted. This ensures that users' progress is preserved between sessions. +The storage component is responsible for saving the current state of the `InternshipList` to a file and loading it back +when the application is restarted. This ensures that users' progress is preserved between sessions. The data from the internshipList is saved into a .txt file. There are two main functions, `loadFromFile` and `saveFromFile`. @@ -91,24 +109,25 @@ The following sequence diagrams depict how the Storage Functions work. ![](UML/loadFromFile.png) ![](UML/saveToFile.png) - ## 2. Implementation ### 2.1 Parsing Input -The `Parser` class is responsible for parsing the input strings provided by the user. It breaks down the input into individual components like the command and its accompanying arguments. After parsing, it returns a `Command` object. +The `Parser` class is responsible for parsing the input strings provided by the user. It breaks down the input into +individual components like the command and its accompanying arguments. After parsing, it returns a `Command` object. ### 2.2 Command Execution -The `Command` class and its subclasses handle the execution of specific commands. Once a command is parsed, it is executed with the required arguments, and the result is displayed to the user. +The `Command` class and its subclasses handle the execution of specific commands. Once a command is parsed, it is +executed with the required arguments, and the result is displayed to the user. ### 2.3 Task Management -The `InternshipList` class handles adding, removing, and retrieving internships from the list. It interacts with both the UI and the storage components to ensure that updates are reflected in the user interface and persisted to disk. +The `InternshipList` class handles adding, removing, and retrieving internships from the list. It interacts with both +the UI and the storage components to ensure that updates are reflected in the user interface and persisted to disk. --- - ### Flow of Execution 1. **Welcome Message**: The `Ui` class displays a welcome message to the user. @@ -116,39 +135,54 @@ The `InternshipList` class handles adding, removing, and retrieving internships 3. **Input Loop**: The application enters a loop, prompting the user for input. 4. **Command Parsing**: The `Parser` interprets the input and returns the appropriate `Command`. 5. **Command Execution**: The command is executed, and the `InternshipList` is updated accordingly. -6. **Exit Flow**: If the user enters the exit command, the `InternshipList` is saved, and the application displays a goodbye message. +6. **Exit Flow**: If the user enters the exit command, the `InternshipList` is saved, and the application displays a + goodbye message. ### Methods -- `public static void main(String[] args)`: The entry point of the application. It handles initialization, the main user input loop, and command execution. +- `public static void main(String[] args)`: The entry point of the application. It handles initialization, the main user + input loop, and command execution. ### Error Handling -If the user inputs an unknown command or a command fails during execution, the `Ui` class displays an appropriate error message. This ensures that the application can continue running despite errors in user input. +If the user inputs an unknown command or a command fails during execution, the `Ui` class displays an appropriate error +message. This ensures that the application can continue running despite errors in user input. --- ### AddCommand Implementation #### Overview: -The `AddCommand` class is responsible for adding internship listings to the Internship List. It extends the `Command` class, providing the add functionality as part of the command execution framework. + +The `AddCommand` class is responsible for adding internship listings to the Internship List. It extends the `Command` +class, providing the add functionality as part of the command execution framework. #### Design: + - The `AddCommand` class processes user input to determine what fields to add to the new internship listing. -- If no arguments or invalid arguments are given, it prompts the user with an error message indicating which fields are erroneous. +- If no arguments or invalid arguments are given, it prompts the user with an error message indicating which fields are + erroneous. #### Key Methods: -- `execute(ArrayList args)`: Handles addition logic based on the inputs provided. If the user provides an appropriate "role" and "company", the internship is added to the listing. Otherwise, the user is prompted with which fields are missing. The user also can input start and end dates of the internship during the addition. + +- `execute(ArrayList args)`: Handles addition logic based on the inputs provided. If the user provides an + appropriate "role" and "company", the internship is added to the listing. Otherwise, the user is prompted with which + fields are missing. The user also can input start and end dates of the internship during the addition. - **`getUsage()`**: Returns a string showing the correct usage of the `add` command and the expected input. #### Example Usage Scenario: -- The user enters `add -role Software Engineer -company Google`, and the execute method adds the internship to the InternshipList The start and end dates are defaulted to 01/01. +- The user enters `add -role Software Engineer -company Google`, and the execute method adds the internship to the + InternshipList The start and end dates are defaulted to 01/01. -- The user enters `add -role Software Engineer -company Facebook -from 10/24 -to 06/25`, and the execute method adds the internship with the specified dates to the InternshipList. +- The user enters `add -role Software Engineer -company Facebook -from 10/24 -to 06/25`, and the execute method adds the + internship with the specified dates to the InternshipList. -- The user enters `add -role Software Engineer`. The execute method detects that no company has been specified and adds `company` to the list of invalid flags. uiCommand is then called and prints an error statement of all invalid flags detected. + +- The user enters `add -role Software Engineer`. The execute method detects that no company has been specified and adds + `company` to the list of invalid flags. uiCommand is then called and prints an error statement of all invalid flags + detected. #### Sequence Diagram: @@ -157,229 +191,360 @@ The following sequence diagram shows how the `AddCommand` is executed: ### DeleteCommand Implementation -#### Overview: -The `DeleteCommand` class is responsible for deleting internship listings from the Internship List. It extends the `Command` class, providing the delete functionality as part of the command execution framework. +#### Overview: + +The `DeleteCommand` class is responsible for deleting internship listings from the Internship List. It extends the +`Command` class, providing the delete functionality as part of the command execution framework. #### Design: + - The `DeleteCommand` class processes user input to determine which `Internship` to remove from the `InternshipList`. -- If no arguments or invalid arguments are given, it prompts the user with an error message indicating which fields are erroneous. +- If no arguments or invalid arguments are given, it prompts the user with an error message indicating which fields are + erroneous. #### Key Methods: -- `execute(ArrayList args)` : Handles deletion logic based on the inputs provided. If the user provides an appropriate `internshipID`, the `Internship` is deleted from the `InternshipList`. Otherwise, if an inappropriate or no `internshipID` is specified, the user is prompted that the `internshipID` is invalid. + +- `execute(ArrayList args)` : Handles deletion logic based on the inputs provided. If the user provides an + appropriate `internshipID`, the `Internship` is deleted from the `InternshipList`. Otherwise, if an inappropriate or + no `internshipID` is specified, the user is prompted that the `internshipID` is invalid. - `getUsage()`: Returns a string showing the correct usage of the `delete` command and the expected input. #### Example Usage Scenario: -- The user enters `delete 1`. The execute method removes the `Internship` from the `InternshipList` if the `internshipID` is valid. -- The user enters `delete -1`. The execute method detects that the `internshipID` is invalid. uiCommand is called and prints an output `Invalid integer, please provide a valid internship ID`. + +- The user enters `delete 1`. The execute method removes the `Internship` from the `InternshipList` if the + `internshipID` is valid. +- The user enters `delete -1`. The execute method detects that the `internshipID` is invalid. uiCommand is called and + prints an output `Invalid integer, please provide a valid internship ID`. #### Sequence Diagram + The following sequence diagram shows how the `DeleteCommand` is executed: ![DeleteCommandSequenceDiagram](UML/DeleteCommand_Sequence_Diagram.png) - - ### SortCommand Implementation #### Overview: -The `SortCommand` class is responsible for sorting the internship listings based on different criteria such as the internship role, skills and status (alphabetically) , the application deadline (by start and end dates). It extends the `Command` class, providing the sorting functionality as part of the command execution framework. It can only sort by exactly one field in each time. + +The `SortCommand` class is responsible for sorting the internship listings based on different criteria such as the +internship role, skills and status (alphabetically) , the application deadline (by start and end dates). It extends the +`Command` class, providing the sorting functionality as part of the command execution framework. It can only sort by +exactly one field in each time. #### Design: + - The `SortCommand` class processes user input to determine which sorting method to apply (e.g., role or deadline). - If no arguments or invalid arguments are given, it defaults to listing internships by ID. #### Key Methods: -- **`execute(ArrayList args)`**: Handles sorting logic based on the first argument provided. The valid sort options include: - - `"role"`: Sorts internships by role alphabetically. - - `"duration"`: Sorts internships by duration (start and end dates). - - `"deadline"`: Sorts internships by deadline. - - `"skills"`: Sorts internships by the first skill in the skills list alphabetically. - - `"status"`: Sort internships by status, (application pending, application completed, accepted, rejected) with this ascending order. Within the same status, the order is sorted by role. - - `"company"`: Sorts internships by company alphabetically. - - `"role in favourite"`: Sorts internships in favourite by role alphabetically. - - `"duration in favourite"`: Sorts internships in favourite by duration (start and end dates). - - `"deadline in favourite"`: Sorts internships in favourite by deadline. - - `"skills in favourite"`: Sorts internships in favourite by the first skill in the skills list alphabetically. - - `"status in favourite"`: Sort internships in favourite by status, (application pending, application completed, accepted, rejected) with this ascending order. Within the same status, the order is sorted by role. - - `"company in favourite"`: Sorts internships in favourite by company alphabetically. + +- **`execute(ArrayList args)`**: Handles sorting logic based on the first argument provided. The valid sort + options include: + - `"role"`: Sorts internships by role alphabetically. + - `"duration"`: Sorts internships by duration (start and end dates). + - `"deadline"`: Sorts internships by deadline. + - `"skills"`: Sorts internships by the first skill in the skills list alphabetically. + - `"status"`: Sort internships by status, (application pending, application completed, accepted, rejected) with this + ascending order. Within the same status, the order is sorted by role. + - `"company"`: Sorts internships by company alphabetically. + - `"role in favourite"`: Sorts internships in favourite by role alphabetically. + - `"duration in favourite"`: Sorts internships in favourite by duration (start and end dates). + - `"deadline in favourite"`: Sorts internships in favourite by deadline. + - `"skills in favourite"`: Sorts internships in favourite by the first skill in the skills list alphabetically. + - `"status in favourite"`: Sort internships in favourite by status, (application pending, application completed, + accepted, rejected) with this ascending order. Within the same status, the order is sorted by role. + - `"company in favourite"`: Sorts internships in favourite by company alphabetically. - If the user provides an invalid sort option, the command returns an error and defaults to listing internships by ID. -- **`getUsage()`**: Returns a string showing the correct usage of the `sort` command, including valid options like "alphabet", "deadline", "duration", "skills", and "status". +- **`getUsage()`**: Returns a string showing the correct usage of the `sort` command, including valid options like " + alphabet", "deadline", "duration", "skills", and "status". #### Example Usage Scenario: + 1. The user enters `sort -role`, and the `execute` method sorts the internships by role alphabetically. 2. The user enters `sort -duration`, and the internships are sorted by their start and end dates. 3. The user enters `sort -skills`, and the internships are sorted by the first skill alphabetically. -4. The user enters `sort -status`, and the internships are sorted by status, (application pending, application completed, accepted, rejected) with this ascending order. Within the same status, the order is sorted by role. +4. The user enters `sort -status`, and the internships are sorted by status, (application pending, application + completed, accepted, rejected) with this ascending order. Within the same status, the order is sorted by role. 5. The user enters `sort -deadline`, and the internships are sorted by each of their earliest deadline. 6. The user enters `sort -company`, and the internships are sorted by their company alphabetically. 7. The user enters `sort -role in favourite`, and the `execute` method sorts the internships in favourite by role. -8. The user enters `sort -duration in favourite`, and the internships in favourite are sorted by their start and end dates. -9. The user enters `sort -skills in favourite`, and the internships in favourite are sorted by status, (application pending, application completed, accepted, rejected) with this ascending order. Within the same status, the order is sorted by role. -10. The user enters `sort -status in favourite`, and the internships in favourite are sorted by their status alphabetically. -11. The user enters `sort -deadline in favourite`, and the internships in favourite are sorted by each of their earliest deadline. -12. The user enters `sort -company in favourite`, and the internships in favourite are sorted by their company alphabetically. +8. The user enters `sort -duration in favourite`, and the internships in favourite are sorted by their start and end + dates. +9. The user enters `sort -skills in favourite`, and the internships in favourite are sorted by status, (application + pending, application completed, accepted, rejected) with this ascending order. Within the same status, the order is + sorted by role. +10. The user enters `sort -status in favourite`, and the internships in favourite are sorted by their status + alphabetically. +11. The user enters `sort -deadline in favourite`, and the internships in favourite are sorted by each of their earliest + deadline. +12. The user enters `sort -company in favourite`, and the internships in favourite are sorted by their company + alphabetically. 13. If the user enters an invalid sort option, the command returns an error and lists the internships by ID. #### Sequence Diagram: + The following sequence diagram shows how the `SortCommand` is executed: ![](UML/SortCommand_Sequence_Diagram.png) - ### Filter Command Implementation #### Overview: -The FilterCommand class is responsible for filtering internship listings in the InternshipList based on various criteria. It extends the Command class, providing the filter functionality as part of the command execution framework. +The FilterCommand class is responsible for filtering internship listings in the InternshipList based on various +criteria. It extends the Command class, providing the filter functionality as part of the command execution framework. #### Design: -The FilterCommand class processes user input to determine which fields to filter by (e.g., role, company, start date, end date and/or favourite status) and then filters the internships based on the respective fields. +The FilterCommand class processes user input to determine which fields to filter by (e.g., role, company, start date, +end date and/or favourite status) and then filters the internships based on the respective fields. -Role and Company: Filters internships by checking the equality of the given role or company name against each internship's role or company name +Role and Company: Filters internships by checking the equality of the given role or company name against each +internship's role or company name -Start Date (-from) and End Date (-to): Filters internships by checking if the internship's duration is within the time interval specified by the start and end dates. if no -to flag is provided, all internships whose start date is greater than or equal to the given start date is listed. If no -from flag is provided, all internships whose end date is lesser than or equal to the given end date is listed. +Start Date (-from) and End Date (-to): Filters internships by checking if the internship's duration is within the time +interval specified by the start and end dates. if no -to flag is provided, all internships whose start date is greater +than or equal to the given start date is listed. If no -from flag is provided, all internships whose end date is lesser +than or equal to the given end date is listed. Favourite: Filters internships based on whether or not they are marked as a favourite (true or false). -If an invalid flag, empty or invalid fields are provided, it prompts the user with an error message indicating which flags/fields are missing or erroneous. +If an invalid flag, empty or invalid fields are provided, it prompts the user with an error message indicating which +flags/fields are missing or erroneous. #### Key Methods: -execute(ArrayList args): Handles filtering logic based on the arguments provided. The command allows the user to filter internships by different criteria such as role, company, start date, end date and/or favourite status. If the arguments are invalid or missing, the user is notified accordingly. - -getUsage(): Returns a string showing the correct usage of the filter command and the expected inputs. - +- `execute(ArrayList args)`: Handles filtering logic based on the arguments provided. The command allows the user to +filter internships by different criteria such as role, company, start date, end date and/or favourite status. If the +arguments are invalid or missing, the user is notified accordingly. +- `executeFilterByOneFlag(String[] words)`: Processes a single filter criterion (flag and its value) and applies the corresponding filter to the internships list. If the flag is invalid or the value is missing, the user is notified. +- `filterByRespectiveFlag(String flag, InternshipFieldGetter getter, String searchTerm)`: Determines which specific filter method to invoke based on the provided flag and delegates the filtering operation. +- `filterByRoleAndCompany(InternshipFieldGetter getter, String inputValue)`: Filters internships by matching the role or company field with the input value provided by the user. +- `filterByFavouriteInternships(String inputFavouriteStatus)`: Filters internships based on whether they are marked as favourites or not, according to the user's input ("true" or "false"). If the input is invalid, the user is notified. +- `filterByDate(InternshipFieldGetter getter, String inputDate, BiPredicate dateComparator)`: Filters internships based on the start date ("-from") or end date ("-to"), comparing the internship's date with the input date using the provided date comparator. #### Example Usage Scenario: -The user enters `filter -role Software Engineer`, and the execute method filters the internships to only those with the role of "Software Engineer" - -The user enters `filter -company Google`, and the execute method filters internships from "Google" +The user enters `filter -role Software Engineer`, and the `execute` method calls the `executeFilterByOneFlag` which +validates the role flag and calls the `filterByRespectiveFlag` method. This then calls the `filterByRoleAndCompany` +method +which removes all internships whose role field is not equal to the string "Software Engineer" and finally the control is +handed back to the `execute` method which displays the filtered list of internships The user enters `filter -favourite true`, and the execute method filters internships that have been marked as favourites The user enters `filter -from 06/24`, and the execute method filters internships starting from June 2024 -The user enters `filter -role Software Engineer -from 02/24 -to 08/24`, the execute method filters internships whose duration is within the period of 02/24 to 08/24 and which has the role of "Software Engineer" +The user enters `filter -role Software Engineer -from 02/24 -to 08/24`, the execute method filters internships whose +duration is within the period of 02/24 to 08/24 and which has the role of "Software Engineer" -The user enters `filter -favourite false -company Huawei`, the execute method filters internships from "Huawei" and which have not been marked as favourite by the user +The user enters `filter -favourite false -company Huawei`, the execute method filters internships from "Huawei" and +which have not been marked as favourite by the user #### Sequence Diagram + The following sequence diagram shows how the `FilterCommand` is executed: ![FilterCommandSequenceDiagram](UML/FilterCommand_Execute_Method.png) +### FavouriteCommand Implementation + +#### Overview +The FavouriteCommand class allows users to add internships to their list of favourite internships. It extends the Command class, providing the functionality to mark internships as favourites within the application. This feature helps users to quickly access and manage internships they are particularly interested in. + +#### Design + +- User Input Processing: The `FavouriteCommand` processes user input to determine which internships to mark as favourites based on their IDs. +- Validation: It validates the provided internship IDs to ensure they correspond to existing internships in the `InternshipList`. If an invalid integer or ID is provided, it informs the user accordingly. +- Favourite Internships Management: The command interacts with the `InternshipList` to add the specified internships to the user's list of favourite internships. It checks for duplicates to prevent the same internship from being added multiple times to the favourites list. + +#### Key Methods + +- `execute(ArrayList args)`: The main method that handles the addition of internships to the favourites list based on the provided IDs. It performs validation and updates the InternshipList accordingly. +- `getInputInternships(ArrayList args)`: Parses the list of input IDs and retrieves the corresponding Internship objects from the InternshipList. It throws exceptions if any IDs are invalid or out of bounds. +- `getUsage()`: Returns a string showing the correct usage of the favourite command, guiding users on how to use the command properly. + +#### Example Usage Scenario: + +1. Adding Single Internship to Favourites: The user enters favourite 2 + - Execution: + The execute method is called with args containing "2". + getInputInternships() retrieves the internship with ID 2. + The internship is added to the favourites list. + A message confirming the addition is displayed to the user. + +2. Adding Multiple Internships to Favourites: favourite 1,3,5 + - Execution: + The execute method is called with args containing "1", "3", "5". + getInputInternships retrieves internships with IDs 1, 3, and 5. + Each internship is checked for duplication and added to the favourites list. + Messages confirming the additions are displayed to the user. + +3. Attempting to Add an Invalid Internship ID: favourite 10 + - Execution: + The execute method is called with args containing "10". + getInputInternships attempts to retrieve an internship with ID 10. + An InvalidIndex exception is thrown as there is no internship with ID 10. + The exception message is displayed to the user. + +4. Adding an Internship Already in Favourites: favourite 2 + - Execution: + The execute method is called with args containing "2". + getInputInternships retrieves the internship with ID 2. + The internship is found to already be in the favourites list. + A message indicating that the internship is already favourited is displayed. + +#### Sequence Diagram + +The following sequence diagram shows how the `FavouriteCommand` is executed: +![FilterCommandSequenceDiagram](UML/FilterCommand_Execute_Method.png) + ### UpdateCommand Implementation #### Overview -The `UpdateCommand` class is responsible for updating the fields of an internship. It extends the `Command` class, providing an updating functionality as part of the command execution framework. + +The `UpdateCommand` class is responsible for updating the fields of an internship. It extends the `Command` class, +providing an updating functionality as part of the command execution framework. #### Design + - The `UpdateCommand` class processes the user input to determine which internship and which field to update. - If the internship ID is not valid, it will print a message accordingly. - If the field is not valid, it will print a message indicating the erroneous field. - If the value provided with the field is not valid, it will also print a message indicating the erroneous value. #### Key Methods -- `execute(ArrayList args)`: Handles the logic to find the internship entry and determine which field to update. The valid fields include: - - `status`: Updates the status of the internship. - - `skills`: Adds skills to the relevant field of the internship - - `role`: Updates the role of the internship - - `company`: Updates the company of the internship - - `from`: Updates the start date of the internship - - `to`: Updates the end date of the internship - - `deadlines`: Updates the deadlines of the internship + +- `execute(ArrayList args)`: Handles the logic to find the internship entry and determine which field to update. + The valid fields include: + - `status`: Updates the status of the internship. + - `skills`: Adds skills to the relevant field of the internship + - `role`: Updates the role of the internship + - `company`: Updates the company of the internship + - `from`: Updates the start date of the internship + - `to`: Updates the end date of the internship + - `deadlines`: Updates the deadlines of the internship - `isValidValue(String[] words)`: Checks if there was a new value provided for the selected field. -- `updateOneField(String[] words, int internshipIndex)`: Called within `execute(args)` to invoke the appropriate method to update the field. +- `updateOneField(String[] words, int internshipIndex)`: Called within `execute(args)` to invoke the appropriate method + to update the field. - `getUsage()`: Returns a string showing the correct usage of the `update` command. #### Example Usage Scenario: -- The user enters `update 2 -status Application Completed`, and the `execute` method finds the internship with ID `2` and updates its `status` to `Application Completed`. -- The user enters `update 4 -status Application Completed`, if `4` is not a valid ID, the `execute` method will print a message to show the ID is out of bounds. -- The user enters `update 2 -skills`, no value is given after the `-skills` flag, the `isValidValue` method returns false and prints a message to indicate the need for a value. -- The user enters `update 2 -from Tomorrow`, `Tomorrow` is not a valid date, the `execute` method prints message to indicate it is an invalid value. + +- The user enters `update 2 -status Application Completed`, and the `execute` method finds the internship with ID `2` + and updates its `status` to `Application Completed`. +- The user enters `update 4 -status Application Completed`, if `4` is not a valid ID, the `execute` method will print a + message to show the ID is out of bounds. +- The user enters `update 2 -skills`, no value is given after the `-skills` flag, the `isValidValue` method returns + false and prints a message to indicate the need for a value. +- The user enters `update 2 -from Tomorrow`, `Tomorrow` is not a valid date, the `execute` method prints message to + indicate it is an invalid value. #### Sequence Diagram + The following sequence diagram shows how the `UpdateCommand` is executed: ![](UML/UpdateCommand_Sequence_Diagram.png) - ### RemoveCommand Implementation #### Overview -The `RemoveCommand` class is responsible for removing the values within fields of an internship entry. It extends the `UpdateCommand` class, providing a removing functionality to the execution framework. + +The `RemoveCommand` class is responsible for removing the values within fields of an internship entry. It extends the +`UpdateCommand` class, providing a removing functionality to the execution framework. #### Design + - The `RemoveCommand` class process the user input to determine which internship and which field to empty. - If the internship ID is not valid, it will print a message accordingly. -- If the field is not valid, it will print a message indicating the erroneous field, including fields that cannot be emptied. +- If the field is not valid, it will print a message indicating the erroneous field, including fields that cannot be + emptied. - If the valid provided does not exist in the field, it will also print a message indicating the erroneous value #### Key Methods -- `execute(ArrayList args)`: Handles the logic to find the internship entry (same as `UpdateCommand`) and determine which field to update. The valid fields include: - - `skills`: Removes the specific value from the skills field of the internship - - `deadline`: Removes the specified deadline from the internship. + +- `execute(ArrayList args)`: Handles the logic to find the internship entry (same as `UpdateCommand`) and + determine which field to update. The valid fields include: + - `skills`: Removes the specific value from the skills field of the internship + - `deadline`: Removes the specified deadline from the internship. - `isValidValue(String[] words)`: Checks if there is a value provided to search and remove from the selected field. -- `updateOneField(String[] words, int internshipIndex)`: Called within `execute(args)` to invoke the appropriate method to remove the value from the field. +- `updateOneField(String[] words, int internshipIndex)`: Called within `execute(args)` to invoke the appropriate method + to remove the value from the field. - `getUsage()`: Returns a string showing the correct usage of the `remove` command. #### Example Usage Scenario: -- The user enters `remove 2 -skills Python`, the `execute` method finds the internship with ID `2` and removes `Python` from its list of `skills`. -- The user enters `remove 4 -skills Python`, if `4` is not a valid ID, the `execute` method will print a message to show the ID is out of bounds. -- The user enters `remove 2 -skills`, no value is given after the `-skills` flag, the `isValidValue` method returns false and prints a message to indicate the need for a value. -- The user enters `remove 2 -skills Accounting`, if `Accounting` is not listed in `skills`, the `execute` method prints a message to indicate the value cannot be found. + +- The user enters `remove 2 -skills Python`, the `execute` method finds the internship with ID `2` and removes `Python` + from its list of `skills`. +- The user enters `remove 4 -skills Python`, if `4` is not a valid ID, the `execute` method will print a message to show + the ID is out of bounds. +- The user enters `remove 2 -skills`, no value is given after the `-skills` flag, the `isValidValue` method returns + false and prints a message to indicate the need for a value. +- The user enters `remove 2 -skills Accounting`, if `Accounting` is not listed in `skills`, the `execute` method prints + a message to indicate the value cannot be found. #### Sequence Diagram + The following sequence diagram shows how the `RemoveCommand` is executed: ![](UML/RemoveCommand_Sequence_Diagram.png) ## Product Scope + ### Target User Profile The target user profile for EasInternship includes: - -- Students or Internship Applicants who want to track and organize their internship applications across multiple companies + +- Students or Internship Applicants who want to track and organize their internship applications across multiple + companies - Users comfortable with Command Line Interface - Internship Applicants who want to keep track of their application deadlines - Students who want a lightweight, distraction-free way to manage their internship application process. - Applicants seeking to track the status of each application, from submission to interview stages. For example, John is a Computer Engineering Junior with the following characteristics -- Command Line Expertise: With a few years of command line usage under his belt throughout his years as a student, John is well-equipped with the technical skills necessary to use EasInternship. -- Applying for summer internships: John is regularly applying for internships in the coming summer and believes in the importance of ensuring he is on track with all his applications. + +- Command Line Expertise: With a few years of command line usage under his belt throughout his years as a student, John + is well-equipped with the technical skills necessary to use EasInternship. +- Applying for summer internships: John is regularly applying for internships in the coming summer and believes in the + importance of ensuring he is on track with all his applications. - Juggling Tight Schedule: As someone with many different tasks on hand, John needs his information readily available. These traits make John a suitable candidate to use EasInternship. ### Value Proposition -This product helps users streamline the process of tracking and managing their internship applications by allowing them to: +This product helps users streamline the process of tracking and managing their internship applications by allowing them +to: -- **Store Important Internship Information**: Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes regarding each internship. +- **Store Important Internship Information**: Users can input and store key details such as the role, company, duration, + required skills, application deadlines, and any additional notes regarding each internship. -- **Track Application Status**: Users can keep track of the current status of their applications (e.g., not applied, applied, interview scheduled, offer received) and update it as the application progresses. +- **Track Application Status**: Users can keep track of the current status of their applications (e.g., not applied, + applied, interview scheduled, offer received) and update it as the application progresses. -- **Edit and Manage Internships**: Users can edit saved internships, modify application statuses, update deadlines, or remove outdated internships from their list. +- **Edit and Manage Internships**: Users can edit saved internships, modify application statuses, update deadlines, or + remove outdated internships from their list. -- **Filter Internships by Key Criteria**: Users can filter tracked internships by relevant criteria such as required skills, application status, or upcoming deadlines, helping them find specific applications. +- **Filter Internships by Key Criteria**: Users can filter tracked internships by relevant criteria such as required + skills, application status, or upcoming deadlines, helping them find specific applications. -- **Sort Internships by Key Criteria**: Users can sort tracked internships by relevant criteria such as required skills, application status, or upcoming deadlines, helping them prioritize applications. +- **Sort Internships by Key Criteria**: Users can sort tracked internships by relevant criteria such as required skills, + application status, or upcoming deadlines, helping them prioritize applications. -- **Monitor Deadlines Easily**: Users can stay on top of their internship deadlines by sorting or flagging applications with approaching deadlines, ensuring that no important opportunity is missed. +- **Monitor Deadlines Easily**: Users can stay on top of their internship deadlines by sorting or flagging applications + with approaching deadlines, ensuring that no important opportunity is missed. ## User Stories -| Version | As a ... | I want to ... | So that I can ... | -|---------|----------------------|------------------------------------------------|--------------------------------------------------------| -| v1.0 | new user | see usage instructions | refer to them when I forget how to use the application | -| v1.0 | user | add an internship with all relevant details | store information about the internships I’m applying to | -| v1.0 | user | edit the details of an internship | update information when I receive new details | -| v1.0 | user | delete an internship | remove outdated or irrelevant internships from my list | -| v1.0 | user | track the status of an internship | know what stage my application is in | -| v1.0 | user | sort internships by duration | focus on internships where I need to take action | -| v1.0 | user | sort internships by deadlines | prioritize internships with approaching deadlines | -| v1.0 | user | update the status of my internship application | keep track of my progress in the application process | -| v2.0 | user | receive alerts about upcoming deadlines | ensure I don't miss important deadlines | -| v2.0 | user | sort internships by required skills | focus on internships that match my skill set | +| Version | As a ... | I want to ... | So that I can ... | +|---------|----------|------------------------------------------------|---------------------------------------------------------| +| v1.0 | new user | see usage instructions | refer to them when I forget how to use the application | +| v1.0 | user | add an internship with all relevant details | store information about the internships I’m applying to | +| v1.0 | user | edit the details of an internship | update information when I receive new details | +| v1.0 | user | delete an internship | remove outdated or irrelevant internships from my list | +| v1.0 | user | track the status of an internship | know what stage my application is in | +| v1.0 | user | sort internships by duration | focus on internships where I need to take action | +| v1.0 | user | sort internships by deadlines | prioritize internships with approaching deadlines | +| v1.0 | user | update the status of my internship application | keep track of my progress in the application process | +| v2.0 | user | receive alerts about upcoming deadlines | ensure I don't miss important deadlines | +| v2.0 | user | sort internships by required skills | focus on internships that match my skill set | ## Non-Functional Requirements @@ -389,66 +554,72 @@ This product helps users streamline the process of tracking and managing their i 4. Maintainability: The code should be well-documented and follow clean code principles for easy future enhancements. 5. Portability: User data should be easily exportable and importable for backup purposes or switching devices. 6. Performance: The application should respond to all user commands without negatively noticable delay. -7. Scalability: The application should handle an extensive number of internship entries (e.g., 100+ entries) without a noticeable decrease in performance. -8. Data Persistence: All data should be automatically saved to a file, allowing users to resume their progress upon reopening the application. - +7. Scalability: The application should handle an extensive number of internship entries (e.g., 100+ entries) without a + noticeable decrease in performance. +8. Data Persistence: All data should be automatically saved to a file, allowing users to resume their progress upon + reopening the application. ## Glossary -* *Internship* - The position of a student or trainee who works in an organisation, with associated role, company, duration and deadline information. -* *InternshipList* - A collection of Internships added by the user. -* *Deadline* - The date which an event is scheduled for. -* *Parser* - The component responsible for interpreting user commands and executing the appropriate actions. -* *Storage* - The component responsible for saving and loading the user's data to and from a file. +* *Internship* - The position of a student or trainee who works in an organisation, with associated role, company, + duration and deadline information. +* *InternshipList* - A collection of Internships added by the user. +* *Deadline* - The date which an event is scheduled for. +* *Parser* - The component responsible for interpreting user commands and executing the appropriate actions. +* *Storage* - The component responsible for saving and loading the user's data to and from a file. ## Instructions for manual testing 1. **Installation and Setup:** - - Ensure Java Runtime Environment (JRE) is installed on your system. - - Ensure Java Version 17.0. Run `java -version` in a terminal to verify. - - Download the EasInternship application JAR file. - - Open a terminal or command prompt and navigate to the directory containing the JAR file. + - Ensure Java Runtime Environment (JRE) is installed on your system. + - Ensure Java Version 17.0. Run `java -version` in a terminal to verify. + - Download the EasInternship application JAR file. + - Open a terminal or command prompt and navigate to the directory containing the JAR file. 2. **Running the Application:** - - Execute the command: java -jar EasInternship.jar - - Verify that the application starts and displays a welcome message. + - Execute the command: java -jar EasInternship.jar + - Verify that the application starts and displays a welcome message. 3. **Testing Basic Commands:** - - Enter the `help` command and verify that usage instructions are displayed. - - Test the `exit` command to ensure the application exits properly. + - Enter the `help` command and verify that usage instructions are displayed. + - Test the `exit` command to ensure the application exits properly. 4. **Adding an Internship:** - - Enter the command `add -role {role name} -company {company name}` eg. `add -role Software Engineer Intern -company Google` - - Verify that the internship has been added successfully. + - Enter the command `add -role {role name} -company {company name}` eg. + `add -role Software Engineer Intern -company Google` + - Verify that the internship has been added successfully. + - 5. **Updating an Internship:** - - Enter the command `update {ID} {-field} {updated information}` eg. `update 1 -skills python`. - - Verify that the internship has been updated successfully. + +- Enter the command `update {ID} {-field} {updated information}` eg. `update 1 -skills python`. +- Verify that the internship has been updated successfully. // rahul fill up pls + 6. **Adding an Internship to favourites:** - - Enter the command `mark {ID}` eg + - Enter the command `mark {ID}` eg 7. **Displaying InternshipList** - - Enter the command `list` to show the most updated `InternshipList`. + - Enter the command `list` to show the most updated `InternshipList`. 8. **Sorting the InternshipList** - - Enter the command `sort {-field}` eg. `sort deadline`. - - Verify that the list displayed is sorted according to the entered field. + - Enter the command `sort {-field}` eg. `sort deadline`. + - Verify that the list displayed is sorted according to the entered field. 9. **Filtering the InternshipList** - - Enter the command `filter {-field} {field data}` eg. `filter -company Google`. - - Verify that the filtered list all contain the specified field data. + - Enter the command `filter {-field} {field data}` eg. `filter -company Google`. + - Verify that the filtered list all contain the specified field data. 10. Removing an Internship - - Enter the command `delete {ID}` eg. `delete 1` - - Verify that the internship has been deleted successfully. - - Enter `list` to verify the `Internship` is no longer in the `InternshipList`. + +- Enter the command `delete {ID}` eg. `delete 1` +- Verify that the internship has been deleted successfully. +- Enter `list` to verify the `Internship` is no longer in the `InternshipList`. From 09065d53b4e2206b4bb265e9cde436ad434fce88 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Tue, 12 Nov 2024 00:45:13 +0800 Subject: [PATCH 333/359] added fullstops --- docs/DeveloperGuide.md | 22 ++++++++++++++++++---- docs/team/jadenlimjc.md | 6 +++--- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index cd199392d4..f400a50ba6 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -2,7 +2,7 @@ ## Acknowledgements -Formatting of this Developer's Guide was done with reference to [AddressBook-Level3 Developer Guide](https://se-education.org/addressbook-level3/DeveloperGuide.html) +Formatting of this Developer's Guide was done with reference to [AddressBook-Level3 Developer Guide](https://se-education.org/addressbook-level3/DeveloperGuide.html). ## Design & implementation @@ -21,10 +21,10 @@ Formatting of this Developer's Guide was done with reference to [AddressBook-Lev 5. [DeleteCommand Implementation](#deletecommand-implementation) 6. [SortCommand Implementation](#sortcommand-implementation) 7. [UpdateCommand Implementation](#updatecommand-implementation) - 8. [RemoveCommand Implementation](#removeCommand-implementation) + 8. [RemoveCommand Implementation](#removecommand-implementation) 9. [CalendarCommand Implementation](#calendarcommand-implementation) ---- +--- ## About the Product 1. [Product Scope](#product-scope) 1. [Target User Profile](#target-user-profile) @@ -35,6 +35,9 @@ Formatting of this Developer's Guide was done with reference to [AddressBook-Lev 5. [Instructions for Manual Testing](#instructions-for-manual-testing) --- +
+ + ## 1. Design ### 1.1 Architecture @@ -101,6 +104,7 @@ The following sequence diagrams depict how the Storage Functions work. ![](UML/loadFromFile.png) ![](UML/saveToFile.png) +
## 2. Implementation @@ -137,6 +141,7 @@ The `InternshipList` class handles adding, removing, and retrieving internships If the user inputs an unknown command or a command fails during execution, the `Ui` class displays an appropriate error message. This ensures that the application can continue running despite errors in user input. --- +
### AddCommand Implementation @@ -165,6 +170,8 @@ The `AddCommand` class is responsible for adding internship listings to the Inte The following sequence diagram shows how the `AddCommand` is executed: ![AddCommandSequenceDiagram](UML/AddCommand_Sequence_Diagram.png) +
+ ### DeleteCommand Implementation #### Overview: @@ -188,7 +195,7 @@ The `DeleteCommand` class is responsible for deleting internship listings from t The following sequence diagram shows how the `DeleteCommand` is executed: ![DeleteCommandSequenceDiagram](UML/DeleteCommand_Sequence_Diagram.png) - +
### SortCommand Implementation @@ -235,6 +242,7 @@ The `SortCommand` class is responsible for sorting the internship listings based The following sequence diagram shows how the `SortCommand` is executed: ![](UML/SortCommand_Sequence_Diagram.png) +
### Filter Command Implementation @@ -278,6 +286,8 @@ The user enters `filter -favourite false -company Huawei`, the execute method fi The following sequence diagram shows how the `FilterCommand` is executed: ![FilterCommandSequenceDiagram](UML/FilterCommand_Execute_Method.png) +
+ ### UpdateCommand Implementation #### Overview @@ -315,6 +325,7 @@ The following sequence diagram shows how the `UpdateCommand` is executed: ![](UML/UpdateCommand_Sequence_Diagram.png) +
### RemoveCommand Implementation @@ -345,6 +356,7 @@ The `RemoveCommand` class is responsible for removing the values within fields o The following sequence diagram shows how the `RemoveCommand` is executed: ![](UML/RemoveCommand_Sequence_Diagram.png) +
### CalendarCommand Implementation @@ -370,6 +382,8 @@ The `CalendarCommand` class is responsible for sorting and displaying all deadli The following sequence diagram shows how the `CalendarCommand` is executed: ![](UML/CalendarCommand_Sequence_Diagram.png) +
+ ## Product Scope ### Target User Profile diff --git a/docs/team/jadenlimjc.md b/docs/team/jadenlimjc.md index 6c0e1457aa..586a76ef2c 100644 --- a/docs/team/jadenlimjc.md +++ b/docs/team/jadenlimjc.md @@ -15,13 +15,13 @@ Given below are my contributions to the project.

- **New Feature:** Added the ability to add an internship entry. - - What it does: Allows the user to add a new internship entry - - Justification: Applicants might be applying to multiple companies and hence it can aid the user in tracking their multiple applications + - What it does: Allows the user to add a new internship entry. + - Justification: Applicants might be applying to multiple companies and hence it can aid the user in tracking their multiple applications. - Highlights: This functionality is fundamental for managing and tracking multiple internship applications in a single place, which allows for efficient updates and reviews of application statuses.

- **New Feature:** Added the ability to delete an internship entry. - - What it does: Allows the user to delete a new internship entry + - What it does: Allows the user to delete a new internship entry. - Justification: Applicants might be applying to multiple companies and hence it can aid the user in tracking their multiple applications by deleting internships that are no longer necessary to be maintained. - Highlights: This functionality is fundamental for managing and tracking multiple internship applications in a single place, which allows for efficient updates and reviews of application statuses.

From 548e314ba5ccc3043f70ca5f4f0c947471cb8124 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Tue, 12 Nov 2024 00:47:55 +0800 Subject: [PATCH 334/359] Add full stops to ridiculouswifi PPP --- docs/team/ridiculouswifi.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/team/ridiculouswifi.md b/docs/team/ridiculouswifi.md index 107d636696..19ddaa6099 100644 --- a/docs/team/ridiculouswifi.md +++ b/docs/team/ridiculouswifi.md @@ -65,18 +65,18 @@ Given below are my contributions to the project. - **Enhancement to Existing Features:** - Updated `update` and `remove` function ([#74](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/74) for skills, [#86](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/86) for deadlines). - Added logging to code [#132](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/132). - - Improved output of `calendar` function [#223](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/223) + - Improved output of `calendar` function [#223](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/223).

- **Documentation:** - Developer Guide: - - Added implementation details for `update`, `remove` and `calendar` feature + - Added implementation details for `update`, `remove` and `calendar` feature. - Added Ui Component section and Ui class diagram. - User Guide: - Reformatted document to reduce excess information. - - Added usage instructions for `update`, `remove` and `calendar` functions - - Added command summary table + - Added usage instructions for `update`, `remove` and `calendar` functions. + - Added command summary table.

- **Community:** - - PRs reviewed (with non-trivial review comments): [#28](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/28), [#33](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/33), [#49](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/49), [#69](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/69), [#125](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/125), [#127](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/127) + - PRs reviewed (with non-trivial review comments): [#28](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/28), [#33](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/33), [#49](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/49), [#69](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/69), [#125](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/125), [#127](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/127). From 4f184f2e4998f83e6f7eed9d43b3a3638b6925fc Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Tue, 12 Nov 2024 00:48:30 +0800 Subject: [PATCH 335/359] Fix typo in README --- docs/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/README.md b/docs/README.md index 70a2f3962b..1f20fa8c94 100644 --- a/docs/README.md +++ b/docs/README.md @@ -8,7 +8,7 @@ Useful links: * [About Us](AboutUs.md)

* Personal Portfolio Pages - * [Jaden (jadenlimlc)](team/jadenlimjc.md) + * [Jaden (jadenlimjc)](team/jadenlimjc.md) * [Rahul (rahuljai-05)](team/rahul.md) * [Ting Hui (ridiculouswifi)](team/ridiculouswifi.md) * [Toby (toby-yu)](team/toby-yu.md) From df3563c082c2b6c2f4d7b8d521626683525d1cb1 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Tue, 12 Nov 2024 01:10:39 +0800 Subject: [PATCH 336/359] Add Sequence Diagram for FavouriteCommand --- docs/UML/FavouriteCommand.puml | 55 ++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 docs/UML/FavouriteCommand.puml diff --git a/docs/UML/FavouriteCommand.puml b/docs/UML/FavouriteCommand.puml new file mode 100644 index 0000000000..dfa9ca7aa8 --- /dev/null +++ b/docs/UML/FavouriteCommand.puml @@ -0,0 +1,55 @@ +@startuml +Title FavouriteCommand execute method +hide footbox + +participant User +participant FavouriteCommand +participant InternshipList +participant UiCommand + + +User -> FavouriteCommand: execute(args) +activate FavouriteCommand #turquoise + +opt Empty args +FavouriteCommand -> UiCommand: showEmptyFlags() +activate UiCommand #red +UiCommand --> FavouriteCommand +deactivate UiCommand +FavouriteCommand --> User +end +FavouriteCommand -> FavouriteCommand: getInputInternships() +activate FavouriteCommand #turquoise +opt Invalid args +FavouriteCommand -> UiCommand : showOutput(exception.getMessage()) +activate UiCommand #red +UiCommand --> FavouriteCommand +deactivate UiCommand +FavouriteCommand --> User +end +FavouriteCommand --> FavouriteCommand : inputInternships +deactivate FavouriteCommand +FavouriteCommand -> InternshipList : favouriteInternships +activate InternshipList #green +InternshipList --> FavouriteCommand : favouriteInternships +deactivate InternshipList +loop internship in inputInternships + opt internship not in favouriteInternships + FavouriteCommand -> InternshipList : favouriteInternships.add() + activate InternshipList #green + InternshipList --> FavouriteCommand + deactivate InternshipList + end +end +FavouriteCommand -> UiCommand : showOutput(message) +activate UiCommand #red +UiCommand --> FavouriteCommand +deactivate UiCommand +FavouriteCommand -> InternshipList : listFavouriteInternshipsSortedByID() +activate InternshipList #green +InternshipList --> FavouriteCommand +deactivate InternshipList +FavouriteCommand --> User +deactivate FavouriteCommand + +@enduml From 131559dce06af937eeadf735e4ae84a0758879c1 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Tue, 12 Nov 2024 01:19:05 +0800 Subject: [PATCH 337/359] Add sequence diagram image to DG --- docs/DeveloperGuide.md | 11 ++++++----- docs/UML/FavouriteCommand_execute_method.png | Bin 0 -> 47478 bytes 2 files changed, 6 insertions(+), 5 deletions(-) create mode 100644 docs/UML/FavouriteCommand_execute_method.png diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 0dd2c22e86..f426ee5d4d 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -363,6 +363,7 @@ The following sequence diagram shows how the `FilterCommand` is executed: ![FilterCommandSequenceDiagram](UML/FilterCommand_Execute_Method.png)
+ ### FavouriteCommand Implementation #### Overview @@ -382,28 +383,28 @@ The FavouriteCommand class allows users to add internships to their list of favo #### Example Usage Scenario: -1. Adding Single Internship to Favourites: The user enters favourite 2 +1. Adding Single Internship to Favourites: The user enters `favourite 2` - Execution: The execute method is called with args containing "2". getInputInternships() retrieves the internship with ID 2. The internship is added to the favourites list. A message confirming the addition is displayed to the user. -2. Adding Multiple Internships to Favourites: favourite 1,3,5 +2. Adding Multiple Internships to Favourites: The user enters `favourite 1,3,5` - Execution: The execute method is called with args containing "1", "3", "5". getInputInternships retrieves internships with IDs 1, 3, and 5. Each internship is checked for duplication and added to the favourites list. Messages confirming the additions are displayed to the user. -3. Attempting to Add an Invalid Internship ID: favourite 10 +3. Attempting to Add an Invalid Internship ID: The user enters `favourite 10` - Execution: The execute method is called with args containing "10". getInputInternships attempts to retrieve an internship with ID 10. An InvalidIndex exception is thrown as there is no internship with ID 10. The exception message is displayed to the user. -4. Adding an Internship Already in Favourites: favourite 2 +4. Adding an Internship Already in Favourites: The user enters `favourite 2` - Execution: The execute method is called with args containing "2". getInputInternships retrieves the internship with ID 2. @@ -413,7 +414,7 @@ The FavouriteCommand class allows users to add internships to their list of favo #### Sequence Diagram The following sequence diagram shows how the `FavouriteCommand` is executed: -![FilterCommandSequenceDiagram](UML/FilterCommand_Execute_Method.png) +![FavouriteCommandSequenceDiagram](UML/FavouriteCommand_execute_method.png)
### UpdateCommand Implementation diff --git a/docs/UML/FavouriteCommand_execute_method.png b/docs/UML/FavouriteCommand_execute_method.png new file mode 100644 index 0000000000000000000000000000000000000000..81304256b38b84a8ccb61da8224208e32c6dad9f GIT binary patch literal 47478 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

HPb5@8Bsj1AJd4bI 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

MsJzA;Rv;JI#$>ondX>80E%g6Tu$?&F=hY#m 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 Hc{2V72Qn3q literal 0 HcmV?d00001 From 471f7a5326f5e5aa6a37817c149d320a8d413bd1 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Tue, 12 Nov 2024 01:23:54 +0800 Subject: [PATCH 338/359] Add link to PPP in AboutUs --- docs/AboutUs.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index aced5ef4dc..0f4028e053 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -1,8 +1,8 @@ # About us -Display | Name | Github Profile | Portfolio ---------|:---------:|:---------------------------------------:|:---------: -![](/images/jaden.png) | Jaden Lim | [Github](https://github.com/jadenlimjc) | [Portfolio](https://www.linkedin.com/in/jadenlimjc/) -![](/images/Toby.jpg) | Yu Man Kit | [Github](https://github.com/Toby-Yu) | [Portfolio](toby-yu) -![](https://via.placeholder.com/100.png?text=Photo) | Rahul | [Github](https://github.com/rahuljai-05) | [Portfolio](rahuljai-05) -![](https://via.placeholder.com/100.png?text=Photo) | Tan Ting Hui | [Github](https://github.com/Ridiculouswifi) | [Portfolio](ridiculouswifi) +| Display | Name | Github Profile | Portfolio | +|-----------------------------------------------------|:------------:|:-------------------------------------------:|:-----------------------------------:| +| ![](/images/jaden.png) | Jaden Lim | [Github](https://github.com/jadenlimjc) | [Portfolio](team/jadenlimjc.md) | +| ![](/images/Toby.jpg) | Yu Man Kit | [Github](https://github.com/Toby-Yu) | [Portfolio](team/toby-yu.md) | +| ![](https://via.placeholder.com/100.png?text=Photo) | Rahul | [Github](https://github.com/rahuljai-05) | [Portfolio](team/rahuljai-05.md) | +| ![](https://via.placeholder.com/100.png?text=Photo) | Tan Ting Hui | [Github](https://github.com/Ridiculouswifi) | [Portfolio](team/ridiculouswifi.md) | From 8ce6a6ce660d1f9764d86f1c8c460809731f15c8 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Tue, 12 Nov 2024 01:36:29 +0800 Subject: [PATCH 339/359] Add personal photo ridiculouswifi --- docs/AboutUs.md | 2 +- docs/images/tinghui.jpg | Bin 0 -> 270386 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 docs/images/tinghui.jpg diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 0f4028e053..9a31b598dc 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -5,4 +5,4 @@ | ![](/images/jaden.png) | Jaden Lim | [Github](https://github.com/jadenlimjc) | [Portfolio](team/jadenlimjc.md) | | ![](/images/Toby.jpg) | Yu Man Kit | [Github](https://github.com/Toby-Yu) | [Portfolio](team/toby-yu.md) | | ![](https://via.placeholder.com/100.png?text=Photo) | Rahul | [Github](https://github.com/rahuljai-05) | [Portfolio](team/rahuljai-05.md) | -| ![](https://via.placeholder.com/100.png?text=Photo) | Tan Ting Hui | [Github](https://github.com/Ridiculouswifi) | [Portfolio](team/ridiculouswifi.md) | +| ![](/images/tinghui.jpg) | Tan Ting Hui | [Github](https://github.com/Ridiculouswifi) | [Portfolio](team/ridiculouswifi.md) | diff --git a/docs/images/tinghui.jpg b/docs/images/tinghui.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e8cd665e2a5515bef650212c0b4e449b7f963371 GIT binary patch literal 270386 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

ODFdu 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%0A7Qy5m1fY58ywjZIvoSoC-!!LR7$sJG!E>sSAw? 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�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 ~iXac-U&K5ej&duhc0=-bn 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

L_Z!to1Q+*=(!o8mbzv_uQ@g zON(vRb18$KYjj0PcXo4|fXX3<``jLaAX1Aelb8evM{p>``i_|57_~tcX=@O0wG3(s zk7y>l%){7GeBTs8BF&6cZqmX%j2U8-JFmEKC8>M3;B1zZ#lx4D=W>drkK zK))bm{AwAL0cC5!6?RZDxL3+4S3U>tiH}+LU+a!)!SyfnV7sAeIG7v6Q>Xy7P_E6{ zd>qU`Dq}er#xoe^E0*||XD)FqMMkB{z(7oy) zdWhQ#&@e!3pD>&7%>e0ZP@<)Y*j|_W?WrCic_i?}~ zej%Bwf+#C1HFxSerAG)|Twz&X#4snYIQGO==+(84aYX?d$Yan<)HCC#yZYVM8C7DK zcwQJ6Ogrpggi?b>YjIm&4ZfnJKTxYanQO)ZxCm1rCCK|Eg{_8R9;+%RbVCVVSc z#J>7fG1uY<&;~74?%{=leD}xqEzsbXUUeKV0m}ZP3AW9)eM3FKcu3&0=brn4 z2sC&15g1htHsBEV%_g=(X2OO56K0DdJM6r_a(sj6=kxR@Li^lv$XohozthS{=U zI_@`3iWDE>JsnP68q_{EF3S11m{V19mceXzyND2}#^M$2hTww8-MRaMpf|fR;}D@$ zL=QXr^APrmUHN6q#i~$xmCB;D_=%LYWl`!JR<)FB7rMazLukKV*N(MD+_wwA{AuI;X>7RaQcUd7(n`EN!Hz2+#!{) z1ohqbE|gY7#LG#OkLqGfuB*9%B_nURXwQGdTHKe^5e^cmAaPnXSB-1#A8CEneMG=% Tr=82RIc~!ZMt5LJ&Zqy`L^X2S literal 0 HcmV?d00001 From 10089641bdbb832920d0e07d93e6ac5c2742ad2d Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Tue, 12 Nov 2024 01:41:01 +0800 Subject: [PATCH 340/359] updated seq diagram return statements --- docs/UML/AddCommand.puml | 3 ++- docs/UML/AddCommand_Sequence_Diagram.png | Bin 55251 -> 56025 bytes docs/UML/DeleteCommand.puml | 3 ++- docs/UML/DeleteCommand_Sequence_Diagram.png | Bin 23018 -> 22930 bytes docs/UML/loadFromFile.png | Bin 67921 -> 66858 bytes docs/UML/loadFromFile.puml | 3 +++ docs/UML/saveToFile.png | Bin 35256 -> 30698 bytes 7 files changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/UML/AddCommand.puml b/docs/UML/AddCommand.puml index f4fb249c55..05cc594767 100644 --- a/docs/UML/AddCommand.puml +++ b/docs/UML/AddCommand.puml @@ -34,6 +34,7 @@ end alt invalid flags found ":AddCommand"->":uiCommand": printInvalidFlags() + ":uiCommand" --> ":User" activate ":uiCommand" #green deactivate ":uiCommand" else all required flags present @@ -46,5 +47,5 @@ else all required flags present ":AddCommand" -> ":uiCommand": showEditedInternship(newInternship, "add") deactivate ":uiCommand" end - +return @enduml \ No newline at end of file diff --git a/docs/UML/AddCommand_Sequence_Diagram.png b/docs/UML/AddCommand_Sequence_Diagram.png index 60a236339a13637298f3dc804b76a1317f57df7e..e54ba0e6810b5d9e9751a4f42b7c98ead3353bdd 100644 GIT binary patch literal 56025 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 diff --git a/docs/UML/DeleteCommand.puml b/docs/UML/DeleteCommand.puml index 474d079384..8190706178 100644 --- a/docs/UML/DeleteCommand.puml +++ b/docs/UML/DeleteCommand.puml @@ -11,7 +11,8 @@ alt Valid ID else Invalid ID ":DeleteCommand" -> ":UI": showOutput("Invalid integer, please provide a valid internship ID") activate ":UI" #blue + ":UI"-->":User" deactivate ":UI" end - +return @enduml \ No newline at end of file diff --git a/docs/UML/DeleteCommand_Sequence_Diagram.png b/docs/UML/DeleteCommand_Sequence_Diagram.png index cba7f3c7be2ad17074ecec6ef9f17c193b28c6c0..f423dee3625ea212dc223c1cb640cdbbc467710a 100644 GIT binary patch literal 22930 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

uZqG3m+O)?@gWws%m5Y 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 L{5>x)!?XVlc6AML literal 23018 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 diff --git a/docs/UML/loadFromFile.png b/docs/UML/loadFromFile.png index 455d05461c36d13d6b5116acd7ad67952d54c1f5..df54e9b5cce9f82ec7f8c927708bef33ece57deb 100644 GIT binary patch literal 66858 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

qg-q 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�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

*siLjSY7+9X#5`AW?|{PoXgAc~CR4y+ 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 diff --git a/docs/UML/loadFromFile.puml b/docs/UML/loadFromFile.puml index 10d5eb2635..10a9c6b8a1 100644 --- a/docs/UML/loadFromFile.puml +++ b/docs/UML/loadFromFile.puml @@ -58,8 +58,11 @@ loop for each line in file deactivate ":Storage" deactivate ":Internship" deactivate ":InternshipList" + ":Storage" --> ":EasInternship" end + deactivate ":Storage" +":EasInternship"--> ":User" @enduml diff --git a/docs/UML/saveToFile.png b/docs/UML/saveToFile.png index ebd6efcc2aba6d8c8003485b5ab73438e10287ea..65ef5663ea41f94eb1679d0344526265e253f019 100644 GIT binary patch literal 30698 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 K(!ZB%+V_8Y7b!si literal 35256 zcmd4(c{r8(8$Jwc5TS*Hlv#$1p;+e388Su2WJoB(GS5SXmZ6fFkc0>sGf%P1WK4z< z%aEBUQ>N!ywfA=q-|urg$9w#a=Y8M(&)%)<+kM}k&*wVN>pahEg=(lNo+3I&golTB zO6i)M79QR)X*|3m?Sx0+ldh@E)9^1&XL&tmb9F9*kDb z&L}5QK0cI#}^2bBl(v;b@wEz^U+ol-LB9<84vw1IAlhvBfP#F)jY4ff1`~nrBw;QN<-`Nwevb ze|(wQC4No5Fj@p#!e7JBr%}mW85`UCDA4&vDQ(!1tQqfi9<*b?zv~b$seiG?93T?6OJJTY+k?ho#B%}W` z2-B`ba)lB0XR44teR)Lw=y9^kghY|WZ;cF2D`%V5rFzwM(cN`rPinUlDB1fmEAG*q zEaG(ctCZkujhJBdS|lM;5SdKK;5SWbG8x=|56Gff;1j|kdS~RX4;H2WfA@j=`M$os zq!iS28@Y=uJ~f}QHeaEKlcVE0U;SQxt=CpVAVK)OQ|E=cQl$=uZu{+j>klG}%Iw7w zGJR1nF?kU|@$<)gdj6YOr|zKJP{^XIubI^+5Hat8DCDWZv~xZT~YWeD4~=1@Uo z_EQrLfkm!t>d#3=);BgNqbGjM4=jul1?A4XPtwgNwfj=zu{>IeL6b6wxvFZXW5{K? z@aUe9MGbzgbh7-At@-%8@I#(hE?v9c7t$}i2Xl0mKb7+tmgS|U-roPYk)EEexxH9W zf3w_a<+F$;kEA4hbgJ*q*KKGtngAc4lFxWAR@YcbO-;?PeLT;w98o;8x>~?}yxMj7 z-j|vk^9YHXZ>{#$^Uq6LFwA|6wj>#4> zYa&!_X>Pt%>6m#flDVzi_EXu-HwJCaiyxQ$avdg7)o!cZiGu7Msh$h3MO_v`&bz?N zh)Whr?k@S@T>gMeM*R4%7qYi_`!Hbft=-tqmdEEi){}(o!@9<*-QazPh!T*}H%%9s zVxATlRSK+YR0&vge0XE1tL!A55PhefhRu1oJ4MVf5J9(6Is07JG@Od(g4g|xg+a`8 z{o%g7(wd}^$vHvG?wC$GQKPC)R|%Qu0}zUY?e}ix8(qxpfA`>6bX1g_hnd;r_S%$T znaxS1j#w^g&ZUtOf*HSqoviHo`$PGw^@sE{Ym7P-CVemE;qJcV=?iKq?zAMyqPcG7 zoh530e4d@H=tu&|$&-=&MyGOp`5(h3YnwsP@s8Ot29c5Cj>Mf~sPr72T%xIyr%w5N zn~=VDkMlBNG>6~!_rkv=mPsr3Hi#r|q*W-C_8T)Juia31@iEm$@?XfQzIeq%Hw~r71&PPN0D^|Vl@?9l; zb~kI?R_Upfl$8U*LL09q35B|Lr%LhJ)f^t|1`?3keauVTb`5x!hIwO9+R=LO z?yY*NBpgjxMPWABL2NXR6@T9w&Z}P}7#Z=tM8hIxJ@+KiV(oxUgh-Y3=#1kr)omQ+ zHLl_KTDP~}nZT`IJiWiWHS=n7`IBzF?>?=FBOy<&UeRP!gey7Y&Muy2K9!`?6OPWmp)hCs1{`#8c<}A-~Tb7zEF62 zb|U7ylrfzG7u&9m$RLHT1=Z9Q#S2~(W+B&d0(UPV4SS=LOjX-o1$`0NC%c{~u+evt zeDln1lAZ8mEK4a@yy`;@vCmDR42K8R@9(Mz$cj2PJv<^?8k~6N{j)17ae4ju;TL7C z`(9GQ>f9iRM;^`k97Z{AWp33s9hxf;-axKj*5&o&+UBd7&U*bi?@G}oBDU+#%%1bJ z8um{%b8X08c3F6vuGnKm{bSO3x{byvS(J>Z#yvw}Hr-G14q++g@wqE%)g3mf48CVG zM;lcI940R;8zhiqkV?^JA$T2{S{eMjH*JcA{6Ai|tLH39XpfeXbW*6jq1w`)DA=y4 z={bv;>zgW7k+^5Qq*wc8Jw1ZWihAwmW!Jnf)>F+aS40{1RoG;+=~ex^}Dl5y>;waQz=xwC7leTf~RCfDd9eXGCeE8|2VV#E^r)6ciAb{`F;ZT-Zh3)eDAx>MiYwy<+zn zFyO@K`jz`-CSvsmo^M>^eBqshgd+&-F-O*wrslJftQQk5NH8OY3dXDH7d}49G^%to zjea{5NZ{wcEbcHFR`XYSeD4{>PrB^! z%6I?a=z7-$b41poV~86K0l^1r5eoM|+6;cY{Pbh~*h9ST)OuQvvxs%1plu>@rCUo# z>@$06S4-U+gN>A&>2KJ9(T+q_cmoywMT(l51B`jh%j1XWvS(@m-_wHm>WyBeWU3-X zMBRK@iC3zTPDt-=tG<`9-Za(E=TN+pFEQ9Vn3IC{w9iNqPkPI4adu>>?brAnZoS$Pq_2s#HHohImw!+ikhj%}@61Ix}w!g4I(Gg3IcX3*81@z3-3f zy!ahqS@xx0Kl{{HoSg$QXfE~8hL==HhA&1@>K58-Yb-4r^=-m|U%%S*ma1C9rCX{` z=q1un*mpOw^6yc5?=Cmk*X@+GRWAk!FQJ$b16e)i1nx|S^SQoH`9z&6OGaQj^N7t7 zVYyu)rb30P7|5b1C1w^8mvW|RH%1R^x-pAEbPMSCrm z3coFxp6ctE;!)TCHtwA9CIo{Y-C}lEmTs6-9F$q5DR4WCF#a;H_Qj$rCx`hTQX+i5&{3 z^b)uKQqv>(NjYEeZda35X2AF9HLtIUg@FW9^4Ly3x5Zv;GpSUvcJZCpbv^{yH}7>C zpaHg7%8aH{Hr%$k1B$4!e4E2!E#Dh3#*@;Cp3Ax-NfvYQhFX*K2$#>+n0hQ{Ft2{` zEA!U)qeqE^tiFAyav4vjomGxxZq|4s6C9?u*A&{xVN_&h9?LoCINSZW{=D!C+45BS zX-@C`jnR99_XsH|(vk#c@5fAFZlp@ux1SgE+MEPVkRCkQ%n)yXNQ55vNd1XzJiJ9& z@d@qW=zX7nfUx8El+Ck3Xv><%h*<$qL{?2+?}L}@qos?w7Qt>`XriS2e3R{w3Up$w zRKeS{j|NCv%Z)0Dkb3J!8jE%(0v&Eu$xYB2zO{0(S?c4xRWi_Mp^nar6~|GYXSnsU6(fXG#zxo7&^PGGGclpW-*#8G7^6ZyeeXG3 zeD^@gRt@nq+=uST&|DwIiBsnum}{2Vc+AxD+WMKPP!QYt6xqJqBJ*(Wc3Jq)dSW7K zyv`>z`)i&$MH18cXnwlK_gU1z)v3Zj4UWNLW*R4?MfUrThN8r!#pP#qDxKoZ5-=v{ zaLrjtQF8=(Dn!R-?3}sNG%xeTh`J8!+XfL=?j!866|MDm-&1L~T%$W@Kp9;zOnip$ ztgv0!=T}1hWnC%Xa$xVtE{v4$5zQDnAj&N}VtSrkx&J_rXlm5|$ZBWj%E))I6N*w& zhwC$`@3vQZv2W8eO1OrwIi(lR)7mu#sTW>nE?7k&H^>n&j4v2`ejKI`{g^M&z&;jc zb_in(SWkE`d@`_wzvX1sE&H3Iw37EbQfuY>%6<1q#ax#ZqwFPz-t3an9_W`)-ORm7 zF_z2mxn{>wyQTfHxzwGuHmSoJ6R!&0)0VO(6XvD&1{)?r@YL9n_TRKq8_xylBbg)* z+}Tb{K`(+IuNY4C=9T*4Q92_an6Z4K?{cf0LlgL?RFWi|@rlm7(+huZH}Dm|i&A2& zp#J$)4`>Xixb;FMb&U>1H*`{kdOgz4@!ncOc(QgG)OiOcWGXu&srwv|GZw)|7-65y znW2{3D0_P*RWWk`1Lg;NltR0ovXLB*&+SvN5iHC4ZhtF!De#2u$59CZQR-xaxl$<8 zCwz$VC24_B-X=CLOys$u+~+ z7)7~x)a211*@+Gr#RwMs_r)TjSM#@Akj8Tqmm1|25OOTYACn3Jm;<@2I>+g_athvq z$?#i6gvaH%SGus%UTTPH#19v;Gs*VD4cC)=wRyOr_|Z2Wj@r~_mS}K!sYJF;4&x=C zwxT`8a6zdw3AeXMt`0kzVi9A_U+3n+Yf2{GwFik}(p2Jk2Wq|SmzDsB$;i0F8`SI+ zDX%g)C5m8m+8-m>pEP@|o+=R;r~lzHJi=F}7j#;CxOTVjy)R}dlwGEG{uG_)iLYTl zC7;l$i7AVUOC-NBNGfi?#wd+r3&%o22%jcT6s{}g4;e28s-Kv2I))GwB}{4U(w|3l zT=*$Qto?Uidqrpl1? z;rE$Nv=15P?HAh7OBeKP33i(Z=0V2`7f^L7|$~tS_L_1AJ4HFSx;bH8Q|no zi;PLbpig$iu9BKlu{j7_tXEmgtJ_@Ct|JUsqxa%e=cEAgXXJ)V+Ha9Oj!?{SoZ+0z zB(jJIr9Tp{)fs0y^Yg5croJ~;!DZ>`%k-_uJB!0>tjVbrD@!~^GNm8id}?=jCggJy zne49nO0TH3d7dDN1i_nYb6qVW57SO<5_m!#cm9|Uza8ngdOJ(pxHIm}RuO6D?**|; zNA`Cm-ZpjoQez=RP22r7W3i12-T4K_N?ckt0tq6_i``Za99cS`XksotAisHGnOyg4 z3O+$VfVeAFi;&&t7+^X#Y`wM!2hIM8@)^cz(<~;(4;GCCg5#4!$mMa%I-Z)2qBUxUilf(1$g; zAd9dpslOH8eTKlIbbr<>MuP1LH}B;&v#@LSHRRT-7bk6=nWF{CQnsZIM`&ly%JIC% z@}|do9PIeD58gpzvi)BfyQf9N9i=Yd7BmrKkzL?~JRPEB>-X};_z1_7A0w9Ez56|x z&_2&{^wGD_)^y!YxNX1qXt5DHT@alcRZZKyVfnf{An-fQSY!Rc#_4-umaWp#@~J*$ zlxk)31BZvTy!&|PB!5+*Ei5|Pdue$ly8oA-tLxPkD{po z&?U>ER*zcKff5GfCtBCALKl9ALTIq?mZc*9864*QzvBRguRs1ft|2L z?lynF;Xt6Xam-(8uaH2Ie9(qwE|!h6CoTWhZOjEp9gd{ZOgGKfo~)6mP4P9kYo+(D zY%DG&rzk#2Za65j{vJ@QFM@la=?L_X`79>~4Yun)N!Q;Pmf!e7%B90u;XE&}ekVnA zqi-in%#{<3N#oPa52#2S&r~@s=^L^RY>!XBIL2M%?x(Ubc=#X;5Ojj$Yl)Ty9Xv=C zXJjVkHR9=_PYNdTs=o9{>f8r6p)i(>l`)3sNnsVbP3xSy@>(u*!zt9amvRi06N`JX z#o6V~RQFOGe7@Awr*=H1TipK8;fZ#lqP^hF-J0j`AMkRVtY9!;csPAjNM7qi@3)f$ z$}5h@zSMM`FX_@v^;Rj#M}tmIiXt#Ti6Ymd4jX?^=cY35kD&{tIV&E-oLftdHH z^)d%a3DN8YCWdLyKdbxqdjIHa?Fgr}LtlfM#8&laW6`g0r2ce(xD8%)7y{qdbGl7G zi5M-yMTekknr=@Gs~L9xaSu}i_T#gQNd&wRq`hKp^i8)P6_@?s<+LaW`ia!CqDn0a zqxLiMy+5q)vpjN=?r`t>PG6r_s^7tF$uPJ3+M$S9=3nFyh0nB9zvoDj8i~qyadT29 zh)Gsql7m~XP^)I}f||^u_sBY=EwEP}zaP4%T97{~F7+v4r%#f2lQ=c&I-xvX25V(1 zPknbzlL>aHUDK%SRJzE{7GtPaVL_{qG=jV!CbJ?M#PJ?MXv(Dd}N5=S29KkJ<6P!Y%T zX|lq5W3V_)wsnHS8bsq6MJ%Fx_LF_OCSgId{?Oa`k~X*1FQ4w#6E8yJktWkTKVW(4 z++}8UdZ|=ZWHLtQzFR{a4+1TCvYJz!nR%vD3LAaG^K!+Tgu%-1T)w^s9Nv3trwPM2 z#C=2^rrXw#&6-boernu(q{HF&bN;T&;(=_nsE9=-1|;Y#Ai#3QpUremllLu7G`N3Q z+u5zYcI2DxS~n5zqmvY`%(>sjQ@dk>)nqW#JO<0rAGv(KzaO{6Q@GKG{K?48u^vLA z)@tM`cQOZiBUta^2}cJ>rly^@W%Zkacqh4}N! zt@@Nn_VlVtBC3U;D7Ecoj1j=^+bA)Z>CSQeY>KkkOvT^SqG3^R5fuv}8oHPmIafkUE zQTCJ+`tF-=u0s<#8pLHflz)3De~fM1KXxFLBHkgPw4RHN%Hi%S#EqNKQd_TnVVT@H zbH-RmS97J~x;A=#=(alJMU~CfL(B-)jg?OHNBmxi7LD>G#fc|$Ph!@c5`>_#%C%y( zPsX>jJQjPaUTw2kqH^%~WKu25?#`_2{BwKcll4IMWRuZ&!Cvm4&vb7ur*X?o%~7~K zsiPK4#%73KJ@HdiN8n>>o0|qIFSa&%vE6j&!Po<0(cP#Nezah+YQJH})?G4N+WX7y zS*k6x-8>hg8yw;U{2I?YA*rJ=%MA~xwh+s7Q-^2psh_!L4)e5Qb9CCzAmXpI2O(z1 zlsw|~q~I=_T+p4*F1xMtTRuPOb-1s&S}U9feK2y8X1~7M89BhVe4~*2n*I`sO(|#g z{?Ci&>AK&xrz0%a<vJ#5+u!39KZrglHAS9J(P_`WPz$zeidylknsC5o!&1o{1*q( z=TS7U$Nyi@`#>M1wdO@T?OO4>a*LhW%2=D)@MLACpq#O#d;6)NgZu8DyS*6mNYW2F zyAK?$mGj8Y!$lF3Cr>)*5Xd|Ld6M3_!eNTd+E0$N`gGZy#-Iot!vv)`co`-QM9WnP z0x@5EZr6cc;DQQeiQ~In=e~A$_^^Wdf>A65dlgO$Mafa|7=T{FcFcNhGWPz*JWaG- z!!|G?!B=-wWb7+FH-r}|I1(;fccfD>FY#>}&=KMri)-;2yp=hOYA3sguJ*jL2BPef zb5{;Pg6;ScWP4W1S4&GP>K?IR52@7BSrM&T(6lLDf?43|q8IAqySJ9rm)`oARz&T* z>ix{OxdQsN=$q!do2d$q&$aq83ZCr4=+~OJsxM4Ps+yVgS2#p>UBcZ=Ox>YxwI~N^ zbaFB+;rlL(^ewvz_m&V5r?6d~Rhh+_hE_YV0LH_U-MOfcw=ke3sY80$KFM31PoA{2zb( z+!3i#e<7jvl5-QDxNQvyy@p%EwS{*R*QiJXvS@!<3_;}%$1N%Xb^v@5z z#bES*vNkLQr?H%vu%5E`=3hmupha*(vDlqVdtNrL(rCWixznqS2x`BvaQ3)WW7uTSk7jT~I zEw<>)QK^k|mQ@U)dM;#qf;79@Owd{!wp2%cZ)F^!MmWKvE8ooP7!rcR#Q`G z2cKI;M#gpJ^F>ZM1qCxI0k8w5an2wV{G-Q?Ie~1}ez3pGWq8cI^~otx(o_KpqG$4@ z<>S7)UuwP9C&Q`v5T{Npe|(d4M@k#~zaLv$e7CB8ypRsG8?WOr7%sClgq~Fs%)=6J z^_-VSbz;iz57}*h!-6~Qc(Avlo{TK=+*p9~bB0qp`%Zh*z^m&NE=>l|#jrsfg z`|kftk?^7#EWEb6x!jDnOPJD2K1uSg2V}~nLkPt|#|SEGbipFRh7 zWN&Zhd-lZa>=u~IVI7i^lJU!Oa&j+ZY;0`2y=!u=>(Pw{`M%LBdI_XM@6O`KH|vwV zSCD2#M#=B*2I@lT+nfdJ*5h|@qtK+`$gvYIM%$y=P3?hVe*qe}KGPX~=3;+_5=Eat z6M_eGC}cDIG%BjtdA=WvO$HIi<8h&{n!-KJc!taHiK!l)yF#>M)*R-ujYSWiot}N4 zv{iq~<&{39djLL0TW9%PKp;4n^m#@fDU*YrkkS3C39arW?N^>MW@399~}?a!yv{z_x)*&>}?DtmQU-z!fi7cu$_v< z;N#=FtbEq*M}9^#_=YGYy=P;qc3J$ox|;gzS(VL*KuoHr3sEpEyzPhVNLjRsni{Wm zwuYSCaUow2N}oF+|JTC6ftq~;Ifh2Zha@zPn@c00V1=&oU(I;#v#Fmz@ni0>@RznE z;ng%*bOw6E3i2c(j?*FG;Ww^ujL`8iGMd1txOnm6K$dzukMazv{_wzSI1NHL*-)-ZfleB+>)q?cd+Mw%=I1P zvHx75SxQxo{8bFERoyAYJW!Y1Io^TK)Cu%wz!UMR=WQmn^%J z;WR(Bgzy6oH}}$fR%%OGsm(|+{P|@KAW&pvN7&tF# zANXL;y1OIGjO-u`0Uj~Woj{Dz=6QReBq$?>3pDc%2YVjNTI(g+UDuVAG~es2LFNRE zaOCbd=}^IKbY|_=7q0~x>kI7c;}s6F#ZoTUuU*sV`A9}VL2>TfXpy<1%J>^rTwrIU zjUMg9m$QW>!F#^|3cdf4WALEypwO?`C0F~m!~(?2g`U>Q(GCp@o3s_dp~oG1brGYR zUtCAuS`WYh7|i62e)dchtPF_JD9Xt_qL+ZU%)r9A#1rRqD;;MhCMKY~)IeCF2Q*|g zZ|A%JU7KL9SkCh;dLB)4fcNL~8KK%eVk`3S$yxub$MFrv7I@Dp(VeAjpOgl?I(dUh zG=@X-s2?t4K}YxId6qQYZ5jHO{xPz?#((~(z9`4@2`Ec(_KolaukQ`!;6x{gQZ)M@ z&-{F}=@2)Ex^T8SlidU{tdzxAVDF1O-811vN@dYi~Eh=@u+JL zUtkiC{zhkk<8<9;ey0PXm~de1t8{5G4HK!_$kp9Bam0oCQ3itK$(=Pu_YN%gzQtG` z8lfm~vHe$ndWzRFqo^W%eQ%{y}cb01l8U<#f}Y2X3&ZPG7X>A zspR^^_A>2f4{bg-$M?@pJ^O2|3=3LteYs=s(h{1mV7~t-P64Oqo%wUW0}uY4F}Ly8 zxvz?>`j|i14CSX}pIrG;TMfVoweWVWr;g)$Y?aI6$10cmcVdV|StKQWp&l$~ZDG5x zMk7MxkD&~45pPg?f17B4YzIIx6I<&OI>St5%BF8v1Kd$MCz^b*O#vM!n;m`u*RP`@ zff~HFv_e_&D8EHy8B75ifKPn3znNO3A!N}AI9hpCAAG>i)x9Qs&H##Apgb9hKQSsw ztIB!adf=6Wb|@VGJ}BlTKU4zrBlyu!m2X0zgundigQEa+l)<^W1$IygLE2D`8m`CIm=${vcazu`ajmh`DId5z~+Zq-hySyb`b6Q~@~s*kEc@O<^hQ zEIFlUw(Eu0)+U=ZXQ7VBwI}eK0|9$w(?I#}t*tJSoLQfjv~ku6X>}bUO$b^f88vme zWe>e3=zM?hjSB(-0)7X35ZbEo-51R`Qq0U*v);kgBmSMFCIixHg|!eFN`G~a(f}QJ z?&Y0{cMsr^!25QKyj^aW5_6XaQgAMB>54+uZ^kX5x<3-0YRqWMrRsu|*l|Rz`~Jqz zcc7`s$&d8O$;tJE;2%jzV{KVty^R2T;zBTS6lYwO<9Sc5%ApF+u=)7-jC(Hfm_EQf zJSAHSdn3&owu2SXtIW?QJ|v2|a56vIgUVm}3CG_6-u~cWj&x{5mJykP9;BM4S|e5g zmH-7gq%U9Ef*$D|y>tibF1cJgFs#_e8N~miGPKY_?n?hsXeb4HW50F@{Lb&o<>NB= zChiH|%cVn%vTg4!?CtHD(4z>u9*2cBDw3%(lcq&d4~ZJ(-h87R!@;C(7Cl;K%ay6G z5==zN`ANUbCNZOr4h#Fp9cV|$vx?SNw=QvTT+3EfRVC?wI?5%n$4zNWSnjpfOzk!T zQh6JI#f)pAg64JP=ci1vO?UM465RJ!BBTzkdO+gMRwyZfm5sgzW=M+x?$3Vogf3;t*fhh z@Zf<;95;C|IG@=!ved3#y$S&$?|xdl+3u7!;DS9!UaRGmvFfKh4AovbD#vn|%JW=+ z#r3)_1Ft1RuGR3}x*ti`jXlStG<*Q3Y=N5)K`%Zx)rQ68-YFMf*br&asX z069r%Wbz%qtB>XySO`v?yHKNCY6EAMRy28?wH`{uo!wn_Ha0ePc8mx!GxH0UN!KT2_++O~<5I0~nb6jd$^7AX z$a-oRT3gYrBw9Xy;M*PzM~$4XDDyr~&Ms>7%1iwn3rRGw@;NkM7}d8P!J zhRx|~*G1#mdbd?$C>>0$xXz0hoExoY=#SXDJ6hHSRqN@}@`$F`HRC={@e0y# zN^G@epvJ=~1wRu_XZIgkNl^m*!0ha7Ih38np@LMTgN!)2YabS}D^<{4Wn^5y#*Y#- zL^+{}2?^g7|7M<2QzRR5>lbZ?nCTPPH*C-V9@S*ai{k)7)wevjl;q$g{ zSPYO)#`S#6e`E8thnK#hdW)fw%62jy!G(1>ybt%cu$MU=J$jS};Z6XHX8Q=~HpiKc z!B^MMd#pvXs|(qVp7A`wN<>0(W?YlZijMcn6-u7j_Gp3`D~9JxzRXQ&m{7i}kaEKJ zD581!8GCMOY6{9^jd?2~1;06-)XdyG@(;RdFb7C?r#}266!ruzWdH+sg*o>K7z35g zgtfzt3rFsK!;s2{Q_1HMLAF+*iT-t5b6IFXAV(+mPl{Wlm3J=qvTpD>h$$d&Lt6% z9l*}E&$V8{V~UR1-aukqUQ_fkI$!sVA3r;K#cr&s6pGvW{eyges-|)zzT3*@hKCl} z_=)gjCJrvIdDkUmY!nm@#i)b~y)=3Wg^tmL%!4omPzUsGee`}os9^*Si>UyMFD;>r zG0?mx@3SAHc#WK#8o&7EceCN(f2upb z2_-q}B;qp!n=<_9`mi-;_hr?M(0?gdwC!ZhNapCLPYWRwix&Q(jbo(Knh)Xb=TJ>} zxOBe^mET+urut_t_p6=vU5BQ@cTD=knO*sA0fz!_C*0cbr(q zGk}E58#Xe8YvMq&VF6Bjdy0{8|8`YG90N69>`jve zypZ4dO*J))A)kKb{>N*syC+FVf(n9yf(WIemkRK9cXojHk(z=1n%eRH)gtN-wG3L# znT}WhPPkmX>BwctrLX^S$uYf8;bnEv?gR z@!b0Tbw0bGfdM@-pOSwMG*Rb`0c9A36Kyq_Y3+c8f#wEgp-BY2L{qiH%j;=rW}jZE zCThJ>rOEpVY^M&Q=^gfCRf8p#>c>m|Al9cg7Y2zRoZf*^1+!aRy7_0KVIsuhSEChW z@)2fRPC!j(SAQOqDeVarv>eVE4AES+?w2d}BTobV$Ybz!7`Hp_Wa!ZfQIV5B@cu2N zSskImU#|8$^o5|fg?f|`3fTn?74>l(i^nluSeWSO=+)1ag61tGAK)pLp{tg^5~2-7 zL~nDhFCDPY^fBOKXm~h9?zfE%pT#%jK~{+KLL`GA9|o-h6r0^ovogap6=w^&ENF+Y ztOGBP?QGr`$-4{)`*akfvL7pBhWUX%fk%m(3kkAOosXh!2 zZcvWgnTn9oKs0Mh)>3x*0{f1t_2F1*3ZU!e@rWtzx%KHX@+MGQQ_P5{{DC#TCNq)|43VbwyME%ipi7{?FFY# zZG@d*!SFPPskarw{@{7O%RXTEst!EgT zQ2(WJ{MG>Y{rS-p`D|b4t6@STUEy)e78d3iRCIihMkrKa8+5IMG@iDFpYQFO7EiUL|!_OmG6n_qnKN#R$4Es~(doJ#_Vgx&@aCLGGs6~%;~Q$uYBl95i8%E)fG5d{SOPIyPxmmZ-6mJu#ePU_^rh~jQ&%L+na8W zhQb?McXbrh{Gm67=*Fg|CSZhV8PJGclG@V|iUqi!rG1q7v_Lccq5Hrg@LsFql0kbQ z9YjhweI;2>2p2VzUYiLV9@gUzy=y81Ds%jjTOV8`SSjzr__*I(ZyJZ({p^T1d7l~1 ztH6Fgy|oVPB9+?HfPxJi1=5dXk3+_lGLXY{YLs|Y$0pkE=T-KgGotfyxc#K9X> z&@zPkC1xIH1@zFOtcnLT1y++7nhhsH3q<=`Kwufx{OHSO0AEdX?Ud2>4 z!sFtGtey*G5hwE@kriNQKm(L0;pM7e-%0+PyMaV@?5tD8hYufMZBGH{GBcZjggcoj zTx>nSwi7H)`amZJ99Lk>J(9aNK!w~5VT4ZU59R@l-ZdfS%Lw!<==TA23JlA6an~l9 z`a?>=@d3tLXqK;8aD{Ed*IJo#b5GX(;g!+|9K<%L(y z$c>{HszXCVVOr}HjCGYlxbnF>ywaxCBooIN=VATHBUeuRd4)gDF&p(rh1jzrXBO;p2K4Fsarxo}MtY2XC2?>GI&%ChfIByU1`MG~!P_m;UGFaRTn2Ozt0l_ve-Xk{XDZJ&8O! z|I3~{`UjnuLm8i->!v_m>i=z;0(HkNzupJz6A0goA0BK$RfS!7vq$g<_QcSR$ap~(@RIwoD$owV z!<~K=zF;&u_bzBE%$%IcItk4`R>$k%>@H|2892KNkz+>p(FC55Rji#qEUy>5yYPmNtJ8@G9pt1}^U0AT-?;Ikh$JS8%I( z6KI{LBfJq%ld=~@KsWwt`P&50D$2@4Cr^$PTM(~9bqMfETLV+<$MPp?RuFxlBkh8j zyoIa&F~rKQUb6QSAhO7>32{v0r1!3HNP#-4Y|dtZAVXCWg8*t+4PsY47!m-O1vQOmEInF)N(Z2WhSc<98MVk>KrSNRxVB0<@WiCZt9!RJ_~&lH{AuqsAcHlX z-!9pFyP+--Y}-PQ3tySBp@AL_8VyT2m=)(<`2M$#w*`@q`>wn6IWq~#q57iJ(RoA7QrAz&&%2o zyEqCxyAU@gClMXOnaIN`@y^y8*hB2BtfBWBv30vEV$*3p&<_mzP9JVhk;Xu4HF&oq z^qJWRC`KigJ|@cgK9%CP zv=Qu5i77(1&t%ci>eC33glntF+GGGt!=lz#eZWJ%hNMjpv_!aG(9Ji3KBLO-uqQ_eGIW1G9?=MDJK=+SktF3;*H%4=>TpTh2c0W?)zBmw zdWZ|Y!o%`tG0z`!@YFB{9YoA)Sf*N<_XMN!S_@ys6*?DCYD_=jW?%1KY-lmbPfZ=i z=?ABtfbQ~Np!O{pbJ1h!u`q6KnZ%iZ^5x5yFesb~yBM57b*X)A?%0F`y#iy2Y#rz% z818ke!3gw^Y!HGLXk2k3UrTdDV9mkLMRoDDAP%5l3a|m%fRjsrH^*FHFa$bMr17vk~Dm;cL1Bl>q#Qpg+i#=8_7u)Lt74tYy-bdE5Q6Ha2-V zv<<;j zVi55O2}rNaB@negt0@w4za54;WYfiq^R#K#?ey2#J8B=h%3)h`OumW^o-`Q(_EmbT}E9BBMo z`}Yq)s1S3KVS`KOXJ>laIT)?CbYG_QXI|MAd7sRlm__<7m|*1}Wcj{4nR^tU*mK`zs1E zz-6V1H3P8Y~Kn#ZJ}67}t855&%^?JPDbx z5>QvXM3ZSi;DaAPrQ{lS068fN1gT7SRRn%u;F9g=tHPd!#jl9`awtHSPc0m@14HB`U zqN0RqAXVqC+!NpW?BpooN;L!Dd!YG2=lev%F{W25nNXBiRpPWM7nbm=GzN`d7=SpY zS!~u!IK6z3<9?cn^WwVm&?Qbx@sbHk)akM#>* z4`B8lx|4{Ikf)smqjdT3t`2i^8hU#8xVcqtJ+r12{R}J#k~2=bo3=WYcUEOey&n9O zbgm$2{0)!VWOFFCV1(se7-fdMi8Ko|o;a#tWo4zU{Q*vh22NXpYe2tn1zs-b9Lr^(Q1jFS85XT)n6y-n#%{N9pDdeAum(an14K;T`Cq*8>Roi<5fDqO za!?gulfU?u9wFIiP)JO{t`?KDv9(p8{rWVUxtUpELtzzwR64oGYv7462zAVGrI5V+ z%MqE;LPkVtMJ|wX45<{iR>n0DP$n!nXa(<*P$?QCGyyT>I20o2-;5H6A}k62TsshC zFT%P-d!UI)Nfqk=)z3DnfFijULe8RrNR*|&!fyh?5yK9cyXm-Oh@>lO4%65OZDcS` z575a)5!=`8u$}V*8vddBP52V(+an<1>A~Q4y(?#w0PY1d7-0WgqKpBm6rsEP_4tG- zP^6n>C7v7i7^=e_(}__fg4pr`1+EsHvxp~8;M-Cx0UI?1KvwF4!Cp5vAj{74S{JXE zG1eh@vmaJmOwu_b5gZ0|__hr=>~ISwJSx}_%0MDb(9pi)bQe?LIzdI!AAmnUyyYJT zSqc?nBHz&K0my~R0b^30KR8^!fdCLShV@=*)fFcVu2l-F4s{HH_!hITiWp<4la%e3V22@wo8?bj+d8rWwl|XmEi6}$7>|(I4g-hU2?sGJ5mZVUD+qR$Pffd zqTbt=?uMT7$CIczA#9>Lk%3Ol?0$Boll^)E-ggk@NoCIg;hxlraE2zom zw5~@yVi=`h%jddEL$M4m#+QZ!06(PsGzFJzAf)+Bs{&`vN zQNSXGm~$MRYlWkgW-2iV_7&pBZ0|D&_Als9H6DUQkk8~QJC%`ew*Nk^yhKWQPEhw1iTmimub89z1&BJvl zdyJ&lrH#dP_m@g~o=QReYVlG9;(KET1xbn4J8rYe?_aO$(yo9&7SaM`@0VIA z<#b_)miO}IGvs9Sd7g9J0OIQ$vVWX!C3Lmpj54SPk)*`Lh7d)GR+pSN_wx)9HGBK; z70lh}Li|^T-id#c7!A>xq1=KxQE<&$>AkwxuWx*oVZ&GR9LCmdPZGa9(MKMwsi_HM zUjF0(V9HJ9>fM=MEJSQiCAEVl8L^*q9C~6!B^ZQr{MvOAe`zq6TEL1yVfcmgF$OUv zCMK;Dbap_;B{zjPo8m&osT{Izx5?HJo#F6r$0c7B6{XgiD9mav6@nI0pO2(Pct$eI zdoOvNp{Mr+53BtOIu}GENUJ^d_&J{i8NWlnMM~f+zkInfqREN;Us02fIo47hf>r`c zqa`l#9xP^PFnUs@BG!X~j$dAxokcr#`Fu^ZY^oK-qArC(Kd?J&kq!1j2%=O7iuuz0BtY^N{$N$^^bo`H-#iESy@VjOHVvesFL82pqngBG6 zKK}aQ!G3wtBiJuCyMzpu^Q)Cao2%mmU--@bX2SjlzTd__R@&Ze(wm&(UVB?~`7cJx zNjTcj2HD6z>x~uP`Djq}{&9`Bfswy8sN}>xVC3#J|F{q;_;4pcP`Q6t+!6$6798zt zx!~T0W#sK>2fqQx;7$EWUhpGR#N1GF0LkoZtfFpWVgkiZRz~K95oxKJ zpXv@6lP_d6GG+RM+keED)dz8pvT#q*QSoI7WhYcWUF zZSbQWn^hn14ZQN=*alSF;N22ReXI|Rh1dkwk|nNy;x|1(0Pye37y(zQb}i4aBUhSj z#l(XJd=^=`bS3ncP|6`xC)#sdf=8Fl(EEK2*B6@A0hi9yW`H<9bD&1TYI&@27A#88W zg@<3oL4rQ>81AUOvdy?@dc5rH`8W(vd;H?s)vs^wmgT$txq{QY*=B*5tnUxE&SsQK zC8aXpQwzc~2_G4hfQfxAV*8*_Q}KpXkTgDN&t4VH=U2vW@7}Pl#Ip||St8TD5EX5E z4W%+3%1E1%!dvLjRebiRs3kocL?= zI)9RpQy4tlL1x~EIS1i6uN`=F{P>)}3`dn59nKD64k{JWO*~#whPH&W^Y`awrd1@$ zN2pvZIUl{50E@2!QUU#&n{gpCudxs&GDCJPhvBx4BcH4>!DRl+A~-Dj(fe?|5H!1u zKH|!)w6)A1a;1|DRc~M25Ok?0yQrItgu|(m#IG%4>HusIlgT#Lo6IlFeY}KF-y?o4 zU!ig)FjU|Hb9`}K4v!EtP&Of5Qv9iY^p?-FP4|_IAA`^at47>r-({Up%pZrX4EpXX z&5lYlFff2ke-8I&NXhN54*-DF^M}&kLz9*b)^^*FI1_)MX|bCeI53Fv^yc9vuChTl zus%t~XI_NAkam5qeRFFuvy5#`6xuC9m_DyK^a{qall>5q!o|%>JVENA8yns>u<>~? z^sX~|F+x!e#0cOCktNCrfTQB9$NFT#IWt+gAHXU#)RPL~TM<*)US*=Z;ZZjXPf+lJ z>Xr6t@78@FJ>gQ;jhZCP!Z8GIEXi=y!quQ!aTNExMA8Y{V4FF+Aa*mBL$bZ~FaW3FHhlZo0BV>VcvydLU%HfvXYgNl> zXlQhoi1Hiu8=p>xE_vKK%PezMN0{obyUMFJ>umEf<`i$JXW;?$SD+BD-A>X1wU{cx zMr3VZ38-2VDpch5>0)KVrXxDzUSYVknU2N&w_kt+fI`W?=Pr7t;<=+}3Xx zfP~g>@ds`R_AjbD7&D@@V8H^E?OTZGpik3z*(9jBixUYsqN-r)ty49BAwBa^5<%N{ z?1)2^Mj~V7iWTTEMa{fd+MYDckV-uK{R`;2PashCWatX~{l;a|z@N$g`^x6NN&7|B zebKVv!nkD~Zcfz_)L2ideLUn@E2$~|zlK_zivj^a zVEa8)vakp)m2+7oY0vbCp?1ajLw^~=_?wx%qlEL{S3I6v289Qh-pmKG0L-NHEe+F*W25R^8e$<4`6DHXNc?a=7MY0GUjIID?jjMrT^i+ z?R`)FC#%WcTy|^%i9`;sHZn9|j!WR^hyh@*jbqhy{y?LAzQO+tFE~`e?@C zx~=65|1uQ#Vm+pXS|zJ@k}W`|34xs9=*Qkl&%iK%Ea#r=W}K#a09ZwY`jd5&RM9J! zw_V_j-R$cP4=MBps8;8SjDsi}_djpvOFhrCX`_My+^+;FsJW?s4l-PXK$6Qa<#P*o z6^c$4J#+oHpCR1=rWvyr@oXG}GtpYB%KblxmB7V&Zdz#wnDuXWK$<~=@aG`?AT6B_ zgj%1E?tTBRmH_Nab@7Tn@jana#%I!AWSfR~1hVkKs#tb@nY0L`GMs>UN5xN%-tCPi z?pw|^gVhKCo-mU1WBM-I)crYnBXFo$rD7_q>N{Nu3Z3(-TopE3uHP2=tOX5C4>~4? z&w=*xGgVs>uGwXRLIj+5f;5g@XBb$HFd)VY%DKprQo!}S1iq43D0jL% z_UT!A^&x+35OCrwV!%q+^Wm&=0bHo--DF?3Ijr7G^k1|3s8a_I7h((2(A31Lo+CV*UHK+b+>TI5RYWYV+M&K7p@It0tLNNdHhaANL%+7(w=~b>J z$U(vYS?(*lPUr~@l2*9p!KY6bLd^zqi!?+w4*PO|5DB3T?^5bC2W0ni|2JPP|a^4fQ@X#Kxnuzn)oi@Vc~Vl zMdyVT885LvP>7AW0HQeZEh(9hNS9YXq|um^D|cG3qha&!GDZ3br-c-m0-Q;pqjSH2 z*U}pSX;XzkqsPVv5?;M}1!Xg_`8Y+OHOE}3Y~nzV&i$;6y3NPeoVcJ&dTqUMVa%#8 zt3-AsvFl2x+)uxi$IiCnc_Mp8;tCou{&~A@B)(v3R@M`up~+_5k=sa@L06s{tV*}< z)snq)x4l1F`l0%(rH;$RP0z<$&o%TT}ggx&{aXlb#9)uY+a)z<&-Ozj>jXOBaoq^I518@XKhWq z;wBN1;D`DL4}Ot)qOkIgy!W6z&QvHk_3G8w+nW;F+uKog00>PL*tm4;(aRDByH+JZ zBwUEP=HAePc}#_HDLeYSJ+VN@w&4=!nQX9eXnE3dBN7tCUtAS47Lb=Www4{S|Kx0( z#$n9yCfF`1QS&R?xcvx_GBSN^OFnU}T)9%?%GHvs3x*K7i{#}joG;1k8R0FV8n}NB z*EuQoSL^jE7`Hq)07t8rm)HAq!MdwcGVGkBL%|Zo%ez-KJ8n}^ne(-_5k1{u%CPVa zpBl(b1)XJe5_m>gsu_L}LT^AJNX62{u0cnRwWQByjW(W2g>?1Ki%*W zrj^}upUsg=(xkI(gOrH@?Ki7ajE`s}x$U}gEt4NIa`N%*JcfwQkGb5Ws0F(gQ6iei z2CR)CtdiUewP9^b^@Es}l*KRAa=S!5W(ec0*yrLEkHTvHJvl@y`7cN*H8Ct~qiZewD5ME!&?eXcqUnT0M>S0`gVW#lD-(G&#Zuo$vShnmXE)yrka*9SDsi)d6n z%(#bLrF1E-6hHseWva51eK2tc@dP(*?Ha_=wAbRj5c_5?MD;|jx}7DWFzc-GDVjsN zFFJYPlfS>PnoB2lbYcUEr2I`^T(gqAZt6;2i)tg0?rSuL{C0@SfdlKclRQ)erFFR} z1{%8JnmRVJoW6S_=T0trTFKZTTyh4H%oFWPski8#D}I9UgJqQJSAQ+XMA^Ws;6$^~ z3vEWqf$y|=Hfr-zyq2cv-c7u?Oz2$OwG|nhE3IWYF0{!K*S3<(8z|f;mT`4{@czPU zbX^sdnT#KjV`%06t7&mDR(F~@&HkL#lFeuk?7Viv>ri?hX6nuO z0G(pE9Hb+cf3xb?9q8Jy!+&aNMpu%<-OqV8V)y$r&(_xVin*NZ!s)eOVMsgHsrl9Y zm&ME_$t^qQx1Z3MempC$+Z4hTY=%L%N~66ei%#+}aCJjqyYf+AS67(@xTE(a2EEm7 z>Zz%#+nCc8iaw#?HlMs(WpmqcSe_bOG4Xv*o&prdvazquc?d+D7#ti#4;J%MtQB}c zJlLbXeBoUE3}5PMojSr_{yv1%21B&Y8;|tv7oaF2e+2OvOjH_UWJ1EuYCL}61HOQS zuFaA^xnd>H04OEo9%aUE4>x}bG4-Fvw!*%a(%`ID=Jp|{L zfr$Lb`}}H5q~l{=w&C=hE-qs*;ad2Eq&!DcF%iJf33X!zn?$JB*DOOw83G2m?>xZp8kE!Lts3 z7lU_B!HX#};_f&C_9Sff<%Q}E6%sSBzhhqWlj>?I#Q@Xt;awGW0TCTf$Zi>Ko_St~ zD(BqomZwB|ew5zj7kvJ_c_CRKzvIJ)X9vo@-gz^haVhyzYGl>VBwcq<73P@Jg+XD3 zpR?}<2M1?_aeVB=%OfV<%apw?c3+#XTjW&Ir)hkaUSpGlmK67nTFw!l-Ukc%otVsD zB|C<6f|9HjyBqq#9Of!TAAD~4lNG|kXRc|9g7SbjCG_-Z`)6rqjUM&Ju@9=@9%h|B zj@ud^ud`|IE$fA%kQCxBBL(L$Vo~Me;1Wnd*m(D@xfK#o>?+5K^p3_=kryqZ7KD{q z-hs;%JlBirYk3YfYyn)~R?V{cJAb}@REmwUD_E`-)+Sz^5sl*@=}vvGKcgZCm3NuI zJw{7!`hBCF;>VKW2nA~NR{khgH(ulb>!H$D0a4Mj{f79@-d@Ni2kWX3h_i7Vv6QE` zPe-cB)eN@11EN;*(K`qMHV;EIo%L4+B-PZ^Ag+fOXM~5dIY!GKUh%EP^@$?rLZFYE zdRN+nzCV2uV3<<;_^xzaE%}s)_GkSuFtg^U4a=Ph+s1}l)74U=Y`!z^hpY4T>(}A; zh5q8Y*SPgAMl*OqEY807!%^?p&3)f)H%hXk)kLnglO@rq{-{3N6f(V^gc(Rs^d#x} zlB_kqx;;b>5F3<9ZKP_cyb*0uPhjF6~q&26cRDBfNisDGCBjNFVO?eg)Lf zS1)#XZmgbP;F6xlXLc^l47j{TJBnN$N!UMxdsGtXG)&Jc^jALH9335vL<63H#EcE7 zVZi091O<7N{1i59$U~{?59}W!fA#G!Q+rHaxNu?KIA)@3-5bn-n>fEOH2g`%5kO}Q z{P)9>6o&!`?}J{5=YV#{#vgCWu0JNHozyeGf}La0;9%tPe9mc5w=&Br5Uzjy(@)T6 zWR79@Nuo_K?!@LjL`ucp3-~a6_eWv~fi{;Dzc@%Iw2)WYI^!J@SXj* z?9k&?t9xL&4C|NT*5K|c9(f;g8~@$9wfX0l+c*O~41LiDdx+Q(D<|h3BO@Zx?+7Y* zwV=Ya^Ljc5FP`byP+x_Ew?dI|=)};O@bGYJYwP-cn@H24go)9hcsHbHVhIT}ax+&ihu`NV#n;0r6 zOYMXX4RYShr>{cb-uYMdJbl^h72$i#ylgP!C{Mc-m5`0=oPR}zUP`=Y`x!jK0pXg8 z`*us*=lWnvxFj1|h{OOd`cv>7O^vF@oT3Xsuny(3qEn&G<^J#zg?yQT|rJ9Mm8X2Lx+aOrz8ZI$~1JMn2TqCmZ z$XR;T>cJ9X7s`g4SGOr89og`@d7LK7a-oKPpinEE)<(BAM%upJ#8jtDpqP_;S&5tc zGL!L9S9S5I02N6_=Q9p}-dQrZiK+G2gfDEn-#hZqX+wK$xqC!B|3hbILmjBWj5zO{ z;x3Usv$#q!P{j`9##MQh@pTdXd;!NNZkS5np_T3LzS}ci z@rchiQI$x=X)Jlb`5$4%mnw3ET`^ysn8!TX+p#e4u=Jd2;9OGg;{WnxAhDap+b$?gZejR9dagRkFNdg0J;W^W&;3Ev&c^zO*_I+; z1Qb*}R__hhj6q1l77;NazM^jBG-4*!8YkPVf`X5(`bw=8fJ@Q^O<$2@Lb2u3kTEvH z-aM9zj@R1k4BvnIfNS28&3FO^LG#4y`)VOai3krbfma`g!pU-;TMpi~V3@9A@4lEw zX@SIY-K?~UPJt2~pCLbk)Cn||I15ch-+QUYY$HoA)=xptPoz_wZiaL+q7H49J_h7i zK^Yu$^Dabu$tzBB-jz1(ogH=}VN3pWiDt@)q;F2jI=e#HqI5ljLqosdJs+4AK>(G8 zc_^3;29=H`v^E)2xz ztG@IEKgqAbs!Qix0gypG-o<(kGqoJA);@ds6ypX4AfE@snniJN5fA$z)uLctNW1+6OM5pp2q-#v&ENS4 zI7?~0g(Rb8Ls7By5@W&fbv}e}s{0e1VTP%~N*h^YKRB&->~w=MqX~QOVE#+9>YAFX z^&=q0ex6@KO6>agdN&S?!8XRzODN2|=ax#SS{D*2{w9d8J0?UR*$In=Ts3I1%M2e8 zavuW$Fj^CI>n+SZ!o%-7J2lkR6`+(1ViJKIO#Q&x6K`5L?<|vXg8J!XoMy4*NuecW zzSlgZXDx#XsZX6iO0r{op2-)Iv6YTE^E~aoR6ySTpJX6_WC!0WGU$;s&6Gi3 z*@;p&NX*|-uDik!YkV#^cyZ?TX4_#br^*9{t0@shGORb$Yb3R#VkiF2ud*uy7qe@= zv{q|Sieo(iO-47#DCz;GKv)v$I1@x74LvoVs&>CT%IHA-{r!QQ+~F4m$_4|Ech!k? zu5wg5I&{#=D!FiM0`eak#Fir0HTh+OPq)L&-9DTZ4K{Q&!hjGR!f)PjZWY^n6!J-_bpmlT0(|TTRIxQ!NC^1L!^cb zU!l_B_Hq=3dSDOOj`fdfYR=Ec(9w@@jUFU0j)RkwVgu0>n&KuQ1w*_m5Wck!$2i{n zUI0O67@EK6oZ6ePRouGV#@IT%3lR#x;k&I3mTT6mVOh3eYhKT*n?z1y&_yUunlQ#) zGidZgaEe#aTNjc|mE2JYMlDs4ZK!rvTkx7aRMF-45}&~_()3vRrHK^Yuh->`>`bPj zsOSv>5b4|`UR%^C30DK;(=(=e<0;uds9JX?47`pW1-$HfnZw7+D>k0KKz^e;}(;_h0DH>lI zQqJ#J3i&!&s(XzN_xJaIG`C9o>9n@|8r=_u;90%Or=vVJa+DFY@u7>KBXYV{X4m!C zcaP*Wt7dcpqorvk<>r#13iYoEZFIqV?{1bLgg%kO361=^Lv59ivoqrL%>~X0$MWIr z*e!b`LC!UBMO+(0nw5$N7zfGowS($x-(6f?t6^uIIwG^fw{G1+ibxh^`P+`M{#+6N zasT9@71JCdvD5CYBX4;0x97XFOIB;6QQd)878c4d8$F;R4a%housOhD+HP)x?0ZZk z;M$>|aCr2mvlFGTb8;f7mW8%*LbRY+5>EKT&z6%`a|sd=NQXkHV3o)&dXgGxcICna-Ig~l*C%&ZEG{~_Njd>n*1!@d zgp>rVKX?S*BTdb~qMerUhq6MZ&bFSL>zsu9t4b`wAK%J#lVf7rYL=5ov_aReuM0i^ zUjbWmD2M!!?%2zhSGNQWn7XD%41ZA2iT~Fv3;+X`xOk2jXyK~`L>4oRMLVqRzRpa6 zW0T}29bY)F5KRr#FIB&HwX|H>G_x=o6*5ipekFUj>B$Hv5Z=G>Q~`>?@#m55Qyl}b z#b0PsV4TF0=h@TyCw9)2G?}O1VJpitiT8f_EdM*Qm1K6hCMn9YKR_+Irgnac0l)nd z#sgF)@T_+0XCZ4@mPxi@rG3ar#yxY!zMiu9XImARp%GQ~aa+sgE}6O9#8t4EBgy@0 z;jH7BOUfm2F@FKu3v!xRSOSzeB%|Yu3p`Y*9nj?YkVxy41GALtTZA2$W_{i?nMr%- z@P#&!MR~18cjnLf?CIp!Hk?LS_iKb*MZ8hsT7GOcC9JMt% zIqOPK6TZZqDx|0V8g2RCuC84mBo-(Gn%I%qW=Lk%yb6{7>DK(d(&yE#wQ5N$p5Est z8GK@GWti_|6f7o|Kw5RELAFKl6Gtq8hC()M>of7F8MrC$Wbx(7ZZ$JboF&QH{r})7hHMf z$;ErdjF1REipxC5ANq&k1oOSwJs#<0`>!VjI>(aC2IjxzMSWc_b3%~dMF-fbSJc~7 z_@wsfQAz))Qf5grj4MOSGFvmD;bJE7d;Z4ZlSmKLW=lcJD1UUkR5CxPX9Jb4mpE8g z?ab0Z>EY-~-EoZuv)cb3nN43Gnf#%KJ_j$7bUYTkQ zEes-LEf0wlfpw3YZDb)p8ADIf*VotXD_*sT&1tnxtWYs#2)R5_9Ik)p{?b$i>^&$W zbq$R}VAKF;5l>0;FqT@eA{ioYUJza?9cL^lB}L5d1S9}|{^f4Zy(K@BT7Wjr*i789 zDgY9>ixVO`jtduh31zkDNo;H^sI$t-t@Qo~VcaQ60P*wm4ualV-rn*z@HV+CK;}q* z|0wv|V;@2lH#`6XaVO%;JTbSdr}(qj%^Q{fw6cT9oeTEpuX}b=aj;&Eki{{xZqf4P z`)r4j~_~pwNKzl?5E>=Zcytv}29h3Xiw$st`L3peGKv^6+6K~7=u$)f7Cv9~ ztOgfkI__bzK$SKI01i9vOVMPaCx^2VU9J3ke}9^9uh4hFu~&*{mA7cP7K}Qpi%0)D z&$sglaa8Cf2*PrlaZAvZ%a`w95J{7gv>y@|$zhj;IiG$`?%nfV-WoQfK{CQx{Y&PM zc3*@>`&?$BA;_TI`^JGOS1(3IZDj!EfaNA_a~e1Gayu~=fKH6fzFcN8t=#9zgrlH2 zWA5zOxikI2W=uPPlR=+mAME+kyQ=gGQUlgz7pgXoqcvDpwJX`Q z{^in+;YQ<_EoL7F>vMSb+ll8l_6?`SI4!R3vdeT^3K1Vfa{JN6Hhz~Kjf24Aa^@LF z-?oW9YcYq)BZ`Tm_|-i(e{sVPb@4<#c@|htS?1Jb1h%K2_!pcO_;!wtme^g z2zMU+92wbWzl2`fbQOF%qwuot*wmWmaH;r4$s0JYE=RY)F{T<*aNuQK+0Nhtfi62^ zD#>tqEM^fed`lD7h6}U_tq%NU$c^0tZJ4~LWeD^Gv+x?q$oaD#i#a$pVz5%5F3fMF zLt6tDvve|U`9#Q+;VZ?9Ium^(| zDiLL7V`ooIOGARA3`Shg-yCZ{q6HqihRmdX;7>fPV+SraH=EE4f<cz#?0kAftr_<@HGJ^=Ns&d$y=L6Xyq9(IGN;+}iCjTp8gB;V})`9@xe z&xnh0n!3ioqNwd8(gN*m>MFZm>kK+dHt&%6n~jrm%`H709p;KK^s%i zZIqBWjH26hr_)B(D*>EJYAr~#XV0ENv)geLt$4bFlI94P6INJwmOUjeFR!je8~fLa=JWijOBC)lS*~X13cCos7eHyTGLtl~_w^)gvP#cm}vP z9*in0fQe;XCYDZAKg6i6s><>2V(A+b$nZ2!Fcjn}VvBiMP>kW3#x2l&ha81?N$*22 zIWc!4j{Jn8^a84Gjc@m4Q*M<2dCMf1m(9O0}W!VP%UWi*<_X_3<8^W8d=jV-- zlzL8yXn<-H840p9k1BGciOWKsjf%p8suM>ftxyzFcMUi`y}D4b zqmWtX{qJ% zz{Y=2(Ry^o5Xx(}w;hsWaV1dD>IYpx#6C~>P0HW63?7+kgl+tfXT1xau1Nst{NyQ* zO)MZT3m%_^ceK*d(=m*$zBj!L+szT^*h6@M7EA-}`?AV(7z6-g7uIc~Jhua)n+5l_ z>l*B$E&TrddscSwHB1M=j6~M5h9(v+oz5;P*hYxGkTgm73wnwaVT*=U0hxf2vocGp zWh1hl0D{7sLclzt7mei4y!u__%?Brf$Gf z*K=M(xBw;7#5Zu}+DtW*l7F~Apkx9W(_OxCfhHiJ;2)0szx?U{t6NoHvf@3{eMKq| z50Cyp7vOc0|818P7Q=@woLt%aO0ur>(!;zb`KAqGUaZvK<)p~N(*sLKm8X1D)gds8 z;WT!$YQ{c#yI@LMGclv3uA0Q)_3aAtm8OkU{VQbQs`I^Mffezu&zb6J=D_=fbp<09 z=qTde5V#x76|qF|51B7rGB(S3u|k=yd@d>d>@R_c8anFP IsuuqL4-E7FVE_OC From 15caea5aba12bb6654bb952d3b3774432515ade0 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Tue, 12 Nov 2024 01:51:03 +0800 Subject: [PATCH 341/359] edit PPP --- docs/DeveloperGuide.md | 2 +- docs/team/rahul.md | 18 +++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 1cb47df3bd..eae7dc075b 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -2,7 +2,7 @@ ## Acknowledgements -{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well} +Formatting of this Developer's Guide was done with reference to [AddressBook-Level3 Developer Guide](https://se-education.org/addressbook-level3/DeveloperGuide.html). ## Design & implementation diff --git a/docs/team/rahul.md b/docs/team/rahul.md index c2dffe59a0..ff6eff4d3c 100644 --- a/docs/team/rahul.md +++ b/docs/team/rahul.md @@ -9,18 +9,22 @@ Given below are my contributions to the project. ### Summary of Contributions -- **New Feature:** Added the ability to filter internship entries. - - What it does: Allows the user to filter internship entries by various fields such as role name, company name, internship duration, and favorite status. Users can specify multiple filter flags simultaneously, with case-insensitive search for role and company name. +- **New Feature:** Added the ability to filter internship entries - `FilterCommand` + - What it does: Allows the user to filter internship entries by various fields such as role name, company name, internship duration, and favorite status. Users can specify multiple filter flags simultaneously, with case-insensitive search for role, company name and favourite status - Justification: Users often need to view only specific internship applications matching particular criteria, such as role type, company, or timeframe. This feature provides flexibility in managing and narrowing down the list of internships based on user preferences. - Highlights: This feature required a detailed understanding of handling multiple parameters and developing an intuitive syntax for users. It involved implementing logical checks for multiple filtering conditions and managing default values for fields if no specific values are provided.

-- **New Feature:** Added the ability to mark internships as favorites. +- **New Feature:** Added the ability to mark internships as favorites - `FavouriteCommand` - What it does: Enables users to mark specific internships as a "Favorite" by entering the internship ID. This helps users easily identify important or preferred internships. - Justification: Users may want to flag certain internships to easily return to them, especially if they are in later stages of the application process or hold particular interest. Favoriting helps users keep track of high-priority applications without searching through the entire list. - Highlights: The implementation involved managing user input for single or multiple IDs in a single command, ensuring flexibility in the favorite marking process. Plans are in place to expand functionality to allow removal of the favorite status in future versions.

+- **New Feature:** Developed a class to interpret and process user commands - `Parser` + - What it does: The Parser class acts as the intermediary between the user's raw input and the application's command execution framework. It parses the input strings entered by the user, identifies the command type (e.g., add, delete, update, filter, etc.), and extracts any accompanying arguments or flags. It then returns the appropriate Command object ready for execution. + - Justification: A robust parser is essential for any command-line application to function effectively. By accurately interpreting user commands, the Parser ensures that the application responds correctly to user input, enhancing the overall user experience. It also centralizes the parsing logic, making it easier to maintain and extend the application with new commands and features without altering the core input handling mechanism. + - Highlights: Implementing the Parser involved designing a flexible and extensible parsing mechanism capable of handling various command formats and potential user input errors. Modularisation by extracting common methods, so that new commands can be accommodated easily when they are added later on, and extensive testing were some of the key elements that went into this process. - **Code Contributed:** [RepoSense Link](https://nus-cs2113-ay2425s1.github.io/tp-dashboard/?search=rahuljai-05&breakdown=true)

@@ -30,12 +34,12 @@ Given below are my contributions to the project.

- **Enhancement to Existing Features:** - - placeholder - - + - Modified the exceptions classes and the way exceptions were thrown in many places. This helped better handle invalid inputs by responding with the suitable error message for each, guiding the user to the correct syntax [#131](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/131) + - Handled invalid date inputs for AddCommand [#140](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/140) - **Documentation:** - Developer Guide: - Added implementation details for `filter` feature. + - Added implementation details for `favourite` feature. - User Guide: - Rewrote the Product Description to make it more accurate and detailed - Added `filter` command details @@ -43,4 +47,4 @@ Given below are my contributions to the project.

- **Community:** - - PRs reviewed (with non-trivial review comments): + - PRs reviewed (with non-trivial review comments): [#116](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/116), [#23](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/23), [#26](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/26), [#31](https://github.com/AY2425S1-CS2113-T10-1/tp/pull/31) From 02d001845d58ab8e1007da1f2aa31ee14b35e41c Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Tue, 12 Nov 2024 01:52:17 +0800 Subject: [PATCH 342/359] Remove lines from UG --- docs/UserGuide.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index f0493bd762..f61807cde5 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -308,8 +308,6 @@ __________________________________________________ This feature allows the user to mark certain internships as a Favourite. The user can input any number of ID's in a single command to mark them all as favourites. -The functionality to remove a command's favourite status will be implemented in v2.1. - **Format:** `favourite {Internship ID}` **Example:** @@ -421,8 +419,6 @@ For the duration parameter, this feature displays all relevant internships whose For the favourite parameter, the user has to enter a boolean `true` or `false` (case-insensitive) to specify if they only want internships which have been marked as a favourite or if they only want internships which have not been marked as a favourite. In the default scenario where no `-favourite` flag is given, all internships are considered regardless of their favourite status. -Users will be able to filter the internships by application statuses and deadlines as well in v2.1. - **Format:** `filter -{field} {value}` Valid fields: From 13524410f23bcd0616f97f378867891e69e16c8e Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Tue, 12 Nov 2024 02:32:43 +0800 Subject: [PATCH 343/359] Add FilterCommand and FavouriteCommand to DG index Fix formattinga at the end --- docs/DeveloperGuide.md | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 3e50cbe7c5..0cdd0af010 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -19,9 +19,11 @@ Formatting of this Developer's Guide was done with reference to [AddressBook-Lev 4. [AddCommand Implementation](#addcommand-implementation) 5. [DeleteCommand Implementation](#deletecommand-implementation) 6. [SortCommand Implementation](#sortcommand-implementation) - 7. [UpdateCommand Implementation](#updatecommand-implementation) - 8. [RemoveCommand Implementation](#removecommand-implementation) - 9. [CalendarCommand Implementation](#calendarcommand-implementation) + 7. [FilterCommand Implementation](#filtercommand-implementation) + 8. [FavouriteCommand Implementation](#favouritecommand-implementation) + 9. [UpdateCommand Implementation](#updatecommand-implementation) + 10. [RemoveCommand Implementation](#removecommand-implementation) + 11. [CalendarCommand Implementation](#calendarcommand-implementation) --- ## About the Product @@ -303,7 +305,7 @@ The following sequence diagram shows how the `SortCommand` is executed:

-### Filter Command Implementation +### FilterCommand Implementation #### Overview: @@ -644,11 +646,12 @@ to: 5. **Updating an Internship:** -- Enter the command `update {ID} {-field} {updated information}` eg. `update 1 -skills python`. -- Verify that the internship has been updated successfully. + - Enter the command `update {ID} {-field} {updated information}` eg. `update 1 -skills python`. + - Verify that the internship has been updated successfully. 6. **Adding an Internship to favourites:** - - Enter the command `favourite {ID}` eg + - Enter the command `favourite {ID}` eg. `favourite 2` + - Verify that the favourite internships displayed contains the internship ID you input 7. **Displaying InternshipList** @@ -667,6 +670,6 @@ to: 10. Removing an Internship -- Enter the command `delete {ID}` eg. `delete 1` -- Verify that the internship has been deleted successfully. -- Enter `list` to verify the `Internship` is no longer in the `InternshipList`. + - Enter the command `delete {ID}` eg. `delete 1` + - Verify that the internship has been deleted successfully. + - Enter `list` to verify the `Internship` is no longer in the `InternshipList`. From b14e13de819f290809814ea3fba4ba8f7afc0e79 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Tue, 12 Nov 2024 02:40:57 +0800 Subject: [PATCH 344/359] Put FilterCommand sequence diagram after text --- docs/DeveloperGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 0cdd0af010..99204096c6 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -360,7 +360,7 @@ which have not been marked as favourite by the user #### Sequence Diagram -The following sequence diagram shows how the `FilterCommand` is executed: +The following sequence diagram shows how the `FilterCommand` is executed: ![FilterCommandSequenceDiagram](UML/FilterCommand_Execute_Method.png)
From d6e508c36aaecac164dc4d2e8c3efdfdb560f0c3 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Tue, 12 Nov 2024 02:45:03 +0800 Subject: [PATCH 345/359] Add info to AboutUs page --- docs/AboutUs.md | 12 ++++++------ docs/images/rahul.png | Bin 0 -> 279947 bytes 2 files changed, 6 insertions(+), 6 deletions(-) create mode 100644 docs/images/rahul.png diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 9a31b598dc..1d406cf6ab 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -1,8 +1,8 @@ # About us -| Display | Name | Github Profile | Portfolio | -|-----------------------------------------------------|:------------:|:-------------------------------------------:|:-----------------------------------:| -| ![](/images/jaden.png) | Jaden Lim | [Github](https://github.com/jadenlimjc) | [Portfolio](team/jadenlimjc.md) | -| ![](/images/Toby.jpg) | Yu Man Kit | [Github](https://github.com/Toby-Yu) | [Portfolio](team/toby-yu.md) | -| ![](https://via.placeholder.com/100.png?text=Photo) | Rahul | [Github](https://github.com/rahuljai-05) | [Portfolio](team/rahuljai-05.md) | -| ![](/images/tinghui.jpg) | Tan Ting Hui | [Github](https://github.com/Ridiculouswifi) | [Portfolio](team/ridiculouswifi.md) | +| Display | Name | Github Profile | Portfolio | +|--------------------------|:------------:|:-------------------------------------------:|:-----------------------------------:| +| ![](/images/jaden.png) | Jaden Lim | [Github](https://github.com/jadenlimjc) | [Portfolio](team/jadenlimjc.md) | +| ![](/images/Toby.jpg) | Yu Man Kit | [Github](https://github.com/Toby-Yu) | [Portfolio](team/toby-yu.md) | +| ![](/images/rahul.png) | Rahul | [Github](https://github.com/rahuljai-05) | [Portfolio](team/rahul.md) | +| ![](/images/tinghui.jpg) | Tan Ting Hui | [Github](https://github.com/Ridiculouswifi) | [Portfolio](team/ridiculouswifi.md) | diff --git a/docs/images/rahul.png b/docs/images/rahul.png new file mode 100644 index 0000000000000000000000000000000000000000..7f71f01c9b4b5167135a71b18fed717e27dfe74f GIT binary patch literal 279947 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

ek_qY%=q; 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�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 z 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 Date: Tue, 12 Nov 2024 03:21:10 +0800 Subject: [PATCH 346/359] fix sortDeadline bug --- src/main/java/seedu/easinternship/Internship.java | 2 +- src/main/java/seedu/easinternship/InternshipList.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/easinternship/Internship.java b/src/main/java/seedu/easinternship/Internship.java index 995acc4da8..734f1301c0 100644 --- a/src/main/java/seedu/easinternship/Internship.java +++ b/src/main/java/seedu/easinternship/Internship.java @@ -258,7 +258,7 @@ public ArrayList getDeadlines() { //@@author jadenlimjc public Deadline getEarliestDeadline() { return getDeadlines().stream() - .min(Comparator.comparing(Deadline::getDate)).orElse(null); + .min(Comparator.comparing(Deadline::getUnformattedDate)).orElse(null); } //@@author jadenlimjc diff --git a/src/main/java/seedu/easinternship/InternshipList.java b/src/main/java/seedu/easinternship/InternshipList.java index 363709ad22..0e4778d597 100644 --- a/src/main/java/seedu/easinternship/InternshipList.java +++ b/src/main/java/seedu/easinternship/InternshipList.java @@ -6,6 +6,8 @@ import seedu.exceptions.MissingValue; import seedu.ui.UiInternshipList; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Collections; import java.util.List; From 297a94c1715867bd2aa553e38b22df3487400776 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Tue, 12 Nov 2024 03:21:56 +0800 Subject: [PATCH 347/359] remove unused imports --- src/main/java/seedu/easinternship/InternshipList.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/seedu/easinternship/InternshipList.java b/src/main/java/seedu/easinternship/InternshipList.java index 0e4778d597..363709ad22 100644 --- a/src/main/java/seedu/easinternship/InternshipList.java +++ b/src/main/java/seedu/easinternship/InternshipList.java @@ -6,8 +6,6 @@ import seedu.exceptions.MissingValue; import seedu.ui.UiInternshipList; -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Collections; import java.util.List; From f9f530428ad4fedfe58c185fd1e92b6820301d94 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Tue, 12 Nov 2024 03:27:21 +0800 Subject: [PATCH 348/359] Edit output until sort in UG --- META-INF/MANIFEST.MF | 2 +- docs/UserGuide.md | 84 ++++++++++++++------------------------------ 2 files changed, 28 insertions(+), 58 deletions(-) diff --git a/META-INF/MANIFEST.MF b/META-INF/MANIFEST.MF index fe5277d41b..380093f5b6 100644 --- a/META-INF/MANIFEST.MF +++ b/META-INF/MANIFEST.MF @@ -1,3 +1,3 @@ Manifest-Version: 1.0 -Main-Class: seedu.duke.EasInternship +Main-Class: seedu.easinternship.EasInternship diff --git a/docs/UserGuide.md b/docs/UserGuide.md index f61807cde5..5e1afda84f 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -165,7 +165,7 @@ Valid Statuses for `status` flag:
``` __________________________________________________ __________________________________________________ -status updated: application completed +status updated: Application Completed __________________________________________________ Internship updated: ID: 2 Status: Application Completed @@ -247,7 +247,7 @@ Company: Venti Duration: 04/25 to 08/25 Skills: No Skills Entered Deadlines: - Interview Round 1: 03/02/25 + Interview Round 1: 05/02/25 __________________________________________________ __________________________________________________ ``` @@ -259,7 +259,7 @@ __________________________________________________ __________________________________________________ deadline: Interview Round 2 is not found __________________________________________________ -deadline removed: Interview Round 1 +deadline removed: Interview Round 1 (05/02/25) __________________________________________________ Internship updated: ID: 2 Status: Application Completed @@ -349,59 +349,60 @@ __________________________________________________ ``` __________________________________________________ __________________________________________________ -ID: 1 Status: Application Pending +The favourite internships are listed below +__________________________________________________ +__________________________________________________ + + +__________________________________________________ +__________________________________________________ +ID: 1 Status: Application Pending Role: Software Engineer Company: Meta Duration: 01/24 to 09/24 -Skills: No Skills Entered +Skills: No Skills Entered Deadlines: - No deadlines set. + No deadlines set. __________________________________________________ __________________________________________________ +``` +`favourite 2, 3` +``` +Enter command: favourite 2, 3 __________________________________________________ __________________________________________________ -The list of favourite internships have been displayed above +The favourite internships are listed below __________________________________________________ __________________________________________________ -``` -`favourite 2, 3` -``` __________________________________________________ __________________________________________________ -ID: 1 Status: Application Pending +ID: 1 Status: Application Pending Role: Software Engineer Company: Meta Duration: 01/24 to 09/24 -Skills: No Skills Entered +Skills: No Skills Entered Deadlines: - No deadlines set. + No deadlines set. __________________________________________________ -ID: 2 Status: Application Pending +ID: 2 Status: Application Pending Role: Data Scientist Company: Meta Duration: 09/23 to 05/24 -Skills: No Skills Entered +Skills: No Skills Entered Deadlines: - No deadlines set. + No deadlines set. __________________________________________________ -ID: 3 Status: Application Pending +ID: 3 Status: Application Pending Role: Data Scientist Company: Google Duration: 04/24 to 07/24 -Skills: No Skills Entered +Skills: No Skills Entered Deadlines: - No deadlines set. -__________________________________________________ -__________________________________________________ - - -__________________________________________________ -__________________________________________________ -The list of favourite internships have been displayed above + No deadlines set. __________________________________________________ __________________________________________________ @@ -517,22 +518,6 @@ __________________________________________________ __________________________________________________ ``` -`filter -role Data Scientist -to 06/24` - -``` -__________________________________________________ -__________________________________________________ -ID: 3 Status: Application Pending -Role: Data Scientist -Company: Google -Duration: 09/23 to 05/24 -Skills: No Skills Entered -Deadlines: - No deadlines set. -__________________________________________________ -__________________________________________________ -``` - `filter -favourite true` ``` @@ -557,21 +542,6 @@ __________________________________________________ __________________________________________________ ``` -`filter -favourite false` - -``` -__________________________________________________ -__________________________________________________ -ID: 2 Status: Application Pending -Role: Data Scientist -Company: Meta -Duration: 09/23 to 05/24 -Skills: No Skills Entered -Deadlines: - No deadlines set. -__________________________________________________ -__________________________________________________ -``` ## Sort Command: `sort` From 436d263488bc265a31393d8a7c826377f1fafabb Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Tue, 12 Nov 2024 03:29:01 +0800 Subject: [PATCH 349/359] Edit build.gradel file --- build.gradle | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 43c6945cae..029ec562c3 100644 --- a/build.gradle +++ b/build.gradle @@ -33,8 +33,7 @@ application { } shadowJar { - archiveBaseName.set("duke") - archiveClassifier.set("") + archiveFileName = "easInternship.jar" } checkstyle { From eb0bcfedb17c9bd4e7c42186ab401ef2bf2628f8 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Tue, 12 Nov 2024 03:34:09 +0800 Subject: [PATCH 350/359] updated rahul ppp link --- docs/AboutUs.md | 2 +- docs/README.md | 2 +- docs/team/{rahul.md => rahuljai-05.md} | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename docs/team/{rahul.md => rahuljai-05.md} (100%) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 1d406cf6ab..35c7599323 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -4,5 +4,5 @@ |--------------------------|:------------:|:-------------------------------------------:|:-----------------------------------:| | ![](/images/jaden.png) | Jaden Lim | [Github](https://github.com/jadenlimjc) | [Portfolio](team/jadenlimjc.md) | | ![](/images/Toby.jpg) | Yu Man Kit | [Github](https://github.com/Toby-Yu) | [Portfolio](team/toby-yu.md) | -| ![](/images/rahul.png) | Rahul | [Github](https://github.com/rahuljai-05) | [Portfolio](team/rahul.md) | +| ![](/images/rahul.png) | Rahul | [Github](https://github.com/rahuljai-05) | [Portfolio](team/rahuljai-05) | | ![](/images/tinghui.jpg) | Tan Ting Hui | [Github](https://github.com/Ridiculouswifi) | [Portfolio](team/ridiculouswifi.md) | diff --git a/docs/README.md b/docs/README.md index 1f20fa8c94..2e959eeb62 100644 --- a/docs/README.md +++ b/docs/README.md @@ -9,7 +9,7 @@ Useful links:

* Personal Portfolio Pages * [Jaden (jadenlimjc)](team/jadenlimjc.md) - * [Rahul (rahuljai-05)](team/rahul.md) + * [Rahul (rahuljai-05)](team/rahuljai-05.md) * [Ting Hui (ridiculouswifi)](team/ridiculouswifi.md) * [Toby (toby-yu)](team/toby-yu.md) diff --git a/docs/team/rahul.md b/docs/team/rahuljai-05.md similarity index 100% rename from docs/team/rahul.md rename to docs/team/rahuljai-05.md From 6822a8513485c6c2df92bc37840e774ff641c5be Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Tue, 12 Nov 2024 03:35:57 +0800 Subject: [PATCH 351/359] Fix example outputs in UG --- docs/UserGuide.md | 131 ++++------------------------------------------ 1 file changed, 11 insertions(+), 120 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 5e1afda84f..2aa484a3f4 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -571,31 +571,31 @@ The fields are not case-sensitive. ``` __________________________________________________ __________________________________________________ -Sorted internships by start date (year first), then end date. +Sorted internships by duration with start date (year first), then end date. __________________________________________________ -ID: 3 Status: Accepted +ID: 3 Status: Accepted Role: IT support Intern Company: Microsoft Duration: 03/24 to 08/24 -Skills: Java +Skills: Java Deadlines: - certificate submit: 15/04/24 -_________________________________________________ -ID: 1 Status: Rejected + certificate submit: 15/04/24 +__________________________________________________ +ID: 1 Status: Rejected Role: Embedded Software Engineer Intern Company: Continental Duration: 05/25 to 08/25 -Skills: C++ +Skills: C++ Deadlines: - online interview: 12/06/24 + online interview: 12/06/24 __________________________________________________ -ID: 2 Status: Application Completed +ID: 2 Status: Application Completed Role: Customer Service Intern Company: Google Duration: 05/25 to 09/25 -Skills: Python SQL +Skills: Python SQL Deadlines: - interview reply: 12/04/24 + interview reply: 12/04/24 __________________________________________________ __________________________________________________ ``` @@ -634,40 +634,6 @@ __________________________________________________ __________________________________________________ ``` -`sort -deadline` - -``` -__________________________________________________ -__________________________________________________ -Sorted internships by deadline. -__________________________________________________ -ID: 2 Status: Application Completed -Role: Customer Service Intern -Company: Google -Duration: 05/25 to 09/25 -Skills: Python SQL -Deadlines: - interview reply: 12/04/24 -__________________________________________________ -ID: 3 Status: Accepted -Role: IT support Intern -Company: Microsoft -Duration: 03/24 to 08/24 -Skills: Java -Deadlines: - certificate submit: 15/04/24 -__________________________________________________ -ID: 1 Status: Rejected -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: C++ -Deadlines: - online interview: 12/06/24 -__________________________________________________ -__________________________________________________ -``` - `sort -skills` ``` @@ -736,81 +702,6 @@ __________________________________________________ __________________________________________________ ``` -`sort -company` - -``` -__________________________________________________ -__________________________________________________ -Sorted internships by company. -__________________________________________________ -ID: 1 Status: Rejected -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: C++ -Deadlines: - online interview: 12/06/24 -__________________________________________________ -ID: 2 Status: Application Completed -Role: Customer Service Intern -Company: Google -Duration: 05/25 to 09/25 -Skills: Python SQL -Deadlines: - interview reply: 12/04/24 -__________________________________________________ -ID: 3 Status: Accepted -Role: IT support Intern -Company: Microsoft -Duration: 03/24 to 08/24 -Skills: Java -Deadlines: - certificate submit: 15/04/24 -__________________________________________________ -__________________________________________________ -``` - -`sort -role in favourite` - -``` -__________________________________________________ -__________________________________________________ -Sorted internships in favourite by role in favourite. -__________________________________________________ -ID: 2 Status: Application Completed -Role: Customer Service Intern -Company: Google -Duration: 05/25 to 09/25 -Skills: Python SQL -Deadlines: - interview reply: 12/04/24 -__________________________________________________ -ID: 1 Status: Rejected -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: C++ -Deadlines: - online interview: 12/06/24 -======= -ID: 1 Status: Application Pending -Role: engineer -Company: ABS -Duration: 01/01 to 01/01 -Skills: No Skills Entered -Deadlines: - No deadlines set. -__________________________________________________ -ID: 2 Status: Application Pending -Role: accountant -Company: XYZ -Duration: 01/01 to 01/01 -Skills: No Skills Entered -Deadlines: - No deadlines set. -__________________________________________________ -__________________________________________________ -``` ## Delete Command: `delete` From 9ae7b612252180b687376868e7c99791e15f894d Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Tue, 12 Nov 2024 03:41:41 +0800 Subject: [PATCH 352/359] Add link to release in UG --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 2aa484a3f4..7aa2e8b1f6 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -38,7 +38,7 @@ This product aims to streamline the tracking of internship applications for the ## Quick Start 1. Ensure that you have Java 17 or above installed. -2. Down the latest version of `.jar` file from [here](). +2. Download the latest version of `.jar` file from [here](https://github.com/AY2425S1-CS2113-T10-1/tp/releases/tag/v2.1). 3. Copy the file to the home folder of your Internship Tracker. 4. Open the terminal, `cd` into the folder with the `.jar` file and use `java -jar easInternship.jar` command to run the application. From 321db836059c778193f7b2b473a09077cb33f00e Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Tue, 12 Nov 2024 04:00:05 +0800 Subject: [PATCH 353/359] Expand on FAQ in UG --- docs/UserGuide.md | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 7aa2e8b1f6..5481fe7654 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -819,14 +819,24 @@ __________________________________________________ ## FAQ -**Q**: Can I use "-" in my fields? - +**Q**: Can I use "-" in my fields?
**A**: No. Unknown flag will be thrown. -**Q**: How do I transfer my data to another computer? - +**Q**: How do I transfer my data to another computer?
**A**: Locate the `/data/` directory, in the same directory as your `.jar` file. Copy this `/data/` directory to the second computer and store it in the same directory as the `.jar` file. +**Q**: Does the application ensure my dates are logical?
+**A**: No. The application only checks whether dates exist, logic checking is coming soon. + +**Q**: It gives random responses when I click `Enter` quickly.
+**A**: Please give the application time to respond, every time `Enter` is pressed, the application will give a response. + +**Q**: Why can't I add `deadline`, `skills` and `status` in the `add` function?
+**A**: The `add` function only covers the crucial information such as `role` and `company`, the fields above are not critical to the internship application's existence and hence can be updated through the `update` function. + +**Q**: Can I add multiple entries in the same command?
+**A**: No. The application does not support adding multiple entries at the same time, please input them in separate commands. + ## Command Summary | Command | Format | From b67f3bcbb2b140a4a544b502273369d2bb158966 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Tue, 12 Nov 2024 04:23:33 +0800 Subject: [PATCH 354/359] Fix formatting errors in DG --- docs/DeveloperGuide.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 99204096c6..6dcb1280fe 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -7,8 +7,8 @@ Formatting of this Developer's Guide was done with reference to [AddressBook-Lev ## Design & implementation 1. [Design](#1-design) - 1. [Architecture](#11-Architecture) - 2. [UI Component](#12-UI-component) + 1. [Architecture](#11-architecture) + 2. [UI Component](#12-ui-component) 3. [Logic Component](#13-logic-component) 4. [Model Component](#14-model-component) 5. [Storage Component](#15-storage-component) @@ -668,7 +668,7 @@ to: - Verify that the filtered list all contain the specified field data. -10. Removing an Internship +10. **Removing an Internship** - Enter the command `delete {ID}` eg. `delete 1` - Verify that the internship has been deleted successfully. From 70754077882aa6a13cb85ce6c1e400ddedae049c Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Tue, 12 Nov 2024 09:29:22 +0800 Subject: [PATCH 355/359] Fix sort by deadline --- .../java/seedu/easinternship/InternshipList.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/easinternship/InternshipList.java b/src/main/java/seedu/easinternship/InternshipList.java index 363709ad22..c2cfeb37bc 100644 --- a/src/main/java/seedu/easinternship/InternshipList.java +++ b/src/main/java/seedu/easinternship/InternshipList.java @@ -6,6 +6,7 @@ import seedu.exceptions.MissingValue; import seedu.ui.UiInternshipList; +import java.time.LocalDate; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -266,7 +267,16 @@ private void sortedByDeadlineFunction(ArrayList sortedInternships) { } else if (earliestDeadline2 == null) { return -1; // i2 has no deadline, so it goes after i1 } - return compareYearMonth(earliestDeadline1.getDate(), earliestDeadline2.getDate()); + + LocalDate date1 = earliestDeadline1.getUnformattedDate(); + LocalDate date2 = earliestDeadline2.getUnformattedDate(); + if (date1.isBefore(date2)) { + return -1; + } + if (date1.isAfter(date2)) { + return 1; + } + return 0; }); } From 43cb864542056ce8afa29e61be243592b56074d7 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi <142128914+Ridiculouswifi@users.noreply.github.com> Date: Tue, 12 Nov 2024 12:10:58 +0800 Subject: [PATCH 356/359] Fix Sequence Diagram in DG --- docs/DeveloperGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 6dcb1280fe..84c32501e5 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -300,7 +300,7 @@ exactly one field in each time. #### Sequence Diagram: -The following sequence diagram shows how the `SortCommand` is executed: +The following sequence diagram shows how the `SortCommand` is executed:
![](UML/SortCommand_Sequence_Diagram.png)

From cdc92c4bebe0a5f8920865cd2ac8e691b87b7b4a Mon Sep 17 00:00:00 2001 From: Ridiculouswifi <142128914+Ridiculouswifi@users.noreply.github.com> Date: Tue, 12 Nov 2024 12:13:30 +0800 Subject: [PATCH 357/359] Fix Sequence Diagram in DG --- docs/DeveloperGuide.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 84c32501e5..a3bd4986c8 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -301,6 +301,7 @@ exactly one field in each time. #### Sequence Diagram: The following sequence diagram shows how the `SortCommand` is executed:
+ ![](UML/SortCommand_Sequence_Diagram.png)
From 578c13c058bce4e4f495f2fe5094fcd6a3c5ea00 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi <142128914+Ridiculouswifi@users.noreply.github.com> Date: Tue, 12 Nov 2024 12:20:39 +0800 Subject: [PATCH 358/359] Fix Sequence Diagram in DG --- docs/DeveloperGuide.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index a3bd4986c8..3c472000d8 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -298,9 +298,8 @@ exactly one field in each time. alphabetically. 13. If the user enters an invalid sort option, the command returns an error and lists the internships by ID. -#### Sequence Diagram: - -The following sequence diagram shows how the `SortCommand` is executed:
+#### Sequence Diagram:
+The following sequence diagram shows how the `SortCommand` is executed: ![](UML/SortCommand_Sequence_Diagram.png) From 62c008497d3000c066822f831cfaab1a949f4be7 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi <142128914+Ridiculouswifi@users.noreply.github.com> Date: Tue, 12 Nov 2024 12:32:48 +0800 Subject: [PATCH 359/359] Update jar link in UG --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 5481fe7654..c5a007fa3b 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -38,7 +38,7 @@ This product aims to streamline the tracking of internship applications for the ## Quick Start 1. Ensure that you have Java 17 or above installed. -2. Download the latest version of `.jar` file from [here](https://github.com/AY2425S1-CS2113-T10-1/tp/releases/tag/v2.1). +2. Download the latest version of `.jar` file from [here](https://github.com/AY2425S1-CS2113-T10-1/tp/releases). Release is tagged as `latest`. 3. Copy the file to the home folder of your Internship Tracker. 4. Open the terminal, `cd` into the folder with the `.jar` file and use `java -jar easInternship.jar` command to run the application.

* Invalid sort options will display an error message along with the correct usage. */ public class SortCommand extends Command { @@ -37,13 +38,13 @@ public void execute(ArrayList args) { // Handle valid sorting options switch (sortOption) { case "role": - assert internshipsList.getAllInternships().size() > 0 - : "Internships list should not be empty when sorting by role"; + assert internshipsList.getAllInternships().size() > 0 : + "Internships list should not be empty when sorting by role"; internshipsList.listInternshipsSortedByRole(); // Sort by role alphabetically (case-insensitive) break; case "duration": - assert internshipsList.getAllInternships().stream().allMatch(internship -> internship.getStartDate() != null && - internship.getEndDate() != null) : + assert internshipsList.getAllInternships().stream() + .allMatch(internship -> internship.getStartDate() != null && internship.getEndDate() != null) : "Internships must have valid start and end dates to sort by duration"; internshipsList.listInternshipsSortedByDuration(); // Sort by start date, then end date (year first) break; @@ -51,7 +52,8 @@ public void execute(ArrayList args) { internshipsList.listInternshipsSortedByDeadline(); break; case "skills": - assert internshipsList.getAllInternships().stream().anyMatch(internship -> !internship.getSkills().isEmpty()) : + assert internshipsList.getAllInternships().stream() + .anyMatch(internship -> !internship.getSkills().isEmpty()) : "At least one internship must have skills to sort by skills"; internshipsList.listInternshipsSortedByFirstSkill(); // Sort by first skill alphabetically break; From f84f24abca1fa425d905b5627f1ac6719b093916 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Mon, 11 Nov 2024 21:47:27 +0800 Subject: [PATCH 303/359] Fix checkstyle errors --- src/main/java/seedu/EasInternship/InternshipList.java | 4 ++-- src/main/java/seedu/EasInternship/Parser.java | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/seedu/EasInternship/InternshipList.java b/src/main/java/seedu/EasInternship/InternshipList.java index 2ccdfbf334..eeb00c2e71 100644 --- a/src/main/java/seedu/EasInternship/InternshipList.java +++ b/src/main/java/seedu/EasInternship/InternshipList.java @@ -15,10 +15,10 @@ //@@author jadenlimjc public class InternshipList { - private final UiInternshipList ui = new UiInternshipList(); - private final Logger LOGGER = Logger.getLogger("EasInternship"); public ArrayList internships; public ArrayList favouriteInternships; + private final UiInternshipList ui = new UiInternshipList(); + private final Logger LOGGER = Logger.getLogger("EasInternship"); // Constructor public InternshipList() { diff --git a/src/main/java/seedu/EasInternship/Parser.java b/src/main/java/seedu/EasInternship/Parser.java index 9f3c6516c0..47fe869a8b 100644 --- a/src/main/java/seedu/EasInternship/Parser.java +++ b/src/main/java/seedu/EasInternship/Parser.java @@ -123,7 +123,7 @@ public ArrayList parseData(Command command, String input) { * * @param inputData the input data string containing flags * @return an {@code ArrayList} of parsed flags and their corresponding data, or {@code null} if there is an - * empty flag + * empty flag */ private ArrayList parseFlagData(String inputData) { ArrayList commandArgs = new ArrayList<>(Arrays.asList(inputData.trim().split("-"))); @@ -153,7 +153,7 @@ private ArrayList parseDeleteCommandData(String inputData) { * * @param inputData the input data string containing the internship ID and flags * @return an {@code ArrayList} containing the internship ID followed by parsed flags and their - * corresponding data. or {@code null} if there are no/empty flags. + * corresponding data. or {@code null} if there are no/empty flags. */ private ArrayList parseUpdateCommandData(String inputData) { String[] splitArray = inputData.trim().split(" ", 2); @@ -176,7 +176,7 @@ private ArrayList parseUpdateCommandData(String inputData) { * * @param inputData the input data string containing internship IDs separated by commas; must not be empty. * @return an {@code ArrayList} containing the internship IDs, or {@code null} if the {@code inputData} - * is empty. + * is empty. */ private ArrayList parseFavouriteCommandData(String inputData) { if (inputData.trim().isEmpty()) { From db6bc6fbfe4f9e58c09494ed3b888e9ef3988462 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 11 Nov 2024 21:52:23 +0800 Subject: [PATCH 304/359] javaDoc comments for InternshipList --- docs/team/jadenlimjc.md | 11 +++++++++ src/main/java/seedu/duke/InternshipList.java | 24 ++++++++++++++++++-- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/docs/team/jadenlimjc.md b/docs/team/jadenlimjc.md index 378d6a858d..ffdf8f9d2f 100644 --- a/docs/team/jadenlimjc.md +++ b/docs/team/jadenlimjc.md @@ -27,6 +27,14 @@ Given below are my contributions to the project.

+- **New Feature:** Created the Storage Class. + - What it does: Allows the user to save and load their saved data to a .txt file. + - Justification: Applicants would want to be able to keep track of their internship applications using the application across multiple sessions and being able to store the file in one place allows for that to take place. + - Highlights: This functionality is integral to the reusability of the application and allows the application to be used continuously. +

+ + + - **Code Contributed:** [RepoSense Link](https://nus-cs2113-ay2425s1.github.io/tp-dashboard/?search=jadenlimjc&breakdown=true&sort=groupTitle%20dsc&sortWithin=title&since=2024-09-20&timeframe=commit&mergegroup=&groupSelect=groupByRepos&checkedFileTypes=docs~functional-code~test-code~other)

@@ -48,8 +56,11 @@ Given below are my contributions to the project. - Developer Guide: - Added implementation details for `add` and `delete` features. - Added implementation details for `Internship` ,`InternshipList`, and `Deadline` classes as well as how they interact with one another. + - Added implementation details for `loadFromFile` and `saveToFile` functions within the storage class. + - Created the Contents Page, Product Scope, NFRs, Glossary, and Instructions for manual testing sections of the DG. - User Guide: - Created the entire skeleton of the UserGuide with all base functions. (Add, Delete, Update, Sort Filter, Help) + - Created the Outline, Product Description, Quick Start, and FAQ sections of the UG.

- **Community:** diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 216d9b1456..72192ade32 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -14,6 +14,12 @@ import java.util.logging.Logger; //@@author jadenlimjc +/** + * The InternshipList class is responsible for managing a list of internships. + * It supports operations such as adding, removing, sorting, and managing a favourites list of internships. + * The class also allows for sorting internships by various attributes like role, company, status, etc. + * Additionally, it maintains a history of actions taken with the internships using a Logger. + */ public class InternshipList { private static final UiInternshipList ui = new UiInternshipList(); private static final Logger LOGGER = Logger.getLogger("EasInternship"); @@ -31,6 +37,12 @@ public InternshipList(ArrayList internships) { favouriteInternships = new ArrayList<>(); } + /** + * Adds an internship to the list of internships. + * Ensures there are no duplicates before adding. + * + * @param internship The internship to be added. + */ public void addInternship(Internship internship) { assert internship != null : "Internship object cannot be null"; @@ -56,9 +68,14 @@ public boolean isWithinBounds(int index) { return true; } - // Method to remove an internship by index (0-based) //@@author jadenlimjc + /** + * Removes an internship from the list of internships by its index. + * + * @param index The index of the internship to be removed. + * @throws IndexOutOfBoundsException If the index is out of bounds. + */ public void removeInternship(int index) throws InvalidIndex { if (!isWithinBounds(index)) { throw new InvalidIndex(index); @@ -153,7 +170,10 @@ public void removeField(int index, String field, String value) throws MissingVal } //@@author jadenlimjc - // Method to list all internships + /** + * Displays all internships in the list. + * The internships will be displayed in the current sorted order. + */ public void listAllInternships() { ui.showInternships(internships, "list"); } From 14b5b4dfc0c4ee25aad86e8ad58b187d9500f0e8 Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Mon, 11 Nov 2024 21:54:43 +0800 Subject: [PATCH 305/359] Wrap lines --- src/main/java/seedu/commands/SortCommand.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index 269f046b56..5be8571c8e 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -67,13 +67,14 @@ public void execute(ArrayList args) { internshipsList.listFavouriteInternshipsSortedByRole(); // Sort by role in favourite alphabetically break; // (case-insensitive) case "duration in favourite": - internshipsList.listFavouriteInternshipsSortedByDuration(); // Sort by duration in favourite with start date, + internshipsList.listFavouriteInternshipsSortedByDuration();// Sort by duration in favourite with start date break; // then end date (year first) case "deadline in favourite": internshipsList.listFavouriteInternshipsSortedByDeadline(); // Sort by the earliest deadline in favourite break; case "skills in favourite": - internshipsList.listFavouriteInternshipsSortedByFirstSkill(); // Sort by first skill in favourite alphabetically + internshipsList.listFavouriteInternshipsSortedByFirstSkill();// Sort by first skill in favourite + // (alphabetical order) break; case "status in favourite": internshipsList.listFavouriteInternshipsSortedByStatus(); // Sort by status in favourite alphabetically From 123e42dd11849617f11dbb8dd6b23fdc68c3cefc Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Mon, 11 Nov 2024 21:56:53 +0800 Subject: [PATCH 306/359] Fix comment spacing --- src/main/java/seedu/commands/SortCommand.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index 5be8571c8e..899e3ac265 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -73,8 +73,7 @@ public void execute(ArrayList args) { internshipsList.listFavouriteInternshipsSortedByDeadline(); // Sort by the earliest deadline in favourite break; case "skills in favourite": - internshipsList.listFavouriteInternshipsSortedByFirstSkill();// Sort by first skill in favourite - // (alphabetical order) + internshipsList.listFavouriteInternshipsSortedByFirstSkill();// Sort by first skill in favourite (alphabet) break; case "status in favourite": internshipsList.listFavouriteInternshipsSortedByStatus(); // Sort by status in favourite alphabetically From fb1c148d18254d1f3069b978dcee0172f2c7c7dd Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 11 Nov 2024 21:58:11 +0800 Subject: [PATCH 307/359] Add CalendarCommand Section to DG --- docs/DeveloperGuide.md | 31 +++++++++- docs/UML/CalendarCommand.puml | 58 ++++++++++++++++++ docs/UML/CalendarCommand_Sequence_Diagram.png | Bin 0 -> 57772 bytes 3 files changed, 86 insertions(+), 3 deletions(-) create mode 100644 docs/UML/CalendarCommand.puml create mode 100644 docs/UML/CalendarCommand_Sequence_Diagram.png diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index a69fcb2b54..026b755d8c 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -290,7 +290,7 @@ The `UpdateCommand` class is responsible for updating the fields of an internshi - `deadlines`: Updates the deadlines of the internship - `isValidValue(String[] words)`: Checks if there was a new value provided for the selected field. - `updateOneField(String[] words, int internshipIndex)`: Called within `execute(args)` to invoke the appropriate method to update the field. -- `getUsage()`: Returns a string showing the correct usage of the `update` command. +- `getUsage()`: Returns a `String` showing the correct usage of the `update` command. #### Example Usage Scenario: - The user enters `update 2 -status Application Completed`, and the `execute` method finds the internship with ID `2` and updates its `status` to `Application Completed`. @@ -312,7 +312,7 @@ The following sequence diagram shows how the `UpdateCommand` is executed: The `RemoveCommand` class is responsible for removing the values within fields of an internship entry. It extends the `UpdateCommand` class, providing a removing functionality to the execution framework. #### Design -- The `RemoveCommand` class process the user input to determine which internship and which field to empty. +- The `RemoveCommand` class processes the user input to determine which internship and which field to empty. - If the internship ID is not valid, it will print a message accordingly. - If the field is not valid, it will print a message indicating the erroneous field, including fields that cannot be emptied. - If the valid provided does not exist in the field, it will also print a message indicating the erroneous value @@ -323,7 +323,7 @@ The `RemoveCommand` class is responsible for removing the values within fields o - `deadline`: Removes the specified deadline from the internship. - `isValidValue(String[] words)`: Checks if there is a value provided to search and remove from the selected field. - `updateOneField(String[] words, int internshipIndex)`: Called within `execute(args)` to invoke the appropriate method to remove the value from the field. -- `getUsage()`: Returns a string showing the correct usage of the `remove` command. +- `getUsage()`: Returns a `String` showing the correct usage of the `remove` command. #### Example Usage Scenario: - The user enters `remove 2 -skills Python`, the `execute` method finds the internship with ID `2` and removes `Python` from its list of `skills`. @@ -335,6 +335,31 @@ The `RemoveCommand` class is responsible for removing the values within fields o The following sequence diagram shows how the `RemoveCommand` is executed: ![](UML/RemoveCommand_Sequence_Diagram.png) + +### CalendarCommand Implementation + +#### Overview + +The `CalendarCommand` class is responsible for sorting and displaying all deadlines in chronological order. It extends the `Command` class, providing a calendar functionality in the execution framework. + +#### Design +- The `CalendarCommand` class does not process any input data and will execute the same method when called. + +#### Key Methods +- `execute(ArrayList args)`: Handles invoking methods to compile deadline data and display the data. +- `getDeadlines()`: Returns all the deadlines of all `Internship` entries, compiled into a single `ArrayList`. +- `sortDeadlines(ArrayList deadlines)`: Returns the deadlines sorted in ascending order chronologically. +- `getCompanies(ArrayList sortedDeadlins)`: Returns an `ArrayList` of the companies associated to each deadline after sorting. It is meant to ensure the methods called in `UiCommand` do not have to reference `InternshipList` to find the appropriate data. +- `getUsage()`: Returns a `String` showing the correct usage of the `Calendar` command. + +#### Example Usage Scenario: +- The user enters `calendar`, the `execute` method will sort the deadlines and display them to the user. + +#### Sequence Diagram + +The following sequence diagram shows how the `CalendarCommand` is executed: +![](UML/CalendarCommand_Sequence_Diagram.png) + ## Product Scope ### Target User Profile diff --git a/docs/UML/CalendarCommand.puml b/docs/UML/CalendarCommand.puml new file mode 100644 index 0000000000..dd47e25147 --- /dev/null +++ b/docs/UML/CalendarCommand.puml @@ -0,0 +1,58 @@ +@startuml +title CalendarCommand Sequence Diagram +hide footbox + +participant User +participant CalendarCommand +participant UiCommand +participant InternshipList + +User -> CalendarCommand:execute(args) +activate CalendarCommand #red + +CalendarCommand -> CalendarCommand:getDeadlines() +activate CalendarCommand #red + +CalendarCommand -> InternshipList:getAllInternships() +activate InternshipList #orange +InternshipList --> CalendarCommand:allInternships: List +deactivate InternshipList +loop for internship in allInternships + CalendarCommand -> Internship:getDeadlines() + activate Internship #yellow + Internship --> CalendarCommand:deadlines: ArrayList + deactivate Internship +end + +CalendarCommand --> CalendarCommand:deadlines: ArrayList +deactivate CalendarCommand + +CalendarCommand -> CalendarCommand:sortDeadlines(deadlines) +activate CalendarCommand #red +CalendarCommand --> CalendarCommand:sortedDeadlines: ArrayList +deactivate CalendarCommand + +CalendarCommand -> CalendarCommand:getCompanies(deadlines) +activate CalendarCommand #red +loop for deadline in deadlines + CalendarCommand -> InternshipList:getInternship(internshipIndex) + activate InternshipList #orange + InternshipList -> Internship:getCompany() + activate Internship #yellow + Internship --> InternshipList:company: String + deactivate Internship + InternshipList --> CalendarCommand: company: String + deactivate InternshipList +end +CalendarCommand --> CalendarCommand:companies: ArrayList +deactivate CalendarCommand + +CalendarCommand -> UiCommand:showCalendar(sortedDeadlines, companies) +activate UiCommand #green +UiCommand --> CalendarCommand +deactivate UiCommand + +CalendarCommand --> User +deactivate CalendarCommand + +@enduml \ No newline at end of file diff --git a/docs/UML/CalendarCommand_Sequence_Diagram.png b/docs/UML/CalendarCommand_Sequence_Diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..e23330c55f97b02b05092a3f402d10f4d4d54ab0 GIT binary patch literal 57772 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
QX!$a`P2 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 TRW`lmz(2oPtTDe~<`Vp$H-=Dl literal 0 HcmV?d00001 From 725a672a033e26ffb0be4d5952501a1c1b67a229 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 11 Nov 2024 21:58:44 +0800 Subject: [PATCH 308/359] javaDov comments for AddCommand and DeleteCommand --- src/main/java/seedu/commands/AddCommand.java | 12 ++++++++++++ src/main/java/seedu/commands/DeleteCommand.java | 11 +++++++++++ 2 files changed, 23 insertions(+) diff --git a/src/main/java/seedu/commands/AddCommand.java b/src/main/java/seedu/commands/AddCommand.java index d16752ac8b..0109496713 100644 --- a/src/main/java/seedu/commands/AddCommand.java +++ b/src/main/java/seedu/commands/AddCommand.java @@ -9,6 +9,18 @@ import java.util.logging.Level; //@@author jadenlimjc +/** +* The AddCommand class handles the addition of new internships to the internship list. +* It parses the arguments provided by the user, validates the input (role, company, start date, and end date), +* and then adds the new internship to the list if the input is valid. +* If any input is invalid, appropriate error messages are shown to the user. +* The command also logs the action for debugging purposes. +* +* Usage: +* -role {Role name} -company {Company name} -from {start date} -to {end date} +* +* The date format for 'from' and 'to' is MM/yy. +*/ public class AddCommand extends Command { private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/yy"); @Override diff --git a/src/main/java/seedu/commands/DeleteCommand.java b/src/main/java/seedu/commands/DeleteCommand.java index a8168727e3..3410d198bf 100644 --- a/src/main/java/seedu/commands/DeleteCommand.java +++ b/src/main/java/seedu/commands/DeleteCommand.java @@ -6,6 +6,17 @@ import java.util.logging.Level; //@@author jadenlimjc +/** +* The DeleteCommand class handles the deletion of internships from the internship list. +* It takes an internship ID as an argument, validates the ID, and removes the corresponding internship +* from the list. If the ID is invalid (non-integer or out of range), appropriate error messages are shown to the user. +* The command also logs the action for debugging purposes. +* +* Usage: +* delete {ID} +* +* The ID corresponds to the index of the internship in the list, and it should be a valid integer. +*/ public class DeleteCommand extends Command { @Override public void execute (ArrayList args) { From 983211955a98aa16f66184080517cca32adde2e0 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Mon, 11 Nov 2024 22:01:09 +0800 Subject: [PATCH 309/359] update readme --- docs/README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/README.md b/docs/README.md index bbcc99c1e7..0c252a2415 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,8 +1,12 @@ -# Duke +# EasInternship -{Give product intro here} +This product aims to streamline the tracking of internship applications for the user, where the user is able to store key details of the internship as well as edit, filter, sort and save the internships. Useful links: * [User Guide](UserGuide.md) * [Developer Guide](DeveloperGuide.md) * [About Us](AboutUs.md) +* [jadenlim-PPP](team/jadenlim.md) +* [rahul-PPP](team/rahul.md) +* [tantinghui-PPP](team/tantinghui.md) +* [Toby Yu-PPP](team/toby-yu.md) \ No newline at end of file From 7c987b4bfa221bad4c0f65ea33fbcff37698b045 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 11 Nov 2024 22:01:22 +0800 Subject: [PATCH 310/359] javaDoc comments for Deadline --- src/main/java/seedu/duke/Deadline.java | 45 ++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/src/main/java/seedu/duke/Deadline.java b/src/main/java/seedu/duke/Deadline.java index c77d0bc400..4827ba78a2 100644 --- a/src/main/java/seedu/duke/Deadline.java +++ b/src/main/java/seedu/duke/Deadline.java @@ -7,6 +7,11 @@ //@@author jadenlimjc +/** +* Represents a deadline associated with an internship, with a description and a specific due date. +* The date is stored in the format "dd/MM/yy", and the class ensures that the date is parsed and validated +* strictly according to the given pattern. The deadline also contains an internship ID to link it to a specific internship. +*/ public class Deadline { private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("dd/MM/uu") .withResolverStyle(ResolverStyle.STRICT); @@ -15,33 +20,73 @@ public class Deadline { private String description; private LocalDate date; + /** + * Constructs a new Deadline object with the specified internship ID, description, and deadline date. + * The date is parsed and validated according to the format "dd/MM/yy". + * + * @param internshipID The ID of the internship associated with the deadline. + * @param description A brief description of the deadline. + * @param date The deadline date in the "dd/MM/yy" format. + * @throws DateTimeParseException if the provided date string does not match the expected format. + */ public Deadline(int internshipID, String description, String date) { this.internshipID = internshipID; this.description = description; setDate(date); } + /** + * Gets the internship ID associated with the deadline. + * + * @return The internship ID. + */ public int getInternshipId() { return internshipID; } + /** + * Sets the internship ID associated with the deadline. + * + * @param internshipId The new internship ID. + */ public void setInternshipId(int internshipId) { this.internshipID = internshipId; } + /** + * Gets the description of the deadline. + * + * @return The description of the deadline. + */ public String getDescription() { return description; } + /** + * Sets the description of the deadline. + * + * @param description The new description of the deadline. + */ public void setDescription(String description) { this.description = description; } + /** + * Sets the deadline date using a string. The date is parsed and validated according to the format "dd/MM/yy". + * + * @param date The deadline date in the "dd/MM/yy" format. + * @throws DateTimeParseException if the provided date string does not match the expected format. + */ public void setDate(String date) throws DateTimeParseException { assert date != null; this.date = LocalDate.parse(date, DATE_FORMATTER); } + /** + * Gets the deadline date as a string in the "dd/MM/yy" format. + * + * @return The deadline date formatted as a string. + */ public String getDate() { return date.format(DATE_FORMATTER); } From b23a7092a7aa738e96d96a9a85cc1d4fc0540f1d Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Mon, 11 Nov 2024 22:04:18 +0800 Subject: [PATCH 311/359] Add acknowledgements and Edit links in the index --- docs/DeveloperGuide.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 026b755d8c..d0514c7a8e 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -2,7 +2,8 @@ ## Acknowledgements -{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well} +Formatting of this Developer's Guide was done with reference to [AddressBook-Level3 Developer Guide](https://se-education.org/addressbook-level3/DeveloperGuide.html) + ## Design & implementation @@ -20,17 +21,18 @@ 5. [DeleteCommand Implementation](#deletecommand-implementation) 6. [SortCommand Implementation](#sortcommand-implementation) 7. [UpdateCommand Implementation](#updatecommand-implementation) - 8. [RemoveCommand Implementation](#RemoveCommand-implementation) + 8. [RemoveCommand Implementation](#removeCommand-implementation) + 9. [CalendarCommand Implementation](#calendarcommand-implementation) --- ## About the Product -1. [Product Scope](#Product-Scope) - 1. [Target User Profile](#Target-User-Profile) - 2. [Value Proposition](#Value-proposition) -2. [User Stories](#User-Stories) -3. [Non-Functional Requirements](#Non-Functional-Requirements) -4. [Glossary](#Glossary) -5. [Instructions for Manual Testing](#Instructions-for-manual-testing) +1. [Product Scope](#product-scope) + 1. [Target User Profile](#target-user-profile) + 2. [Value Proposition](#value-proposition) +2. [User Stories](#user-stories) +3. [Non-Functional Requirements](#non-functional-requirements) +4. [Glossary](#glossary) +5. [Instructions for Manual Testing](#instructions-for-manual-testing) --- ## 1. Design From 1218ecb0cf891ccb36e6b4eced7adac03d95d01f Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 11 Nov 2024 22:08:03 +0800 Subject: [PATCH 312/359] javaDoc comments for Internship --- src/main/java/seedu/duke/Internship.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index af816f4354..62beb12bd0 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -17,10 +17,11 @@ import java.util.logging.Logger; +//@@author jadenlimjc /** * Class to store the relevant information for an internship. + * This includes the internship's role, company, start and end dates, status, skills, and deadlines. */ -//@@author jadenlimjc public class Internship { private static final DateTimeFormatter FORMATTER_MONTH_YEAR = DateTimeFormatter.ofPattern("MM/yy"); private static final DateTimeFormatter FORMATTER_DATE = DateTimeFormatter.ofPattern("dd/MM/yy") From 3e50a29bdb3c33b06cebe9562b8202d4bea81d7b Mon Sep 17 00:00:00 2001 From: rahuljai-05 Date: Mon, 11 Nov 2024 22:09:11 +0800 Subject: [PATCH 313/359] Change main application location --- build.gradle | 2 +- src/main/java/seedu/duke/Parser.java | 171 --------------------------- 2 files changed, 1 insertion(+), 172 deletions(-) delete mode 100644 src/main/java/seedu/duke/Parser.java diff --git a/build.gradle b/build.gradle index a9b8a7c623..f0e3e5dae0 100644 --- a/build.gradle +++ b/build.gradle @@ -29,7 +29,7 @@ test { } application { - mainClass.set("seedu.duke.EasInternship") + mainClass.set("seedu.EasInternship.EasInternship") } shadowJar { diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java deleted file mode 100644 index 5fb26103e2..0000000000 --- a/src/main/java/seedu/duke/Parser.java +++ /dev/null @@ -1,171 +0,0 @@ -package seedu.duke; - -import seedu.commands.Command; -import seedu.commands.AddCommand; -import seedu.commands.DeleteCommand; -import seedu.commands.UpdateCommand; -import seedu.commands.SortCommand; -import seedu.commands.FilterCommand; -import seedu.commands.ListCommand; -import seedu.commands.HelpCommand; -import seedu.commands.RemoveCommand; -import seedu.commands.FavouriteCommand; -import seedu.commands.CalendarCommand; - -import seedu.ui.Ui; - -import java.util.Map; -import java.util.HashMap; -import java.util.Arrays; -import java.util.ArrayList; -import java.util.function.Supplier; -import java.util.logging.Level; -import java.util.logging.Logger; - -public class Parser { - private static final Ui ui = new Ui(); - private static final Logger LOGGER = Logger.getLogger("EasInternship"); - - private final Map> commands = new HashMap<>(); - - public Parser() { - // Initialize command map - initializeCommands(); - } - - // Initialize map with suppliers - private void initializeCommands() { - commands.put("add", AddCommand::new); - commands.put("delete", DeleteCommand::new); - commands.put("update", UpdateCommand::new); - commands.put("sort", SortCommand::new); - commands.put("filter", FilterCommand::new); - commands.put("list", ListCommand::new); - commands.put("help", HelpCommand::new); - commands.put("remove", RemoveCommand::new); - commands.put("favourite", FavouriteCommand::new); - commands.put("calendar", CalendarCommand::new); - } - - public Command parseCommand(String input) { - if (input.isBlank()) { - ui.showOutput("Please enter a command"); - return null; - } - - String[] inputArgs = input.trim().split(" ", 2); - - assert inputArgs[0].equals(inputArgs[0].trim()); - String inputCommand = inputArgs[0].trim(); - - if (!commands.containsKey(inputCommand)) { - ui.showUnknownCommand(inputCommand); - LOGGER.log(Level.WARNING, "Invalid Command: " + inputCommand); - return null; - } - - Supplier commandSupplier = commands.get(inputCommand); - LOGGER.log(Level.INFO, "Command Parsed: " + inputCommand); - return commandSupplier.get(); - } - - public ArrayList parseData(Command command, String input) { - if (command instanceof ListCommand || command instanceof HelpCommand || command instanceof CalendarCommand) { - return new ArrayList<>(); - } - - String[] inputArgs = input.trim().split(" ", 2); - - if (inputArgs.length < 2) { - if (!(command instanceof SortCommand)) { - ui.showOutput("Please input some ID or flag following the command"); - LOGGER.log(Level.WARNING, "Invalid Command: " + input); - return null; - } - return new ArrayList<>(); - } - - String inputData = inputArgs[1]; - - if (command instanceof AddCommand) { - return parseAddCommandData(inputData); - } - if (command instanceof DeleteCommand) { - return parseDeleteCommandData(inputData); - } - if (command instanceof UpdateCommand) { - return parseUpdateCommandData(inputData); - } - if (command instanceof SortCommand) { - return parseSortCommandData(inputData); - } - if (command instanceof FilterCommand) { - return parseFilterCommandData(inputData); - } - if (command instanceof FavouriteCommand) { - return parseFavouriteCommandData(inputData); - } - assert false : "Should never be able to reach this statement if all commands are accounted for"; - return null; - } - - private ArrayList parseFlagData(String inputData) { - ArrayList commandArgs = new ArrayList<>(Arrays.asList(inputData.trim().split("-"))); - if (commandArgs.isEmpty()) { - ui.showOutput("Empty flag detected\n" + "Please input a flag following the '-' symbol"); - return null; - } - commandArgs.remove(0); - commandArgs.replaceAll(String::trim); - return commandArgs; - } - - private ArrayList parseAddCommandData(String inputData) { - return parseFlagData(inputData); - } - - private ArrayList parseDeleteCommandData(String inputData) { - ArrayList commandArgs = new ArrayList<>(); - commandArgs.add(inputData); - commandArgs.set(0, inputData.trim()); - return commandArgs; - } - - private ArrayList parseUpdateCommandData(String inputData) { - String[] splitArray = inputData.trim().split(" ", 2); - assert splitArray[0].equals(splitArray[0].trim()); - String id = splitArray[0].trim(); - try { - String fields = splitArray[1].trim(); - - ArrayList commandArgs = parseFlagData(fields); - if (commandArgs == null) { - return null; - } - - commandArgs.add(0, id); - return commandArgs; - } catch (ArrayIndexOutOfBoundsException e) { - ui.showEmptyFlags(); - return null; - } - } - - private ArrayList parseSortCommandData(String inputData) { - return parseFlagData(inputData); - } - - private ArrayList parseFilterCommandData(String inputData) { - return parseFlagData(inputData); - } - - private ArrayList parseFavouriteCommandData(String inputData) { - if (inputData.trim().isEmpty()) { - return null; - } - ArrayList commandArgs = new ArrayList<>(Arrays.asList(inputData.trim().split(","))); - commandArgs.replaceAll(String::trim); - return commandArgs; - } - -} From 26714ebed3d7066707efb88834b9bb46b6f6b2b9 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 11 Nov 2024 22:09:47 +0800 Subject: [PATCH 314/359] javaDoc comments for Storage --- src/main/java/seedu/duke/Storage.java | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index 9fe7218adc..cbac7b96eb 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -200,6 +200,19 @@ private static boolean isValidFormat(String line) { ); } + /** + * Parses a string containing deadline information and creates a list of Deadline objects. + * + *

m~mc9-u6z(lI5cq@>`%t7Zl4w{PE2nW6q? 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 diff --git a/docs/UML/saveToFile.puml b/docs/UML/saveToFile.puml index 02b6c56522..b214a911a8 100644 --- a/docs/UML/saveToFile.puml +++ b/docs/UML/saveToFile.puml @@ -1,36 +1,36 @@ @startuml Title saveToFile +hide footbox +participant ":User" +participant ":EasInternship" +participant ":Storage" +participant ":InternshipList" +participant ":Internship" +participant ":FileWriter" -participant User -participant EasInternship -participant Storage -participant InternshipList -participant Internship -participant FileWriter +":User" -> ":EasInternship": exit program +activate ":EasInternship" #green +":EasInternship" -> ":Storage" : saveToFile(internshipList) +activate ":Storage" #orange +":Storage" -> ":InternshipList" : getAllInternships() +activate ":InternshipList" #aquamarine +":InternshipList" -> ":Storage" : List<":Internship"> +deactivate ":InternshipList" -User -> EasInternship: exit program -activate EasInternship #green -EasInternship -> Storage : saveToFile(internshipList) -activate Storage #orange -Storage -> InternshipList : getAllInternships() -activate InternshipList #aquamarine -InternshipList -> Storage : List -deactivate InternshipList - -loop for each Internship -Storage-> Internship : get each attribute -activate Internship #blue -Internship -> Storage : List -deactivate Internship +loop for each ":Internship" +":Storage"-> ":Internship" : get each attribute +activate ":Internship" #blue +":Internship" -> ":Storage" : List +deactivate ":Internship" loop for each Deadline - Storage -> Deadline : get each attribute + ":Storage" -> Deadline : get each attribute activate Deadline #teal deactivate Deadline end end -Storage -> FileWriter : write(internship data) -activate FileWriter #red -deactivate FileWriter -deactivate Storage +":Storage" -> ":FileWriter" : write(internship data) +activate ":FileWriter" #red +deactivate ":FileWriter" +deactivate ":Storage" @enduml \ No newline at end of file From 5c77d44584fdcdc8f9179088d540cb6228dd306d Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 3 Nov 2024 16:23:28 +0800 Subject: [PATCH 215/359] Resolve merge conflict --- docs/DeveloperGuide.md | 30 +- docs/UserGuide.md | 539 ++++++++---------- docs/team/toby-yu.md | 9 +- .../java/seedu/commands/FavouriteCommand.java | 54 ++ .../java/seedu/commands/FilterCommand.java | 30 +- src/main/java/seedu/commands/HelpCommand.java | 1 + src/main/java/seedu/commands/SortCommand.java | 19 +- src/main/java/seedu/duke/Internship.java | 9 + src/main/java/seedu/duke/InternshipList.java | 31 +- src/main/java/seedu/duke/Parser.java | 21 +- src/main/java/seedu/duke/Storage.java | 52 +- src/main/java/seedu/ui/UiCommand.java | 39 -- src/main/java/seedu/ui/UiInternshipList.java | 49 +- .../seedu/commands/FavouriteCommandTest.java | 136 +++++ 14 files changed, 609 insertions(+), 410 deletions(-) create mode 100644 src/main/java/seedu/commands/FavouriteCommand.java create mode 100644 src/test/java/seedu/commands/FavouriteCommandTest.java diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 8a55f32a8c..ff2a9bfa07 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -324,14 +324,34 @@ The following sequence diagram shows how the `RemoveCommand` is executed: ### Value proposition -{Describe the value proposition: what problem does it solve?} +This product helps users streamline the process of tracking and managing their internship applications by allowing them to: + +- **Store Important Internship Information**: Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes regarding each internship. + +- **Track Application Status**: Users can keep track of the current status of their applications (e.g., not applied, applied, interview scheduled, offer received) and update it as the application progresses. + +- **Edit and Manage Internships**: Users can edit saved internships, modify application statuses, update deadlines, or remove outdated internships from their list. + +- **Filter Internships by Key Criteria**: Users can filter tracked internships by relevant criteria such as required skills, application status, or upcoming deadlines, helping them find specific applications. + +- **Sort Internships by Key Criteria**: Users can sort tracked internships by relevant criteria such as required skills, application status, or upcoming deadlines, helping them prioritize applications. + +- **Monitor Deadlines Easily**: Users can stay on top of their internship deadlines by sorting or flagging applications with approaching deadlines, ensuring that no important opportunity is missed. ## User Stories -|Version| As a ... | I want to ... | So that I can ...| -|--------|----------|---------------|------------------| -|v1.0|new user|see usage instructions|refer to them when I forget how to use the application| -|v2.0|user|find a to-do item by name|locate a to-do without having to go through the entire list| +| Version | As a ... | I want to ... | So that I can ... | +|---------|----------------------|------------------------------------------------|--------------------------------------------------------| +| v1.0 | new user | see usage instructions | refer to them when I forget how to use the application | +| v1.0 | user | add an internship with all relevant details | store information about the internships I’m applying to | +| v1.0 | user | edit the details of an internship | update information when I receive new details | +| v1.0 | user | delete an internship | remove outdated or irrelevant internships from my list | +| v1.0 | user | track the status of an internship | know what stage my application is in | +| v1.0 | user | sort internships by duration | focus on internships where I need to take action | +| v1.0 | user | sort internships by deadlines | prioritize internships with approaching deadlines | +| v1.0 | user | update the status of my internship application | keep track of my progress in the application process | +| v2.0 | user | receive alerts about upcoming deadlines | ensure I don't miss important deadlines | +| v2.0 | user | sort internships by required skills | focus on internships that match my skill set | ## Non-Functional Requirements diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 6c7c3ad7fb..4b02f8a352 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -1,29 +1,11 @@ # User Guide -## Outline -- [Product Description](#product-description) -- [Quick Start](#quick-start) -- [Features](#features) - - [Add Command: `add`](#add-command-add) - - [Update Command: `update`](#update-command-update) - - [Remove Command: `remove`](#remove-command-remove) - - [List Command: `list`](#list-command-list) - - [Sort Command: `sort`](#sort-command-sort) - - [Filter Command: `filter`](#filter-command-filter) - - [Delete Command: `delete`](#delete-command-delete) - - [Calendar Command: `calendar`](#calendar-command-calendar) - - [Help Command: `help`](#help-command-help) - - [Exit Command: `exit`](#exit-command-exit) - - [Invalid Inputs](#invalid-inputs) -- [FAQ](#faq) -- [Command Summary](#command-summary) - ## Product Description This product aims to streamline the tracking of internship applications for the user, where the user is able to store key details of the internship as well as save and edit the status of the application. **By using this tool, the user can:** -**Store Important Internship Information:** Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes. +**Store Important seedu.duke.Internship Information:** Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes. **Track Application Status:** Users can save the current status of their application (e.g., not applied, applied, interview scheduled, offer received) and update it as the application progresses. @@ -36,375 +18,328 @@ This product aims to streamline the tracking of internship applications for the ## Quick Start +{Give steps to get started quickly} + 1. Ensure that you have Java 17 or above installed. -2. Down the latest version of `.jar` file from [here](). -3. Copy the file to the home folder of your Internship Tracker. -4. Open the terminal, `cd` into the folder with the `.jar` file and use `java -jar easInternship.jar` - command to run the application. -5. Type the command to the CLI and press `Enter` to execute it. -6. Refer to the [Features](#features) section below for details of each command. +1. Down the latest version of `Duke` from [here](http://link.to/duke). # Features -## Add Command: `add` +## Add Command +`add` -Adds a new internship entry to the list of internships currently being tracked by the user. -Each internship is assigned a unique ID, serving as the reference for functions that call specific Internship entries -(e.g. `update`, `delete`). +Adds internship to the list of internships currently being tracked by the user. The information added is automatically saved to a .txt file. Each internship you add is assigned a unique ID for editing purposes, which is generated based on the order in which these internships were created and stored. -**Format:** `add -role {Role name} -company {Company name} -from {date} -to {date}` -- `role` and `company` are compulsory flags. -- `from` and `to` are optional and will be replaced with `01/01` when left empty. +This function can be expanded upon to add different features to each internship. + +**Format:** + +`add -name {Role name} -company {Company name} // default param` +`-duration /from {start date} /to {end date} // additional params` **Example Input 1:** -`add -role Software Engineer Intern -company Google` +`add -name Software Engineer Intern -company Google` **Example Output 1:** ``` -__________________________________________________ -__________________________________________________ -Internship added: -ID: 1 Status: Application Pending +ID: 01 Role: Software Engineer Intern Company: Google -Duration: 01/01 to 01/01 -Skills: No Skills Entered +Duration: Not Stated +Skills: Not Stated Deadlines: - No deadlines set. -__________________________________________________ -__________________________________________________ +No deadlines set. ``` **Example Input 2:** -`add -role Embedded Software Engineer Intern -company Continental -from 05/25 -to 08/25` +`add -name Embedded Software Engineer Intern -company Continental -duration /from 05/25 /to 08/25` **Example Output 2:** ``` -__________________________________________________ -__________________________________________________ -Internship added: -ID: 2 Status: Application Pending +ID: 02 Role: Embedded Software Engineer Intern Company: Continental Duration: 05/25 to 08/25 -Skills: No Skills Entered +Skills: Not Stated Deadlines: - No deadlines set. -__________________________________________________ -__________________________________________________ +No deadlines set. ``` -## Update Command: `update` +## Update Command +`update` -Updates any field of an Internship entry. +This feature allows you to update any field of an internship application. For example, when updating the status of an internship application, you can mark the status as ‘application pending’, ‘application completed’, ‘accepted’, ‘rejected’ etc. -Valid Fields:
-- `role`: Provide the new role -- `company`: Provide the new company -- `status`: Provide the new status, according to the list below -- `from`: Provide the new start date in `MM/yy` format -- `to`: Provide the new end date in `MM/yy` format -- `skills`: Provide a new skill -- `deadline`: Provide the description and deadline (in `dd/MM/yy` format) with a whitespace between them +The default status for any internship that is stored in the database is ‘application pending’. -Valid Statuses for `status` flag:
-- Application Pending (Default Status) -- Application Completed -- Accepted -- Rejected - -For multiple uses of flags that are not `skills` or `deadline` only the last occurrence of the flag is used. **Format:** -`update {ID} -{field} {updated information}` +`update {ID} {-field} {updated information}` -**Examples:** +**Example:** `update 02 -status application completed` ``` -__________________________________________________ -__________________________________________________ -status updated: application completed -__________________________________________________ -Internship updated: -ID: 2 Status: Application Completed -Role: Embedded Software Engineer Intern +ID: 02 **Status** +Role: Embedded Software Engineer Intern application completed Company: Continental Duration: 05/25 to 08/25 -Skills: No Skills Entered +Skills: Not Stated Deadlines: - No deadlines set. -__________________________________________________ -__________________________________________________ +No deadlines set. ``` -`update 02 -company Venti -deadline Interview Round 1 03/02/25` +`Update 02 -status interview scheduled` ``` -__________________________________________________ -__________________________________________________ -company updated: Venti -deadline updated: Interview Round 1 03/02/25 -__________________________________________________ -Internship updated: -ID: 2 Status: Application Completed -Role: Embedded Software Engineer Intern +ID: 02 Status +Role: Embedded Software Engineer Intern interview scheduled +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated +Deadlines: +No deadlines set. +``` + +`Update 02 -company Venti` + +``` +ID: 02 Status +Role: Embedded Software Engineer Intern interview scheduled Company: Venti Duration: 05/25 to 08/25 -Skills: No Skills Entered +Skills: Not Stated Deadlines: - Interview Round 1: 03/02/25 -__________________________________________________ -__________________________________________________ +No deadlines set. ``` -`update 02 -from 04/25 -skills Python` +`Update 02 -duration /from 04/25` ``` -__________________________________________________ -__________________________________________________ -from updated: 04/25 -skills updated: Python -__________________________________________________ -Internship updated: -ID: 2 Status: Application Completed -Role: Embedded Software Engineer Intern +ID: 02 Status +Role: Embedded Software Engineer Intern interview scheduled Company: Venti Duration: 04/25 to 08/25 -Skills: Python +Skills: Not Stated Deadlines: - Interview Round 1: 03/02/25 -__________________________________________________ -__________________________________________________ +No deadlines set. ``` -## Remove Command: `remove` +`update 02 -skills Python SQL` -Removes specific values from fields of an Internship entry. +``` +ID: 02 Status +Role: Embedded Software Engineer Intern interview scheduled +Company: Venti +Duration: 04/25 to 08/25 +Skills: Python, SQL +Deadlines: +No deadlines set. +``` +## Sort Command +`sort` + +This feature allows you to sort and list all the internships saved in your database. The default display format is in increasing order of their ID’s (based on time of creation) -Valid Fields: -- `skills`: Provide a skill listed in `skills` (case-sensitive) -- `deadline`: Provide the description of the deadline to be removed (case-insensitive) +Users can specify a flag to display them in alphabetical order (regardless of uppercase or lowercase) of their role, skills and status or by deadline. **Format:** -`remove {ID} -{field} {value}` -**Examples:** -`remove 02 -skills Python` +`sort {field}` + +**Example:** + +`sort -duration` ``` __________________________________________________ __________________________________________________ -skills removed: Python +Sorted internships by start date (year first), then end date. __________________________________________________ -Internship updated: -ID: 2 Status: Application Completed +ID: 02 +Role: Software Engineer Intern +Company: Google +Duration: 05/23 to 08/25 +Skills: Not Stated +Deadlines: +online assessment: 11/11/24 +__________________________________________________ +ID: 01 Role: Embedded Software Engineer Intern -Company: Venti -Duration: 04/25 to 08/25 -Skills: No Skills Entered +Company: Continental +Duration: 05/24 to 08/24 +Skills: Not Stated Deadlines: - Interview Round 1: 03/02/25 + interview: 25/11/24 __________________________________________________ __________________________________________________ ``` -`remove 02 -deadline Interview Round 1 -deadline Interview Round 2` +`sort -role` ``` __________________________________________________ __________________________________________________ -deadline: Interview Round 2 is not found -__________________________________________________ -deadline removed: Interview Round 1 +Sorted internships by role alphabetically (case-insensitive). __________________________________________________ -Internship updated: -ID: 2 Status: Application Completed +ID: 01 Role: Embedded Software Engineer Intern -Company: Venti -Duration: 04/25 to 08/25 -Skills: No Skills Entered +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated +Deadlines: + interview: 25/11/24 + + +ID: 02 +Role: Software Engineer Intern +Company: Google +Duration: Not Stated +Skills: Not Stated Deadlines: - No deadlines set. + online assessment: 11/11/24 __________________________________________________ __________________________________________________ ``` - -## List Command: `list` - -Lists out all the Internships in the order of IDs. - -**Format:** `list` - -Example Output: +`sort -deadline` ``` __________________________________________________ __________________________________________________ -ID: 1 Status: Application Pending -Role: accountant -Company: XYZ -Duration: 01/01 to 01/01 -Skills: No Skills Entered -Deadlines: - No deadlines set. +Sorted internships by deadline. __________________________________________________ -ID: 2 Status: Application Pending -Role: engineer -Company: ABS -Duration: 01/01 to 01/01 -Skills: No Skills Entered +ID: 02 +Role: Software Engineer Intern +Company: Google +Duration: 05/23 to 08/25 +Skills: Not Stated Deadlines: - No deadlines set. + online assessment: 11/11/24 + +ID: 01 +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/24 to 08/24 +Skills: Not Stated +Deadlines: + interview: 25/11/24 __________________________________________________ __________________________________________________ ``` - -## Sort Command: `sort` - -Lists out all the Internships sorted by a specified field. The default list in increasing order of their IDs. - -Valid Fields: -- `role` -- `duration` -- `skills` -- `status` -- `deadline` - -The fields are not case-sensitive. - -**Format:** `sort -{field}` - -**Example:** - -`sort -duration` +`sort -skills` ``` __________________________________________________ __________________________________________________ -Sorted internships by start date (year first), then end date. -__________________________________________________ -__________________________________________________ - - -__________________________________________________ +Sorted internships by skills. __________________________________________________ -ID: 1 Status: Application Pending -Role: Software Engineer Intern +ID: 1 Status: Application Completed +Role: Embedded Software Engineer Intern Company: Google -Duration: 05/24 to 08/24 +Duration: 02/23 to 05/24 Skills: No Skills Entered Deadlines: - interview: 25/11/24 + interview: 25/11/24 __________________________________________________ -ID: 2 Status: Application Completed -Role: Embedded Software Engineer Intern -Company: Venti -Duration: 04/25 to 08/25 +ID: 2 Status: Accepted +Role: Marketing sales +Company: Castify +Duration: 05/23 to 05/24 Skills: No Skills Entered Deadlines: - online assessment: 11/11/24 + online assessment: 11/11/24 __________________________________________________ __________________________________________________ ``` - -`sort -deadline` +`sort -status` ``` __________________________________________________ __________________________________________________ -Sorted internships by deadline. -__________________________________________________ -__________________________________________________ - - -__________________________________________________ +Sorted internships by status. __________________________________________________ -ID: 2 Status: Application Completed -Role: Embedded Software Engineer Intern -Company: Venti -Duration: 04/25 to 08/25 +ID: 2 Status: Accepted +Role: Marketing sales +Company: Castify +Duration: 05/23 to 05/24 Skills: No Skills Entered Deadlines: - online assessment: 11/11/24 + online assessment: 11/11/24 __________________________________________________ -ID: 1 Status: Application Pending -Role: Software Engineer Intern +ID: 1 Status: Application Completed +Role: Embedded Software Engineer Intern Company: Google -Duration: 05/24 to 08/24 +Duration: 02/23 to 05/24 Skills: No Skills Entered Deadlines: - interview: 25/11/24 + interview: 25/11/24 __________________________________________________ __________________________________________________ ``` - -## Filter command: `filter` +## Filter command: +`filter` This feature is an extension of the previous list feature. It allows the user to specify certain values for any of the role name, company name or duration parameters based on which only the relevant internships are shown. The role and company name parameters are case-insensitive, For the duration parameter, this feature displays all relevant internships whose start dates and end dates are within the duration timeline specified by the user. For the MVP version of the product, user can only sort by 1 field at a time. -**Format:** `filter -{field} {value}` +**Format:** + +`filter -role {Role name} -` + +`filter -company {Company name}` -Valid fields: -- `role`: Provide the role name -- `company`: Provide the company name -- `from`: Provide the start date -- `to`: Provide the end date -- `skills`: Provide one skill listed in `skills` -- `deadline`: Provide the description of one of the deadlines +`filter -duration /from {start date} /to {end date}` -**Examples:** +`filter -skills {skill}` + +`filter -deadline /by {date}` + +**Example:** `list` ``` -__________________________________________________ -__________________________________________________ -ID: 1 Status: Application Pending -Role: engineer -Company: ABS -Duration: 01/01 to 01/01 -Skills: No Skills Entered -Deadlines: - No deadlines set. -__________________________________________________ -ID: 2 Status: Application Pending -Role: accountant -Company: XYZ -Duration: 01/01 to 01/01 -Skills: No Skills Entered -Deadlines: - No deadlines set. -__________________________________________________ -__________________________________________________ -``` +ID: 01 +Role: Software Engineer Intern +Company: Google +Duration: Not Stated +Skills: Not Stated -`filter -company ABS` +ID: 02 +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated +``` +`filter -company Google` ``` -__________________________________________________ -__________________________________________________ -ID: 1 Status: Application Pending -Role: engineer -Company: ABS -Duration: 01/01 to 01/01 -Skills: No Skills Entered -Deadlines: - No deadlines set. -__________________________________________________ -__________________________________________________ +ID: 01 +Role: Software Engineer Intern +Company: Google +Duration: Not Stated +Skills: Not Stated ``` +`filter -duration /from 04/25 /to 09/25` -## Delete Command: `delete` +``` +ID: 02 +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated +``` + +## Delete Command: +`del` This feature removes an entire listing from the tracker. @@ -415,92 +350,82 @@ This feature removes an entire listing from the tracker. `list` ``` -__________________________________________________ -__________________________________________________ -ID: 1 Status: Application Pending -Role: engineer -Company: ABS -Duration: 01/01 to 01/01 -Skills: No Skills Entered -Deadlines: - No deadlines set. -__________________________________________________ -ID: 2 Status: Application Pending -Role: accountant -Company: XYZ -Duration: 01/01 to 01/01 -Skills: No Skills Entered -Deadlines: - No deadlines set. -__________________________________________________ -__________________________________________________ +ID: 01 +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated + +ID: 02 +Role: Software Engineer Intern +Company: Google +Duration: Not Stated +Skills: Not Stated ``` -`delete 01` +`del {01}` ``` -__________________________________________________ -__________________________________________________ -Internship deleted: 1 -__________________________________________________ -__________________________________________________ -``` +You have deleted this listing: -## Calendar Command: `calendar` +ID: 01 +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: Not Stated +``` -Lists out all deadlines along with the current date (according to local machine date) +`list` -**Format:** `calendar` +``` +ID: 02 +Role: Software Engineer Intern +Company: Google +Duration: Not Stated +Skills: Not Stated +``` -Example Output: +## Help Command: +`help` -``` -__________________________________________________ -__________________________________________________ -Deadlines: +Shows the commands available for the user. +Describes the available functions and inputs that are needed +Other basic commands. -10/10/24 - 1: interview round 1 +**Format:** `/help` -02/11/24 --> Today - 2: application deadline +**Example Output** -05/11/24 - 1: interview round 2 -__________________________________________________ -__________________________________________________ ``` + add -name {Role name} -company {Company name}: Adds internship to the list of internships currently being tracked by the user. -## Help Command: `help` - -Shows the commands available for the user and the inputs required. -**Format:** `help` + update {ID} {-field} {updated information}: Adds information to the field of the entry tagged to the ID. + Eg. update 02 -status application completed +``` -## Exit Command: `exit` +## Exit Command Terminates the program. -**Format:** `exit` +**Format:** `/exit` ## Invalid Inputs Shows whenever an incomplete or invalid search call is performed. Output also shows what corrective action can be taken. -Examples: +Example Output: +Please include a duration if you are using the -duration flag! +Eg. Update 02 -duration /from 04/25 + +Please include specific skills if you are using the -skills flag! + +I do not understand what flag you are using, type /help to get a list of valid commands. + -`add -company` -``` -__________________________________________________ -__________________________________________________ -Company not specified. -Role not specified. -__________________________________________________ -__________________________________________________ -``` @@ -508,7 +433,7 @@ __________________________________________________ **Q**: How do I transfer my data to another computer? -**A**: Locate the `/data/` directory, in the same directory as your `.jar` file. Copy this `/data/` directory to the second computer and store it in the same directory as the `.jar` file. +**A**: {your answer here} ## Command Summary diff --git a/docs/team/toby-yu.md b/docs/team/toby-yu.md index 51f6b91c63..6db7757018 100644 --- a/docs/team/toby-yu.md +++ b/docs/team/toby-yu.md @@ -11,6 +11,7 @@ By using this tool, the user can: - **Track Application Status**: Users can save the current status of their application (e.g., not applied, applied, interview scheduled, offer received) and update it as the application progresses. - **Edit and Manage Internships**: Users can edit saved internships, modify statuses, update deadlines, or remove outdated internships from the list. - **Filter Internships by Key Criteria**: The user can filter internships by relevant skills, application status, or upcoming deadlines. +- **Sort Internships by Key Criteria**: Users can sort tracked internships by relevant criteria such as required skills, application status, or upcoming deadlines, helping them prioritize applications. - **Monitor Deadlines Easily**: The tool helps users stay on top of their internship deadlines with sorting features and deadline alerts. --- @@ -38,7 +39,7 @@ By using this tool, the user can: ### Testing - Wrote comprehensive JUnit tests for the `SortCommand` to ensure accuracy across different sorting criteria and edge cases -- Achieved 95% coverage for the `SortCommand` class. +- Achieved 60% coverage for the `SortCommand` class. ### Documentation Contributions @@ -67,3 +68,9 @@ By using this tool, the user can: ### SortCommand Class The `SortCommand` class allows users to sort the list of internships based on specific criteria such as role, or skills alphabetically and duration, deadline. Here's an excerpt of the sequence diagram for the `SortCommand` + +### Value Proposition +The value proposition parts shows the problem we solve in this project + +### User Stories +Mention the situation and reason why user need such functions or design. \ No newline at end of file diff --git a/src/main/java/seedu/commands/FavouriteCommand.java b/src/main/java/seedu/commands/FavouriteCommand.java new file mode 100644 index 0000000000..621ca93338 --- /dev/null +++ b/src/main/java/seedu/commands/FavouriteCommand.java @@ -0,0 +1,54 @@ +package seedu.commands; + +import seedu.duke.Internship; +import seedu.exceptions.InvalidIndex; + +import java.util.ArrayList; + +public class FavouriteCommand extends Command { + public boolean functionComplete = false; + + @Override + public void execute(ArrayList args) { + for (String arg : args) { + try { + int internshipId = Integer.parseInt(arg); + int internshipIndex = internshipId - 1; + Internship internship = internships.getInternship(internshipIndex); + ArrayList favouriteInternships = internships.favouriteInternships; + if (internship == null) { + throw new InvalidIndex(); + } + if (favouriteInternships.contains(internship)) { + continue; + } + functionComplete = true; + favouriteInternships.add(internship); + } catch (NumberFormatException e) { + uiCommand.showOutput("Invalid integer, please provide a valid internship ID"); + functionComplete = false; + return; + } catch (InvalidIndex e) { + functionComplete = false; + return; + // Exception message is already handled in InternshipList class + } + } + if (args.isEmpty()) { + uiCommand.showEmptyFlags(); + return; + } + internships.listAllInternships(internships.favouriteInternships); + if (!functionComplete) { + uiCommand.showOutput("All id's provided were marked as favourite already"); + } + functionComplete = true; + } + + @Override + public String getUsage() { + return """ + filter + Usage: filter -{flag} {field data}"""; + } +} diff --git a/src/main/java/seedu/commands/FilterCommand.java b/src/main/java/seedu/commands/FilterCommand.java index 7e0300b8c8..d530ab5f77 100644 --- a/src/main/java/seedu/commands/FilterCommand.java +++ b/src/main/java/seedu/commands/FilterCommand.java @@ -17,8 +17,9 @@ public class FilterCommand extends Command { private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/yy"); private final Map fieldGetters = new HashMap<>(); - + private ArrayList internshipList; + private ArrayList favouriteInternshipList; private InternshipList filteredInternships; public FilterCommand() { @@ -27,6 +28,7 @@ public FilterCommand() { fieldGetters.put("company", Internship::getCompany); fieldGetters.put("from", Internship::getStartDate); fieldGetters.put("to", Internship::getEndDate); + fieldGetters.put("favourite", Internship::getFavourite); } public InternshipList getFilteredInternships() { @@ -35,8 +37,9 @@ public InternshipList getFilteredInternships() { @Override public void execute(ArrayList args) { - assert internships != null: "Internship list should always be set before a command can be executed"; + assert internships != null : "Internship list should always be set before a command can be executed"; internshipList = new ArrayList<>(internships.getAllInternships()); + favouriteInternshipList = new ArrayList<>(internships.favouriteInternships); filteredInternships = new InternshipList(internshipList); if (args.isEmpty()) { @@ -83,6 +86,10 @@ private void executeFilterByOneFlag(String[] words) { filterByRoleAndCompany(getter, searchTerm); return; + case "favourite": + filterByFavouriteInternships(searchTerm); + return; + case "from": dateComparator = YearMonth::isBefore; break; @@ -92,7 +99,7 @@ private void executeFilterByOneFlag(String[] words) { break; default: - assert false: "Should never be able to reach this statement if all flags are accounted for"; + assert false : "Should never be able to reach this statement if all flags are accounted for"; } filterByDate(getter, searchTerm, dateComparator); @@ -111,6 +118,23 @@ private void filterByRoleAndCompany(InternshipFieldGetter getter, String searchT } } + private void filterByFavouriteInternships(String searchTerm) { + // Iterate over the internships and retrieve favourites + switch (searchTerm) { + case "true": + case "True": + filteredInternships.internships.retainAll(favouriteInternshipList); + break; + case "false": + case "False": + filteredInternships.internships.removeAll(favouriteInternshipList); + break; + default: + uiCommand.showOutput("Please only input 'true'/'false' following the -fav flag"); + throw new IllegalArgumentException(); + } + } + private void filterByDate(InternshipFieldGetter getter, String searchTerm, BiPredicate dateComparator) { assert dateComparator != null : "dateComparator should not be null in filterByDate method"; diff --git a/src/main/java/seedu/commands/HelpCommand.java b/src/main/java/seedu/commands/HelpCommand.java index 3721a0d8a3..e8a9afc32e 100644 --- a/src/main/java/seedu/commands/HelpCommand.java +++ b/src/main/java/seedu/commands/HelpCommand.java @@ -18,6 +18,7 @@ public void execute(ArrayList args) { commands.add(new SortCommand()); commands.add(new UpdateCommand()); commands.add(new RemoveCommand()); + commands.add(new CalendarCommand()); uiCommand.showCommands(commands); } diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index 469034c3c2..5b8c5577e7 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -21,10 +21,11 @@ public class SortCommand extends Command { // Execute method for the SortCommand @Override public void execute(ArrayList args) { + uiCommand.clearInvalidFlags(); + // Check if no arguments are provided after "sort" if (args.isEmpty()) { - uiCommand.showSortedInternships("none"); // No valid sort option provided - internships.listAllInternships(); // Default to listing by ID + internships.listInternshipsNotSorted(); // No valid sort option provided return; } @@ -34,32 +35,23 @@ public void execute(ArrayList args) { // Handle valid sorting options switch (sortOption) { case "role": - uiCommand.showSortedInternships(sortOption); // Show sorting message for alphabet internships.listInternshipsSortedByRole(); // Sort by role alphabetically (case-insensitive) break; case "duration": - uiCommand.showSortedInternships(sortOption); // Show sorting message for deadline internships.listInternshipsSortedByDuration(); // Sort by start date, then end date (year first) break; case "deadline": - uiCommand.showSortedInternships(sortOption); internships.listInternshipsSortedByDeadline(); break; case "skills": - uiCommand.showSortedInternships(sortOption); internships.listInternshipsSortedByFirstSkill(); // Sort by first skill alphabetically break; case "status": - uiCommand.showSortedInternships(sortOption); internships.listInternshipsSortedByStatus(); // Sort by status alphabetically break; default: // Handle invalid sorting options - uiCommand.clearInvalidFlags(); - uiCommand.addInvalidFlag(sortOption); - uiCommand.printInvalidFlags(); - System.out.println(uiCommand.getSortUsageMessage()); // Show correct usage message - internships.listAllInternships(); // Default to listing by ID + internships.listInternshipsInvalidFlag(sortOption); } } @@ -68,7 +60,8 @@ public String getUsage() { return """ sort Usage: sort [role | deadline | duration | skills | status] - alphabet: Sort internships alphabetically by role (case-insensitive). + + role: Sort internships alphabetically by role (case-insensitive). deadline: Sort internships by start date (year first), then end date. duration: Sort internships by internship duration. skills: Sort internships by the first skill alphabetically. diff --git a/src/main/java/seedu/duke/Internship.java b/src/main/java/seedu/duke/Internship.java index 516d7800a4..f93a9f8bf1 100644 --- a/src/main/java/seedu/duke/Internship.java +++ b/src/main/java/seedu/duke/Internship.java @@ -27,6 +27,7 @@ public class Internship { private String company; private YearMonth startDate; private YearMonth endDate; + private String favourite = "false"; private String status; private ArrayList deadlines; @@ -121,6 +122,14 @@ public void setEndDate(String end) throws DateTimeParseException { this.endDate = YearMonth.parse(end, FORMATTER_MONTH_YEAR); } + public String getFavourite() { + return favourite; + } + + public void setFavourite(String favourite) { + this.favourite = favourite; + } + /** * Adds a new deadline for this internship. diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 2418ca2a09..3f1af23f05 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -15,14 +15,17 @@ public class InternshipList { private static final UiInternshipList ui = new UiInternshipList(); public ArrayList internships; + public ArrayList favouriteInternships; // Constructor public InternshipList() { internships = new ArrayList<>(); + favouriteInternships = new ArrayList<>(); } public InternshipList(ArrayList internships) { this.internships = internships; + favouriteInternships = new ArrayList<>(); } public void addInternship(Internship internship) { @@ -134,11 +137,11 @@ public void removeField(int index, String field, String value) throws InvalidInd //@@author jadenlimjc // Method to list all internships public void listAllInternships() { - if (internships.isEmpty()) { - ui.showEmptyInternshipList(); - } else { - ui.showInternships(internships); - } + ui.showInternships(internships, "list"); + } + + public void listAllInternships(ArrayList internships) { + ui.showInternships(internships, "list"); } public List getAllInternships() { @@ -158,7 +161,7 @@ public void listInternshipsSortedByRole() { Collections.sort(sortedList, Comparator.comparing(internship -> internship.getRole().toLowerCase())); // Display the sorted list without changing IDs - ui.showInternships(sortedList); + ui.showInternships(sortedList, "role"); } // Method to list all internships sorted by start date (year first), then end date @@ -176,7 +179,7 @@ public void listInternshipsSortedByDuration() { }); // Display the sorted list without changing IDs - ui.showInternships(sortedInternships); + ui.showInternships(sortedInternships, "duration"); } // Helper method to compare YearMonth strings in "MM/yy" format (year first, then month) @@ -214,7 +217,7 @@ public void listInternshipsSortedByDeadline() { } return compareYearMonth(earliestDeadline1.getDate(), earliestDeadline2.getDate()); }); - ui.showInternships(sortedInternships); + ui.showInternships(sortedInternships, "deadline"); } /** @@ -230,7 +233,7 @@ public void listInternshipsSortedByFirstSkill() { })); // Display the sorted list without changing IDs - ui.showInternships(sortedList); + ui.showInternships(sortedList, "skills"); } /** @@ -243,7 +246,15 @@ public void listInternshipsSortedByStatus() { Collections.sort(sortedList, Comparator.comparing(internship -> internship.getStatus().toLowerCase())); // Display the sorted list without changing IDs - ui.showInternships(sortedList); + ui.showInternships(sortedList, "status"); + } + + public void listInternshipsNotSorted() { + ui.showInternships(internships, "none"); + } + + public void listInternshipsInvalidFlag(String flag) { + ui.showInternships(internships, flag); } } diff --git a/src/main/java/seedu/duke/Parser.java b/src/main/java/seedu/duke/Parser.java index 459f5825c7..ff6ea92cc5 100644 --- a/src/main/java/seedu/duke/Parser.java +++ b/src/main/java/seedu/duke/Parser.java @@ -9,6 +9,7 @@ import seedu.commands.ListCommand; import seedu.commands.HelpCommand; import seedu.commands.RemoveCommand; +import seedu.commands.FavouriteCommand; import seedu.commands.CalendarCommand; import seedu.ui.Ui; @@ -38,6 +39,7 @@ private void initializeCommands() { commands.put("list", ListCommand::new); commands.put("help", HelpCommand::new); commands.put("remove", RemoveCommand::new); + commands.put("favourite", FavouriteCommand::new); commands.put("calendar", CalendarCommand::new); } @@ -93,7 +95,9 @@ public ArrayList parseData(Command command, String input) { if (command instanceof FilterCommand) { return parseFilterCommandData(inputData); } - + if (command instanceof FavouriteCommand) { + return parseFavouriteCommandData(inputData); + } assert false : "Should never be able to reach this statement if all commands are accounted for"; return null; } @@ -126,9 +130,6 @@ private ArrayList parseUpdateCommandData(String inputData) { String id = splitArray[0].trim(); try { String fields = splitArray[1].trim(); - if (fields.isBlank()) { - throw new ArrayIndexOutOfBoundsException(); - } ArrayList commandArgs = parseFlagData(fields); if (commandArgs == null) { @@ -140,9 +141,6 @@ private ArrayList parseUpdateCommandData(String inputData) { } catch (ArrayIndexOutOfBoundsException e) { ui.showEmptyFlags(); return null; - } catch (NumberFormatException e) { - ui.showOutput("Please input some ID for the command"); - return null; } } @@ -154,4 +152,13 @@ private ArrayList parseFilterCommandData(String inputData) { return parseFlagData(inputData); } + private ArrayList parseFavouriteCommandData(String inputData) { + if (inputData.trim().isEmpty()) { + return null; + } + ArrayList commandArgs = new ArrayList<>(Arrays.asList(inputData.trim().split(","))); + commandArgs.replaceAll(String::trim); + return commandArgs; + } + } diff --git a/src/main/java/seedu/duke/Storage.java b/src/main/java/seedu/duke/Storage.java index d469bd21a3..4847e0b8a0 100644 --- a/src/main/java/seedu/duke/Storage.java +++ b/src/main/java/seedu/duke/Storage.java @@ -59,6 +59,14 @@ public static void saveToFile(InternshipList internshipList) { + internship.getStatus() + " | " + deadlinesBuilder + "\n"); } + + // After writing internships, write the favourite IDs + writer.write("FAVOURITES:"); + for (Internship favInternship : internshipList.favouriteInternships) { + writer.write(" " + favInternship.getId()); + } + writer.write("\n"); + writer.close(); } catch (IOException e) { System.out.println("Error while saving tasks: " + e.getMessage()); @@ -78,25 +86,35 @@ public static void loadFromFile(InternshipList internshipList) { try (BufferedReader reader = new BufferedReader(new FileReader(file))) { String line; while ((line = reader.readLine()) != null) { - String[] data = line.split(" \\| "); - String role = data[1]; - String company = data[2]; - String startDate = data[3]; - String endDate = data[4]; - String skills = data[5]; - String status = data[6]; - String deadlines = data[7]; - - Internship internship = new Internship(role, company, startDate, endDate); - internshipList.addInternship(internship); - internship.setSkills(skills); - internship.setStatus(status); - - List loadedDeadlines = parseDeadlines(deadlines, internship.getId()); - for (Deadline deadline : loadedDeadlines) { - internship.addDeadline(deadline.getDescription(), deadline.getDate()); + if (!(line.startsWith("FAVOURITES:"))) { + String[] data = line.split(" \\| "); + String role = data[1]; + String company = data[2]; + String startDate = data[3]; + String endDate = data[4]; + String skills = data[5]; + String status = data[6]; + String deadlines = data[7]; + + Internship internship = new Internship(role, company, startDate, endDate); + internshipList.addInternship(internship); + internship.setSkills(skills); + internship.setStatus(status); + List loadedDeadlines = parseDeadlines(deadlines, internship.getId()); + for (Deadline deadline : loadedDeadlines) { + internship.addDeadline(deadline.getDescription(), deadline.getDate()); + } + continue; } + // Parse favourite internships + String[] parts = line.substring("FAVOURITES:".length()).trim().split(" "); + for (String id : parts) { + int favInternshipId = Integer.parseInt(id); + int favInternshipIndex = favInternshipId - 1; + Internship favInternship = internshipList.internships.get(favInternshipIndex); + internshipList.favouriteInternships.add(favInternship); + } } } catch (IOException e) { System.out.println("Error while loading tasks: " + e.getMessage()); diff --git a/src/main/java/seedu/ui/UiCommand.java b/src/main/java/seedu/ui/UiCommand.java index 67069b99c6..2ab35bd073 100644 --- a/src/main/java/seedu/ui/UiCommand.java +++ b/src/main/java/seedu/ui/UiCommand.java @@ -156,45 +156,6 @@ public void showInsufficientArguments() { showOutput("Insufficient arguments! Please include a flag to filter by."); } - //@@author Toby-Yu - /** - * Prints message indicating how internships are sorted. - * - * @param field Criteria that internships are sorted by. - */ - public void showSortedInternships(String field) { - printHeadDivider(); - switch (field) { - case "none": - System.out.println("No sorting option provided. Listing internships by ID."); - break; - case "alphabet": - System.out.println("Sorted internships by role alphabetically (case-insensitive)."); - break; - case "duration": - System.out.println("Sorted internships by start date (year first), then end date."); - break; - case "deadline": - System.out.println("Sorted internships by deadline."); - break; - default: - // Handling invalid sorting options - System.out.println("Error: Unknown or invalid sorting option: \"" + field + "\"."); - System.out.println(getSortUsageMessage()); - break; - } - printTailDivider(); - } - - /** - * Prints the correct usage message for the sort command. - */ - public String getSortUsageMessage() { - return "Usage: sort [alphabet | deadline]\n" + - "alphabet: Sort internships alphabetically by role (case-insensitive).\n" + - "deadline: Sort internships by start date (year first), then end date."; - } - //@@author Ridiculouswifi public void showCommands(ArrayList commands) { printHeadDivider(); diff --git a/src/main/java/seedu/ui/UiInternshipList.java b/src/main/java/seedu/ui/UiInternshipList.java index c8bbb7b154..406f1181ff 100644 --- a/src/main/java/seedu/ui/UiInternshipList.java +++ b/src/main/java/seedu/ui/UiInternshipList.java @@ -9,18 +9,21 @@ * Subclass of Ui to print outputs from InternshipList. */ public class UiInternshipList extends Ui { - /** - * Prints message when InternshipList is empty. - */ - public void showEmptyInternshipList() { - showOutput("No internships found."); - } - /** * Prints out all internships in a specified ArrayList. */ - public void showInternships(ArrayList internships) { + public void showInternships(ArrayList internships, String field) { printHeadDivider(); + String message = getSortField(field); + if (!message.isEmpty()) { + System.out.println(message); + printDivider(); + } + if (internships.isEmpty()) { + System.out.println("No internships found."); + printTailDivider(); + return; + } for (Internship internship : internships) { System.out.println(internship.toString()); printDivider(); @@ -29,6 +32,36 @@ public void showInternships(ArrayList internships) { System.out.println("\n"); } + //@@author Toby-Yu + /** + * Returns message indicating how internships are sorted. + * + * @param field Criteria that internships are sorted by. + */ + public String getSortField(String field) { + String message = "Sorted internships by "; + switch (field) { + case "list": + return ""; + case "none": + return "No sorting option provided. Listing internships by ID."; + case "role": + return message + "role alphabetically (case-insensitive)."; + case "duration": + return message + "start date (year first), then end date."; + case "deadline": + return message + "deadline."; + case "skills": + return message + "skills."; + case "status": + return message + "status."; + default: + // Handling invalid sorting options + return "Unknown flag: " + field + "\n Use \"help\" to view valid flags."; + } + } + + //author Ridiculouswifi /** * Prints message when index provided is out of bounds. */ diff --git a/src/test/java/seedu/commands/FavouriteCommandTest.java b/src/test/java/seedu/commands/FavouriteCommandTest.java new file mode 100644 index 0000000000..958b01140e --- /dev/null +++ b/src/test/java/seedu/commands/FavouriteCommandTest.java @@ -0,0 +1,136 @@ +package seedu.commands; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import seedu.duke.Internship; +import seedu.duke.InternshipList; + +import java.util.ArrayList; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; + +public class FavouriteCommandTest { + + InternshipList internships; + FavouriteCommand favouriteCommand; + ArrayList args; + + @BeforeEach + void initializeParams() { + internships = new InternshipList(); + favouriteCommand = new FavouriteCommand(); + args = new ArrayList<>(); + favouriteCommand.setInternshipList(internships); + } + + void createList() { + initializeParams(); + internships.addInternship(new Internship("Data Scientist", "Meta", "04/24", "07/24")); + internships.addInternship(new Internship("Software Engineer", "Google", "01/24", "09/24")); + internships.addInternship(new Internship("Data Scientist", "Google", "09/23", "05/24")); + } + + @Test + void execute_validFavouriteCommand_expectUpdated() { + createList(); + ArrayList args = new ArrayList<>(); + args.add("1"); + + favouriteCommand.execute(args); + + ArrayList favouriteInternships = internships.favouriteInternships; + + assertEquals(1, favouriteInternships.size()); + } + + @Test + void execute_validFavouriteCommandMoreArguments_expectUpdated() { + createList(); + ArrayList args = new ArrayList<>(); + args.add("3"); + args.add("1"); + + favouriteCommand.execute(args); + + ArrayList favouriteInternships = internships.favouriteInternships; + + assertEquals(2, favouriteInternships.size()); + assertEquals(3, favouriteInternships.get(0).getId()); + assertEquals(1, favouriteInternships.get(1).getId()); + } + + @Test + void execute_validFavouriteCommandDifferentCombination_expectUpdated() { + createList(); + ArrayList args = new ArrayList<>(); + args.add("2"); + args.add("3"); + + favouriteCommand.execute(args); + + ArrayList favouriteInternships = internships.favouriteInternships; + + assertEquals(2, favouriteInternships.size()); + assertEquals(2, favouriteInternships.get(0).getId()); + assertEquals(3, favouriteInternships.get(1).getId()); + } + + @Test + void execute_validFavouriteCommandAllArguments_expectUpdated() { + createList(); + ArrayList args = new ArrayList<>(); + args.add("1"); + args.add("3"); + args.add("2"); + + favouriteCommand.execute(args); + + ArrayList favouriteInternships = internships.favouriteInternships; + + assertEquals(3, favouriteInternships.size()); + assertEquals(1, favouriteInternships.get(0).getId()); + assertEquals(3, favouriteInternships.get(1).getId()); + assertEquals(2, favouriteInternships.get(2).getId()); + } + + @Test + void execute_invalidFavouriteCommandNoArguments_expectNoUpdated() { + createList(); + ArrayList args = new ArrayList<>(); + + favouriteCommand.execute(args); + + assertFalse(favouriteCommand.functionComplete); + } + + @Test + void execute_invalidFavouriteCommandInvalidNumber_expectNoUpdated() { + createList(); + ArrayList args = new ArrayList<>(); + args.add("1"); + args.add("3"); + args.add("-"); + args.add("2"); + args.add("hmm"); + + favouriteCommand.execute(args); + + assertFalse(favouriteCommand.functionComplete); + } + + @Test + void execute_invalidFavouriteCommandInvalidIndex_expectNoUpdated() { + createList(); + ArrayList args = new ArrayList<>(); + args.add("1"); + args.add("2"); + args.add("3"); + args.add("4"); + args.add("5"); + + favouriteCommand.execute(args); + + assertFalse(favouriteCommand.functionComplete); + } +} From 4f2eb98c609e0d5a10fa7928fb0b6ecbe90003c9 Mon Sep 17 00:00:00 2001 From: Ridiculouswifi Date: Sun, 3 Nov 2024 16:26:27 +0800 Subject: [PATCH 216/359] Revert to previous commit --- docs/UserGuide.md | 535 ++++++++++++++++++++++++++-------------------- 1 file changed, 306 insertions(+), 229 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 4b02f8a352..d0fd7f50f0 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -1,5 +1,23 @@ # User Guide +## Outline +- [Product Description](#product-description) +- [Quick Start](#quick-start) +- [Features](#features) + - [Add Command: `add`](#add-command-add) + - [Update Command: `update`](#update-command-update) + - [Remove Command: `remove`](#remove-command-remove) + - [List Command: `list`](#list-command-list) + - [Sort Command: `sort`](#sort-command-sort) + - [Filter Command: `filter`](#filter-command-filter) + - [Delete Command: `delete`](#delete-command-delete) + - [Calendar Command: `calendar`](#calendar-command-calendar) + - [Help Command: `help`](#help-command-help) + - [Exit Command: `exit`](#exit-command-exit) + - [Invalid Inputs](#invalid-inputs) +- [FAQ](#faq) +- [Command Summary](#command-summary) + ## Product Description This product aims to streamline the tracking of internship applications for the user, where the user is able to store key details of the internship as well as save and edit the status of the application. @@ -18,328 +36,377 @@ This product aims to streamline the tracking of internship applications for the ## Quick Start -{Give steps to get started quickly} - 1. Ensure that you have Java 17 or above installed. -1. Down the latest version of `Duke` from [here](http://link.to/duke). +2. Down the latest version of `.jar` file from [here](). +3. Copy the file to the home folder of your Internship Tracker. +4. Open the terminal, `cd` into the folder with the `.jar` file and use `java -jar easInternship.jar` + command to run the application. +5. Type the command to the CLI and press `Enter` to execute it. +6. Refer to the [Features](#features) section below for details of each command. # Features -## Add Command -`add` +## Add Command: `add` -Adds internship to the list of internships currently being tracked by the user. The information added is automatically saved to a .txt file. Each internship you add is assigned a unique ID for editing purposes, which is generated based on the order in which these internships were created and stored. +Adds a new internship entry to the list of internships currently being tracked by the user. +Each internship is assigned a unique ID, serving as the reference for functions that call specific Internship entries +(e.g. `update`, `delete`). -This function can be expanded upon to add different features to each internship. -**Format:** +**Format:** `add -role {Role name} -company {Company name} -from {date} -to {date}` -`add -name {Role name} -company {Company name} // default param` -`-duration /from {start date} /to {end date} // additional params` +- `role` and `company` are compulsory flags. +- `from` and `to` are optional and will be replaced with `01/01` when left empty. **Example Input 1:** -`add -name Software Engineer Intern -company Google` +`add -role Software Engineer Intern -company Google` **Example Output 1:** ``` -ID: 01 +__________________________________________________ +__________________________________________________ +Internship added: +ID: 1 Status: Application Pending Role: Software Engineer Intern Company: Google -Duration: Not Stated -Skills: Not Stated +Duration: 01/01 to 01/01 +Skills: No Skills Entered Deadlines: -No deadlines set. + No deadlines set. +__________________________________________________ +__________________________________________________ ``` **Example Input 2:** -`add -name Embedded Software Engineer Intern -company Continental -duration /from 05/25 /to 08/25` +`add -role Embedded Software Engineer Intern -company Continental -from 05/25 -to 08/25` **Example Output 2:** ``` -ID: 02 +__________________________________________________ +__________________________________________________ +Internship added: +ID: 2 Status: Application Pending Role: Embedded Software Engineer Intern Company: Continental Duration: 05/25 to 08/25 -Skills: Not Stated +Skills: No Skills Entered Deadlines: -No deadlines set. + No deadlines set. +__________________________________________________ +__________________________________________________ ``` -## Update Command -`update` +## Update Command: `update` + +Updates any field of an Internship entry. -This feature allows you to update any field of an internship application. For example, when updating the status of an internship application, you can mark the status as ‘application pending’, ‘application completed’, ‘accepted’, ‘rejected’ etc. +Valid Fields:
+- `role`: Provide the new role +- `company`: Provide the new company +- `status`: Provide the new status, according to the list below +- `from`: Provide the new start date in `MM/yy` format +- `to`: Provide the new end date in `MM/yy` format +- `skills`: Provide a new skill +- `deadline`: Provide the description and deadline (in `dd/MM/yy` format) with a whitespace between them -The default status for any internship that is stored in the database is ‘application pending’. +Valid Statuses for `status` flag:
+- Application Pending (Default Status) +- Application Completed +- Accepted +- Rejected +For multiple uses of flags that are not `skills` or `deadline` only the last occurrence of the flag is used. **Format:** -`update {ID} {-field} {updated information}` +`update {ID} -{field} {updated information}` -**Example:** +**Examples:** `update 02 -status application completed` ``` -ID: 02 **Status** -Role: Embedded Software Engineer Intern application completed -Company: Continental -Duration: 05/25 to 08/25 -Skills: Not Stated -Deadlines: -No deadlines set. -``` - -`Update 02 -status interview scheduled` - -``` -ID: 02 Status -Role: Embedded Software Engineer Intern interview scheduled +__________________________________________________ +__________________________________________________ +status updated: application completed +__________________________________________________ +Internship updated: +ID: 2 Status: Application Completed +Role: Embedded Software Engineer Intern Company: Continental Duration: 05/25 to 08/25 -Skills: Not Stated +Skills: No Skills Entered Deadlines: -No deadlines set. + No deadlines set. +__________________________________________________ +__________________________________________________ ``` -`Update 02 -company Venti` +`update 02 -company Venti -deadline Interview Round 1 03/02/25` ``` -ID: 02 Status -Role: Embedded Software Engineer Intern interview scheduled +__________________________________________________ +__________________________________________________ +company updated: Venti +deadline updated: Interview Round 1 03/02/25 +__________________________________________________ +Internship updated: +ID: 2 Status: Application Completed +Role: Embedded Software Engineer Intern Company: Venti Duration: 05/25 to 08/25 -Skills: Not Stated +Skills: No Skills Entered Deadlines: -No deadlines set. + Interview Round 1: 03/02/25 +__________________________________________________ +__________________________________________________ ``` -`Update 02 -duration /from 04/25` +`update 02 -from 04/25 -skills Python` ``` -ID: 02 Status -Role: Embedded Software Engineer Intern interview scheduled +__________________________________________________ +__________________________________________________ +from updated: 04/25 +skills updated: Python +__________________________________________________ +Internship updated: +ID: 2 Status: Application Completed +Role: Embedded Software Engineer Intern Company: Venti Duration: 04/25 to 08/25 -Skills: Not Stated +Skills: Python Deadlines: -No deadlines set. + Interview Round 1: 03/02/25 +__________________________________________________ +__________________________________________________ ``` -`update 02 -skills Python SQL` - -``` -ID: 02 Status -Role: Embedded Software Engineer Intern interview scheduled -Company: Venti -Duration: 04/25 to 08/25 -Skills: Python, SQL -Deadlines: -No deadlines set. -``` -## Sort Command -`sort` +## Remove Command: `remove` -This feature allows you to sort and list all the internships saved in your database. The default display format is in increasing order of their ID’s (based on time of creation) +Removes specific values from fields of an Internship entry. -Users can specify a flag to display them in alphabetical order (regardless of uppercase or lowercase) of their role, skills and status or by deadline. +Valid Fields: +- `skills`: Provide a skill listed in `skills` (case-sensitive) +- `deadline`: Provide the description of the deadline to be removed (case-insensitive) **Format:** +`remove {ID} -{field} {value}` +**Examples:** -`sort {field}` - -**Example:** - -`sort -duration` +`remove 02 -skills Python` ``` __________________________________________________ __________________________________________________ -Sorted internships by start date (year first), then end date. +skills removed: Python __________________________________________________ -ID: 02 -Role: Software Engineer Intern -Company: Google -Duration: 05/23 to 08/25 -Skills: Not Stated -Deadlines: -online assessment: 11/11/24 -__________________________________________________ -ID: 01 +Internship updated: +ID: 2 Status: Application Completed Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/24 to 08/24 -Skills: Not Stated +Company: Venti +Duration: 04/25 to 08/25 +Skills: No Skills Entered Deadlines: - interview: 25/11/24 + Interview Round 1: 03/02/25 __________________________________________________ __________________________________________________ ``` -`sort -role` +`remove 02 -deadline Interview Round 1 -deadline Interview Round 2` ``` __________________________________________________ __________________________________________________ -Sorted internships by role alphabetically (case-insensitive). +deadline: Interview Round 2 is not found +__________________________________________________ +deadline removed: Interview Round 1 __________________________________________________ -ID: 01 +Internship updated: +ID: 2 Status: Application Completed Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: Not Stated -Deadlines: - interview: 25/11/24 - - -ID: 02 -Role: Software Engineer Intern -Company: Google -Duration: Not Stated -Skills: Not Stated +Company: Venti +Duration: 04/25 to 08/25 +Skills: No Skills Entered Deadlines: - online assessment: 11/11/24 + No deadlines set. __________________________________________________ __________________________________________________ ``` -`sort -deadline` + +## List Command: `list` + +Lists out all the Internships in the order of IDs. + +**Format:** `list` + +Example Output: ``` __________________________________________________ __________________________________________________ -Sorted internships by deadline. -__________________________________________________ -ID: 02 -Role: Software Engineer Intern -Company: Google -Duration: 05/23 to 08/25 -Skills: Not Stated +ID: 1 Status: Application Pending +Role: accountant +Company: XYZ +Duration: 01/01 to 01/01 +Skills: No Skills Entered Deadlines: - online assessment: 11/11/24 - -ID: 01 -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/24 to 08/24 -Skills: Not Stated + No deadlines set. +__________________________________________________ +ID: 2 Status: Application Pending +Role: engineer +Company: ABS +Duration: 01/01 to 01/01 +Skills: No Skills Entered Deadlines: - interview: 25/11/24 + No deadlines set. __________________________________________________ __________________________________________________ ``` -`sort -skills` + +## Sort Command: `sort` + +Lists out all the Internships sorted by a specified field. The default list in increasing order of their IDs. + +Valid Fields: +- `role` +- `duration` +- `skills` +- `status` +- `deadline` + +The fields are not case-sensitive. + +**Format:** `sort -{field}` + +**Example:** + +`sort -duration` ``` __________________________________________________ __________________________________________________ -Sorted internships by skills. +Sorted internships by start date (year first), then end date. __________________________________________________ -ID: 1 Status: Application Completed -Role: Embedded Software Engineer Intern +__________________________________________________ + + +__________________________________________________ +__________________________________________________ +ID: 1 Status: Application Pending +Role: Software Engineer Intern Company: Google -Duration: 02/23 to 05/24 +Duration: 05/24 to 08/24 Skills: No Skills Entered Deadlines: - interview: 25/11/24 + interview: 25/11/24 __________________________________________________ -ID: 2 Status: Accepted -Role: Marketing sales -Company: Castify -Duration: 05/23 to 05/24 +ID: 2 Status: Application Completed +Role: Embedded Software Engineer Intern +Company: Venti +Duration: 04/25 to 08/25 Skills: No Skills Entered Deadlines: - online assessment: 11/11/24 + online assessment: 11/11/24 __________________________________________________ __________________________________________________ ``` -`sort -status` + +`sort -deadline` ``` __________________________________________________ __________________________________________________ -Sorted internships by status. +Sorted internships by deadline. +__________________________________________________ +__________________________________________________ + + +__________________________________________________ __________________________________________________ -ID: 2 Status: Accepted -Role: Marketing sales -Company: Castify -Duration: 05/23 to 05/24 +ID: 2 Status: Application Completed +Role: Embedded Software Engineer Intern +Company: Venti +Duration: 04/25 to 08/25 Skills: No Skills Entered Deadlines: - online assessment: 11/11/24 + online assessment: 11/11/24 __________________________________________________ -ID: 1 Status: Application Completed -Role: Embedded Software Engineer Intern +ID: 1 Status: Application Pending +Role: Software Engineer Intern Company: Google -Duration: 02/23 to 05/24 +Duration: 05/24 to 08/24 Skills: No Skills Entered Deadlines: - interview: 25/11/24 + interview: 25/11/24 __________________________________________________ __________________________________________________ ``` -## Filter command: -`filter` + +## Filter command: `filter` This feature is an extension of the previous list feature. It allows the user to specify certain values for any of the role name, company name or duration parameters based on which only the relevant internships are shown. The role and company name parameters are case-insensitive, For the duration parameter, this feature displays all relevant internships whose start dates and end dates are within the duration timeline specified by the user. For the MVP version of the product, user can only sort by 1 field at a time. -**Format:** - -`filter -role {Role name} -` - -`filter -company {Company name}` +**Format:** `filter -{field} {value}` -`filter -duration /from {start date} /to {end date}` +Valid fields: +- `role`: Provide the role name +- `company`: Provide the company name +- `from`: Provide the start date +- `to`: Provide the end date +- `skills`: Provide one skill listed in `skills` +- `deadline`: Provide the description of one of the deadlines -`filter -skills {skill}` - -`filter -deadline /by {date}` - -**Example:** +**Examples:** `list` ``` -ID: 01 -Role: Software Engineer Intern -Company: Google -Duration: Not Stated -Skills: Not Stated - -ID: 02 -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: Not Stated -``` -`filter -company Google` - -``` -ID: 01 -Role: Software Engineer Intern -Company: Google -Duration: Not Stated -Skills: Not Stated +__________________________________________________ +__________________________________________________ +ID: 1 Status: Application Pending +Role: engineer +Company: ABS +Duration: 01/01 to 01/01 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +ID: 2 Status: Application Pending +Role: accountant +Company: XYZ +Duration: 01/01 to 01/01 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +__________________________________________________ ``` -`filter -duration /from 04/25 /to 09/25` +`filter -company ABS` ``` -ID: 02 -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: Not Stated +__________________________________________________ +__________________________________________________ +ID: 1 Status: Application Pending +Role: engineer +Company: ABS +Duration: 01/01 to 01/01 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +__________________________________________________ ``` -## Delete Command: -`del` + +## Delete Command: `delete` This feature removes an entire listing from the tracker. @@ -350,82 +417,92 @@ This feature removes an entire listing from the tracker. `list` ``` -ID: 01 -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: Not Stated - -ID: 02 -Role: Software Engineer Intern -Company: Google -Duration: Not Stated -Skills: Not Stated +__________________________________________________ +__________________________________________________ +ID: 1 Status: Application Pending +Role: engineer +Company: ABS +Duration: 01/01 to 01/01 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +ID: 2 Status: Application Pending +Role: accountant +Company: XYZ +Duration: 01/01 to 01/01 +Skills: No Skills Entered +Deadlines: + No deadlines set. +__________________________________________________ +__________________________________________________ ``` -`del {01}` +`delete 01` ``` -You have deleted this listing: - -ID: 01 -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: Not Stated +__________________________________________________ +__________________________________________________ +Internship deleted: 1 +__________________________________________________ +__________________________________________________ ``` -`list` +## Calendar Command: `calendar` -``` -ID: 02 -Role: Software Engineer Intern -Company: Google -Duration: Not Stated -Skills: Not Stated -``` +Lists out all deadlines along with the current date (according to local machine date) -## Help Command: -`help` +**Format:** `calendar` -Shows the commands available for the user. -Describes the available functions and inputs that are needed -Other basic commands. +Example Output: -**Format:** `/help` +``` +__________________________________________________ +__________________________________________________ +Deadlines: + +10/10/24 + 1: interview round 1 -**Example Output** +02/11/24 --> Today + 2: application deadline +05/11/24 + 1: interview round 2 +__________________________________________________ +__________________________________________________ ``` - add -name {Role name} -company {Company name}: Adds internship to the list of internships currently being tracked by the user. +## Help Command: `help` - update {ID} {-field} {updated information}: Adds information to the field of the entry tagged to the ID. - Eg. update 02 -status application completed -``` +Shows the commands available for the user and the inputs required. +**Format:** `help` -## Exit Command + +## Exit Command: `exit` Terminates the program. -**Format:** `/exit` +**Format:** `exit` ## Invalid Inputs Shows whenever an incomplete or invalid search call is performed. Output also shows what corrective action can be taken. -Example Output: -Please include a duration if you are using the -duration flag! -Eg. Update 02 -duration /from 04/25 - -Please include specific skills if you are using the -skills flag! - -I do not understand what flag you are using, type /help to get a list of valid commands. - +Examples: +`add -company` +``` +__________________________________________________ +__________________________________________________ +Company not specified. +Role not specified. +__________________________________________________ +__________________________________________________ +``` @@ -433,7 +510,7 @@ I do not understand what flag you are using, type /help to get a list of valid c **Q**: How do I transfer my data to another computer? -**A**: {your answer here} +**A**: Locate the `/data/` directory, in the same directory as your `.jar` file. Copy this `/data/` directory to the second computer and store it in the same directory as the `.jar` file. ## Command Summary From e686898fa95ce469e413fb499fbe91923e5b1338 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Mon, 4 Nov 2024 10:22:17 +0800 Subject: [PATCH 217/359] some code format --- src/main/java/seedu/ui/Ui.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/seedu/ui/Ui.java b/src/main/java/seedu/ui/Ui.java index 47e3fe3ae0..f6a1f3baf4 100644 --- a/src/main/java/seedu/ui/Ui.java +++ b/src/main/java/seedu/ui/Ui.java @@ -3,6 +3,7 @@ import java.util.Scanner; //@@author Ridiculouswifi + /** * Class to facilitate program interactions with the user. */ @@ -11,8 +12,8 @@ public class Ui { private static final Scanner scanner = new Scanner(System.in); private static final String MESSAGE_WELCOME = """ - Hello! Welcome to EasInternship! - Ready to rock some internships?? :)"""; + Hello! Welcome to EasInternship! + Ready to rock some internships?? :)"""; private static final String MESSAGE_GOODBYE = "Peace out! Have fun at the internship."; /** @@ -62,7 +63,7 @@ public void showUnknownCommand(String input) { /** * Prints when there is an error executing the commands. * - * @param errorMessage Message given by exception. + * @param errorMessage Message given by exception. */ public void showErrorCommand(String errorMessage) { showOutput("Error executing command: " + errorMessage); From fac6eaf08299f8d27e3c1b1235128e6fc181d9c4 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Mon, 4 Nov 2024 17:46:12 +0800 Subject: [PATCH 218/359] Add sort by all field in the favourite internship list and add corresponding change in UG and DG for SortCommand --- docs/DeveloperGuide.md | 23 ++- docs/UserGuide.md | 170 ++++++++++++------ src/main/java/seedu/commands/SortCommand.java | 26 ++- src/main/java/seedu/duke/InternshipList.java | 101 ++++++++--- src/main/java/seedu/ui/UiInternshipList.java | 23 ++- 5 files changed, 252 insertions(+), 91 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index ff2a9bfa07..d9afc207a8 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -190,27 +190,32 @@ The `SortCommand` class is responsible for sorting the internship listings based - `"deadline"`: Sorts internships by deadline. - `"skills"`: Sorts internships by the first skill in the skills list alphabetically. - `"status"`: Sorts internships by status alphabetically. + - `"role in favourite"`: Sorts internships in favourite by role alphabetically. + - `"duration in favourite"`: Sorts internships in favourite by duration (start and end dates). + - `"deadline in favourite"`: Sorts internships in favourite by deadline. + - `"skills in favourite"`: Sorts internships in favourite by the first skill in the skills list alphabetically. + - `"status in favourite"`: Sorts internships in favourite by status alphabetically. - If the user provides an invalid sort option, the command returns an error and defaults to listing internships by ID. - **`getUsage()`**: Returns a string showing the correct usage of the `sort` command, including valid options like "alphabet", "deadline", "duration", "skills", and "status". #### Example Usage Scenario: -1. The user enters `sort alphabet`, and the `execute` method sorts the internships by role. +1. The user enters `sort role`, and the `execute` method sorts the internships by role. 2. The user enters `sort duration`, and the internships are sorted by their start and end dates. 3. The user enters `sort skills`, and the internships are sorted by the first skill alphabetically. 4. The user enters `sort status`, and the internships are sorted by their status alphabetically. 5. The user enters `sort deadline`, and the internships are sorted by each of their earliest deadline. -5. If the user enters an invalid sort option, the command returns an error and lists the internships by ID. +6. The user enters `sort role in favourite`, and the `execute` method sorts the internships in favourite by role. +7. The user enters `sort duration in favourite`, and the internships in favourite are sorted by their start and end dates. +8. The user enters `sort skills in favourite`, and the internships in favourite are sorted by the first skill alphabetically. +9. The user enters `sort status in favourite`, and the internships in favourite are sorted by their status alphabetically. +10. The user enters `sort deadline in favourite`, and the internships in favourite are sorted by each of their earliest deadline. +11. If the user enters an invalid sort option, the command returns an error and lists the internships by ID. #### Sequence Diagram: The following sequence diagram shows how the `SortCommand` is executed: -![](UML/loadFromFile.png) +![](UML/SortCommand_Sequence_Diagram.png) + -```plaintext -User -> System: sort alphabet -System -> SortCommand: execute("alphabet") -SortCommand -> InternshipList: listInternshipsSortedByRole() -InternshipList -> UI: showSortedInternshipsByRole() -``` ### Filter Command Implementation #### Overview: diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 4b02f8a352..1bb2fe3f73 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -159,21 +159,29 @@ __________________________________________________ __________________________________________________ Sorted internships by start date (year first), then end date. __________________________________________________ -ID: 02 -Role: Software Engineer Intern -Company: Google -Duration: 05/23 to 08/25 -Skills: Not Stated +ID: 3 Status: Accepted +Role: IT support Intern +Company: Microsoft +Duration: 03/24 to 08/24 +Skills: Java Deadlines: -online assessment: 11/11/24 + certificate submit: 15/04/24 __________________________________________________ -ID: 01 +ID: 1 Status: Rejected Role: Embedded Software Engineer Intern Company: Continental -Duration: 05/24 to 08/24 -Skills: Not Stated +Duration: 05/25 to 08/25 +Skills: C++ Deadlines: - interview: 25/11/24 + online interview: 12/06/24 +__________________________________________________ +ID: 2 Status: Application Completed +Role: Customer Service Intern +Company: Google +Duration: 05/25 to 09/25 +Skills: Python SQL +Deadlines: + interview reply: 12/04/24 __________________________________________________ __________________________________________________ ``` @@ -185,22 +193,29 @@ __________________________________________________ __________________________________________________ Sorted internships by role alphabetically (case-insensitive). __________________________________________________ -ID: 01 +ID: 2 Status: Application Completed +Role: Customer Service Intern +Company: Google +Duration: 05/25 to 09/25 +Skills: Python SQL +Deadlines: + interview reply: 12/04/24 +__________________________________________________ +ID: 1 Status: Rejected Role: Embedded Software Engineer Intern Company: Continental Duration: 05/25 to 08/25 -Skills: Not Stated +Skills: C++ Deadlines: - interview: 25/11/24 - - -ID: 02 -Role: Software Engineer Intern -Company: Google -Duration: Not Stated -Skills: Not Stated + online interview: 12/06/24 +__________________________________________________ +ID: 3 Status: Accepted +Role: IT support Intern +Company: Microsoft +Duration: 03/24 to 08/24 +Skills: Java Deadlines: - online assessment: 11/11/24 + certificate submit: 15/04/24 __________________________________________________ __________________________________________________ ``` @@ -212,21 +227,29 @@ __________________________________________________ __________________________________________________ Sorted internships by deadline. __________________________________________________ -ID: 02 -Role: Software Engineer Intern +ID: 2 Status: Application Completed +Role: Customer Service Intern Company: Google -Duration: 05/23 to 08/25 -Skills: Not Stated +Duration: 05/25 to 09/25 +Skills: Python SQL Deadlines: - online assessment: 11/11/24 - -ID: 01 + interview reply: 12/04/24 +__________________________________________________ +ID: 3 Status: Accepted +Role: IT support Intern +Company: Microsoft +Duration: 03/24 to 08/24 +Skills: Java +Deadlines: + certificate submit: 15/04/24 +__________________________________________________ +ID: 1 Status: Rejected Role: Embedded Software Engineer Intern Company: Continental -Duration: 05/24 to 08/24 -Skills: Not Stated +Duration: 05/25 to 08/25 +Skills: C++ Deadlines: - interview: 25/11/24 + online interview: 12/06/24 __________________________________________________ __________________________________________________ ``` @@ -238,24 +261,33 @@ __________________________________________________ __________________________________________________ Sorted internships by skills. __________________________________________________ -ID: 1 Status: Application Completed +ID: 1 Status: Rejected Role: Embedded Software Engineer Intern -Company: Google -Duration: 02/23 to 05/24 -Skills: No Skills Entered +Company: Continental +Duration: 05/25 to 08/25 +Skills: C++ Deadlines: - interview: 25/11/24 + online interview: 12/06/24 __________________________________________________ -ID: 2 Status: Accepted -Role: Marketing sales -Company: Castify -Duration: 05/23 to 05/24 -Skills: No Skills Entered +ID: 3 Status: Accepted +Role: IT support Intern +Company: Microsoft +Duration: 03/24 to 08/24 +Skills: Java Deadlines: - online assessment: 11/11/24 + certificate submit: 15/04/24 +__________________________________________________ +ID: 2 Status: Application Completed +Role: Customer Service Intern +Company: Google +Duration: 05/25 to 09/25 +Skills: Python SQL +Deadlines: + interview reply: 12/04/24 __________________________________________________ __________________________________________________ ``` + `sort -status` ``` @@ -263,21 +295,55 @@ __________________________________________________ __________________________________________________ Sorted internships by status. __________________________________________________ -ID: 2 Status: Accepted -Role: Marketing sales -Company: Castify -Duration: 05/23 to 05/24 -Skills: No Skills Entered +ID: 3 Status: Accepted +Role: IT support Intern +Company: Microsoft +Duration: 03/24 to 08/24 +Skills: Java Deadlines: - online assessment: 11/11/24 + certificate submit: 15/04/24 __________________________________________________ -ID: 1 Status: Application Completed +ID: 2 Status: Application Completed +Role: Customer Service Intern +Company: Google +Duration: 05/25 to 09/25 +Skills: Python SQL +Deadlines: + interview reply: 12/04/24 +__________________________________________________ +ID: 1 Status: Rejected Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: C++ +Deadlines: + online interview: 12/06/24 +__________________________________________________ +__________________________________________________ +``` + +`sort -role in favourite` + +``` +__________________________________________________ +__________________________________________________ +Sorted internships in favourite by role in favourite. +__________________________________________________ +ID: 2 Status: Application Completed +Role: Customer Service Intern Company: Google -Duration: 02/23 to 05/24 -Skills: No Skills Entered +Duration: 05/25 to 09/25 +Skills: Python SQL +Deadlines: + interview reply: 12/04/24 +__________________________________________________ +ID: 1 Status: Rejected +Role: Embedded Software Engineer Intern +Company: Continental +Duration: 05/25 to 08/25 +Skills: C++ Deadlines: - interview: 25/11/24 + online interview: 12/06/24 __________________________________________________ __________________________________________________ ``` diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index 5b8c5577e7..c959b8a701 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -49,6 +49,21 @@ public void execute(ArrayList args) { case "status": internships.listInternshipsSortedByStatus(); // Sort by status alphabetically break; + case "role in favourite": + internships.listFavouriteInternshipsSortedByRole(); // Sort by role alphabetically (case-insensitive) + break; + case "duration in favourite": + internships.listFavouriteInternshipsSortedByDuration(); // Sort by start date, then end date (year first) + break; + case "deadline in favourite": + internships.listFavouriteInternshipsSortedByDeadline(); + break; + case "skills in favourite": + internships.listFavouriteInternshipsSortedByFirstSkill(); // Sort by first skill alphabetically + break; + case "status in favourite": + internships.listFavouriteInternshipsSortedByStatus(); // Sort by status alphabetically + break; default: // Handle invalid sorting options internships.listInternshipsInvalidFlag(sortOption); @@ -59,13 +74,20 @@ public void execute(ArrayList args) { public String getUsage() { return """ sort - Usage: sort [role | deadline | duration | skills | status] + Usage: sort [role | duration | deadline | skills | status | role in favourite + | duration in favourite | deadline in favourite + | skills in favourite | status in favourite ] role: Sort internships alphabetically by role (case-insensitive). deadline: Sort internships by start date (year first), then end date. duration: Sort internships by internship duration. skills: Sort internships by the first skill alphabetically. status: Sort internships by status alphabetically. + role in favourite: Sort internships in favourite alphabetically by role (case-insensitive). + deadline in favourite: Sort internships in favourite by start date (year first), then end date. + duration in favourite: Sort internships in favourite by internship duration. + skills in favourite: Sort internships in favourite by the first skill alphabetically. + status in favourite: Sort internships in favourite by status alphabetically. """; } -} +} \ No newline at end of file diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 3f1af23f05..64d5963c61 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -153,21 +153,29 @@ public int getSize() { } //@@author Toby-Yu - // Method to list all internships in sorted order by role (case-insensitive) + + /** + * List all internships in sorted order by role alphabetically (case-insensitive) + */ public void listInternshipsSortedByRole() { - ArrayList sortedList = new ArrayList<>(internships); + ArrayList sortedInternships = new ArrayList<>(internships); // Sort roles alphabetically, ignoring case sensitivity - Collections.sort(sortedList, Comparator.comparing(internship -> internship.getRole().toLowerCase())); - - // Display the sorted list without changing IDs - ui.showInternships(sortedList, "role"); + Collections.sort(sortedInternships, Comparator.comparing(internship -> internship.getRole().toLowerCase())); + ui.showInternships(sortedInternships, "role"); } - // Method to list all internships sorted by start date (year first), then end date + /** + * List all internships sorted by duration (year first, then month) in start date first, then end date + */ public void listInternshipsSortedByDuration() { ArrayList sortedInternships = new ArrayList<>(internships); + sortedByDurationFunction(sortedInternships); + ui.showInternships(sortedInternships, "duration"); + } + + private void sortedByDurationFunction(ArrayList sortedInternships) { Collections.sort(sortedInternships, (i1, i2) -> { // First compare start dates (year then month) int startComparison = compareYearMonth(i1.getStartDate(), i2.getStartDate()); @@ -177,9 +185,6 @@ public void listInternshipsSortedByDuration() { // If start dates are equal, compare end dates (year then month) return compareYearMonth(i1.getEndDate(), i2.getEndDate()); }); - - // Display the sorted list without changing IDs - ui.showInternships(sortedInternships, "duration"); } // Helper method to compare YearMonth strings in "MM/yy" format (year first, then month) @@ -198,11 +203,17 @@ private int compareYearMonth(String date1, String date2) { return Integer.compare(month1, month2); } - - // Method to list all internships sorted by start date (year first), then end date + /** + * List all internships sorted by the earliest deadline + */ public void listInternshipsSortedByDeadline() { ArrayList sortedInternships = new ArrayList<>(internships); + SortedByDeadlineFunction(sortedInternships); + ui.showInternships(sortedInternships, "deadline"); + } + + private void SortedByDeadlineFunction(ArrayList sortedInternships) { sortedInternships.sort((i1, i2) -> { Deadline earliestDeadline1 = i1.getEarliestDeadline(); Deadline earliestDeadline2 = i2.getEarliestDeadline(); @@ -217,38 +228,84 @@ public void listInternshipsSortedByDeadline() { } return compareYearMonth(earliestDeadline1.getDate(), earliestDeadline2.getDate()); }); - ui.showInternships(sortedInternships, "deadline"); } /** * Lists internships sorted by the first skill alphabetically (case-insensitive). */ public void listInternshipsSortedByFirstSkill() { - ArrayList sortedList = new ArrayList<>(internships); + ArrayList sortedInternships = new ArrayList<>(internships); + + SortedByFirstSkillFunction(sortedInternships); + ui.showInternships(sortedInternships, "skills"); + } + private static void SortedByFirstSkillFunction(ArrayList sortedList) { // Sort by the first skill alphabetically Collections.sort(sortedList, Comparator.comparing(internship -> { String firstSkill = internship.getFirstSkill(); return firstSkill.isEmpty() ? "No skills" : firstSkill.toLowerCase();// Sort internships with no skills last })); - - // Display the sorted list without changing IDs - ui.showInternships(sortedList, "skills"); } /** * Lists internships sorted by status alphabetically (case-insensitive). */ public void listInternshipsSortedByStatus() { - ArrayList sortedList = new ArrayList<>(internships); + ArrayList sortedInternships = new ArrayList<>(internships); - // Sort by status alphabetically - Collections.sort(sortedList, Comparator.comparing(internship -> internship.getStatus().toLowerCase())); + Collections.sort(sortedInternships, Comparator.comparing(internship -> internship.getStatus().toLowerCase())); + ui.showInternships(sortedInternships, "status"); + } + + /** + * List all favourite internships in sorted order by role alphabetically (case-insensitive) + */ + public void listFavouriteInternshipsSortedByRole() { + ArrayList sortedInternships = new ArrayList<>(favouriteInternships); + Collections.sort(sortedInternships, Comparator.comparing(internship -> internship.getRole().toLowerCase())); + ui.showInternships(sortedInternships, "role in favourite"); + } + + /** + * List all internships sorted by duration (year first), then end date + */ + public void listFavouriteInternshipsSortedByDuration() { + ArrayList sortedInternships = new ArrayList<>(favouriteInternships); + sortedByDurationFunction(sortedInternships); + ui.showInternships(sortedInternships, "duration in favourite"); + } + + /** + * List all favourite internships sorted by the earliest deadline + */ + public void listFavouriteInternshipsSortedByDeadline() { + ArrayList sortedInternships = new ArrayList<>(favouriteInternships); + + SortedByDeadlineFunction(sortedInternships); + ui.showInternships(sortedInternships, "deadline in favourite"); + } + + /** + * Lists all favourite internships sorted by the first skill alphabetically (case-insensitive). + */ + public void listFavouriteInternshipsSortedByFirstSkill() { + ArrayList sortedInternships= new ArrayList<>(favouriteInternships); - // Display the sorted list without changing IDs - ui.showInternships(sortedList, "status"); + SortedByFirstSkillFunction(sortedInternships); + ui.showInternships(sortedInternships, "skills in favourite"); } + /** + * Lists all favourite internships sorted by status alphabetically (case-insensitive). + */ + public void listFavouriteInternshipsSortedByStatus() { + ArrayList sortedList = new ArrayList<>(favouriteInternships); + Collections.sort(sortedList, Comparator.comparing(internship -> internship.getStatus().toLowerCase())); + ui.showInternships(sortedList, "status in favourite"); + } + + public void listInternshipsNotSorted() { ui.showInternships(internships, "none"); } diff --git a/src/main/java/seedu/ui/UiInternshipList.java b/src/main/java/seedu/ui/UiInternshipList.java index 406f1181ff..7780d25138 100644 --- a/src/main/java/seedu/ui/UiInternshipList.java +++ b/src/main/java/seedu/ui/UiInternshipList.java @@ -39,22 +39,33 @@ public void showInternships(ArrayList internships, String field) { * @param field Criteria that internships are sorted by. */ public String getSortField(String field) { - String message = "Sorted internships by "; + String messageForNormalInternships = "Sorted internships by "; + String messageForInternshipsInFavourite = "Sorted internships in favourite by "; switch (field) { case "list": return ""; case "none": return "No sorting option provided. Listing internships by ID."; case "role": - return message + "role alphabetically (case-insensitive)."; + return messageForNormalInternships + "role alphabetically (case-insensitive)."; case "duration": - return message + "start date (year first), then end date."; + return messageForNormalInternships + "start date (year first), then end date."; case "deadline": - return message + "deadline."; + return messageForNormalInternships + "deadline."; case "skills": - return message + "skills."; + return messageForNormalInternships + "skills."; case "status": - return message + "status."; + return messageForNormalInternships + "status."; + case "role in favourite": + return messageForInternshipsInFavourite + "role alphabetically (case-insensitive)."; + case "duration in favourite": + return messageForInternshipsInFavourite + "start date (year first), then end date."; + case "deadline in favourite": + return messageForInternshipsInFavourite + "deadline."; + case "skills in favourite": + return messageForInternshipsInFavourite + "skills."; + case "status in favourite": + return messageForInternshipsInFavourite + "status."; default: // Handling invalid sorting options return "Unknown flag: " + field + "\n Use \"help\" to view valid flags."; From aed8575923fb08110c3a059e9f1466889bbe2b33 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Mon, 4 Nov 2024 17:52:54 +0800 Subject: [PATCH 219/359] change some name standard --- src/main/java/seedu/commands/SortCommand.java | 2 +- src/main/java/seedu/duke/InternshipList.java | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/seedu/commands/SortCommand.java b/src/main/java/seedu/commands/SortCommand.java index c959b8a701..ce240f7138 100644 --- a/src/main/java/seedu/commands/SortCommand.java +++ b/src/main/java/seedu/commands/SortCommand.java @@ -90,4 +90,4 @@ public String getUsage() { status in favourite: Sort internships in favourite by status alphabetically. """; } -} \ No newline at end of file +} diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index 64d5963c61..ccd0263b29 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -209,11 +209,11 @@ private int compareYearMonth(String date1, String date2) { public void listInternshipsSortedByDeadline() { ArrayList sortedInternships = new ArrayList<>(internships); - SortedByDeadlineFunction(sortedInternships); + sortedByDeadlineFunction(sortedInternships); ui.showInternships(sortedInternships, "deadline"); } - private void SortedByDeadlineFunction(ArrayList sortedInternships) { + private void sortedByDeadlineFunction(ArrayList sortedInternships) { sortedInternships.sort((i1, i2) -> { Deadline earliestDeadline1 = i1.getEarliestDeadline(); Deadline earliestDeadline2 = i2.getEarliestDeadline(); @@ -236,11 +236,11 @@ private void SortedByDeadlineFunction(ArrayList sortedInternships) { public void listInternshipsSortedByFirstSkill() { ArrayList sortedInternships = new ArrayList<>(internships); - SortedByFirstSkillFunction(sortedInternships); + sortedByFirstSkillFunction(sortedInternships); ui.showInternships(sortedInternships, "skills"); } - private static void SortedByFirstSkillFunction(ArrayList sortedList) { + private static void sortedByFirstSkillFunction(ArrayList sortedList) { // Sort by the first skill alphabetically Collections.sort(sortedList, Comparator.comparing(internship -> { String firstSkill = internship.getFirstSkill(); @@ -282,7 +282,7 @@ public void listFavouriteInternshipsSortedByDuration() { public void listFavouriteInternshipsSortedByDeadline() { ArrayList sortedInternships = new ArrayList<>(favouriteInternships); - SortedByDeadlineFunction(sortedInternships); + sortedByDeadlineFunction(sortedInternships); ui.showInternships(sortedInternships, "deadline in favourite"); } @@ -292,7 +292,7 @@ public void listFavouriteInternshipsSortedByDeadline() { public void listFavouriteInternshipsSortedByFirstSkill() { ArrayList sortedInternships= new ArrayList<>(favouriteInternships); - SortedByFirstSkillFunction(sortedInternships); + sortedByFirstSkillFunction(sortedInternships); ui.showInternships(sortedInternships, "skills in favourite"); } From 36d64fba72a9b61f226e1489951eb083d39a83ae Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 4 Nov 2024 21:21:52 +0800 Subject: [PATCH 220/359] fixed error with assertions --- src/main/java/seedu/duke/InternshipList.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index d642d8f369..b685a7dfc9 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -33,8 +33,7 @@ public void addInternship(Internship internship) { internship.setId(internships.size()); } - assert internship.getId() >= 0 : "Internship ID should be non-negative after setting"; - assert internship.getId() == internships.size() : "Internship ID should match the list size before adding"; + assert internship.getId() == internships.size() + 1; internships.add(internship); } From 0b2105e05ede30b30ac9a69ca8b5cc4cfb58168d Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 4 Nov 2024 21:25:41 +0800 Subject: [PATCH 221/359] merge with assertion branch --- src/main/java/seedu/duke/InternshipList.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/seedu/duke/InternshipList.java b/src/main/java/seedu/duke/InternshipList.java index d642d8f369..b685a7dfc9 100644 --- a/src/main/java/seedu/duke/InternshipList.java +++ b/src/main/java/seedu/duke/InternshipList.java @@ -33,8 +33,7 @@ public void addInternship(Internship internship) { internship.setId(internships.size()); } - assert internship.getId() >= 0 : "Internship ID should be non-negative after setting"; - assert internship.getId() == internships.size() : "Internship ID should match the list size before adding"; + assert internship.getId() == internships.size() + 1; internships.add(internship); } From da82c2dfaf782e70e848ada27ecaba868db22f87 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Mon, 4 Nov 2024 22:17:07 +0800 Subject: [PATCH 222/359] fixed bug where TOCs was not working as expected --- docs/DeveloperGuide.md | 56 ++++++++++++++++++++---------------------- docs/team/jadenlim.md | 2 +- 2 files changed, 27 insertions(+), 31 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index ff2a9bfa07..9982cb6cb5 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -6,26 +6,21 @@ ## Design & implementation -{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.} - -### EasInternship (main class) - -1. [Design](#design) - 1. [Architecture](#architecture) - 2. [UI Component](#ui-component) - 3. [Logic Component](#logic-component) - 4. [Model Component](#model-component) - 5. [Storage Component](#storage-component) -2. [Implementation](#implementation) - 1. [Parsing Input](#parsing-input) - 2. [Command Execution](#command-execution) - 3. [Task Management](#task-management) - 4. [AddCommand Implementation](#addcommand-implementation) - 5. [DeleteCommand Implementation](#deletecommand-implementation) - 6. [SortCommand Implementation](#sortcommand-implementation) - 7. [UpdateCommand Implementation](#updatecommand-implementation) - 8. [RemoveCommand Implementation](#) - +1. [Design](#1-design) + 1. [Architecture](#11-architecture) + 2. [UI Component](#12-UI-component) + 3. [Logic Component](#13-logic-component) + 4. [Model Component](#14-model-component) + 5. [Storage Component](#15-storage-component) +2. [Implementation](#2-implementation) + 1. [Parsing Input](#21-parsing-input) + 2. [Command Execution](#22-command-execution) + 3. [Task Management](#23-task-management) + 4. [AddCommand Implementation](#addcommand-implementation) + 5. [DeleteCommand Implementation](#deletecommand-implementation) + 6. [SortCommand Implementation](#sortcommand-implementation) + 7. [UpdateCommand Implementation](#updatecommand-implementation) + 8. [RemoveCommand Implementation](#removecommand-implementation) --- ## 1. Design @@ -38,6 +33,17 @@ The architecture of EasInternship is designed to follow the MVC (Model-View-Cont - **Model (InternshipList)**: Manages the state of the application, including the list of internships and tasks. - **Storage**: Responsible for loading and saving data from and to the disk. +#### Overview + +The `EasInternship` class serves as the entry point of the application. It manages the application's main loop, where the user is continually prompted for input, and commands are processed in response. The class is responsible for initializing the UI, loading saved data, and handling user input until the user chooses to exit the program. + +### Key Responsibilities + +- **Initialization**: Initializes the necessary components for the application, such as the `Ui`, `InternshipList`, and `Parser` classes. It also loads any saved data from the storage into the `InternshipList`. +- **Main Loop**: Continuously prompts the user for input. The input is parsed by the `Parser`, and the corresponding `Command` is executed. If the user enters the exit command, the loop terminates. +- **Command Processing**: After parsing the user input, the corresponding `Command` object is executed. The application catches and displays any errors that occur during command execution. +- **Saving State**: Upon exiting, the current state of the `InternshipList` is saved to a file to ensure persistence across sessions. + --- ### 1.2 UI Component @@ -92,16 +98,6 @@ The `InternshipList` class handles adding, removing, and retrieving internships --- -### Overview - -The `EasInternship` class serves as the entry point of the application. It manages the application's main loop, where the user is continually prompted for input, and commands are processed in response. The class is responsible for initializing the UI, loading saved data, and handling user input until the user chooses to exit the program. - -### Key Responsibilities - -- **Initialization**: Initializes the necessary components for the application, such as the `Ui`, `InternshipList`, and `Parser` classes. It also loads any saved data from the storage into the `InternshipList`. -- **Main Loop**: Continuously prompts the user for input. The input is parsed by the `Parser`, and the corresponding `Command` is executed. If the user enters the exit command, the loop terminates. -- **Command Processing**: After parsing the user input, the corresponding `Command` object is executed. The application catches and displays any errors that occur during command execution. -- **Saving State**: Upon exiting, the current state of the `InternshipList` is saved to a file to ensure persistence across sessions. ### Flow of Execution diff --git a/docs/team/jadenlim.md b/docs/team/jadenlim.md index bb89e82d14..378d6a858d 100644 --- a/docs/team/jadenlim.md +++ b/docs/team/jadenlim.md @@ -53,4 +53,4 @@ Given below are my contributions to the project.

- **Community:** - - PRs reviewed (with non-trivial review comments): [#35](), [#37]() + - PRs reviewed (with non-trivial review comments): [#35](), [#37](), [#122]() From 8eeeb8042a12ae33c5d9b8ef3980f04e6e3544e9 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Mon, 4 Nov 2024 23:37:32 +0800 Subject: [PATCH 223/359] add some assertion for the SortCommand and add sort company and sort company in favourite. Also modify UG and DG and update the sequence diagram for SortCommand --- docs/DeveloperGuide.md | 18 ++-- docs/UML/SortCommand.puml | 102 +++++++++--------- docs/UML/SortCommand_Sequence_Diagram.png | Bin 78842 -> 109807 bytes docs/UserGuide.md | 34 ++++++ src/main/java/seedu/commands/SortCommand.java | 27 +++-- src/main/java/seedu/duke/InternshipList.java | 19 ++++ src/main/java/seedu/ui/UiInternshipList.java | 8 +- 7 files changed, 143 insertions(+), 65 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index d9afc207a8..b449e9ff61 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -190,26 +190,30 @@ The `SortCommand` class is responsible for sorting the internship listings based - `"deadline"`: Sorts internships by deadline. - `"skills"`: Sorts internships by the first skill in the skills list alphabetically. - `"status"`: Sorts internships by status alphabetically. + - `"company"`: Sorts internships by company alphabetically. - `"role in favourite"`: Sorts internships in favourite by role alphabetically. - `"duration in favourite"`: Sorts internships in favourite by duration (start and end dates). - `"deadline in favourite"`: Sorts internships in favourite by deadline. - `"skills in favourite"`: Sorts internships in favourite by the first skill in the skills list alphabetically. - `"status in favourite"`: Sorts internships in favourite by status alphabetically. + - `"company in favourite"`: Sorts internships in favourite by company alphabetically. - If the user provides an invalid sort option, the command returns an error and defaults to listing internships by ID. - **`getUsage()`**: Returns a string showing the correct usage of the `sort` command, including valid options like "alphabet", "deadline", "duration", "skills", and "status". #### Example Usage Scenario: -1. The user enters `sort role`, and the `execute` method sorts the internships by role. +1. The user enters `sort role`, and the `execute` method sorts the internships by role alphabetically. 2. The user enters `sort duration`, and the internships are sorted by their start and end dates. 3. The user enters `sort skills`, and the internships are sorted by the first skill alphabetically. 4. The user enters `sort status`, and the internships are sorted by their status alphabetically. 5. The user enters `sort deadline`, and the internships are sorted by each of their earliest deadline. -6. The user enters `sort role in favourite`, and the `execute` method sorts the internships in favourite by role. -7. The user enters `sort duration in favourite`, and the internships in favourite are sorted by their start and end dates. -8. The user enters `sort skills in favourite`, and the internships in favourite are sorted by the first skill alphabetically. -9. The user enters `sort status in favourite`, and the internships in favourite are sorted by their status alphabetically. -10. The user enters `sort deadline in favourite`, and the internships in favourite are sorted by each of their earliest deadline. -11. If the user enters an invalid sort option, the command returns an error and lists the internships by ID. +6. The user enters `sort company`, and the internships are sorted by their company alphabetically. +7. The user enters `sort role in favourite`, and the `execute` method sorts the internships in favourite by role. +8. The user enters `sort duration in favourite`, and the internships in favourite are sorted by their start and end dates. +9. The user enters `sort skills in favourite`, and the internships in favourite are sorted by the first skill alphabetically. +10. The user enters `sort status in favourite`, and the internships in favourite are sorted by their status alphabetically. +11. The user enters `sort deadline in favourite`, and the internships in favourite are sorted by each of their earliest deadline. +12. The user enters `sort company in favourite`, and the internships in favourite are sorted by their company alphabetically. +13. If the user enters an invalid sort option, the command returns an error and lists the internships by ID. #### Sequence Diagram: The following sequence diagram shows how the `SortCommand` is executed: diff --git a/docs/UML/SortCommand.puml b/docs/UML/SortCommand.puml index 6aa88a4d48..a38006e711 100644 --- a/docs/UML/SortCommand.puml +++ b/docs/UML/SortCommand.puml @@ -1,66 +1,72 @@ @startuml title SortCommand Sequence Diagram +hide footbox -participant User -participant SortCommand -participant uiCommand -participant Internships - -User->SortCommand: execute(args) -activate SortCommand #red -SortCommand --> uiCommand: clearInvalidFlags() -activate uiCommand #green -SortCommand -> SortCommand : Initialize variables +":User" -> ":SortCommand": execute(args: ArrayList) +activate ":SortCommand" #red alt args are empty - SortCommand -> uiCommand: showSortedInternships("none") - SortCommand -> Internships: listAllInternships() - activate Internships #aquamarine - deactivate Internships + ":SortCommand" -> ":InternshipList": listInternshipsNotSorted() + activate ":InternshipList" #green + deactivate ":InternshipList" #green else args are not empty - SortCommand -> SortCommand : get first argument (sortOption) + ":SortCommand" -> ":SortCommand": get first argument (sortOption) alt sortOption == "role" - SortCommand -> uiCommand: showSortedInternships("role") - SortCommand -> Internships: listInternshipsSortedByRole() - activate Internships #blue - deactivate Internships - + ":SortCommand" -> ":InternshipList": listInternshipsSortedByRole() + activate ":InternshipList" #green + deactivate ":InternshipList" #green else sortOption == "duration" - SortCommand -> uiCommand: showSortedInternships("duration") - SortCommand -> Internships: listInternshipsSortedByDuration() - activate Internships #blue - deactivate Internships - + ":SortCommand" -> ":InternshipList": listInternshipsSortedByDuration() + activate ":InternshipList" #green + deactivate ":InternshipList" #green else sortOption == "deadline" - SortCommand -> uiCommand: showSortedInternships("deadline") - SortCommand -> Internships: listInternshipsSortedByDeadline() - activate Internships #blue - deactivate Internships - + ":SortCommand" -> ":InternshipList": listInternshipsSortedByDeadline() + activate ":InternshipList" #green + deactivate ":InternshipList" #green else sortOption == "skills" - SortCommand -> uiCommand: showSortedInternships("skills") - SortCommand -> Internships: listInternshipsSortedByFirstSkill() - activate Internships #blue - deactivate Internships - + ":SortCommand" -> ":InternshipList": listInternshipsSortedByFirstSkill() + activate ":InternshipList" #green + deactivate ":InternshipList" #green else sortOption == "status" - SortCommand -> uiCommand: showSortedInternships("status") - SortCommand -> Internships: listInternshipsSortedByStatus() - activate Internships #blue - deactivate Internships + ":SortCommand" -> ":InternshipList": listInternshipsSortedByStatus() + activate ":InternshipList" #green + deactivate ":InternshipList" #green + else sortOption == "company" + ":SortCommand" -> ":InternshipList": listInternshipsSortedByCompany() + activate ":InternshipList" #green + deactivate ":InternshipList" #green + + else sortOption == "role in favourite" + ":SortCommand" -> ":InternshipList": listFavouriteInternshipsSortedByRole() + activate ":InternshipList" #green + deactivate ":InternshipList" #green + else sortOption == "duration in favourite" + ":SortCommand" -> ":InternshipList": listFavouriteInternshipsSortedByDuration() + activate ":InternshipList" #green + deactivate ":InternshipList" #green + else sortOption == "deadline in favourite" + ":SortCommand" -> ":InternshipList": listFavouriteInternshipsSortedByDeadline() + activate ":InternshipList" #green + deactivate ":InternshipList" #green + else sortOption == "skills in favourite" + ":SortCommand" -> ":InternshipList": listFavouriteInternshipsSortedByFirstSkill() + activate ":InternshipList" #green + deactivate ":InternshipList" #green + else sortOption == "status in favourite" + ":SortCommand" -> ":InternshipList": listFavouriteInternshipsSortedByStatus() + activate ":InternshipList" #green + deactivate ":InternshipList" #green + else sortOption == "company in favourite" + ":SortCommand" -> ":InternshipList": listFavouriteInternshipsSortedByCompany() + activate ":InternshipList" #green + deactivate ":InternshipList" #green else invalid sortOption - SortCommand -> uiCommand: addInvalidFlag(sortOption) - SortCommand -> uiCommand: printInvalidFlags() - SortCommand -> Internships: listAllInternships() - activate Internships #aquamarine - deactivate Internships + ":SortCommand" -> ":UI": showOutput("Invalid sort option") + activate ":UI" #blue + deactivate ":UI" end end -SortCommand -> User: Return result (sorted internships or error message) -deactivate uiCommand -deactivate SortCommand - @enduml \ No newline at end of file diff --git a/docs/UML/SortCommand_Sequence_Diagram.png b/docs/UML/SortCommand_Sequence_Diagram.png index 6ca587bdbc35a75706b41d75923093eb98112a24..31d6760f7eff9f2903aa2b011debfc9cc1e27e72 100644 GIT binary patch literal 109807 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
x!+8tlZD$Ym9`)hk;Pf$+)0;E|AR(F*7 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 literal 78842 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 LNkvXXu0mjf93SmZ literal 0 HcmV?d00001 From 6b623cffb83c8baf4b9d358b3393c2c4781b0ce7 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Thu, 3 Oct 2024 10:34:01 +0800 Subject: [PATCH 018/359] resolve conflicts with Tan Ting Hu --- docs/AboutUs.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 19290b0c50..a7dcb8fc7d 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -3,3 +3,4 @@ Display | Name | Github Profile | Portfolio --------|:----------:|:--------------:|:---------: ![](https://via.placeholder.com/100.png?text=Photo) | Yu Man Kit | [Github](https://github.com/Toby-Yu) | [Portfolio](toby-yu) +![](https://via.placeholder.com/100.png?text=Photo) | Tan Ting Hui | [Github](https://github.com/Ridiculouswifi) | [Portfolio](ridiculouswifi) \ No newline at end of file From 9e04fc5cd31be82c5e6f6aea2ab00f3713d57977 Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Thu, 3 Oct 2024 10:36:52 +0800 Subject: [PATCH 019/359] fix formatting errors --- docs/AboutUs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 683bf1a214..003d6ac305 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -2,7 +2,7 @@ Display | Name | Github Profile | Portfolio --------|:---------:|:---------------------------------------:|:---------: -![](https://media.licdn.com/dms/image/v2/D5603AQFCr_rvns6kkg/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1705644829729?e=1733356800&v=beta&t=tA3e9UWHefQM8c2YhsC7viw2rl1QnVMzIox4Mi3bcN4) | Jaden Lim | [Github](https://github.com/jadenlimjc) | [Portfolio](https://www.linkedin.com/in/jadenlimjc/) +![](https://via.placeholder.com/100.png?text=Photo) | Jaden Lim | [Github](https://github.com/jadenlimjc) | [Portfolio](https://www.linkedin.com/in/jadenlimjc/) ![](https://via.placeholder.com/100.png?text=Photo) | Don Joe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) ![](https://via.placeholder.com/100.png?text=Photo) | Ron John | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) ![](https://via.placeholder.com/100.png?text=Photo) | John Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) From 42340e887775dd4feb83f74e9748275bc29e2e29 Mon Sep 17 00:00:00 2001 From: Toby-Yu Date: Thu, 3 Oct 2024 10:43:21 +0800 Subject: [PATCH 020/359] tutorial activities --- docs/AboutUs.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index a7dcb8fc7d..d2d63a6fda 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -2,5 +2,4 @@ Display | Name | Github Profile | Portfolio --------|:----------:|:--------------:|:---------: -![](https://via.placeholder.com/100.png?text=Photo) | Yu Man Kit | [Github](https://github.com/Toby-Yu) | [Portfolio](toby-yu) -![](https://via.placeholder.com/100.png?text=Photo) | Tan Ting Hui | [Github](https://github.com/Ridiculouswifi) | [Portfolio](ridiculouswifi) \ No newline at end of file +![](https://via.placeholder.com/100.png?text=Photo) | Yu Man Kit | [Github](https://github.com/Toby-Yu) | [Portfolio](toby-yu) \ No newline at end of file From 00d14fd90cec6c795e6b263d502bacb7f0862b8e Mon Sep 17 00:00:00 2001 From: Jaden Lim Date: Thu, 3 Oct 2024 10:57:18 +0800 Subject: [PATCH 021/359] Revert "Merge branch 'pr/5'" This reverts commit af13d0310c351ca53700ef0c9dbc1a595c5767fe, reversing changes made to 49d1502290292a1b92d084eb6278e71924dff4c4. --- README.md | 28 -- docs/AboutUs.md | 12 +- docs/UserGuide.md | 310 +------------------ docs/img.png | Bin 288380 -> 0 bytes src/main/java/seedu/duke/AddCommand.java | 55 ---- src/main/java/seedu/duke/Command.java | 6 - src/main/java/seedu/duke/Duke.java | 11 +- src/main/java/seedu/duke/Internship.java | 99 ------ src/main/java/seedu/duke/InternshipList.java | 56 ---- 9 files changed, 18 insertions(+), 559 deletions(-) delete mode 100644 docs/img.png delete mode 100644 src/main/java/seedu/duke/AddCommand.java delete mode 100644 src/main/java/seedu/duke/Command.java delete mode 100644 src/main/java/seedu/duke/Internship.java delete mode 100644 src/main/java/seedu/duke/InternshipList.java diff --git a/README.md b/README.md index 1f31692fac..e243ece764 100644 --- a/README.md +++ b/README.md @@ -2,22 +2,6 @@ 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. - -## Product Description -This product aims to streamline the tracking of internship applications for the user, where the user is able to store key details of the internship as well as save and edit the status of the application. - -**By using this tool, the user can:** - -**Store Important seedu.duke.Internship Information:** Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes. - -**Track Application Status:** Users can save the current status of their application (e.g., not applied, applied, interview scheduled, offer received) and update it as the application progresses. - -**Edit and Manage Internships:** Users have the ability to edit saved internships as needed, modify statuses, update deadlines, or remove outdated internships from the list. - -**Filter Internships by Key Criteria:** The user can filter the tracked internships by relevant skills, application status, or upcoming deadlines, allowing for better organization and prioritization. - -**Monitor Deadlines Easily:** The tool helps ensure users stay on top of their internship deadlines by flagging or sorting applications with approaching deadlines. - ## Setting up in Intellij Prerequisites: JDK 17 (use the exact version), update Intellij to the most recent version. @@ -41,18 +25,6 @@ Prerequisites: JDK 17 (use the exact version), update Intellij to the most recen What is your name? ``` Type some word and press enter to let the execution proceed to the end. -**CS2113 T10 Team 1** - -**Jaden Lim Jie Chen** - -**Tan Ting Hui** - -**Jai Vinod Kumar Rahul** - -**Man Kit Yu**** - - - ## Build automation using Gradle diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 003d6ac305..847020a652 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -1,9 +1,7 @@ # About us -Display | Name | Github Profile | Portfolio ---------|:---------:|:---------------------------------------:|:---------: -![](https://via.placeholder.com/100.png?text=Photo) | Jaden Lim | [Github](https://github.com/jadenlimjc) | [Portfolio](https://www.linkedin.com/in/jadenlimjc/) -![](https://via.placeholder.com/100.png?text=Photo) | Don Joe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | Ron John | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | John Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | Don Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) +Display | Name | Github Profile | Portfolio +--------|:----------:|:--------------:|:---------: +![](https://via.placeholder.com/100.png?text=Photo) | Yu Man Kit | [Github](https://github.com/Toby-Yu) | [Portfolio](toby-yu) +![](https://via.placeholder.com/100.png?text=Photo) | Rahul | [Github](https://github.com/rahuljai-05) | [Portfolio](rahuljai-05) +![](https://via.placeholder.com/100.png?text=Photo) | Tan Ting Hui | [Github](https://github.com/Ridiculouswifi) | [Portfolio](ridiculouswifi) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index d0bbba9266..d6cf4c3b3a 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -1,20 +1,8 @@ # User Guide -## Product Description -This product aims to streamline the tracking of internship applications for the user, where the user is able to store key details of the internship as well as save and edit the status of the application. - -**By using this tool, the user can:** - -**Store Important seedu.duke.Internship Information:** Users can input and store key details such as the role, company, duration, required skills, application deadlines, and any additional notes. - -**Track Application Status:** Users can save the current status of their application (e.g., not applied, applied, interview scheduled, offer received) and update it as the application progresses. - -**Edit and Manage Internships:** Users have the ability to edit saved internships as needed, modify statuses, update deadlines, or remove outdated internships from the list. - -**Filter Internships by Key Criteria:** The user can filter the tracked internships by relevant skills, application status, or upcoming deadlines, allowing for better organization and prioritization. - -**Monitor Deadlines Easily:** The tool helps ensure users stay on top of their internship deadlines by flagging or sorting applications with approaching deadlines. +## Introduction +{Give a product intro} ## Quick Start @@ -23,297 +11,23 @@ This product aims to streamline the tracking of internship applications for the 1. Ensure that you have Java 17 or above installed. 1. Down the latest version of `Duke` from [here](http://link.to/duke). -# Features - -## Add Command -`add` - -Adds internship to the list of internships currently being tracked by the user. The information added is automatically saved to a .txt file. Each internship you add is assigned a unique ID for editing purposes, which is generated based on the order in which these internships were created and stored. - - -This function can be expanded upon to add different features to each internship. - -**Format:** - -`add -name {Role name} -company {Company name} // default param` -`-duration /from {start date} /to {end date} // additional params` - -**Example Input 1:** -`add -name Software Engineer Intern -company Google` - -**Example Output 1:** -``` -ID: 01 -Role: Software Engineer Intern -Company: Google -Duration: Not Stated -Skills: Not Stated -``` - -**Example Input 2:** -`add -name Embedded Software Engineer Intern -company Continental -duration /from 05/25 /to 08/25` - -**Example Output 2:** -``` -ID: 02 -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: Not Stated -``` - -## Update Command -`update` - -This feature allows you to update any field of an internship application. For example, when updating the status of an internship application, you can mark the status as ‘application pending’, ‘application completed’, ‘accepted’, ‘rejected’ etc. - -The default status for any internship that is stored in the database is ‘application pending’. - -**Format:** -`update {ID} {-field} {updated information}` - -**Example:** - -`update 02 -status application completed` - -``` -ID: 02 **Status** -Role: Embedded Software Engineer Intern application completed -Company: Continental -Duration: 05/25 to 08/25 -Skills: Not Stated -``` - -`Update 02 -status interview scheduled` - -``` -ID: 02 Status -Role: Embedded Software Engineer Intern interview scheduled -Company: Continental -Duration: 05/25 to 08/25 -Skills: Not Stated -``` - -`Update 02 -company Venti` - -``` -ID: 02 Status -Role: Embedded Software Engineer Intern interview scheduled -Company: Venti -Duration: 05/25 to 08/25 -Skills: Not Stated -``` - -`Update 02 -duration /from 04/25` - -``` -ID: 02 Status -Role: Embedded Software Engineer Intern interview scheduled -Company: Venti -Duration: 04/25 to 08/25 -Skills: Not Stated -``` - -`update 02 -skills Python SQL` - -``` -ID: 02 Status -Role: Embedded Software Engineer Intern interview scheduled -Company: Venti -Duration: 04/25 to 08/25 -Skills: Python, SQL -``` -## Sort Command -`sort` - -This feature allows you to sort and list all the internships saved in your database. The default display format is in increasing order of their ID’s (based on time of creation) - -Users can specify a flag to display them in alphabetical order of their role titles or by deadline. - -**Format:** - -`list` - -`sort {field}` - -**Example:** - -`list` - -``` -ID: 01 -Role: Software Engineer Intern -Company: Google -Duration: Not Stated -Skills: Not Stated - -ID: 02 -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: Not Stated -``` -`sort -alphabet` - -``` -ID: 02 -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: Not Stated - -ID: 01 -Role: Software Engineer Intern -Company: Google -Duration: Not Stated -Skills: Not Stated -``` -## Filter command: -`filter` - -This feature is an extension of the previous list feature. It allows the user to specify certain values for any of the role name, company name or duration parameters based on which only the relevant internships are shown. - -The role and company name parameters are case-insensitive, For the duration parameter, this feature displays all relevant internships whose start dates and end dates are within the duration timeline specified by the user. For the MVP version of the product, user can only sort by 1 field at a time. - -**Format:** - -`filter -role {Role name} -` - -`filter -company {Company name}` - -`filter -duration /from {start date} /to {end date}` - -`filter -skills {skill}` - -`filter -deadline /by {date}` - -**Example:** - -`list` - -``` -ID: 01 -Role: Software Engineer Intern -Company: Google -Duration: Not Stated -Skills: Not Stated - -ID: 02 -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: Not Stated -``` -`filter -company Google` - -``` -ID: 01 -Role: Software Engineer Intern -Company: Google -Duration: Not Stated -Skills: Not Stated -``` - -`filter -duration /from 04/25 /to 09/25` - -``` -ID: 02 -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: Not Stated -``` - -## Delete Command: -`del` - -This feature removes an entire listing from the tracker. - -**Format:** `del {ID}` - -**Example:** - -`list` - -``` -ID: 01 -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: Not Stated - -ID: 02 -Role: Software Engineer Intern -Company: Google -Duration: Not Stated -Skills: Not Stated -``` - -`del {01}` - -``` -You have deleted this listing: - -ID: 01 -Role: Embedded Software Engineer Intern -Company: Continental -Duration: 05/25 to 08/25 -Skills: Not Stated -``` - -`list` - -``` -ID: 02 -Role: Software Engineer Intern -Company: Google -Duration: Not Stated -Skills: Not Stated -``` - -## Help Command: -`help` - -Shows the commands available for the user. -Describes the available functions and inputs that are needed -Other basic commands. - -**Format:** `/help` - -**Example Output** - -``` - add -name {Role name} -company {Company name}: Adds internship to the list of internships currently being tracked by the user. - - - update {ID} {-field} {updated information}: Adds information to the field of the entry tagged to the ID. - Eg. update 02 -status application completed -``` - - -## Exit Command - -Terminates the program. - -**Format:** `/exit` - - - -## Invalid Inputs -Shows whenever an incomplete or invalid search call is performed. Output also shows what corrective action can be taken. - -Example Output: -Please include a duration if you are using the -duration flag! -Eg. Update 02 -duration /from 04/25 +## Features -Please include specific skills if you are using the -skills flag! +{Give detailed description of each feature} -I do not understand what flag you are using, type /help to get a list of valid commands. +### Adding a todo: `todo` +Adds a new item to the list of todo items. +Format: `todo n/TODO_NAME d/DEADLINE` +* The `DEADLINE` can be in a natural language format. +* The `TODO_NAME` cannot contain punctuation. +Example of usage: +`todo n/Write the rest of the User Guide d/next week` +`todo n/Refactor the User Guide to remove passive voice d/13/04/2020` ## FAQ diff --git a/docs/img.png b/docs/img.png deleted file mode 100644 index 84820f2651127f0180bbcb1ea9693deb64a9c17f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288380 zcmW(+c{Eh-|G%@C8DosG?_84XTV&^As?lmE`&#y$EUB@Nh(UxlL`hjv2`w11Z~0IP z*>@piiRyR1zjNl!A2VmpnfpBN_xpKmH^t<_X;!=d9smGVV+z>}01)*5T{sN<3AOP= z5Bv@olMO5)9N*pFyG=5 zcTaJkpGkDr&gN?T^wCyG+4|Ob(5Kyh@BZ5>{ok3Ols>lph41g}sz=^Of7s2>KfYks zYx!}uytE;~*1P*;MHqK+?(Z|+eq|i5)vV0zLWIL!o#=2YC_nr3MS1J!XKOA~qez6B zCC>|d*$Z)fGV5IAkj(=@6OrLN^Cq04>wcBRvFVZx6W^txM#g2{7!7?T6*t#LMU8xK z@}B;4Dr)E(<)T)a$m?N~s~#u9Za*<~I*-xy>?(@=9lHFi;r#oYH)U^iQlezCJVe_I z|1NVi*kzyDEnlbomN9?&c9rLsRmrFEWy12)2BY`GOG8d~jADLi4mmkNyS8UMs~;I| z7rq}GO~&kn-w072=J{Uydz$NOxxm@~%AP4?ti8!G4KPQ9ZTjdfKP^;z_-c?h{!oA0 z^3%(=mfK73y{+WezYNTLKl9gqFCa80MI7Wlbgsd^|@r+!;rD3KSH+-9c8-TE$ddjQMS-!y;Q__AvV;# z@Gj=<-G`{K;VU;A1UJbJzv|OBY;@GEYk%+cH4scU!ihKfz8>yh?p*k0(zOu5{-Kep z{?@@SwP=B@Ii2L{jK)#N9Ao*pt9yqOZnZn5oqjR?c7DXyU*>LBPcUvg%m2qCabWpX zr_KF^N`$X5uiD1e%6^zd@LQc6@4a`=WpEr zJbI_iTc)(7!hOYQuKlCwC6Rw3_y7~jPv^@OE^rOsmSAdKz-F*U^veA8v)IzS72}&) zGrc&UV-)(g)k>@3s;=<&_vz`Ykxn}qKSrT;Hs6v8(Tc~BFOLnRNeBG5y5#2B)%wPB zx=!75y7i6M^3V%auT7f*4KKp2he`!)X~HLG+8WPiKS_JUfBe|s^RL;L%)P>gR11z@ z73jUEmLj^#^ZxjJ*!5LG)!+BO%!Xa=$%FoT{L?4xM!e*?h-}G=Z9a`g|2@ell{OE& z#10y3%lsdC%EG?rbT8me~tzwyse4PQQkK;*zz9SI1d4G=A*AdwjxA2qg}YtuhF z$9nbmn&<5We0#V|Mm9{SfQSP0``Mr)AGCba-~7Bm4VIq7kz^k8LFaK*y~%ZVpyQ&* zn*laaRh(QB3b*sq4GY~IRAiPrqcS6(qugo; z>3kB(R5zt6=~>Y;h=0zTtU4Bavs_Y@Tnf~9RxUv$`NJ0PxqkNeO5!`dA!U*q^x43E zf{p9i#2ce@Sz^ zGW^H`%ot*vV`XY)mNtLN-wq5{&$(>>llrL8gu1OvD!i_DM+`tN&&24TMA8gf0R}`) zY!+@8yQVjP{0#5wFJtVlEuW+i5`JnbqxTFeJ|y)2G`x2jBd(Eju%Xd3dTm})B!Wxi z)=_D3Cgumn3ac(F4ZE}GaDigweay5XhEg2B$vr9N{8W{MfRqLn#_P#%szjg6?zM!j zd}IHvf99!rI*W-)!2P1t+b?h54R?f)wA%|#ytEPEsr-2!>d@wX1!Ki}|7fVkKgp_V2L&aoYs6h`3CR6y$Z<+SWZW&g3en|w`f zefOTKW;pQz&B{zPEC(-$Or`2X5D=t9N^~}Ya>e}CSk+ofHj1u9vzSkrJOu(J6_4{S ze)DDnO(fu=!P8F@2!bFr8ClYJ;-T$+$=a*|j)(?KcU@Xq!bJ!E6oh_qNTOWSoajGR z$V%7Ki;UjK2We1soDm?9EDA*l;CtL`Z|YDF_e_t+=$Yt?W8>N<@$73w5?lCys#KQP zEh zlSRcyiKx4qj1r*vV@elOisr?%yDe6`g573JA|ptt1~&SnGLWKW06qG!m|Iq~SBpCc z`?&Yl%zZLodL83TqEv5rPA?cvlaT`(@yS2VYzRci6ZR5UHzxHsszfdemz2~QiI4~V zACOKL`8|VlPC%Exr@Fd?O2=p5S-8lPHG=R{V)I)=-mmf1xW4{dVQsn`jmw^iM zwDjVD*Pm~5xW~7$fxU>Yz>;U>6OnL&u+HLWksR|CWgP-J4q!&4Fp*{`1hUqC000Jx zPN2aI(l=M?ScPn1xL%}o1h}-o`Ond>079*yHsi4(Zm5zs;z!XSot1u2QEG%Nsd`E) z-^xY{C_slo9T_4gQcwt`Bvi+Lf4vbn#)Uw!Kp_BUPjT#G3O|aG3FHdoQA-Sz(5bs4 zQN8tcN|U1r86TH)?A(2FGtiXm*+r=eEyG-8$JJMymp@c=-$2?N5;nAUC zFAWx@*lZKt;tS;Qn*gR->KxC~bw7iw1y?1h7EK&_QfhDCM7J@i18@1Yd}f_@Fpy_5 z)+C#_VH|XNv28B?0m|4|W4;+hBpY3#why?-p@?+?3D4n*;fS!;sP9E#gmASxeydIz zuj6<8C!o|vPf`!^1U(GTn?Fvw{N^XI#Vw8SIgrmZ?6NV=ZL>|49#vilig zx0z^sbgrMg4jtA^rxeHq@GSO4cQ>cf<5Zrn^HF!=G9kPzhUNH#Lgm5r?9v{O)e7b_chQpor>A0ZsiFQ`hwoK}}Btta)~@?4Zz)F24O^|jVL zsg6}ss#^iR3mXU@zBl~A*MT5H30QPlJ{HUEKck1sXqlPQ)N}rHFZrSGB!uT->bMmW zjRx_2*G`=vb4fhdXv8wkP|NNERzNdz`ndrhgdRkY~UO8dx*hlM?@=C|)(OH%wW5>w(pvd&;R-ih4|klNF3kX|^} zWO^yDT>EH3q7aRNvWvx{=BJnL6X?5MONQZ`A(A(h2F_l0 z#Z+z|d(oYDa*G$VR~H0h?(@PL_Vd#_+doeV&LZu^=Y zK|Rxr$?t9^wGbf5n_HiL4Dl1_Wlye8NqwNc!6JI@S$!H^0sR2UC3)$E8qRZ0gWY!r;0@)y4|B@`-pnn~p8m-Hy0 zvo6vM$cjFYbE4kA^UgI0gE!sK#`D~PI@ojP9iLqL`vE9@wkm>1*Z51EG6YCt7&(9) z2btE{YrRa}`C)Uho43E1X-o3I!}{!2?w)&^jzFwX3*+P#`IB-8TC(7PIuujJX;8;J z!1wEO_x9(}st%rX)CM%--IHg1vVfvq>CScQ@+8QMe1i0xdJT}E9;S|0`PpcYg;%j~ zF>!0r4##gGOt`rtASga34j@Pfp+aXht6LCy65{J7dQ55ds+D!gT;{&X0674PO_8>+HRV>2mYa!p3ri!BIpErMz>|D7wM4luDcFX;Ij=*;;re z;ATM=y-~?q0c(?m!YAL94-*kvYeL?Vj6c#DuIfM1)BovJ?l{Nm+mfmF*x10w398-y zk?&g;El;o84fjs`8yGaP%spnoZQz&FkfCf< zj3YM;J+-v0@yV26m+A8O{;;xa#ey_LeK&1UE}5;r2z+m58Ow`Qj>BNvI*kFAI2jSD zDMUpGEGX8NUb3DO$1Nx`Y&w$5;;DB5f-fZjc%<}I3Lw^@a0ecQ^3~g0NRmXI@}jKH znuHKbDI3I&SeIW#zYEh%kB9wI@6(3ib~vvr{m-e%hEs=1KSw2U?@x4)D2+tXZE z!xe=`ejzGsRPGipTx36a^2JJ?dJYe{zc??^^p&SH%DvP6rX$zM5Z)df0=F||Xn~7F z2vs%yjEVZwyFTa>aP71Zb_{c`V>F;qLO^>*P4Tu`)ONS3_s}krOqR`+z!BinSSpsz zpY3Hev<*THe7GY_IEIC77Yh}lVkQy1#mr$d_Gg&Hd(}?50PM6qpcN{i(tDCwn8QT= z0{oR}R|{X*2+^2zOYu5dkx-gN;#@sR1Uk%GJOP;`{yL9{Q~4f!c#YMCHT1U4n%mz0 z4x`>!PZ5dZKht>I24&024}Cb=%B345kz@;M3JVt#jg_5=;!|o|eW1w|ZL%AmhHN6H zeqB2$+~v@^hHCgyaB+8Zas;ot6q99gD!5*x52=9iZ>gh^lvM$e#k>K&fa1N7iYVHwsAuw;j)&EY6Kd&P3c|%>60?<>k3HJcD(HH={Wc=jo`}Q+@Ea0a=9(3Vi z5UvVKLQo{7Z;YTQ)1~pqn=1=DT|7{1^~1pHq7IFLRN{}X6xlncOnZ(Oqh&s} zHbwTZOG7+z_s)mRV;z#U*vz}MFWp0JN(Q7yr8vg?c)Pv4@{gj}_}i}^Zp(o8zfe(I zz3a^6?~x1K2xkArzYPdhAnr@EkDCt)Z8xiTx#ylZaH$nA;OhzC+jUUV3DgLcl;pC>_~&3C>tl_SZLNE*27Q0)iD~FIAxIR-o^-lrT2lnN z+<)J@H60bNa}QZd#m!TjBHwL((;wJ%`t4N1Btfb~g5M+J9Xfp`E_+@}zTeKa_rZFW z4@6?)Hu!<0#*Aw?j+HE4gOi_!m{mPCH42o4#T3Fp+YxXuDWQ$NLl>8`|N7CJ@g1(vM7?ctQTtL{EH-X>?2{v`T*{R1wLZDfkImMfCs zM-fe4_@$np#YZu+3k0tR%hru`$+Mvm)gzjuRg_d6o5#DKPp;x%NRz8O@{HwEzc`1@ zYQIlJAzwsUl)%PF==yrZ4Mh_NjMud2zq|8KR3%C`Hs;xxvU;@|DGPiE5rBzW6t9Bu zI+ye@h!&<=AnT>TTAivlZeggmzMwzVmb(cydYb_ znb|ILM6sBh@3@MiJ{3$T1wKjqrU09DZ@&q-{W`&8W{mmgyk`FkjLR0jQ1VFfv=Hv{ z!Z#wiX&@4OI9`>4Bk5p zv%RRBwZm8D;4s04*NC_+Qo0fLvi%>Ukz|(UAVDd~UD6eZ0hvyn=<}=48afDb%9z=u zegQy$jfv(E%LGF~Uus>=RO}ZNWb!vv#Ti1!2{y0Hte0`VfPcTw%agT-rZmj zn=+_b(Zylwf8SBK^!NL@op;jiZX~_q5yDBN9F`fYMq@-%3*<)g|7$ZF>M`ch4G{P- zR+Bks&S{7k9H$z4S=LNAT1%6H5XJC?gzF8Tncmg~kZ+!JA*BGM`}%|Srevw5kM~G| zVDr6X*&9?HU+L_PL>BnWt^3cvAL1C7_wRXdar>;)1m%R#HXN;PPW$W)d%-QFBXMM_(9OUiWynGpw`24O(CH z&o;pLlf`D$BM#yrb!?%ix4=^hT9HyMVIV&Z8+TxAX{vDZEKH0bo6ayuH7z0+SbCp%xgk|()AEsg;= zKBC?%K=T(K=bLgG0V*zoWnu{A?$0jS8>a)_{mgIy__hCr6`XLBdz;$1s`{8FXt2Nj zeCcwy4xsYz-}m6_idQcFxPrO;-^p@6M4ydx0#c16M(8X(WvA-67g_Lbbi5CX-85HVCgcCBq_KEa^bnR3 z6D72SaPx7V+_^~f8?}Gz(g|}~r2AOc$=G1Wo^$Fz=D;v%qZ%>I#)cyC3iQKo913z{ zqY6r^5`l}uub8K#aK6$KuL`=}Plp>pwW}rtx->VFowM8ei&A*w-!ppACfGoLC!xX~ zD_+^w&Rhot&Fy|)eV6&+BE{&Ee|l?}?C(n}SL4=+69Kaqfce8uTXjrG94IScl4 zA;)uJfIZiIjg74&xiuENjsB`+YK1(SOn2$bX`DC1+ z6-zok;5U^gyWPu}5d&ItfW#uS240GfuUz|@od-~pX;nch=9XO;WSsnuRfp$-C=$%p zMZi_eLZTWWRIck7+B{+an>(WucSt-8hX~>W?Xcf`1!_KV0Q%*$vZBZ5S654VyX-N; zAB06s{4No71y@ThVjC8>+I1h}yOWZ!nQa1@TI}#q1uHaVEK6PiC6%?d-T{@_M%AZQ_$FoYDiTEhD|5D3ctALuT> zd-Xuv<7kb?MLop>Dl;@_5#ElX<^DwS0Jt$2Oaa_uRuN@fU|r42>_t2&T7;GQ--aH$+{Xw{#g?jBhrauJ5)cmAs{)9 z$%KDZjz@P@j&s*6KjeJYBA>g`3;)6j8!qHsrCpNkpbzFZNb&8cGcm1icPK;`xduxV zMP@nISBC>8c~a!n5S9huzQ&qW+1t?v1h$&fXb?UDH#XUq(bXS;D(3akpuCr{veA!* zeA@T-Dc4$5@UWiSffwHK(SJMWk zGj0MLQulW)@$_NYg@G>1Ezh4>`4|xd6)I!YAmRpckmv(yyBsFvA*z{Y(gZ%h=8$N5 zEXrWd=XX!gwM4&P@Ds9AFwTQcqvo(OUMMn_=}3|DS|He+Rc}F&@P}Yq)X!6`rM< zj|ggUIvClo+3mM~OVgn=P*KLAS9uzK=z&cr2HB9QL-&LDHi~BDf{?(&XO`}?Jb(-= zIkwSx{kRnrClAF1J4$>-kP@mxB^yqdleu~9X$}k@7O1&Ikryl=t24utZY+Os9=qmr z9+jBuucccGBQUY4I5#P3s8wki#bNmAg9e{LGCnn3i&ta{WR`yaTB1mR3b@=Y*hqFnqJ>LP|iDI_$%Y2+{M)FdR@Bf8>uIGAIkA*BxI@EzyVPsetvpS8xbHo0jFBxZFf z+LzY2kdO}r9!<`6nG7snVHHyyv3}?>M8($=suK9-7$+#NvSVwzVgdF9lhi@Qjiwv- zus{EV&Zw}>|HSemkCkooMGi)Sfx>~}1)`r2{P7CTS=Z*2jymYInm`{pgINux>hS#t zIn~SxF*%94qgcioDjfmw!6i(qQ)-UJ9O|4-G@FV*v9Dfn)K}=Db4+uJKvoqGE}qS; zS+P-_sRxj-F!4!3t5yM`qY%*dsFi5d%RSxOJKBoTn(%U7?iD!w@@tH<>&!RHPocjK z+4-O73$7MlLHTWeY*F|<$IG_3@bJ3_@1WttvWGKN%h^mFAGJ8GyI41BBF_+lCA2=~ zPmy9LplT*4N^6-(yd!Z0#-|(@qApKa8zU_=5%=Ak1QKW$%8s_)NJph3u*}cXj(y%ce(kl zL!TB1SdyhyQ)Zyy?HuaC#V8>1>MtasgOQktDDDh#qLR{^ zRQgJq%+rifmA|K-n7%e~Zn!j`kWTzP^+@4&=S#icn_i-SJgc*ZFF5HgJ$|V7Lzzex zD@H;V}0ENo~ZmO06?d11JyraSbnUj=iI z#c3&7lh3lH?=AO-2z2MRsKT@B4&f&{;&qn2m6g0^{-j^lygcN|)p1J-!W8VEZb7}X zaQ)ddkvM23qVslt7OPtQy?wk~HDDT~BE}a)e?bnlb?Iw2LzgSMN}|KA9kuS&ulAO3 zi)$xgjHnUo3*)_-gR`ux69eG_y%QTpS|kjcTDQ6JT^H`1#=Cs=JHL$| zl+rLIpju3T7a454;DW!LYTjI^lCiCaOxm^&Pk5e%0C1DP`kYEKodtm#G%9l!eHnmoM-O zVKCNp)Rl#BGpj-4zkaQqD^pt=<=>VE#E)hi795}6joXnN^i&?u`|cl$#HJ6(gQ%v$ zBPfhdn4$pDi0>TsdKd?l9Nu*)lZBv)Un5$xeD}9DlZz zQM1NR^r7FUaHI|W!5Sd$8PQemmgTelR#lstP(s~ zM4Vkgpjk9-5n$wCc!fLJ(9mG&d-zj*Q>p9~!1BRFa6S{^x&J=H!JCU)Bfx${=yTypekrw;Hl9tRe|?!T&ae1)E*+SF~p z-46iI^7faUL{R1Ib)pl1=ALbS1ohn<0xc%j>6fPdWAqOIiz0MhNzU|zgM~i6^9vVN z3;))d{qAhBdUX1Sc+*V#MS>0*B(OPAJ#pRUA-ABCmx!E8IH#hDluRT%M>gm>IGGyT zG}MyM>8j_pRj;f;36NQ0*e9NoMVARczP8}5=~Yx$NGSSQ_EH{~#SYA}W5UA4@=(;r zHv!7AtVMPpZeaKe0%x052P-M{6INnPo>KKkMjzJ@OyL%Hv1HWBgd{Q*v6SbhILda0 zBvb)(gTDxUNbX&?oVXeXwP|{VTuuQ}&}?tZCAq-I%cqREjA9u%EQy&NOpGmW*rACr zR?DUTK0ax1V0lluNMt@3>FN)`m% zG-UEK8_0dHdPlK#Q1J}QRjSb&f4$a=o;Kd7RwjI5QKeD9irWWfXkI=~5>QS(ivZ1a zv2j+CnE>*Zz%K`8m!jLeo#E#s?rHp0vsH?goBLkhRqgqt%0^$rH!=u_WkHYuRzdL{ znM6G4X&W9wyF7oZQ$1Sr9E6aZto)$7S`o?XDIQPqs>0XNYcEHQ4J*KvB%#Ow(A15_ zksa~5!9igBDp4txaCTHYfr+}kk@21A6vIh%R=@&r6{66jo-Z~o24DgVq^l}(oV7`} z*S-19-Y6>@G>f3=NEMEzXPY zKf((}tWy(pM;&*Ku8d*lusJY8Xok%tz@V>)hJC*B0fb#{`S3N?0U z60^8G?dnsJ$;!qH;@KTiVGE5RAY7rq%0`kCM|YIJgw+9>uU3o@9p5Zj zbf_Q}Ni9s{-LR><_5n+}e-1|lgZvF`Frdw?ja%wBKmfrvsqo569EcNw<1U4G7GVD` z+h4~hxAS*5d3qnJCE-=7K0QI5-+qMc71yUy{=#nbv>};s2|LhoG>^VfFae)fx4=MK4$v-F_ z)}zg}@(oo=KYbQl--MacCjWh0@h%>d3e9@>Yzmmx)8i76;w3T|Y@mV$48Z=_XV0pq z{2d7XZW1X!{nc+|ki?Tv*;iK0xR#;Ke7f{L(LUk%dGU2l5;?CQ5Po=6;leq`qoMNb z0dd80PS-}?PWX+K1%Elx{9#9{VnDX}Nx!5V_By>$vn(;_k9#*&e zs?PPl&t+Y4D?X^!F!58(q}=;hQ!LW6DRIO_E|CW7Ja90;Kt*_;A8285y9I!#-j755 z@w$dKc_y^lH7a&K7B-{0WN{mNl0Y*d6qO|a+W;HY_mh!m*beYgXlK6PS*Y}5OnCuC zAK2gqkO)wq4aU2HB1Qn`r`z(Y8lu62lcO1{j2`zduONACmGtnS2V$gyMNzx$sxoyIYr3vPxR30Dn zK)N^|)IH0^*vgiDP_neJZaQ|uv|v@8M-Xlh=XR`Cb(eF6g`Koq^+!S&B_lEzh!agf zqAjHW-1Pe?{bCRb9ru129=3?5is+0)mK`W$kICa+3Ui2o>Vbex84Pe|IuA zrr#lr1lDqi$Rs9yPabXfxcLT8-?ciOjBx)nsM&%<7s)=qMWhwx7b9EyVheM$KmUoC z%W;N_EB3?gpT=y`=QOWJUZ38jOhXUG18#2&-^uvqr~|E*G$g!~^IRMw@q(nLBIYpd zd_5s}VsnAhhUI7HV#a+?8cCQA5Ex8wv^g2d%c8E9U%O_LZ?X`3&7A5iUW7!47}!&F zRwsAA*-K8E&;TKm5HF>C1>kAl4!j?tCp5T3`dLU84+*TKYqN>PqNJj&j*VC3 zgw$bref)3A9AhSciQZ7WA_lw|PZIph_@e-=UK(91Tt8!vX)#0;8;1%RRmoo!FO*G8 zWWlT+F|KSMpWQcsUW}hBnZa`>CLd^C9iGx=vwFN#Pc24DGy8WOl}23-3>|*5aV4?q zwX+LK@~CTE@mr;wJ~gj$m6{gIhCZ6SptuY~KKA(=3>;n*2H;5!w61XR9p!OXvGRCr z{SBs$;-fa_yxoE3u0$gQS^-Uu*q>{>lfPKTP*IpYiojV(lW{&%W6Tz&5vkWVUuA#b z^K^wm6A9R}wcU4`@l zla4#Gh`S5Ve1+*-lUtk^7`L0i%@V(oI229d=ZYBm6kmHr!1n}k*1#>Z=TtJP*`DOk zXZ3dNnoivl!X6tGm$$&A3kciXzsAqe282%7UseMVL&3z#nkeEOy5 zO9K-;-jbNzlp!qvmG?4oRP;fh$RdA<&)K*7CC*HrH(cCb_{y>bF7n%o( zvDtjN;Kz*}Y?=_86yrQZcKSwNu8--#oRYBF>tyN(tPz`DI1{&qCK4Wo6yU(vK+y** zUl4(wk0@hb{)3TBvtHlPPHAPSG?pOi<7icX!3YbKBqizYmgSZpl{p=y6D2aLWcmh4 z2O}$qWNOnvlwDV-urnZ2>npXmoao8*l*L3^C-j*~a}3Vq$LNmU`!~UQ6?U9QH0d8% zu0&Ycq~7T*{V4m0N!%uLAPLtMagsoM?uer~3va(U)i~QrzQaF1OMo0tb5Is^2 zBgn$(&tz#pw_cP}g{?}qOsfCc|49XbAk1P&e`dYjED9o8FP_ji1d+#Jug=lPK`2$u znLB|30|^#Ve-Rpp+vRDPw0M8C>Cp)Sn0M=XquA+&O-3x-M52&t3h_?`Aim*@5Hg_V zy*7BTJ*)(kGk|Hqwx|nKDLAI6EcX1L7qt%cFZK4pRl{e+aW1^?6bV*&9T=L$oI~l& zd)>irRd#QVomzzR#*awK!*;9lHxb$H{3K;4Nh_&}jg)^>1esbGn$(~@@V1b;x(_NM z!A#Iq&k4mQC~J!bN>T57^ofcQle=e>MPWO4&VtXANRIXu`xi^%>9YgGQ5us29X(NvwAg=q;7Uv=+I=l2)d(X zZ9~b*MyeZ$Glc&un(BO_Qi0in*c%B zovI_eBG(x+q12aHZFoZtEhB#t=x9^5Z{xhqa~&EV!`T^!e3s;{LcBxocQ+=%nwu$~=DM-PO@V zHZnP(vz_;~cs=jZI0?wyQTc`YIi;=2sm0zmsB~;o^s&WQ(-9mgBIDL}Yv>|sb7zwso;H;;SH`Si zNw1V6KLO1=u;DWG6}h0$6N#GEJqx}!aXq_*`yBAV{$OO`EtXKKNz%?&V6nD*BEVGW`j(|P zWbyMhtwl>iayOP|9huP-C4wjM5<8OjgkR3V6=*CLH?#9OiO?0n4X!u7rROT%?^Qr= zK1OkE5sE$N<`>NEQOHg8zf|QQD-45B8-b~8^FEoefvIC(H|Cdg9P=My#!%&cy*d+ z64H5Iz_**1cbd4YpvuK{WOxf8H@ln_D+ZbW-e}7NB=DSqQhU#Xu20%4ne@KsV=|9$ zhJ5sV&WX3$vv0T5Tq#CLnbjXyS0y}iY!0rKjI4z9iP*CUNY6&l==|{4?Zp3wH1q>u-eT}Y2$+R^0m4aY zkfUtTyNX3}$bss~;eZ&l$yDs+Q@;DY>h%Q>hLIVzvdL)J5Q!uO!B)t&#pOLz$>&!g zqSDY%q!eV^{Zc0a8vm7N&XLzF0#GO)Euj<8TKMFa@h>3mGeH3wXfP0l6B5=pe5iFU zrHzU3WVZfSE7-)d>%$=wpF7@wx`qBR8t%j9_mnswCB>ycDNdGbXfe9Dqa4Ja3ws5& zXE>K!qGN-^6mde=NkQDij3NY*X^M~Fvu}W&(CQ>rEwyHm*4BpOS`0s=?% zK%w6R>GQm-LAZWCB`N|g_By5m} zKqmP&1tCs)QT{v$NueR@NmcLEOOV~Sx6d5SMX|%NaFBQkj2mW)2VP_^hIjA6AujLd z40J2U{@n;xINl4uVGhFgjM4Iv%;I@S7?QT{FMR~bE}X~+KN2M< z#$89M!%LJRFtGU175DAT_!@I5)ilp}<3EWvUz3sxeZ4A;5LqHO=(gRkAm+qJV+q1U zCQ^5v2Tv)P)mI7fi?aiRNjpcrA|du~nMyc|t9J)cDn7~EpP%IWIW#<%E$+s!keSjk z9g8YyJkmh23>SC`R+>~R&h^}5zben0$lT}D`@~sU_IX0y^_jdTl-=!>Z-6OHijoup z;+aPsq`;v_IMp6}I7I{C=tGTKsv(S2_%L8cEFexP8x@n&AOUEle63%?|I6hCf}&MU zhJL^HZ)j6tbjEPkgCPnlJF7?0ARbQfgG?#&hHGJJ#wtSn*_Us{N~UTZBTt&rKeC-3qSy2(ee1dbX&r?-(M3U4IRYMlCGww^UP6F{r%6Hss= z;F;lz{k@{J!dR@F3l&UBzXX#G+ZR#n0Y-=#XR&*@Zv_b`a`qz0|A>x9KZ;*%`9Nje z?b|D5Bykq1zI90{NAFwpz4jHP*JE0}sFPj_fpi2zxr$=@&1z*+{xmDgUXJb}hQS>y3N%{^mc&TW`X`-aH*TCqS@pbYY1A(}o@Mk1UsU%{_Z1&KzsJ_)O3t z;#p}abJje7*$Fd!8oP#H4p8K{n=xCYz*lN{>~hRDnvE}9+Kn>!uC*+`^ch>ybI8U& zw`y34D#!@F6V9r@?9()*MR#^&B&d(Yeost_9({iiD`%(W92w8!^v9LD@^og`E}!h+ znID_qZ}aa_oPjNuVv3IrF}}#^lnb>5T(>gF543PDIwmqC_Db!v4^fqaY-B)KTfE@o z9*jo)pq@IRuaJ!m)!^zmu^_uNNbaf+%JXmYFVcoV#mP1%={Y}{3-jyXt*E_nQfih9 z_=iI(8^d@_@a?;Qu&pfVHiq6XZ^2VjCU4U47 zbm`90&am67=q+2@M#)n^P4K>uZP!gl9V6HSs0r>h)H{(;%r6iq47496{^xn2$KvMA z2d7N89uF{1hIr0DH#TcKm@m6iqPjb0{Wr5MEhhf)Iew$;V~s`uN>Yy3_eB?b)o(PV z&-!6HG%%ejs>>C3yryU0NXd93V>Um@EPFjG>=&s)8OUazw$Uj6FALFrCnK7iXQP3n zPKIyfv9eL7ip+SC#@*SF6wAsZBLygwH4H%emzMIx)X1PgoO$Fk9@il0v(24}fntYx z-vpK%Pak*bCFNU;By}dJt?J1b0xBKW%7H@fuMMZ`;JBEk$O zBSqlYP$p2!LdpO2sn@S*_PVtus)T%9qb!E4){8Ay+1u+83&{>hF8`Q_wE_teDGm{y zWlfl5M$7X~VcRe@Gin{3?}CDAXkiUjj*39>P))4^EvcqXd{=JY$dNhTZyvUGw0=Sm z7wOEKr(ql*2yz57Q;o7#V_TI9m|ZuxBhVrl|M-;>N2MD=ayQK{n16d6Kds^K^v%dR zBZmCq;QJ%l)9Pl^^}@GNhgz`ywNd5-Q2 z=JJlWhUdABH}5+;5UGauFfHhY_Co$e>B9DykD-mD(8UIAeJpecs!)}3*&r^V6X$%( z;OLBGnn$6WZtdRg7t>qb&pQffXhQU~*joEKD*nBki{K41fXo{?-u`3LR-aZkxgl~l zC~+!C6AdpT3}MO!7`3WLE&w$?|GhP1u*f^P030vfANLrZCc4ip=b2EIH0Gm#eDRlq zu)XvZKxhDT(?_JwQFk9-5I(!UG4oR+p>DqS?m0XD%i|Su+o6T|N`il$T|}_VKmZ*! zsEZ%!u6X?F&Z^b-(8WS&_EaegfFsrzd;+IQ!;j_y3A@TKV0Oe!M6Fb!K%A+X6*moF zmFO3X#W8G=+2Y=?;L>P$gk<1$(inbs_1QrfH-@eCPpSN0 zhRt$h^ED4-*u+lLPHrG3o>sD-o!56%gb}+hO^!QkU@wQ&;QszB{_aW(L2K&r{ zyr27?jU@FohTXeqcG1-Br&?^fF3FoQe*K1-E_a=4TVZO2+^;Sw{gmF^Dd9t|R)NJ%%+C=Jpj9fEXAcQ^0-y?^Xq z*k||L^PKaoC$~NK#M^9Zyr^UcuYs|ML!PKL=PS8lqgxVZ+SJR9Ly?lm9=8#*d#c}w zF=}tkn|%C%)Zd8!v*&3=acgk1M@4s_1}9QC_7gfnMyfO6h8&_8$$~XGOng8V0z+XX zys8P{PMsTSWCbxyv`C$-c(J7bB7HK%J~e^lbc{NRoWdi#5w3>=2@gbjuWa}RwR>wC zRmJn!6VaaovL`-fXpH8ce|xurb^jbBm(Q-^C zl5feIvjU}g&C#saS-~YDpk!JM7F@&B>v_u#e9rKndFI85I;{>C1*M)a3kbqZL(iGs z?zTYy`IrH8ei#j_$T8yrQeSi-*@uU3k~bi^mC%Tb4_C7~ROoxk1G3U+aG}_+!Ke8+ zxJIZVeh5h5fw&m_d!O+JJu!Ci7}yv8<2xE&fCigvXUPf-AyCDrwc!bP5+z|}6Lf}# z3B294?2R`QSH~ihuLDuoQFuao2S)h7T=mkZb&$+IG`OgfFcIop5OH}$n1NAj8qu}@x?hg#*KE7dfrx_~N+ItK zk){bxxhNU)O}E0^>~kW*T`~gu>{U_8%pjkTT9dmEGxbIoX;Wv|UHgmD7UvGRQ!-Q- zjAYS%oxqf=wu*g1R~|Q;xZn~0#J|PN?rg@Q;YKNrB&R6cpj!{cMz17J+G&-7^P`=U z9h%uI9-6sp37Um_2|b~vD59bLywqGiqEK{pxOB(EX}D1!b^q#6FQA@9Y0C@(?JuE^ zsNLyoSnC5ffF=68vD+J)a$Y-yP>qT$iwd@Kj$2aT;~E=QR{%ggL$5s>Ib~R};fRMp zAVzSE1_MAHTMb&9(>xRu%~9vk(3KOQ^|t5zREGNg3xuN(e<7%W_x!%{Cw9-1ssg+KC@JI#^LgTPfT@<;X zhU}Rc%!vfMqG@tpqt8ZKM?PE9nkBEt?!{>x&jSbo4hP8BJEEhIPcY>DO(N<*+zAM) zannvZ75JxaweQ*|A03aw#@HA1`-9%lxNv4;IraksHY%DNo6d1b)%~=7j4#u)dZ7gpZu68X2P9D5xkvUH? z(p||$bKKmX*wr(=m6Ux>24o*&V1ru?Vg-wsiXk>Y&T*_jWgT72@qU`y(J0GK>5W?> zt){TQx#NEh>hQ8I$n?(+JLWk^!*nDYZj`@5;IVO+@SgJ&!IJ;|DjIp5F#icM6Mc%ZV!wxdg<`$ z(G!8+4wn1tr!MMJ80J_Y)0>$W4$m98l_!Va&hu2#JR>5{ZqJ!Edxh6xzukQe!8aHh0FEHr*I)d||hAcd^-<@Vv^q!+7SZ%~+&< z15L!;lsHYYA$f>)R=HA6aI}8){pR-8-eY%jtj4f;mz!-!pQ^;*NTWij7!pdI_O!OJ zlsowy?ic3OKAwgTK4fXa6%i`C)4hj=i9gT8XKJlTXr`LJRe#hPqIgADnj|GG<{@E< zbzjmLobFahym3L8#EfK!$Cw3g+Nb=sm+kq53dFIBuN$0G57&K-n}Hz|aG#zKF!Pj_Dz=r2s||;D_nk zuYl}2szR&eV}dX}D0OH(26$hw{v_o{SK>2QIRyfvn>6&EFLQj8@NL2Z!Af0J)6qC6B1-Wlu*;?}VrZ4+VgtMmI*R}04Nj|So%4g8R+<^-Jsoj)&$F;t%MyBS`!WAD z)* z=DTB_21irAG?CM+&9yed&EE8j&84B|E|xdeGmTahr4h8MY#UKo?|mu*NQCK5Ui^u3 zb7Qc>IL-aZjECTq2d&xC(r+ZP*fDSnqez)vHb~srB`3a)^A9RIsYrO`NJBVyGX3Mg zJ>+I0AXi_M^}QaATHI<)qZ&*$FdU!2w}j(%0lpe%OekM|DgXtdqI z_|=r}7ug4B>}6G$-??Ww3jN3X1{2qIE?U=-4WC^q5Hp49oaW?eA0wntn_`cEPCABe zCnT6{vCK45))^w_`?gHoGy3z~P(g!+vjLeXnKC0DG*_28d>y$9RyD6K1y_w5Mfni! z5n8y&XV7-iipKUBiqIJ&^^8(_R?|DdYFz%py-dT&D;0L5gN6>iAklHfTwH(E?I+Jb z#Z3{7!!((Zbl-r zWV|W-CA-8%67pW#+}mlfni)ir9Ht6GQMQ>mH_b9p^zcY-ns2aFyR0MUM=_0M$}NC*K+zleUXG4Gs==!g$&W<&I!8Iuo$4Slq^4N zQL;S)1Zc4JkUBu>DJeQ?;M;Qr!z=|CL99SmsmUg)S5yM*1yOYD1(6nn>SIwleRYEm z{wfR;CiQ#Pv<2Idg#~%3*P_K%nYHPdH&ibc+leY)#%JH>vyRTMXN9Oe;!j1ZObZv6 zV}yOpM0@mnr855uF31r8rrg?Z>PsZE9od#i)9lY_>GNa=v(KA>~x*(IbyJfEN=Gz8kA zm#&qVGSPLQkaLpCfH5Y>!gJdDC~n;MGkHd#>*++4%R4gVBGl=|;OusJ6PV zXk4NoANB_9X*XkjoCryO*H+b7kK*&mqm;w%!uzCgFL~87r7 zBdL|rh2}h0nvB*6j*a3cLh^5bRQB8F=apSPsWq%_ZU4;eNPGkrJiA&%Q~lo=nYph{ zRFE9|P!?57p*b2NdzND0@nuS7?YD%I8%AFimkkf&7~5q`rM1&Pa7I+HBdyj$Vxxyv z6v-K}H!emeqxvm78bZDV=>)FTW59n0l)Pg^0b;Q`NbQBI$Q;Xs>}h`QHkV|>@SD$Q zZC;3NaCQFux;q?AiX1nKP4qvf9ZnR@gUDdgbFFW@#+)#IhavQL+zvz>ACq4ml%=ZD zmAsdxYi{}KX8TqS>)c1VAm$+dr^O}1v!nJ0YUFMoJIj$Pb@+f*7$tXNu8JaxiVX(? z4#>Ew=iA!6ecnWf`V()OY%*y=>DiLg5Ux6>NHKzexb5(qdq+yze%%04CF-a;f;CV= z14b&KEwkOCh=vZbavCSc;-~ahkbOVOP85<6MZHp2oF(2BR4fSNFIy2%xZXH*`x+9I z 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%0D}H-WOW3!{41TzmAU&be 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 K+dsd& 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%0A|f+etDEA%<}HK*{>yhmLrh;Ym!rUFtoTC(=Ua~f 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