Skip to content

Commit

Permalink
Merge pull request #285 from rismm/master
Browse files Browse the repository at this point in the history
Update rename command
  • Loading branch information
awesomesjh committed Apr 15, 2024
2 parents 8bab866 + c3afdc1 commit cc9515a
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions src/main/java/supertracker/parser/Parser.java
Original file line number Diff line number Diff line change
Expand Up @@ -510,6 +510,15 @@ private static void validateItemExistsInInventory(String name, String errorMessa
* @throws TrackerException If the item already exists in the inventory
*/
private static String validateItemNotInInventory(String name, String errorMessage) throws TrackerException {
String itemName = replaceDelimitersInName(name);

if (Inventory.contains(itemName)) {
throw new TrackerException(itemName + errorMessage);
}
return itemName;
}

private static String replaceDelimitersInName(String name) {
String itemName = name;
if (name.contains(FILE_DELIMITER)) {
while (itemName.contains(FILE_DELIMITER)) {
Expand All @@ -519,9 +528,6 @@ private static String validateItemNotInInventory(String name, String errorMessag
Ui.printItemNameLimitation(name, FILE_DELIMITER, itemName);
}

if (Inventory.contains(itemName)) {
throw new TrackerException(itemName + errorMessage);
}
return itemName;
}

Expand Down Expand Up @@ -973,8 +979,11 @@ private static Command parseRenameCommand(String input) throws TrackerException
String newName = matcher.group(NEW_NAME_GROUP).trim();
validateNonEmptyParam(newName);
validateItemExistsInInventory(name, ErrorMessage.ITEM_NOT_IN_LIST_RENAME);
newName = validateItemNotInInventory(newName, ErrorMessage.ITEM_IN_LIST_RENAME);
newName = replaceDelimitersInName(newName);

if (!newName.equalsIgnoreCase(name)) {
newName = validateItemNotInInventory(newName, ErrorMessage.ITEM_IN_LIST_RENAME);
}
return new RenameCommand(name, newName);
}
//@@author
Expand Down

0 comments on commit cc9515a

Please sign in to comment.