Skip to content

Commit cb85e17

Browse files
authored
Merge pull request #80 from Khaleelur-Rahman/branch-delete-event
Add delete event feature
2 parents 45e23ef + 8488193 commit cb85e17

File tree

83 files changed

+986
-289
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+986
-289
lines changed

src/main/java/seedu/address/logic/commands/CommandResult.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
import seedu.address.commons.util.ToStringBuilder;
88
import seedu.address.logic.commands.event.ViewEventsCommand;
9+
import seedu.address.logic.commands.person.ListCommand;
10+
import seedu.address.logic.commands.tag.ViewTagsCommand;
911
import seedu.address.model.event.Event;
1012

1113
/**
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
package seedu.address.logic.commands.event;
2+
3+
import static java.util.Objects.requireNonNull;
4+
5+
import java.util.List;
6+
7+
import seedu.address.commons.core.index.Index;
8+
import seedu.address.commons.util.ToStringBuilder;
9+
import seedu.address.logic.Messages;
10+
import seedu.address.logic.commands.Command;
11+
import seedu.address.logic.commands.CommandResult;
12+
import seedu.address.logic.commands.exceptions.CommandException;
13+
import seedu.address.model.Model;
14+
import seedu.address.model.event.Event;
15+
16+
/**
17+
* Deletes an event from the event list.
18+
*/
19+
public class DeleteEventCommand extends Command {
20+
public static final String COMMAND_WORD = "delete_event";
21+
public static final String MESSAGE_USAGE = COMMAND_WORD
22+
+ ": Deletes the event identified by the index number used in the displayed events list.\n"
23+
+ "Parameters: INDEX (must be a positive integer)\n"
24+
+ "Example: " + COMMAND_WORD + " 1";
25+
26+
public static final String MESSAGE_DELETE_EVENT_SUCCESS = "Deleted Event: %1$s";
27+
private final Index targetIndex;
28+
public DeleteEventCommand(Index targetIndex) {
29+
this.targetIndex = targetIndex;
30+
}
31+
32+
@Override
33+
public CommandResult execute(Model model) throws CommandException {
34+
requireNonNull(model);
35+
List<Event> lastShownList = model.getFilteredEventList();
36+
if (targetIndex.getZeroBased() >= lastShownList.size()) {
37+
throw new CommandException(Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX);
38+
}
39+
Event eventToDelete = lastShownList.get(targetIndex.getZeroBased());
40+
model.deleteEvent(eventToDelete);
41+
return new CommandResult(String.format(MESSAGE_DELETE_EVENT_SUCCESS, Messages.format(eventToDelete)));
42+
}
43+
44+
@Override
45+
public boolean equals(Object other) {
46+
if (other == this) {
47+
return true;
48+
}
49+
50+
// instanceof handles nulls
51+
if (!(other instanceof DeleteEventCommand)) {
52+
return false;
53+
}
54+
55+
DeleteEventCommand otherDeleteCommand = (DeleteEventCommand) other;
56+
return targetIndex.equals(otherDeleteCommand.targetIndex);
57+
}
58+
59+
@Override
60+
public String toString() {
61+
return new ToStringBuilder(this)
62+
.add("targetIndex", targetIndex)
63+
.toString();
64+
}
65+
}

src/main/java/seedu/address/logic/commands/LinkCommand.java renamed to src/main/java/seedu/address/logic/commands/event/LinkCommand.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1-
package seedu.address.logic.commands;
1+
package seedu.address.logic.commands.event;
22

33
import static java.util.Objects.requireNonNull;
44
import static seedu.address.logic.parser.CliSyntax.PREFIX_CONTACT;
55
import static seedu.address.logic.parser.CliSyntax.PREFIX_EVENT;
66

77
import seedu.address.commons.util.ToStringBuilder;
8+
import seedu.address.logic.commands.Command;
9+
import seedu.address.logic.commands.CommandResult;
810
import seedu.address.logic.commands.exceptions.CommandException;
911
import seedu.address.model.Model;
1012
import seedu.address.model.event.Event;

src/main/java/seedu/address/logic/commands/AddCommand.java renamed to src/main/java/seedu/address/logic/commands/person/AddCommand.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package seedu.address.logic.commands;
1+
package seedu.address.logic.commands.person;
22

33
import static java.util.Objects.requireNonNull;
44
import static seedu.address.logic.parser.CliSyntax.PREFIX_ADDRESS;
@@ -9,6 +9,8 @@
99

1010
import seedu.address.commons.util.ToStringBuilder;
1111
import seedu.address.logic.Messages;
12+
import seedu.address.logic.commands.Command;
13+
import seedu.address.logic.commands.CommandResult;
1214
import seedu.address.logic.commands.exceptions.CommandException;
1315
import seedu.address.model.Model;
1416
import seedu.address.model.person.Person;

src/main/java/seedu/address/logic/commands/DeleteCommand.java renamed to src/main/java/seedu/address/logic/commands/person/DeleteCommand.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package seedu.address.logic.commands;
1+
package seedu.address.logic.commands.person;
22

33
import static java.util.Objects.requireNonNull;
44

@@ -7,6 +7,8 @@
77
import seedu.address.commons.core.index.Index;
88
import seedu.address.commons.util.ToStringBuilder;
99
import seedu.address.logic.Messages;
10+
import seedu.address.logic.commands.Command;
11+
import seedu.address.logic.commands.CommandResult;
1012
import seedu.address.logic.commands.exceptions.CommandException;
1113
import seedu.address.model.Model;
1214
import seedu.address.model.person.Person;

src/main/java/seedu/address/logic/commands/EditCommand.java renamed to src/main/java/seedu/address/logic/commands/person/EditCommand.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package seedu.address.logic.commands;
1+
package seedu.address.logic.commands.person;
22

33
import static java.util.Objects.requireNonNull;
44
import static seedu.address.logic.parser.CliSyntax.PREFIX_ADDRESS;
@@ -19,6 +19,8 @@
1919
import seedu.address.commons.util.CollectionUtil;
2020
import seedu.address.commons.util.ToStringBuilder;
2121
import seedu.address.logic.Messages;
22+
import seedu.address.logic.commands.Command;
23+
import seedu.address.logic.commands.CommandResult;
2224
import seedu.address.logic.commands.exceptions.CommandException;
2325
import seedu.address.model.Model;
2426
import seedu.address.model.person.Address;

src/main/java/seedu/address/logic/commands/FindCommand.java renamed to src/main/java/seedu/address/logic/commands/person/FindCommand.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
package seedu.address.logic.commands;
1+
package seedu.address.logic.commands.person;
22

33
import static java.util.Objects.requireNonNull;
44

55
import seedu.address.commons.util.ToStringBuilder;
66
import seedu.address.logic.Messages;
7+
import seedu.address.logic.commands.Command;
8+
import seedu.address.logic.commands.CommandResult;
79
import seedu.address.model.Model;
810
import seedu.address.model.person.NameContainsKeywordsPredicate;
911

src/main/java/seedu/address/logic/commands/ListCommand.java renamed to src/main/java/seedu/address/logic/commands/person/ListCommand.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
package seedu.address.logic.commands;
1+
package seedu.address.logic.commands.person;
22

33
import static java.util.Objects.requireNonNull;
44
import static seedu.address.model.Model.PREDICATE_SHOW_ALL_PERSONS;
55

6+
import seedu.address.logic.commands.Command;
7+
import seedu.address.logic.commands.CommandResult;
68
import seedu.address.model.Model;
79

810
/**

src/main/java/seedu/address/logic/commands/AddTagCommand.java renamed to src/main/java/seedu/address/logic/commands/tag/AddTagCommand.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
package seedu.address.logic.commands;
1+
package seedu.address.logic.commands.tag;
22

33
import static java.util.Objects.requireNonNull;
44
import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG;
55

66
import seedu.address.commons.util.ToStringBuilder;
7+
import seedu.address.logic.commands.Command;
8+
import seedu.address.logic.commands.CommandResult;
79
import seedu.address.logic.commands.exceptions.CommandException;
810
import seedu.address.model.Model;
911
import seedu.address.model.tag.Tag;

src/main/java/seedu/address/logic/commands/DeleteTagCommand.java renamed to src/main/java/seedu/address/logic/commands/tag/DeleteTagCommand.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
package seedu.address.logic.commands;
1+
package seedu.address.logic.commands.tag;
22

33
import static java.util.Objects.requireNonNull;
44
import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG;
55

66
import seedu.address.commons.util.ToStringBuilder;
7+
import seedu.address.logic.commands.Command;
8+
import seedu.address.logic.commands.CommandResult;
79
import seedu.address.logic.commands.exceptions.CommandException;
810
import seedu.address.model.Model;
911
import seedu.address.model.tag.Tag;

0 commit comments

Comments
 (0)