Skip to content

Commit fb37946

Browse files
authored
Merge pull request nus-cs2103-AY2021S1#76 from TCQian/TCQian-Refractor-Phone-To-Deadlline-In-Project
Refactor phone to deadlline in project
2 parents 33c0ea1 + 9f0910f commit fb37946

36 files changed

+483
-370
lines changed

docs/DeveloperGuide.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ Use case ends.
328328
**MSS:**
329329

330330
1. Team leader create a new team member profile.
331-
2. TMTS asks for the details of the team member such as projectName, phone number and email projectDescription.
331+
2. TMTS asks for the details of the team member such as projectName, deadline, email and projectDescription.
332332
3. Team leader keys in the details.
333333
4. TMTS stores the team member's profile into the data file.
334334

@@ -353,7 +353,7 @@ Use case ends.
353353
1. Team leader chooses to edit a team member's profile.
354354
2. PTS asks for the projectName of the team member whose profile is to be edited.
355355
3. Team leader keys in the projectName of the team member.
356-
4. TMTS asks for the new information of team member such as projectName, phone number and email projectDescription.
356+
4. TMTS asks for the new information of team member such as projectName, deadline, email and projectDescription.
357357
5. Team leader keys in the details.
358358
6. TMTS stores the team member's profile into the data file.
359359

docs/tutorials/RemovingFields.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ private Label projectDescription;
7373

7474
``` xml
7575
...
76-
<Label fx:id="phone" styleClass="cell_small_label" text="\$phone" />
76+
<Label fx:id="deadline" styleClass="cell_small_label" text="\$deadline" />
7777
<Label fx:id="projectDescription" styleClass="cell_small_label" text="\$projectDescription" />
7878
<Label fx:id="email" styleClass="cell_small_label" text="\$email" />
7979
...
@@ -93,7 +93,7 @@ In `src/test/data/`, data meant for testing purposes are stored. While keeping t
9393
{
9494
"projects": [ {
9595
"projectName": "Project with invalid projectName field: Ha!ns Mu@ster",
96-
"phone": "9482424",
96+
"deadline": "21-03-2020 00:00:00",
9797
"email": "[email protected]",
9898
"projectDescription": "4th street"
9999
} ]

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

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

33
import static java.util.Objects.requireNonNull;
4+
import static seedu.address.logic.parser.CliSyntax.PREFIX_DEADLINE;
45
import static seedu.address.logic.parser.CliSyntax.PREFIX_EMAIL;
5-
import static seedu.address.logic.parser.CliSyntax.PREFIX_PHONE;
66
import static seedu.address.logic.parser.CliSyntax.PREFIX_PROJECT_DESCRIPTION;
77
import static seedu.address.logic.parser.CliSyntax.PREFIX_PROJECT_NAME;
88
import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG;
@@ -22,14 +22,14 @@ public class AddCommand extends Command {
2222
public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a project to the main catalogue. "
2323
+ "Parameters: "
2424
+ PREFIX_PROJECT_NAME + "PROJECT NAME "
25-
+ PREFIX_PHONE + "PHONE "
25+
+ PREFIX_DEADLINE + "DEADLINE "
2626
+ PREFIX_EMAIL + "EMAIL "
2727
+ PREFIX_PROJECT_DESCRIPTION + "PROJECT DESCRIPTION "
2828
+ "[" + PREFIX_TAG + "TAG]...\n"
2929
+ "[" + PREFIX_TASK + "TASK]...\n"
3030
+ "Example: " + COMMAND_WORD + " "
3131
+ PREFIX_PROJECT_NAME + "John Doe "
32-
+ PREFIX_PHONE + "98765432 "
32+
+ PREFIX_DEADLINE + "29-02-2020 00:00:00"
3333
+ PREFIX_EMAIL + "[email protected] "
3434
+ PREFIX_PROJECT_DESCRIPTION + "311, Clementi Ave 2, #02-25 "
3535
+ PREFIX_TAG + "friends "

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

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package seedu.address.logic.commands;
22

33
import static java.util.Objects.requireNonNull;
4+
import static seedu.address.logic.parser.CliSyntax.PREFIX_DEADLINE;
45
import static seedu.address.logic.parser.CliSyntax.PREFIX_EMAIL;
5-
import static seedu.address.logic.parser.CliSyntax.PREFIX_PHONE;
66
import static seedu.address.logic.parser.CliSyntax.PREFIX_PROJECT_DESCRIPTION;
77
import static seedu.address.logic.parser.CliSyntax.PREFIX_PROJECT_NAME;
88
import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG;
@@ -21,14 +21,13 @@
2121
import seedu.address.commons.util.CollectionUtil;
2222
import seedu.address.logic.commands.exceptions.CommandException;
2323
import seedu.address.model.Model;
24+
import seedu.address.model.project.Deadline;
2425
import seedu.address.model.project.Email;
25-
import seedu.address.model.project.Phone;
2626
import seedu.address.model.project.Project;
2727
import seedu.address.model.project.ProjectDescription;
2828
import seedu.address.model.project.ProjectName;
2929
import seedu.address.model.tag.Tag;
3030
import seedu.address.model.task.Task;
31-
3231
/**
3332
* Edits the details of an existing project in the main catalogue.
3433
*/
@@ -41,13 +40,13 @@ public class EditCommand extends Command {
4140
+ "Existing values will be overwritten by the input values.\n"
4241
+ "Parameters: INDEX (must be a positive integer) "
4342
+ "[" + PREFIX_PROJECT_NAME + "PROJECTNAME] "
44-
+ "[" + PREFIX_PHONE + "PHONE] "
43+
+ "[" + PREFIX_DEADLINE + "DEADLINE] "
4544
+ "[" + PREFIX_EMAIL + "EMAIL] "
4645
+ "[" + PREFIX_PROJECT_DESCRIPTION + "PROJECTDESCRIPTION] "
4746
+ "[" + PREFIX_TAG + "TAG]...\n"
4847
+ "[" + PREFIX_TASK + "TASK]...\n"
4948
+ "Example: " + COMMAND_WORD + " 1 "
50-
+ PREFIX_PHONE + "91234567 "
49+
+ PREFIX_DEADLINE + "29-02-2020 00:00:00 "
5150
+ PREFIX_EMAIL + "[email protected]";
5251

5352
public static final String MESSAGE_EDIT_PROJECT_SUCCESS = "Edited Project: %1$s";
@@ -98,14 +97,14 @@ private static Project createEditedProject(Project projectToEdit, EditProjectDes
9897
assert projectToEdit != null;
9998

10099
ProjectName updatedProjectName = editProjectDescriptor.getProjectName().orElse(projectToEdit.getProjectName());
101-
Phone updatedPhone = editProjectDescriptor.getPhone().orElse(projectToEdit.getPhone());
100+
Deadline updatedDeadline = editProjectDescriptor.getDeadline().orElse(projectToEdit.getDeadline());
102101
Email updatedEmail = editProjectDescriptor.getEmail().orElse(projectToEdit.getEmail());
103102
ProjectDescription updatedProjectDescription = editProjectDescriptor.getProjectDescription()
104103
.orElse(projectToEdit.getProjectDescription());
105104
Set<Tag> updatedTags = editProjectDescriptor.getTags().orElse(projectToEdit.getTags());
106105
Set<Task> updatedTasks = editProjectDescriptor.getTasks().orElse(projectToEdit.getTasks());
107106

108-
return new Project(updatedProjectName, updatedPhone, updatedEmail, updatedProjectDescription,
107+
return new Project(updatedProjectName, updatedDeadline, updatedEmail, updatedProjectDescription,
109108
updatedTags, new HashMap<>(), updatedTasks);
110109
}
111110

@@ -133,7 +132,7 @@ public boolean equals(Object other) {
133132
*/
134133
public static class EditProjectDescriptor {
135134
private ProjectName projectName;
136-
private Phone phone;
135+
private Deadline deadline;
137136
private Email email;
138137
private ProjectDescription projectDescription;
139138
private Set<Tag> tags;
@@ -147,7 +146,7 @@ public EditProjectDescriptor() {}
147146
*/
148147
public EditProjectDescriptor(EditProjectDescriptor toCopy) {
149148
setProjectName(toCopy.projectName);
150-
setPhone(toCopy.phone);
149+
setDeadline(toCopy.deadline);
151150
setEmail(toCopy.email);
152151
setProjectDescription(toCopy.projectDescription);
153152
setTags(toCopy.tags);
@@ -158,7 +157,7 @@ public EditProjectDescriptor(EditProjectDescriptor toCopy) {
158157
* Returns true if at least one field is edited.
159158
*/
160159
public boolean isAnyFieldEdited() {
161-
return CollectionUtil.isAnyNonNull(projectName, phone, email, projectDescription, tags, tasks);
160+
return CollectionUtil.isAnyNonNull(projectName, deadline, email, projectDescription, tags, tasks);
162161
}
163162

164163
public void setProjectName(ProjectName projectName) {
@@ -169,12 +168,12 @@ public Optional<ProjectName> getProjectName() {
169168
return Optional.ofNullable(projectName);
170169
}
171170

172-
public void setPhone(Phone phone) {
173-
this.phone = phone;
171+
public void setDeadline(Deadline deadline) {
172+
this.deadline = deadline;
174173
}
175174

176-
public Optional<Phone> getPhone() {
177-
return Optional.ofNullable(phone);
175+
public Optional<Deadline> getDeadline() {
176+
return Optional.ofNullable(deadline);
178177
}
179178

180179
public void setEmail(Email email) {
@@ -243,7 +242,7 @@ public boolean equals(Object other) {
243242
EditProjectDescriptor e = (EditProjectDescriptor) other;
244243

245244
return getProjectName().equals(e.getProjectName())
246-
&& getPhone().equals(e.getPhone())
245+
&& getDeadline().equals(e.getDeadline())
247246
&& getEmail().equals(e.getEmail())
248247
&& getProjectDescription().equals(e.getProjectDescription())
249248
&& getTags().equals(e.getTags())

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
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_DEADLINE;
45
import static seedu.address.logic.parser.CliSyntax.PREFIX_EMAIL;
5-
import static seedu.address.logic.parser.CliSyntax.PREFIX_PHONE;
66
import static seedu.address.logic.parser.CliSyntax.PREFIX_PROJECT_DESCRIPTION;
77
import static seedu.address.logic.parser.CliSyntax.PREFIX_PROJECT_NAME;
88
import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG;
@@ -14,8 +14,8 @@
1414

1515
import seedu.address.logic.commands.AddCommand;
1616
import seedu.address.logic.parser.exceptions.ParseException;
17+
import seedu.address.model.project.Deadline;
1718
import seedu.address.model.project.Email;
18-
import seedu.address.model.project.Phone;
1919
import seedu.address.model.project.Project;
2020
import seedu.address.model.project.ProjectDescription;
2121
import seedu.address.model.project.ProjectName;
@@ -34,24 +34,24 @@ public class AddCommandParser implements Parser<AddCommand> {
3434
*/
3535
public AddCommand parse(String args) throws ParseException {
3636
ArgumentMultimap argMultimap =
37-
ArgumentTokenizer.tokenize(args, PREFIX_PROJECT_NAME, PREFIX_PHONE, PREFIX_EMAIL,
37+
ArgumentTokenizer.tokenize(args, PREFIX_PROJECT_NAME, PREFIX_DEADLINE, PREFIX_EMAIL,
3838
PREFIX_PROJECT_DESCRIPTION, PREFIX_TAG, PREFIX_TASK);
3939

4040
if (!arePrefixesPresent(argMultimap, PREFIX_PROJECT_NAME,
41-
PREFIX_PROJECT_DESCRIPTION, PREFIX_PHONE, PREFIX_EMAIL)
41+
PREFIX_PROJECT_DESCRIPTION, PREFIX_DEADLINE, PREFIX_EMAIL)
4242
|| !argMultimap.getPreamble().isEmpty()) {
4343
throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, AddCommand.MESSAGE_USAGE));
4444
}
4545

4646
ProjectName projectName = ParserUtil.parseProjectName(argMultimap.getValue(PREFIX_PROJECT_NAME).get());
47-
Phone phone = ParserUtil.parsePhone(argMultimap.getValue(PREFIX_PHONE).get());
47+
Deadline deadline = ParserUtil.parseDeadline(argMultimap.getValue(PREFIX_DEADLINE).get());
4848
Email email = ParserUtil.parseEmail(argMultimap.getValue(PREFIX_EMAIL).get());
4949
ProjectDescription projectDescription = ParserUtil.projectDescription(argMultimap.getValue(
5050
PREFIX_PROJECT_DESCRIPTION).get());
5151
Set<Tag> tagList = ParserUtil.parseTags(argMultimap.getAllValues(PREFIX_TAG));
5252
Set<Task> taskList = ParserUtil.parseTasks(argMultimap.getAllValues(PREFIX_TASK));
5353

54-
Project project = new Project(projectName, phone, email, projectDescription, tagList,
54+
Project project = new Project(projectName, deadline, email, projectDescription, tagList,
5555
new HashMap<>(), taskList);
5656

5757
return new AddCommand(project);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ public class CliSyntax {
77

88
/* Prefix definitions */
99
public static final Prefix PREFIX_PROJECT_NAME = new Prefix("n/");
10-
public static final Prefix PREFIX_PHONE = new Prefix("p/");
10+
public static final Prefix PREFIX_DEADLINE = new Prefix("dl/");
1111
public static final Prefix PREFIX_EMAIL = new Prefix("e/");
1212
public static final Prefix PREFIX_PROJECT_DESCRIPTION = new Prefix("d/");
1313
public static final Prefix PREFIX_TAG = new Prefix("tg/");

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
import static java.util.Objects.requireNonNull;
44
import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT;
5+
import static seedu.address.logic.parser.CliSyntax.PREFIX_DEADLINE;
56
import static seedu.address.logic.parser.CliSyntax.PREFIX_EMAIL;
6-
import static seedu.address.logic.parser.CliSyntax.PREFIX_PHONE;
77
import static seedu.address.logic.parser.CliSyntax.PREFIX_PROJECT_DESCRIPTION;
88
import static seedu.address.logic.parser.CliSyntax.PREFIX_PROJECT_NAME;
99
import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG;
@@ -34,7 +34,7 @@ public class EditCommandParser implements Parser<EditCommand> {
3434
public EditCommand parse(String args) throws ParseException {
3535
requireNonNull(args);
3636
ArgumentMultimap argMultimap =
37-
ArgumentTokenizer.tokenize(args, PREFIX_PROJECT_NAME, PREFIX_PHONE, PREFIX_EMAIL,
37+
ArgumentTokenizer.tokenize(args, PREFIX_PROJECT_NAME, PREFIX_DEADLINE, PREFIX_EMAIL,
3838
PREFIX_PROJECT_DESCRIPTION, PREFIX_TAG, PREFIX_TASK);
3939

4040
Index index;
@@ -50,8 +50,8 @@ public EditCommand parse(String args) throws ParseException {
5050
editProjectDescriptor.setProjectName(ParserUtil.parseProjectName(
5151
argMultimap.getValue(PREFIX_PROJECT_NAME).get()));
5252
}
53-
if (argMultimap.getValue(PREFIX_PHONE).isPresent()) {
54-
editProjectDescriptor.setPhone(ParserUtil.parsePhone(argMultimap.getValue(PREFIX_PHONE).get()));
53+
if (argMultimap.getValue(PREFIX_DEADLINE).isPresent()) {
54+
editProjectDescriptor.setDeadline(ParserUtil.parseDeadline(argMultimap.getValue(PREFIX_DEADLINE).get()));
5555
}
5656
if (argMultimap.getValue(PREFIX_EMAIL).isPresent()) {
5757
editProjectDescriptor.setEmail(ParserUtil.parseEmail(argMultimap.getValue(PREFIX_EMAIL).get()));

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

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
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.project.Deadline;
1213
import seedu.address.model.project.Email;
13-
import seedu.address.model.project.Phone;
1414
import seedu.address.model.project.ProjectDescription;
1515
import seedu.address.model.project.ProjectName;
1616
import seedu.address.model.tag.Tag;
@@ -52,18 +52,18 @@ public static ProjectName parseProjectName(String projectName) throws ParseExcep
5252
}
5353

5454
/**
55-
* Parses a {@code String phone} into a {@code Phone}.
55+
* Parses a {@code String deadline} into a {@code Deadline}.
5656
* Leading and trailing whitespaces will be trimmed.
5757
*
58-
* @throws ParseException if the given {@code phone} is invalid.
58+
* @throws ParseException if the given {@code deadline} is invalid.
5959
*/
60-
public static Phone parsePhone(String phone) throws ParseException {
61-
requireNonNull(phone);
62-
String trimmedPhone = phone.trim();
63-
if (!Phone.isValidPhone(trimmedPhone)) {
64-
throw new ParseException(Phone.MESSAGE_CONSTRAINTS);
60+
public static Deadline parseDeadline(String deadline) throws ParseException {
61+
requireNonNull(deadline);
62+
String trimmedDeadline = deadline.trim();
63+
if (!Deadline.isValidDeadline(trimmedDeadline)) {
64+
throw new ParseException(Deadline.MESSAGE_CONSTRAINTS);
6565
}
66-
return new Phone(trimmedPhone);
66+
return new Deadline(trimmedDeadline);
6767
}
6868

6969
/**

0 commit comments

Comments
 (0)