From 2fea5e83fea9dc3ddc4bf11c26cf5e4cfe3354b8 Mon Sep 17 00:00:00 2001 From: yuehernkang Date: Mon, 7 Nov 2022 14:49:47 +0800 Subject: [PATCH 1/5] check property type to be only HDB, CONDO or LANDED only --- .../property/TypePropertyCommandParser.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/main/java/seedu/condonery/logic/parser/property/TypePropertyCommandParser.java b/src/main/java/seedu/condonery/logic/parser/property/TypePropertyCommandParser.java index aa9bb812220..eb684395977 100644 --- a/src/main/java/seedu/condonery/logic/parser/property/TypePropertyCommandParser.java +++ b/src/main/java/seedu/condonery/logic/parser/property/TypePropertyCommandParser.java @@ -1,13 +1,17 @@ package seedu.condonery.logic.parser.property; import static seedu.condonery.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.condonery.logic.parser.CliSyntax.PREFIX_PROPERTY_TYPE; import java.util.Arrays; +import java.util.Locale; import seedu.condonery.logic.commands.property.TypePropertyCommand; import seedu.condonery.logic.parser.Parser; +import seedu.condonery.logic.parser.ParserUtil; import seedu.condonery.logic.parser.exceptions.ParseException; import seedu.condonery.model.property.PropertyTypeContainsKeywordsPredicate; +import seedu.condonery.model.tag.PropertyTypeEnum; /** * Parses input arguments and creates a new TypePropertyCommand object @@ -25,9 +29,22 @@ public TypePropertyCommand parse(String args) throws ParseException { throw new ParseException( String.format(MESSAGE_INVALID_COMMAND_FORMAT, TypePropertyCommand.MESSAGE_USAGE)); } + System.out.println(trimmedArgs); + + String[] nameKeywords = trimmedArgs.split("\\s+"); + for (int i = 0; i < nameKeywords.length; i++) { + try { + ParserUtil.parsePropertyType( + nameKeywords[i]); + } catch (IllegalArgumentException ex) { + throw new ParseException( + "Invalid Property Type specified! Property Type must be one of HDB, CONDO, or LANDED"); + } + } + return new TypePropertyCommand(new PropertyTypeContainsKeywordsPredicate(Arrays.asList(nameKeywords))); } From 60cd957b9617689b1e671e8feabd1fc61cb4788b Mon Sep 17 00:00:00 2001 From: yuehernkang Date: Mon, 7 Nov 2022 14:52:16 +0800 Subject: [PATCH 2/5] Fix checkstyle errors --- .../logic/parser/property/TypePropertyCommandParser.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/main/java/seedu/condonery/logic/parser/property/TypePropertyCommandParser.java b/src/main/java/seedu/condonery/logic/parser/property/TypePropertyCommandParser.java index eb684395977..114b105bf7a 100644 --- a/src/main/java/seedu/condonery/logic/parser/property/TypePropertyCommandParser.java +++ b/src/main/java/seedu/condonery/logic/parser/property/TypePropertyCommandParser.java @@ -1,17 +1,14 @@ package seedu.condonery.logic.parser.property; import static seedu.condonery.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; -import static seedu.condonery.logic.parser.CliSyntax.PREFIX_PROPERTY_TYPE; import java.util.Arrays; -import java.util.Locale; import seedu.condonery.logic.commands.property.TypePropertyCommand; import seedu.condonery.logic.parser.Parser; import seedu.condonery.logic.parser.ParserUtil; import seedu.condonery.logic.parser.exceptions.ParseException; import seedu.condonery.model.property.PropertyTypeContainsKeywordsPredicate; -import seedu.condonery.model.tag.PropertyTypeEnum; /** * Parses input arguments and creates a new TypePropertyCommand object From 8b81d3aa0505db1c79e9761ce607a9723b566288 Mon Sep 17 00:00:00 2001 From: yuehernkang Date: Mon, 7 Nov 2022 14:58:14 +0800 Subject: [PATCH 3/5] Fix TypePropertyCommandParser error catching --- .../logic/parser/property/TypePropertyCommandParser.java | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/main/java/seedu/condonery/logic/parser/property/TypePropertyCommandParser.java b/src/main/java/seedu/condonery/logic/parser/property/TypePropertyCommandParser.java index 114b105bf7a..b2ff719b6f1 100644 --- a/src/main/java/seedu/condonery/logic/parser/property/TypePropertyCommandParser.java +++ b/src/main/java/seedu/condonery/logic/parser/property/TypePropertyCommandParser.java @@ -33,13 +33,8 @@ public TypePropertyCommand parse(String args) throws ParseException { String[] nameKeywords = trimmedArgs.split("\\s+"); for (int i = 0; i < nameKeywords.length; i++) { - try { - ParserUtil.parsePropertyType( - nameKeywords[i]); - } catch (IllegalArgumentException ex) { - throw new ParseException( - "Invalid Property Type specified! Property Type must be one of HDB, CONDO, or LANDED"); - } + ParserUtil.parsePropertyType( + nameKeywords[i]); } return new TypePropertyCommand(new PropertyTypeContainsKeywordsPredicate(Arrays.asList(nameKeywords))); From 8ed58ecd52f19a14d340977e364dc62d161fe190 Mon Sep 17 00:00:00 2001 From: yuehernkang Date: Mon, 7 Nov 2022 15:32:10 +0800 Subject: [PATCH 4/5] Remove print statement --- .../logic/parser/property/TypePropertyCommandParser.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/main/java/seedu/condonery/logic/parser/property/TypePropertyCommandParser.java b/src/main/java/seedu/condonery/logic/parser/property/TypePropertyCommandParser.java index b2ff719b6f1..988e9ee462a 100644 --- a/src/main/java/seedu/condonery/logic/parser/property/TypePropertyCommandParser.java +++ b/src/main/java/seedu/condonery/logic/parser/property/TypePropertyCommandParser.java @@ -26,10 +26,6 @@ public TypePropertyCommand parse(String args) throws ParseException { throw new ParseException( String.format(MESSAGE_INVALID_COMMAND_FORMAT, TypePropertyCommand.MESSAGE_USAGE)); } - System.out.println(trimmedArgs); - - - String[] nameKeywords = trimmedArgs.split("\\s+"); for (int i = 0; i < nameKeywords.length; i++) { From 8a557691b0d0d368e3ff3cd3ef82f7689b2b9a2c Mon Sep 17 00:00:00 2001 From: yuehernkang Date: Mon, 7 Nov 2022 15:34:14 +0800 Subject: [PATCH 5/5] Fix where status command accept input other than AVAILABLE, PENDING or SOLD --- .../logic/parser/property/StatusPropertyCommandParser.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/seedu/condonery/logic/parser/property/StatusPropertyCommandParser.java b/src/main/java/seedu/condonery/logic/parser/property/StatusPropertyCommandParser.java index 1e0146d3d15..9eb5b5b0602 100644 --- a/src/main/java/seedu/condonery/logic/parser/property/StatusPropertyCommandParser.java +++ b/src/main/java/seedu/condonery/logic/parser/property/StatusPropertyCommandParser.java @@ -6,6 +6,7 @@ import seedu.condonery.logic.commands.property.StatusPropertyCommand; import seedu.condonery.logic.parser.Parser; +import seedu.condonery.logic.parser.ParserUtil; import seedu.condonery.logic.parser.exceptions.ParseException; import seedu.condonery.model.property.PropertyStatusContainsKeywordsPredicate; @@ -28,6 +29,11 @@ public StatusPropertyCommand parse(String args) throws ParseException { String[] nameKeywords = trimmedArgs.split("\\s+"); + for (int i = 0; i < nameKeywords.length; i++) { + ParserUtil.parsePropertyStatus( + nameKeywords[i]); + } + return new StatusPropertyCommand(new PropertyStatusContainsKeywordsPredicate(Arrays.asList(nameKeywords))); }