Skip to content

Commit 6f02647

Browse files
committed
Fix find command bug
1 parent a12cbb5 commit 6f02647

File tree

5 files changed

+26
-8
lines changed

5 files changed

+26
-8
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public AddVisitCommand parse(String args) throws ParseException {
4141

4242
argMultimap.verifyNoDuplicatePrefixesFor(PREFIX_NRIC, PREFIX_DATEOFVISIT,
4343
PREFIX_SYMPTOM, PREFIX_DIAGNOSIS, PREFIX_STATUS);
44-
Nric nric = ParserUtil.parseNric(argMultimap.getValue(PREFIX_NRIC).get().toUpperCase());
44+
Nric nric = ParserUtil.parseNric(argMultimap.getValue(PREFIX_NRIC).get());
4545
DateOfVisit dov = ParserUtil.parseDateOfVisit(argMultimap.getValue(PREFIX_DATEOFVISIT).get());
4646
Symptom symptom = ParserUtil.parseSymptom(argMultimap.getValue(PREFIX_SYMPTOM).get());
4747
Diagnosis diagnosis = ParserUtil.parseDiagnosis(argMultimap.getValue(PREFIX_DIAGNOSIS).get());

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public CreateCommand parse(String args) throws ParseException {
5656

5757
argMultimap.verifyNoDuplicatePrefixesFor(PREFIX_NRIC, PREFIX_NAME, PREFIX_PHONE, PREFIX_ADDRESS,
5858
PREFIX_DATEOFBIRTH, PREFIX_SEX, PREFIX_STATUS);
59-
Nric nric = ParserUtil.parseNric(argMultimap.getValue(PREFIX_NRIC).get().toUpperCase());
59+
Nric nric = ParserUtil.parseNric(argMultimap.getValue(PREFIX_NRIC).get());
6060
Name name = ParserUtil.parseName(argMultimap.getValue(PREFIX_NAME).get());
6161
Phone phone = ParserUtil.parsePhone(argMultimap.getValue(PREFIX_PHONE).get());
6262
Address address = ParserUtil.parseAddress(argMultimap.getValue(PREFIX_ADDRESS).get());

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public class DeleteCommandParser implements Parser<DeleteCommand> {
1818
*/
1919
public DeleteCommand parse(String args) throws ParseException {
2020
try {
21-
Nric nric = ParserUtil.parseNric(args.toUpperCase());
21+
Nric nric = ParserUtil.parseNric(args);
2222
return new DeleteCommand(nric);
2323
} catch (ParseException pe) {
2424
throw new ParseException(

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public DeleteInfoCommand parse(String args) throws ParseException {
5757
//Check for NRIC
5858
Nric nric;
5959
try {
60-
nric = ParserUtil.parseNric(argMultimap.getPreamble().toUpperCase());
60+
nric = ParserUtil.parseNric(argMultimap.getPreamble());
6161
} catch (ParseException pe) {
6262
throw new ParseException(
6363
String.format(MESSAGE_INVALID_COMMAND_FORMAT, DeleteInfoCommand.MESSAGE_USAGE), pe);

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

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,23 +32,41 @@ public FindCommand parse(String args) throws ParseException {
3232
}
3333

3434
if (trimmedArgs.startsWith(PREFIX_NAME.getPrefix())) {
35-
String[] nameKeywords = trimmedArgs.substring(2).trim().split("\\s+");
36-
List<String> list = Arrays.asList(nameKeywords);
35+
String nameKeywords = trimmedArgs.substring(2);
36+
if (nameKeywords.isEmpty()) {
37+
throw new ParseException(
38+
String.format(MESSAGE_INVALID_COMMAND_FORMAT, FindCommand.MESSAGE_USAGE));
39+
}
40+
List<String> list = Arrays.asList(nameKeywords.trim().split("\\s+"));
3741
return new FindCommand(new NameContainsKeywordsPredicate(list));
3842
} else if (trimmedArgs.startsWith(PREFIX_ADDRESS.getPrefix())) {
39-
String[] addressKeywords = trimmedArgs.substring(2).trim().split(",");
43+
String doubleTrimmedArgs = trimmedArgs.substring(2);
44+
if (doubleTrimmedArgs.isEmpty()) {
45+
throw new ParseException(
46+
String.format(MESSAGE_INVALID_COMMAND_FORMAT, FindCommand.MESSAGE_USAGE));
47+
}
48+
49+
String[] addressKeywords = doubleTrimmedArgs.trim().split(",");
4050
int len = addressKeywords.length;
4151
for (int i = 0; i < len; i++) {
4252
addressKeywords[i] = addressKeywords[i].trim();
4353
}
54+
4455
List<String> list = Arrays.asList(addressKeywords);
4556
return new FindCommand(new AddressContainsKeywordsPredicate(list));
4657
} else if (trimmedArgs.startsWith(PREFIX_CONDITION.getPrefix())) {
47-
String[] conditionKeywords = trimmedArgs.substring(4).trim().split(",");
58+
String doubleTrimmedArgs = trimmedArgs.substring(4);
59+
if (doubleTrimmedArgs.isEmpty()) {
60+
throw new ParseException(
61+
String.format(MESSAGE_INVALID_COMMAND_FORMAT, FindCommand.MESSAGE_USAGE));
62+
}
63+
64+
String[] conditionKeywords = doubleTrimmedArgs.trim().split(",");
4865
int len = conditionKeywords.length;
4966
for (int i = 0; i < len; i++) {
5067
conditionKeywords[i] = conditionKeywords[i].trim();
5168
}
69+
5270
List<String> list = Arrays.asList(conditionKeywords);
5371
return new FindCommand(new ConditionContainsKeywordsPredicate(list));
5472
} else {

0 commit comments

Comments
 (0)