Skip to content

Commit 667afff

Browse files
committed
Merge branch 'branch-Level-9'
2 parents 7040f64 + ca772e4 commit 667afff

10 files changed

Lines changed: 56 additions & 18 deletions

File tree

src/main/java/META-INF/MANIFEST.MF

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Manifest-Version: 1.0
2+
Main-Class: duke.Duke
3+

src/main/java/duke/Parser.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import duke.command.Command;
44
import duke.command.AddCommand;
55
import duke.command.CheckCommand;
6+
import duke.command.FindCommand;
67
import duke.command.DeleteCommand;
78
import duke.command.DoneCommand;
89
import duke.command.ExitCommand;
@@ -59,6 +60,12 @@ public static Command parse(String input) throws DukeException{
5960
throw new DukeException("Please enter the date to check!");
6061
}
6162
return getCheckCommand(splitInput[1]);
63+
64+
case "find":
65+
if (splitInput.length < 2) {
66+
throw new DukeException("Please enter the keyword(s) to find!");
67+
}
68+
return new FindCommand(splitInput[1].strip());
6269

6370
case "todo":
6471
if (splitInput.length < 2) {

src/main/java/duke/command/AddCommand.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,12 @@ public AddCommand(Task task) {
2121
this.taskToAdd = task;
2222
}
2323

24+
@Override
2425
public boolean isExit() {
2526
return false;
2627
}
2728

29+
@Override
2830
public void execute(TaskList tasks, Ui ui, Storage storage) {
2931
tasks.add(this.taskToAdd);
3032
String numOfTasks = tasks.size() + (tasks.size() > 1 ? " tasks" : " task");

src/main/java/duke/command/CheckCommand.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,13 @@ public CheckCommand(LocalDate date) {
2222
this.date = date;
2323
}
2424

25+
@Override
2526
public boolean isExit() {
2627
return false;
2728
}
2829

2930
/** */
31+
@Override
3032
public void execute(TaskList tasks, Ui ui, Storage storage) {
3133
TaskList filteredList = new TaskList();
3234

src/main/java/duke/command/DeleteCommand.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,12 @@ public DeleteCommand(int taskNum) {
2222
this.taskNum = taskNum;
2323
}
2424

25+
@Override
2526
public boolean isExit() {
2627
return false;
2728
}
2829

30+
@Override
2931
public void execute(TaskList tasks, Ui ui, Storage storage) {
3032
if (this.taskNum > tasks.size()) {
3133
throw new DukeException("No such task exists!");

src/main/java/duke/command/DoneCommand.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,12 @@ public DoneCommand(int taskNum) {
2121
this.taskNum = taskNum;
2222
}
2323

24+
@Override
2425
public boolean isExit() {
2526
return false;
2627
}
2728

29+
@Override
2830
public void execute(TaskList tasks, Ui ui, Storage storage) {
2931
if (this.taskNum > tasks.size()) {
3032
throw new DukeException("No such task exists!");

src/main/java/duke/command/ExitCommand.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,12 @@
1313
*/
1414
public class ExitCommand implements Command {
1515

16+
@Override
1617
public boolean isExit() {
1718
return true;
1819
}
1920

21+
@Override
2022
public void execute(TaskList tasks, Ui ui, Storage storage) {
2123
ui.showGoodbye();
2224

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package duke.command;
2+
3+
import duke.Storage;
4+
import duke.Ui;
5+
import duke.task.Task;
6+
import duke.task.TaskList;
7+
8+
public class FindCommand implements Command {
9+
private String searchString;
10+
11+
public FindCommand(String searchString) {
12+
this.searchString = searchString;
13+
}
14+
15+
@Override
16+
public boolean isExit() {
17+
return false;
18+
}
19+
20+
@Override
21+
public void execute(TaskList tasks, Ui ui, Storage storage) {
22+
TaskList filteredList = new TaskList();
23+
24+
for (int i = 1; i <= tasks.size(); i++) {
25+
Task currTask = tasks.get(i);
26+
if (currTask.getDetail().indexOf(this.searchString) >= 0) {
27+
filteredList.add(currTask);
28+
}
29+
}
30+
31+
ui.printMessage(filteredList.toString());
32+
}
33+
34+
}

src/main/java/duke/command/ListCommand.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@
1010
*/
1111
public class ListCommand implements Command{
1212

13+
@Override
1314
public boolean isExit() {
1415
return false;
1516
}
1617

18+
@Override
1719
public void execute(TaskList tasks, Ui ui, Storage storage) {
1820
ui.printMessage(tasks.toString());
1921
}

src/main/java/duke/task/TaskList.java

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package duke.task;
22

33
import java.util.ArrayList;
4-
import java.time.LocalDate;
54

65
/**
76
* Represents a list of tasks
@@ -63,23 +62,6 @@ public int size() {
6362
return this.tasks.size();
6463
}
6564

66-
/**
67-
* Filters tasks that are associated with a specified date
68-
*
69-
* @param date Date to filter for
70-
* @return Filtered task list
71-
*/
72-
public TaskList getTasksOnDate(LocalDate date) {
73-
TaskList tasksOnDate = new TaskList();
74-
for (int i = 1; i <= this.size(); i++) {
75-
Task currTask = this.get(i);
76-
if (date.equals(currTask.getDate())) {
77-
tasksOnDate.add(currTask);
78-
}
79-
}
80-
return tasksOnDate;
81-
}
82-
8365
@Override
8466
public String toString() {
8567
StringBuilder taskListString = new StringBuilder();

0 commit comments

Comments
 (0)