Skip to content

Commit 28ba4b1

Browse files
Merge pull request nus-cs2103-AY2122S1#86 from benedictchuajj/branch-Refactor-Common
Refactor Messages and StringUtil in commons
2 parents f491e46 + 70da259 commit 28ba4b1

8 files changed

Lines changed: 38 additions & 38 deletions

File tree

src/main/java/seedu/address/commons/core/Messages.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,9 @@ public class Messages {
88
public static final String MESSAGE_UNKNOWN_COMMAND = "Unknown command";
99
public static final String MESSAGE_TOO_MANY_FIELDS = "Too many fields inputted into the command! \n%1$s";
1010
public static final String MESSAGE_INVALID_COMMAND_FORMAT = "Invalid command format! \n%1$s";
11-
public static final String MESSAGE_INVALID_PERSON_DISPLAYED_INDEX = "The person index provided is invalid";
12-
public static final String MESSAGE_INVALID_PERSON_CLIENTID = "The person client id provided is invalid";
11+
public static final String MESSAGE_NONEXISTENT_CLIENT_ID = "There's no contact with client ID %s";
1312
public static final String MESSAGE_PERSONS_LISTED_OVERVIEW = "%1$d persons listed!";
1413
public static final String MESSAGE_VIEW_SUCCESS = "Viewing person: %1$s";
15-
public static final String MESSAGE_VIEW_INVALID_CLIENT_ID = "There's no contact with client ID %s";
1614
public static final String MESSAGE_SORT_SUCCESS = "List sorted by %s";
1715

1816
}

src/main/java/seedu/address/commons/util/StringUtil.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,24 +39,24 @@ public static boolean containsWordIgnoreCase(String sentence, String word) {
3939
}
4040

4141
/**
42-
* Returns true if the {@code sentence} contains the {@code word}.
42+
* Returns true if the {@code sentence} contains the {@code string}.
4343
* Ignores case, a full word match is not required.
4444
* <br>examples:<pre>
4545
* containsWordIgnoreCase("ABc def", "abc") == true
4646
* containsWordIgnoreCase("ABc def", "DEF") == true
4747
* containsWordIgnoreCase("A Bc def", "A B") == true
4848
* </pre>
4949
* @param sentence cannot be null
50-
* @param word cannot be null, cannot be empty
50+
* @param string cannot be null, cannot be empty
5151
*/
52-
public static boolean containsIgnoreCase(String sentence, String word) {
52+
public static boolean containsStringIgnoreCase(String sentence, String string) {
5353
requireNonNull(sentence);
54-
requireNonNull(word);
54+
requireNonNull(string);
5555

56-
String preppedWord = word;
56+
String preppedWord = string;
5757
checkArgument(!preppedWord.isEmpty(), "Word parameter cannot be empty");
5858

59-
return sentence.toLowerCase().contains(word.toLowerCase());
59+
return sentence.toLowerCase().contains(string.toLowerCase());
6060
}
6161

6262
/**

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public EditCommand(ClientId clientId, EditPersonDescriptor editPersonDescriptor)
7777
public CommandResult execute(Model model) throws CommandException {
7878
requireNonNull(model);
7979
if (!model.hasClientId(clientId)) {
80-
throw new CommandException(Messages.MESSAGE_INVALID_PERSON_CLIENTID);
80+
throw new CommandException(String.format(Messages.MESSAGE_NONEXISTENT_CLIENT_ID, clientId));
8181
}
8282

8383
Person personToEdit = model.getAddressBook().getPerson(clientId);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public CommandResult execute(Model model) throws CommandException {
3333
requireNonNull(model);
3434
model.updatePersonToView(predicate);
3535
if (!model.isPersonExistToView()) {
36-
return new CommandResult(String.format(Messages.MESSAGE_VIEW_INVALID_CLIENT_ID, clientId.toString()));
36+
return new CommandResult(String.format(Messages.MESSAGE_NONEXISTENT_CLIENT_ID, clientId.toString()));
3737
}
3838
return new CommandResult(String.format(Messages.MESSAGE_VIEW_SUCCESS, model.getNameOfPersonToView()));
3939
}

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

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package seedu.address.model.person;
22

3-
import static seedu.address.commons.util.StringUtil.containsIgnoreCase;
3+
import static seedu.address.commons.util.StringUtil.containsStringIgnoreCase;
44
import static seedu.address.logic.parser.CliSyntax.PREFIX_ADDRESS;
55
import static seedu.address.logic.parser.CliSyntax.PREFIX_CURRENTPLAN;
66
import static seedu.address.logic.parser.CliSyntax.PREFIX_DISPOSABLEINCOME;
@@ -34,32 +34,32 @@ public boolean test(Person person) {
3434
boolean checkAttribute = Stream.of(person.getName(), person.getPhone(),
3535
person.getEmail(), person.getAddress(), person.getRiskAppetite(),
3636
person.getDisposableIncome(), person.getLastMet(), person.getCurrentPlan())
37-
.map(Object::toString).anyMatch(y -> containsIgnoreCase(y, x));
37+
.map(Object::toString).anyMatch(y -> containsStringIgnoreCase(y, x));
3838

3939
boolean checkAttributeTag = person.getTags().stream()
40-
.anyMatch(y -> containsIgnoreCase(y.tagName, x));
40+
.anyMatch(y -> containsStringIgnoreCase(y.tagName, x));
4141
return checkAttribute || checkAttributeTag;
4242
}
4343
);
4444

4545
boolean checkName = keywords.getValue(PREFIX_NAME)
46-
.map(x -> containsIgnoreCase(person.getName().toString(), x)).orElse(true);
46+
.map(x -> containsStringIgnoreCase(person.getName().toString(), x)).orElse(true);
4747
boolean checkPhone = keywords.getValue(PREFIX_PHONE)
48-
.map(x -> containsIgnoreCase(person.getPhone().toString(), x)).orElse(true);
48+
.map(x -> containsStringIgnoreCase(person.getPhone().toString(), x)).orElse(true);
4949
boolean checkEmail = keywords.getValue(PREFIX_EMAIL)
50-
.map(x -> containsIgnoreCase(person.getEmail().toString(), x)).orElse(true);
50+
.map(x -> containsStringIgnoreCase(person.getEmail().toString(), x)).orElse(true);
5151
boolean checkAddress = keywords.getValue(PREFIX_ADDRESS)
52-
.map(x -> containsIgnoreCase(person.getAddress().toString(), x)).orElse(true);
52+
.map(x -> containsStringIgnoreCase(person.getAddress().toString(), x)).orElse(true);
5353
boolean checkRiskAppetite = keywords.getValue(PREFIX_RISKAPPETITE)
54-
.map(x -> containsIgnoreCase(person.getRiskAppetite().toString(), x)).orElse(true);
54+
.map(x -> containsStringIgnoreCase(person.getRiskAppetite().toString(), x)).orElse(true);
5555
boolean checkDisposableIncome = keywords.getValue(PREFIX_DISPOSABLEINCOME)
56-
.map(x -> containsIgnoreCase(person.getDisposableIncome().toString(), x)).orElse(true);
56+
.map(x -> containsStringIgnoreCase(person.getDisposableIncome().toString(), x)).orElse(true);
5757
boolean checkLastMet = keywords.getValue(PREFIX_LASTMET)
58-
.map(x -> containsIgnoreCase(person.getLastMet().toString(), x)).orElse(true);
58+
.map(x -> containsStringIgnoreCase(person.getLastMet().toString(), x)).orElse(true);
5959
boolean checkCurrentPlan = keywords.getValue(PREFIX_CURRENTPLAN)
60-
.map(x -> containsIgnoreCase(person.getCurrentPlan().toString(), x)).orElse(true);
60+
.map(x -> containsStringIgnoreCase(person.getCurrentPlan().toString(), x)).orElse(true);
6161
boolean checkTags = keywords.getValue(PREFIX_TAG)
62-
.map(x -> person.getTags().stream().anyMatch(y -> containsIgnoreCase(y.tagName, x))).orElse(true);
62+
.map(x -> person.getTags().stream().anyMatch(y -> containsStringIgnoreCase(y.tagName, x))).orElse(true);
6363

6464
return checkGeneral && checkName && checkPhone && checkEmail && checkAddress && checkRiskAppetite
6565
&& checkDisposableIncome && checkLastMet && checkCurrentPlan && checkTags;

src/test/java/seedu/address/commons/util/StringUtilTest.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -167,37 +167,37 @@ public void containsWordIgnoreCase_validInputs_correctResult() {
167167

168168
@Test
169169
public void containIgnoreCase_nullSentence_throwsNullPointerException() {
170-
assertThrows(NullPointerException.class, () -> StringUtil.containsIgnoreCase(null, "a"));
170+
assertThrows(NullPointerException.class, () -> StringUtil.containsStringIgnoreCase(null, "a"));
171171
}
172172

173173
@Test
174174
public void containIgnoreCase_nullWord_throwsNullPointerException() {
175-
assertThrows(NullPointerException.class, () -> StringUtil.containsIgnoreCase("a", null));
175+
assertThrows(NullPointerException.class, () -> StringUtil.containsStringIgnoreCase("a", null));
176176
}
177177

178178
@Test
179179
public void containIgnoreCase_emptyWord_throwsIllegalArgumentException() {
180-
assertThrows(IllegalArgumentException.class, () -> StringUtil.containsIgnoreCase("a", ""));
180+
assertThrows(IllegalArgumentException.class, () -> StringUtil.containsStringIgnoreCase("a", ""));
181181
}
182182

183183
@Test
184184
public void containsIgnoreCase_validInputs_correctResult() {
185-
assertFalse(StringUtil.containsIgnoreCase("", "aaa"));
186-
assertFalse(StringUtil.containsIgnoreCase("abd", "g"));
187-
assertFalse(StringUtil.containsIgnoreCase("abd", " a"));
185+
assertFalse(StringUtil.containsStringIgnoreCase("", "aaa"));
186+
assertFalse(StringUtil.containsStringIgnoreCase("abd", "g"));
187+
assertFalse(StringUtil.containsStringIgnoreCase("abd", " a"));
188188

189-
assertTrue(StringUtil.containsIgnoreCase("abc", "a"));
190-
assertTrue(StringUtil.containsIgnoreCase("ab c", "c"));
189+
assertTrue(StringUtil.containsStringIgnoreCase("abc", "a"));
190+
assertTrue(StringUtil.containsStringIgnoreCase("ab c", "c"));
191191

192192
//match uppercase and lowercase
193-
assertTrue(StringUtil.containsIgnoreCase("abC", "C"));
194-
assertTrue(StringUtil.containsIgnoreCase("abfCa", "fCa"));
193+
assertTrue(StringUtil.containsStringIgnoreCase("abC", "C"));
194+
assertTrue(StringUtil.containsStringIgnoreCase("abfCa", "fCa"));
195195

196196
// match for word with spaces in between
197-
assertTrue(StringUtil.containsIgnoreCase("b a a d", "a a"));
197+
assertTrue(StringUtil.containsStringIgnoreCase("b a a d", "a a"));
198198

199199
// match multiple
200-
assertTrue(StringUtil.containsIgnoreCase("acadffac", "ac"));
200+
assertTrue(StringUtil.containsStringIgnoreCase("acadffac", "ac"));
201201
}
202202

203203
//---------------- Tests for getDetails --------------------------------------

src/test/java/seedu/address/logic/commands/EditCommandTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,9 @@ public void execute_invalidPerson_failure() {
103103
EditPersonDescriptor descriptor = new EditPersonDescriptorBuilder().withName(VALID_NAME_BOB).build();
104104
EditCommand editCommand = new EditCommand(outOfBound, descriptor);
105105

106-
assertCommandFailure(editCommand, model, Messages.MESSAGE_INVALID_PERSON_CLIENTID);
106+
assertCommandFailure(editCommand, model,
107+
String.format(Messages.MESSAGE_NONEXISTENT_CLIENT_ID, CLIENTID_OUTOFBOUND)
108+
);
107109
}
108110

109111
@Test

src/test/java/seedu/address/logic/commands/ViewCommandTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import static org.junit.jupiter.api.Assertions.assertEquals;
44
import static org.junit.jupiter.api.Assertions.assertFalse;
55
import static org.junit.jupiter.api.Assertions.assertTrue;
6-
import static seedu.address.commons.core.Messages.MESSAGE_VIEW_INVALID_CLIENT_ID;
6+
import static seedu.address.commons.core.Messages.MESSAGE_NONEXISTENT_CLIENT_ID;
77
import static seedu.address.commons.core.Messages.MESSAGE_VIEW_SUCCESS;
88
import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess;
99
import static seedu.address.testutil.TypicalPersons.ALICE;
@@ -66,7 +66,7 @@ public void execute_validClientId_success() {
6666
@Test
6767
public void execute_invalidClientId_failure() {
6868
String userInput = "10";
69-
String expectedMessage = String.format(MESSAGE_VIEW_INVALID_CLIENT_ID, userInput);
69+
String expectedMessage = String.format(MESSAGE_NONEXISTENT_CLIENT_ID, userInput);
7070
PersonHasId predicate = preparePredicate(userInput);
7171
ViewCommand command = new ViewCommand(new ClientId(userInput), predicate);
7272
expectedModel.updatePersonToView(predicate);

0 commit comments

Comments
 (0)