From 549ebd7a3e7fd45cf006784160940a9916da6e14 Mon Sep 17 00:00:00 2001 From: davidni Date: Sun, 26 Mar 2023 01:45:02 +0800 Subject: [PATCH] Fix tags parser in edit command parser --- .../seedu/address/logic/parser/ArgumentMultimap.java | 1 - .../address/logic/parser/EditCommandParser.java | 12 ++++++++++-- src/main/java/seedu/address/model/tag/Tag.java | 3 ++- src/main/java/seedu/address/ui/PersonalPane.java | 1 - 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/main/java/seedu/address/logic/parser/ArgumentMultimap.java b/src/main/java/seedu/address/logic/parser/ArgumentMultimap.java index c1eb40c8eef..239736df093 100644 --- a/src/main/java/seedu/address/logic/parser/ArgumentMultimap.java +++ b/src/main/java/seedu/address/logic/parser/ArgumentMultimap.java @@ -56,7 +56,6 @@ public List getAllValues(Prefix prefix) { if (!argMultimap.containsKey(prefix)) { return new ArrayList<>(); } - System.out.println(argMultimap.get(prefix)); return new ArrayList<>(argMultimap.get(prefix)); } diff --git a/src/main/java/seedu/address/logic/parser/EditCommandParser.java b/src/main/java/seedu/address/logic/parser/EditCommandParser.java index 834df697f0f..fd32bfb7d2a 100644 --- a/src/main/java/seedu/address/logic/parser/EditCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/EditCommandParser.java @@ -3,7 +3,9 @@ import static java.util.Objects.requireNonNull; import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; import static seedu.address.logic.parser.CliSyntax.PREFIX_ADDRESS; +import static seedu.address.logic.parser.CliSyntax.PREFIX_COMMITMENT_TAG; import static seedu.address.logic.parser.CliSyntax.PREFIX_EMAIL; +import static seedu.address.logic.parser.CliSyntax.PREFIX_MODULE_TAG; import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; import static seedu.address.logic.parser.CliSyntax.PREFIX_PHONE; import static seedu.address.logic.parser.CliSyntax.PREFIX_STATUS; @@ -13,6 +15,8 @@ import java.util.Collections; import java.util.Optional; import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.Stream; import seedu.address.commons.core.index.Index; import seedu.address.logic.commands.EditCommand; @@ -35,7 +39,7 @@ public EditCommand parse(String args) throws ParseException { requireNonNull(args); ArgumentMultimap argMultimap = ArgumentTokenizer.tokenize(args, PREFIX_NAME, PREFIX_STATUS, PREFIX_PHONE, PREFIX_EMAIL, - PREFIX_ADDRESS, PREFIX_TAG); + PREFIX_ADDRESS, PREFIX_TAG, PREFIX_COMMITMENT_TAG, PREFIX_MODULE_TAG); Index index; @@ -61,7 +65,11 @@ public EditCommand parse(String args) throws ParseException { if (argMultimap.getValue(PREFIX_ADDRESS).isPresent()) { editPersonDescriptor.setAddress(ParserUtil.parseAddress(argMultimap.getValue(PREFIX_ADDRESS).get())); } - parseTagsForEdit(argMultimap.getAllValues(PREFIX_TAG)).ifPresent(editPersonDescriptor::setTags); + Collection allTags = Stream.of(argMultimap.getAllValues(PREFIX_TAG), + argMultimap.getAllValues(PREFIX_MODULE_TAG), argMultimap.getAllValues(PREFIX_COMMITMENT_TAG)) + .flatMap(Collection::stream) + .collect(Collectors.toList()); + parseTagsForEdit(allTags).ifPresent(editPersonDescriptor::setTags); if (!editPersonDescriptor.isAnyFieldEdited()) { throw new ParseException(EditCommand.MESSAGE_NOT_EDITED); diff --git a/src/main/java/seedu/address/model/tag/Tag.java b/src/main/java/seedu/address/model/tag/Tag.java index d227361c2ca..debcdf51b6c 100644 --- a/src/main/java/seedu/address/model/tag/Tag.java +++ b/src/main/java/seedu/address/model/tag/Tag.java @@ -9,7 +9,8 @@ */ public class Tag { - public static final String MESSAGE_CONSTRAINTS = "Tags names should be alphanumeric"; + public static final String MESSAGE_CONSTRAINTS = "Tags names should be alphanumeric, do not include" + + " characters like @,#,*,- or white space between words"; public static final String VALIDATION_REGEX = "\\p{Alnum}+"; public final String tagName; diff --git a/src/main/java/seedu/address/ui/PersonalPane.java b/src/main/java/seedu/address/ui/PersonalPane.java index 95d24508e48..a40d7db480b 100644 --- a/src/main/java/seedu/address/ui/PersonalPane.java +++ b/src/main/java/seedu/address/ui/PersonalPane.java @@ -10,7 +10,6 @@ import javafx.scene.layout.FlowPane; import javafx.scene.layout.HBox; import javafx.scene.layout.Region; -import javafx.scene.text.TextAlignment; import seedu.address.model.person.Person; import seedu.address.model.tag.Tag; import seedu.address.model.util.ImageUtil;