Skip to content

Commit 1b1c75f

Browse files
authored
Merge pull request nus-cs2103-AY2021S2#74 from danielonges/master
Remove Address field from Task class
2 parents 5a3e65c + 21dfd13 commit 1b1c75f

38 files changed

Lines changed: 102 additions & 478 deletions

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ public class AddCommand extends Command {
2929
+ PREFIX_NAME + "John Doe "
3030
+ PREFIX_PHONE + "98765432 "
3131
+ PREFIX_EMAIL + "johnd@example.com "
32-
+ PREFIX_ADDRESS + "311, Clementi Ave 2, #02-25 "
3332
+ PREFIX_TAG + "friends "
3433
+ PREFIX_TAG + "owesMoney";
3534

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

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import seedu.address.commons.util.CollectionUtil;
2020
import seedu.address.logic.commands.exceptions.CommandException;
2121
import seedu.address.model.Model;
22-
import seedu.address.model.person.Address;
2322
import seedu.address.model.person.Email;
2423
import seedu.address.model.person.ModuleName;
2524
import seedu.address.model.person.Phone;
@@ -77,7 +76,7 @@ public CommandResult execute(Model model) throws CommandException {
7776
Task taskToEdit = lastShownList.get(index.getZeroBased());
7877
Task editedTask = createEditedPerson(taskToEdit, editPersonDescriptor);
7978

80-
if (!taskToEdit.isSamePerson(editedTask) && model.hasPerson(editedTask)) {
79+
if (!taskToEdit.isSameTask(editedTask) && model.hasPerson(editedTask)) {
8180
throw new CommandException(MESSAGE_DUPLICATE_PERSON);
8281
}
8382

@@ -96,10 +95,9 @@ private static Task createEditedPerson(Task taskToEdit, EditPersonDescriptor edi
9695
ModuleName updatedModuleName = editPersonDescriptor.getModuleName().orElse(taskToEdit.getModuleName());
9796
Phone updatedPhone = editPersonDescriptor.getPhone().orElse(taskToEdit.getPhone());
9897
Email updatedEmail = editPersonDescriptor.getEmail().orElse(taskToEdit.getEmail());
99-
Address updatedAddress = editPersonDescriptor.getAddress().orElse(taskToEdit.getAddress());
10098
Set<Tag> updatedTags = editPersonDescriptor.getTags().orElse(taskToEdit.getTags());
10199

102-
return new Task(updatedModuleName, updatedPhone, updatedEmail, updatedAddress, updatedTags);
100+
return new Task(updatedModuleName, updatedPhone, updatedEmail, updatedTags);
103101
}
104102

105103
@Override
@@ -128,7 +126,6 @@ public static class EditPersonDescriptor {
128126
private ModuleName moduleName;
129127
private Phone phone;
130128
private Email email;
131-
private Address address;
132129
private Set<Tag> tags;
133130

134131
public EditPersonDescriptor() {}
@@ -141,15 +138,14 @@ public EditPersonDescriptor(EditPersonDescriptor toCopy) {
141138
setModuleName(toCopy.moduleName);
142139
setPhone(toCopy.phone);
143140
setEmail(toCopy.email);
144-
setAddress(toCopy.address);
145141
setTags(toCopy.tags);
146142
}
147143

148144
/**
149145
* Returns true if at least one field is edited.
150146
*/
151147
public boolean isAnyFieldEdited() {
152-
return CollectionUtil.isAnyNonNull(moduleName, phone, email, address, tags);
148+
return CollectionUtil.isAnyNonNull(moduleName, phone, email, tags);
153149
}
154150

155151
public void setModuleName(ModuleName moduleName) {
@@ -176,14 +172,6 @@ public Optional<Email> getEmail() {
176172
return Optional.ofNullable(email);
177173
}
178174

179-
public void setAddress(Address address) {
180-
this.address = address;
181-
}
182-
183-
public Optional<Address> getAddress() {
184-
return Optional.ofNullable(address);
185-
}
186-
187175
/**
188176
* Sets {@code tags} to this object's {@code tags}.
189177
* A defensive copy of {@code tags} is used internally.
@@ -219,7 +207,6 @@ public boolean equals(Object other) {
219207
return getModuleName().equals(e.getModuleName())
220208
&& getPhone().equals(e.getPhone())
221209
&& getEmail().equals(e.getEmail())
222-
&& getAddress().equals(e.getAddress())
223210
&& getTags().equals(e.getTags());
224211
}
225212
}

src/main/java/seedu/address/logic/parser/AddCommandParser.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package seedu.address.logic.parser;
22

33
import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT;
4-
import static seedu.address.logic.parser.CliSyntax.PREFIX_ADDRESS;
54
import static seedu.address.logic.parser.CliSyntax.PREFIX_EMAIL;
65
import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME;
76
import static seedu.address.logic.parser.CliSyntax.PREFIX_PHONE;
@@ -12,7 +11,6 @@
1211

1312
import seedu.address.logic.commands.AddCommand;
1413
import seedu.address.logic.parser.exceptions.ParseException;
15-
import seedu.address.model.person.Address;
1614
import seedu.address.model.person.Email;
1715
import seedu.address.model.person.ModuleName;
1816
import seedu.address.model.person.Phone;
@@ -31,21 +29,19 @@ public class AddCommandParser implements Parser<AddCommand> {
3129
*/
3230
public AddCommand parse(String args) throws ParseException {
3331
ArgumentMultimap argMultimap =
34-
ArgumentTokenizer.tokenize(args, PREFIX_NAME, PREFIX_PHONE, PREFIX_EMAIL, PREFIX_ADDRESS, PREFIX_TAG);
32+
ArgumentTokenizer.tokenize(args, PREFIX_NAME, PREFIX_PHONE, PREFIX_EMAIL, PREFIX_TAG);
3533

36-
if (!arePrefixesPresent(argMultimap, PREFIX_NAME, PREFIX_ADDRESS, PREFIX_PHONE, PREFIX_EMAIL)
34+
if (!arePrefixesPresent(argMultimap, PREFIX_NAME, PREFIX_PHONE, PREFIX_EMAIL)
3735
|| !argMultimap.getPreamble().isEmpty()) {
3836
throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, AddCommand.MESSAGE_USAGE));
3937
}
4038

4139
ModuleName moduleName = ParserUtil.parseName(argMultimap.getValue(PREFIX_NAME).get());
4240
Phone phone = ParserUtil.parsePhone(argMultimap.getValue(PREFIX_PHONE).get());
4341
Email email = ParserUtil.parseEmail(argMultimap.getValue(PREFIX_EMAIL).get());
44-
Address address = ParserUtil.parseAddress(argMultimap.getValue(PREFIX_ADDRESS).get());
4542
Set<Tag> tagList = ParserUtil.parseTags(argMultimap.getAllValues(PREFIX_TAG));
4643

47-
Task task = new Task(moduleName, phone, email, address, tagList);
48-
44+
Task task = new Task(moduleName, phone, email, tagList);
4945
return new AddCommand(task);
5046
}
5147

src/main/java/seedu/address/logic/parser/EditCommandParser.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,6 @@ public EditCommand parse(String args) throws ParseException {
5252
if (argMultimap.getValue(PREFIX_EMAIL).isPresent()) {
5353
editPersonDescriptor.setEmail(ParserUtil.parseEmail(argMultimap.getValue(PREFIX_EMAIL).get()));
5454
}
55-
if (argMultimap.getValue(PREFIX_ADDRESS).isPresent()) {
56-
editPersonDescriptor.setAddress(ParserUtil.parseAddress(argMultimap.getValue(PREFIX_ADDRESS).get()));
57-
}
5855
parseTagsForEdit(argMultimap.getAllValues(PREFIX_TAG)).ifPresent(editPersonDescriptor::setTags);
5956

6057
if (!editPersonDescriptor.isAnyFieldEdited()) {

src/main/java/seedu/address/logic/parser/ParserUtil.java

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import seedu.address.commons.core.index.Index;
1010
import seedu.address.commons.util.StringUtil;
1111
import seedu.address.logic.parser.exceptions.ParseException;
12-
import seedu.address.model.person.Address;
1312
import seedu.address.model.person.Email;
1413
import seedu.address.model.person.ModuleName;
1514
import seedu.address.model.person.Phone;
@@ -65,21 +64,6 @@ public static Phone parsePhone(String phone) throws ParseException {
6564
return new Phone(trimmedPhone);
6665
}
6766

68-
/**
69-
* Parses a {@code String address} into an {@code Address}.
70-
* Leading and trailing whitespaces will be trimmed.
71-
*
72-
* @throws ParseException if the given {@code address} is invalid.
73-
*/
74-
public static Address parseAddress(String address) throws ParseException {
75-
requireNonNull(address);
76-
String trimmedAddress = address.trim();
77-
if (!Address.isValidAddress(trimmedAddress)) {
78-
throw new ParseException(Address.MESSAGE_CONSTRAINTS);
79-
}
80-
return new Address(trimmedAddress);
81-
}
82-
8367
/**
8468
* Parses a {@code String email} into an {@code Email}.
8569
* Leading and trailing whitespaces will be trimmed.

src/main/java/seedu/address/model/person/Address.java

Lines changed: 0 additions & 57 deletions
This file was deleted.

src/main/java/seedu/address/model/person/Status.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public String toString() {
3737
@Override
3838
public boolean equals(Object other) {
3939
return other == this // short circuit if same object
40-
|| (other instanceof Address // instanceof handles nulls
40+
|| (other instanceof Status // instanceof handles nulls
4141
&& (isDone == (((Status) other).isDone))); // state check
4242
}
4343

src/main/java/seedu/address/model/person/Task.java

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,16 @@ public class Task {
2020
private final Phone phone;
2121
private final Email email;
2222

23-
// Data fields
24-
private final Address address;
2523
private final Set<Tag> tags = new HashSet<>();
2624

2725
/**
2826
* Every field must be present and not null.
2927
*/
30-
public Task(ModuleName moduleName, Phone phone, Email email, Address address, Set<Tag> tags) {
31-
requireAllNonNull(moduleName, phone, email, address, tags);
28+
public Task(ModuleName moduleName, Phone phone, Email email, Set<Tag> tags) {
29+
requireAllNonNull(moduleName, phone, email, tags);
3230
this.moduleName = moduleName;
3331
this.phone = phone;
3432
this.email = email;
35-
this.address = address;
3633
this.tags.addAll(tags);
3734
}
3835

@@ -48,10 +45,6 @@ public Email getEmail() {
4845
return email;
4946
}
5047

51-
public Address getAddress() {
52-
return address;
53-
}
54-
5548
/**
5649
* Returns an immutable tag set, which throws {@code UnsupportedOperationException}
5750
* if modification is attempted.
@@ -64,7 +57,7 @@ public Set<Tag> getTags() {
6457
* Returns true if both persons have the same moduleName.
6558
* This defines a weaker notion of equality between two persons.
6659
*/
67-
public boolean isSamePerson(Task otherTask) {
60+
public boolean isSameTask(Task otherTask) {
6861
if (otherTask == this) {
6962
return true;
7063
}
@@ -91,14 +84,13 @@ public boolean equals(Object other) {
9184
return otherTask.getModuleName().equals(getModuleName())
9285
&& otherTask.getPhone().equals(getPhone())
9386
&& otherTask.getEmail().equals(getEmail())
94-
&& otherTask.getAddress().equals(getAddress())
9587
&& otherTask.getTags().equals(getTags());
9688
}
9789

9890
@Override
9991
public int hashCode() {
10092
// use this method for custom fields hashing instead of implementing your own
101-
return Objects.hash(moduleName, phone, email, address, tags);
93+
return Objects.hash(moduleName, phone, email, tags);
10294
}
10395

10496
@Override
@@ -108,9 +100,7 @@ public String toString() {
108100
.append("; Phone: ")
109101
.append(getPhone())
110102
.append("; Email: ")
111-
.append(getEmail())
112-
.append("; Address: ")
113-
.append(getAddress());
103+
.append(getEmail());
114104

115105
Set<Tag> tags = getTags();
116106
if (!tags.isEmpty()) {

src/main/java/seedu/address/model/person/UniquePersonList.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
*
2121
* Supports a minimal set of list operations.
2222
*
23-
* @see Task#isSamePerson(Task)
23+
* @see Task#isSameTask(Task)
2424
*/
2525
public class UniquePersonList implements Iterable<Task> {
2626

@@ -33,7 +33,7 @@ public class UniquePersonList implements Iterable<Task> {
3333
*/
3434
public boolean contains(Task toCheck) {
3535
requireNonNull(toCheck);
36-
return internalList.stream().anyMatch(toCheck::isSamePerson);
36+
return internalList.stream().anyMatch(toCheck::isSameTask);
3737
}
3838

3939
/**
@@ -61,7 +61,7 @@ public void setPerson(Task target, Task editedTask) {
6161
throw new PersonNotFoundException();
6262
}
6363

64-
if (!target.isSamePerson(editedTask) && contains(editedTask)) {
64+
if (!target.isSameTask(editedTask) && contains(editedTask)) {
6565
throw new DuplicatePersonException();
6666
}
6767

@@ -127,7 +127,7 @@ public int hashCode() {
127127
private boolean personsAreUnique(List<Task> tasks) {
128128
for (int i = 0; i < tasks.size() - 1; i++) {
129129
for (int j = i + 1; j < tasks.size(); j++) {
130-
if (tasks.get(i).isSamePerson(tasks.get(j))) {
130+
if (tasks.get(i).isSameTask(tasks.get(j))) {
131131
return false;
132132
}
133133
}

src/main/java/seedu/address/model/util/SampleDataUtil.java

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

77
import seedu.address.model.ReadOnlyTaskTracker;
88
import seedu.address.model.TaskTracker;
9-
import seedu.address.model.person.Address;
109
import seedu.address.model.person.Email;
1110
import seedu.address.model.person.ModuleName;
1211
import seedu.address.model.person.Phone;
@@ -20,22 +19,16 @@ public class SampleDataUtil {
2019
public static Task[] getSamplePersons() {
2120
return new Task[]{
2221
new Task(new ModuleName("Alex Yeoh"), new Phone("87438807"), new Email("alexyeoh@example.com"),
23-
new Address("Blk 30 Geylang Street 29, #06-40"),
2422
getTagSet("friends")),
2523
new Task(new ModuleName("Bernice Yu"), new Phone("99272758"), new Email("berniceyu@example.com"),
26-
new Address("Blk 30 Lorong 3 Serangoon Gardens, #07-18"),
2724
getTagSet("colleagues", "friends")),
2825
new Task(new ModuleName("Charlotte Oliveiro"), new Phone("93210283"), new Email("charlotte@example.com"),
29-
new Address("Blk 11 Ang Mo Kio Street 74, #11-04"),
3026
getTagSet("neighbours")),
3127
new Task(new ModuleName("David Li"), new Phone("91031282"), new Email("lidavid@example.com"),
32-
new Address("Blk 436 Serangoon Gardens Street 26, #16-43"),
3328
getTagSet("family")),
3429
new Task(new ModuleName("Irfan Ibrahim"), new Phone("92492021"), new Email("irfan@example.com"),
35-
new Address("Blk 47 Tampines Street 20, #17-35"),
3630
getTagSet("classmates")),
3731
new Task(new ModuleName("Roy Balakrishnan"), new Phone("92624417"), new Email("royb@example.com"),
38-
new Address("Blk 45 Aljunied Street 85, #11-31"),
3932
getTagSet("colleagues"))
4033
};
4134
}

0 commit comments

Comments
 (0)