From 943a3e5aa8347a93e7bad007848b9a86d30ba3f4 Mon Sep 17 00:00:00 2001 From: TheRealRavager Date: Tue, 29 Oct 2019 16:52:34 +0800 Subject: [PATCH 01/17] WIP: Implemented calculation of Levenshtein distance --- .../organice/logic/commands/FindCommand.java | 6 +- .../logic/commands/FuzzyFindCommand.java | 169 ++++++++++++++++++ .../logic/parser/AddressBookParser.java | 4 +- .../logic/parser/FindCommandParser.java | 4 +- .../logic/parser/FuzzyFindCommandParser.java | 45 +++++ src/main/java/organice/model/Model.java | 7 + ...PersonContainsExactPrefixesPredicate.java} | 8 +- .../logic/commands/CommandTestUtil.java | 4 +- .../logic/commands/FindCommandTest.java | 17 +- .../logic/parser/AddressBookParserTest.java | 4 +- .../logic/parser/FindCommandParserTest.java | 4 +- .../java/organice/model/ModelManagerTest.java | 4 +- ...onContainsExactPrefixesPredicateTest.java} | 28 +-- 13 files changed, 263 insertions(+), 41 deletions(-) create mode 100644 src/main/java/organice/logic/commands/FuzzyFindCommand.java create mode 100644 src/main/java/organice/logic/parser/FuzzyFindCommandParser.java rename src/main/java/organice/model/person/{PersonContainsPrefixesPredicate.java => PersonContainsExactPrefixesPredicate.java} (93%) rename src/test/java/organice/model/person/{PersonContainsPrefixesPredicateTest.java => PersonContainsExactPrefixesPredicateTest.java} (79%) diff --git a/src/main/java/organice/logic/commands/FindCommand.java b/src/main/java/organice/logic/commands/FindCommand.java index 2c2a7a30635..82eadac3af6 100644 --- a/src/main/java/organice/logic/commands/FindCommand.java +++ b/src/main/java/organice/logic/commands/FindCommand.java @@ -4,7 +4,7 @@ import organice.commons.core.Messages; import organice.model.Model; -import organice.model.person.PersonContainsPrefixesPredicate; +import organice.model.person.PersonContainsExactPrefixesPredicate; /** * Finds and lists all persons in address book whose prefixes match any of the argument prefix-keyword pairs. @@ -20,9 +20,9 @@ public class FindCommand extends Command { + "Parameters: PREFIX/KEYWORD [MORE_PREFIX-KEYWORD_PAIRS]...\n" + "Example: " + COMMAND_WORD + " n/alice t/doctor"; - private final PersonContainsPrefixesPredicate predicate; + private final PersonContainsExactPrefixesPredicate predicate; - public FindCommand(PersonContainsPrefixesPredicate predicate) { + public FindCommand(PersonContainsExactPrefixesPredicate predicate) { requireNonNull(predicate); this.predicate = predicate; } diff --git a/src/main/java/organice/logic/commands/FuzzyFindCommand.java b/src/main/java/organice/logic/commands/FuzzyFindCommand.java new file mode 100644 index 00000000000..f3ba80feefd --- /dev/null +++ b/src/main/java/organice/logic/commands/FuzzyFindCommand.java @@ -0,0 +1,169 @@ +package organice.logic.commands; + +import static java.util.Objects.requireNonNull; +import static organice.logic.parser.CliSyntax.*; + +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import javafx.collections.transformation.FilteredList; +import organice.commons.core.Messages; +import organice.logic.parser.ArgumentMultimap; +import organice.model.Model; +import organice.model.person.Person; +import organice.model.person.PersonContainsExactPrefixesPredicate; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.logging.Filter; + +/** + * Finds and lists all persons in address book whose prefixes match any of the argument prefix-keyword pairs. + * Performs fuzzy searching based on Levenshtein Distance. + * Keyword matching is case insensitive. + */ +public class FuzzyFindCommand extends Command { + + public static final String COMMAND_WORD = "fuzfind"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Finds all persons whose prefixes are similar to any of" + + " the specified prefix-keywords pairs (case-insensitive) and displays them as a list with index numbers." + + "\nList of Prefixes: n/, ic/, p/, a/, t/, pr/, b/, d/, tt/, exp/, o/" + + "Parameters: PREFIX/KEYWORD [MORE_PREFIX-KEYWORD_PAIRS]...\n" + + "Example: " + COMMAND_WORD + " n/alice t/doctor"; + + private final ArgumentMultimap argMultimap; + + public FuzzyFindCommand(ArgumentMultimap argMultimap) { + this.argMultimap = argMultimap; + } + + private FilteredList fuzzyMatch(ArgumentMultimap argMultimap, FilteredList inputList) { + // Take math_min of Levenshtein Distance within one prefix, and accumulate them. + + // Calculate LD for each pair of keyword, attribute within one prefix. Take math_min of all. + // sum all LD. That is the LD of the Person + // Sort the inputlist according to the LDs + // Over to you #execute + + // Fuzzy Match does not take into account the following prefixes due to these reasons: + // Age, Priority, BloodType, TissueType: + // Typos in these fields have a very small Levenshtein Distance (LD) as field length is very small + // Current Implementation of fuzzy search only supports the main 4 person attributes + + List nameKeywords = argMultimap.getAllValues(PREFIX_NAME); + List nricKeywords = argMultimap.getAllValues(PREFIX_NRIC); + List phoneKeywords = argMultimap.getAllValues(PREFIX_PHONE); + List typeKeywords = argMultimap.getAllValues(PREFIX_TYPE); + + // Array containing combined Levenshtein Distance of persons in inputList + int[] distanceArr = new int[inputList.size()]; + + for (int i = 0; i < inputList.size(); i++) { + Person currentPerson = inputList.get(i); + int combinedLevenshteinDistance = 0; + combinedLevenshteinDistance += nameKeywords.isEmpty() ? 0 + : findMinLevenshteinDistance(nameKeywords, currentPerson.getName().toString()); + combinedLevenshteinDistance += nricKeywords.isEmpty() ? 0 + : findMinLevenshteinDistance(nricKeywords, currentPerson.getNric().toString()); + combinedLevenshteinDistance += phoneKeywords.isEmpty() ? 0 + : findMinLevenshteinDistance(phoneKeywords, currentPerson.getPhone().toString()); + combinedLevenshteinDistance += typeKeywords.isEmpty() ? 0 + : findMinLevenshteinDistance(typeKeywords, currentPerson.getType().toString()); + + distanceArr[i] = combinedLevenshteinDistance; + } + + ArrayList sortedPersons = new ArrayList<>(inputList); + Collections.sort(sortedPersons, Comparator.comparingInt(left -> distanceArr[inputList.indexOf(left)])); + + return new FilteredList<>(FXCollections.observableArrayList(sortedPersons)); + } + + private int findMinLevenshteinDistance(List prefixKeywords, String personAttribute) { + return prefixKeywords.stream().reduce(0, (minDistance, nextKeyword) -> Integer.min( + minDistance, calculateLevenshteinDistance(nextKeyword.toLowerCase(), personAttribute.toLowerCase())), + Integer::min); + } + + // Algorithm taken from https://semanti.ca/blog/?an-introduction-into-approximate-string-matching. + // Java code is original work. + private int calculateLevenshteinDistance(String prefixKeyword, String personAttribute) { + int prefixKeywordLength = prefixKeyword.length(); + int personAttributeLength = personAttribute.length(); + + if (prefixKeywordLength == 0 || prefixKeywordLength == 0) { + // Placeholder, should not occur. + return 0; + } + + char[] pkChars = prefixKeyword.toCharArray(); + char[] paChars = personAttribute.toCharArray(); + + int[][] costMatrix = new int[prefixKeywordLength][personAttributeLength]; + for (int i = 0; i < prefixKeywordLength; i++) { + for (int j = 0; j < personAttributeLength; j++) { + costMatrix[i][j] = pkChars[i] == paChars[j] ? 0 : 1; + } + } + + int[][] levenshteinMatrix = new int [prefixKeywordLength + 1][personAttributeLength + 1]; + // Initialise first row and col to be in range 0..length + for (int r = 0; r < prefixKeywordLength + 1; r++) { + levenshteinMatrix[r][0] = r; + } + for (int c = 0; c < personAttributeLength + 1; c++) { + levenshteinMatrix[0][c] = c; + } + + // Setting the distance + for (int r = 1; r < prefixKeywordLength + 1; r++) { + for (int c = 1; c < personAttributeLength + 1; c++) { + int cellAbovePlusOne = levenshteinMatrix[r - 1][c] + 1; + int cellLeftPlusOne = levenshteinMatrix[r][c - 1] + 1; + int cellLeftDiagPlusCost = levenshteinMatrix[r - 1][c - 1] + costMatrix[r - 1][c - 1]; + levenshteinMatrix[r][c] = + Integer.min(cellAbovePlusOne, Integer.min(cellLeftPlusOne, cellLeftDiagPlusCost)); + } + } + return levenshteinMatrix[prefixKeywordLength][personAttributeLength]; + } + + @Override + public CommandResult execute(Model model) { + requireNonNull(model); + + // Find exact matches - A + // Find all except exact matches - B + // Perform fuzzy matching on B, to sort it + // Append B to A - searchResults + // Replace FilteredPersonList with searchResults + + + ObservableList allPersons = model.getFilteredPersonList(); + + FilteredList exactMatches = new FilteredList<>(allPersons); + exactMatches.setPredicate(new PersonContainsExactPrefixesPredicate(argMultimap)); + + FilteredList allExceptExactMatches = new FilteredList<>(allPersons); + allExceptExactMatches.removeAll(exactMatches); + allExceptExactMatches = fuzzyMatch(argMultimap, allExceptExactMatches); + + ArrayList finalArrayList = new ArrayList<>(exactMatches); + finalArrayList.addAll(allExceptExactMatches); + + FilteredList searchResults = new FilteredList<>(FXCollections.observableArrayList(finalArrayList)); + + model.overrideFilteredPersonList(searchResults); + return new CommandResult( + String.format(Messages.MESSAGE_PERSONS_LISTED_OVERVIEW, model.getFilteredPersonList().size())); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof FuzzyFindCommand // instanceof handles nulls + && argMultimap.equals(((FuzzyFindCommand) other).argMultimap)); // state check + } +} diff --git a/src/main/java/organice/logic/parser/AddressBookParser.java b/src/main/java/organice/logic/parser/AddressBookParser.java index 7f9f98c2bcb..9c95e15e2af 100644 --- a/src/main/java/organice/logic/parser/AddressBookParser.java +++ b/src/main/java/organice/logic/parser/AddressBookParser.java @@ -19,7 +19,6 @@ import organice.logic.commands.ProcessingCommand; import organice.logic.commands.ProcessingMarkDoneCommand; import organice.logic.commands.SortCommand; - import organice.logic.parser.exceptions.ParseException; /** @@ -58,6 +57,9 @@ public Command parseCommand(String userInput) throws ParseException { case ClearCommand.COMMAND_WORD: return new ClearCommand(); + case FuzzyFindCommand.COMMAND_WORD: + return new FuzzyFindCommandParser().parse(arguments); + case FindCommand.COMMAND_WORD: return new FindCommandParser().parse(arguments); diff --git a/src/main/java/organice/logic/parser/FindCommandParser.java b/src/main/java/organice/logic/parser/FindCommandParser.java index 51e1a69e370..5fa8beb35d6 100644 --- a/src/main/java/organice/logic/parser/FindCommandParser.java +++ b/src/main/java/organice/logic/parser/FindCommandParser.java @@ -15,7 +15,7 @@ import organice.logic.commands.FindCommand; import organice.logic.parser.exceptions.ParseException; -import organice.model.person.PersonContainsPrefixesPredicate; +import organice.model.person.PersonContainsExactPrefixesPredicate; /** * Parses input arguments and creates a new FindCommand object @@ -39,7 +39,7 @@ public FindCommand parse(String args) throws ParseException { throw new ParseException( String.format(MESSAGE_INVALID_COMMAND_FORMAT, FindCommand.MESSAGE_USAGE)); } - return new FindCommand(new PersonContainsPrefixesPredicate(argMultimap)); + return new FindCommand(new PersonContainsExactPrefixesPredicate(argMultimap)); } } diff --git a/src/main/java/organice/logic/parser/FuzzyFindCommandParser.java b/src/main/java/organice/logic/parser/FuzzyFindCommandParser.java new file mode 100644 index 00000000000..23ba9e3bf13 --- /dev/null +++ b/src/main/java/organice/logic/parser/FuzzyFindCommandParser.java @@ -0,0 +1,45 @@ +package organice.logic.parser; + +import static organice.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static organice.logic.parser.CliSyntax.PREFIX_AGE; +import static organice.logic.parser.CliSyntax.PREFIX_BLOOD_TYPE; +import static organice.logic.parser.CliSyntax.PREFIX_DOCTOR_IN_CHARGE; +import static organice.logic.parser.CliSyntax.PREFIX_NAME; +import static organice.logic.parser.CliSyntax.PREFIX_NRIC; +import static organice.logic.parser.CliSyntax.PREFIX_ORGAN; +import static organice.logic.parser.CliSyntax.PREFIX_ORGAN_EXPIRY_DATE; +import static organice.logic.parser.CliSyntax.PREFIX_PHONE; +import static organice.logic.parser.CliSyntax.PREFIX_PRIORITY; +import static organice.logic.parser.CliSyntax.PREFIX_TISSUE_TYPE; +import static organice.logic.parser.CliSyntax.PREFIX_TYPE; + +import organice.logic.commands.FuzzyFindCommand; +import organice.logic.parser.exceptions.ParseException; +import organice.model.person.PersonContainsExactPrefixesPredicate; + +/** + * Parses input arguments and creates a new FindCommand object + */ +public class FuzzyFindCommandParser implements Parser { + + /** + * Parses the given {@code String} of arguments in the context of the FindCommand + * and returns a FindCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public FuzzyFindCommand parse(String args) throws ParseException { + args = args.replaceAll("\n", " ").replaceAll("\\s+", " "); + String trimmedArgs = args.trim(); + ArgumentMultimap argMultimap = ArgumentTokenizer.tokenize(args, PREFIX_NAME, PREFIX_NRIC, PREFIX_PHONE, + PREFIX_TYPE, PREFIX_AGE, PREFIX_PRIORITY, PREFIX_BLOOD_TYPE, PREFIX_DOCTOR_IN_CHARGE, + PREFIX_TISSUE_TYPE, PREFIX_ORGAN_EXPIRY_DATE, PREFIX_ORGAN); + + // Preamble length > 7 indicates initial command is not `fuzfind PREFIX/KEYWORD` + if (trimmedArgs.isEmpty() || argMultimap.getPreamble().length() > 7) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, FuzzyFindCommand.MESSAGE_USAGE)); + } + return new FuzzyFindCommand(argMultimap); + } + +} diff --git a/src/main/java/organice/model/Model.java b/src/main/java/organice/model/Model.java index 459c608b65a..34fd26b0a40 100644 --- a/src/main/java/organice/model/Model.java +++ b/src/main/java/organice/model/Model.java @@ -5,6 +5,7 @@ import java.util.function.Predicate; import javafx.collections.ObservableList; +import javafx.collections.transformation.FilteredList; import organice.commons.core.GuiSettings; import organice.logic.commands.exceptions.CommandException; @@ -123,6 +124,12 @@ public interface Model { /** Returns an unmodifiable view of the filtered person list */ ObservableList getFilteredPersonList(); + /** + * Overrides the current filtered person list with the given {@code inputList}. + * {@code inputList} must be non null. + */ + void overrideFilteredPersonList(FilteredList inputList); + /** * Updates the filter of the filtered person list to filter by the given {@code predicate}. * @throws NullPointerException if {@code predicate} is null. diff --git a/src/main/java/organice/model/person/PersonContainsPrefixesPredicate.java b/src/main/java/organice/model/person/PersonContainsExactPrefixesPredicate.java similarity index 93% rename from src/main/java/organice/model/person/PersonContainsPrefixesPredicate.java rename to src/main/java/organice/model/person/PersonContainsExactPrefixesPredicate.java index a325b23a532..e999d97ec72 100644 --- a/src/main/java/organice/model/person/PersonContainsPrefixesPredicate.java +++ b/src/main/java/organice/model/person/PersonContainsExactPrefixesPredicate.java @@ -23,10 +23,10 @@ /** * Tests that a {@code Person}'s prefixes matches any of the prefix-keyword pairs given. */ -public class PersonContainsPrefixesPredicate implements Predicate { +public class PersonContainsExactPrefixesPredicate implements Predicate { private final ArgumentMultimap argMultimap; - public PersonContainsPrefixesPredicate(ArgumentMultimap argMultimap) { + public PersonContainsExactPrefixesPredicate(ArgumentMultimap argMultimap) { this.argMultimap = argMultimap; } @@ -97,8 +97,8 @@ private boolean matchAll(List prefixKeywords, String personAttribute) { @Override public boolean equals(Object other) { return other == this // short circuit if same object - || (other instanceof PersonContainsPrefixesPredicate // instanceof handles nulls - && argMultimap.equals(((PersonContainsPrefixesPredicate) other).argMultimap)); // state matchAny + || (other instanceof PersonContainsExactPrefixesPredicate // instanceof handles nulls + && argMultimap.equals(((PersonContainsExactPrefixesPredicate) other).argMultimap)); // state check } } diff --git a/src/test/java/organice/logic/commands/CommandTestUtil.java b/src/test/java/organice/logic/commands/CommandTestUtil.java index 25287f50055..729aacba139 100644 --- a/src/test/java/organice/logic/commands/CommandTestUtil.java +++ b/src/test/java/organice/logic/commands/CommandTestUtil.java @@ -26,7 +26,7 @@ import organice.model.AddressBook; import organice.model.Model; import organice.model.person.Person; -import organice.model.person.PersonContainsPrefixesPredicate; +import organice.model.person.PersonContainsExactPrefixesPredicate; import organice.model.person.Status; import organice.testutil.EditPersonDescriptorBuilder; @@ -225,7 +225,7 @@ public static void showPersonAtIndex(Model model, Index targetIndex) { final ArgumentMultimap searchParams = ArgumentTokenizer .tokenize(FindCommand.COMMAND_WORD + " n/" + person.getName().fullName, PREFIX_NAME); - model.updateFilteredPersonList(new PersonContainsPrefixesPredicate(searchParams)); + model.updateFilteredPersonList(new PersonContainsExactPrefixesPredicate(searchParams)); assertEquals(1, model.getFilteredPersonList().size()); } } diff --git a/src/test/java/organice/logic/commands/FindCommandTest.java b/src/test/java/organice/logic/commands/FindCommandTest.java index 5c45d0de160..2e5c63d78f3 100644 --- a/src/test/java/organice/logic/commands/FindCommandTest.java +++ b/src/test/java/organice/logic/commands/FindCommandTest.java @@ -30,7 +30,7 @@ import organice.model.Model; import organice.model.ModelManager; import organice.model.UserPrefs; -import organice.model.person.PersonContainsPrefixesPredicate; +import organice.model.person.PersonContainsExactPrefixesPredicate; /** * Contains integration tests (interaction with the Model) for {@code FindCommand}. @@ -41,13 +41,12 @@ public class FindCommandTest { @Test public void equals() { - PersonContainsPrefixesPredicate firstPredicate = - new PersonContainsPrefixesPredicate( + PersonContainsExactPrefixesPredicate firstPredicate = + new PersonContainsExactPrefixesPredicate( ArgumentTokenizer.tokenize(FindCommand.COMMAND_WORD + " n/Alice", PREFIX_NAME)); - PersonContainsPrefixesPredicate secondPredicate = - new PersonContainsPrefixesPredicate( + PersonContainsExactPrefixesPredicate secondPredicate = + new PersonContainsExactPrefixesPredicate( ArgumentTokenizer.tokenize(FindCommand.COMMAND_WORD + " n/Benson", PREFIX_NAME)); - FindCommand findFirstCommand = new FindCommand(firstPredicate); FindCommand findSecondCommand = new FindCommand(secondPredicate); @@ -71,7 +70,7 @@ public void equals() { @Test public void execute_zeroKeywords_noPersonFound() { String expectedMessage = String.format(MESSAGE_PERSONS_LISTED_OVERVIEW, 0); - PersonContainsPrefixesPredicate predicate = preparePredicate(FindCommand.COMMAND_WORD + " "); + PersonContainsExactPrefixesPredicate predicate = preparePredicate(FindCommand.COMMAND_WORD + " "); FindCommand command = new FindCommand(predicate); expectedModel.updateFilteredPersonList(predicate); assertCommandSuccess(command, model, expectedMessage, expectedModel); @@ -92,9 +91,9 @@ public void execute_multipleKeywords_multiplePersonsFound() { /** * Parses {@code userInput} into a {@code NameContainsKeywordsPredicate}. */ - private PersonContainsPrefixesPredicate preparePredicate(String userInput) { + private PersonContainsExactPrefixesPredicate preparePredicate(String userInput) { //TODO: Replace ArgumentTokenizer with stubs - return new PersonContainsPrefixesPredicate(ArgumentTokenizer.tokenize(userInput, PREFIX_NAME, PREFIX_NRIC, + return new PersonContainsExactPrefixesPredicate(ArgumentTokenizer.tokenize(userInput, PREFIX_NAME, PREFIX_NRIC, PREFIX_PHONE, PREFIX_TYPE, PREFIX_AGE, PREFIX_PRIORITY, PREFIX_BLOOD_TYPE, PREFIX_DOCTOR_IN_CHARGE, PREFIX_TISSUE_TYPE, PREFIX_ORGAN_EXPIRY_DATE, PREFIX_ORGAN)); } diff --git a/src/test/java/organice/logic/parser/AddressBookParserTest.java b/src/test/java/organice/logic/parser/AddressBookParserTest.java index b6e2d417d5f..274ce581a1f 100644 --- a/src/test/java/organice/logic/parser/AddressBookParserTest.java +++ b/src/test/java/organice/logic/parser/AddressBookParserTest.java @@ -22,7 +22,7 @@ import organice.logic.commands.ListCommand; import organice.logic.parser.exceptions.ParseException; import organice.model.person.Person; -import organice.model.person.PersonContainsPrefixesPredicate; +import organice.model.person.PersonContainsExactPrefixesPredicate; import organice.testutil.EditPersonDescriptorBuilder; import organice.testutil.PersonBuilder; import organice.testutil.PersonUtil; @@ -65,7 +65,7 @@ public void parseCommand_find() throws Exception { FindCommand command = (FindCommand) parser.parseCommand( FindCommand.COMMAND_WORD + " " + searchParams); //TODO: Replace ArgumentTokenizer with stub - assertEquals(new FindCommand(new PersonContainsPrefixesPredicate(ArgumentTokenizer + assertEquals(new FindCommand(new PersonContainsExactPrefixesPredicate(ArgumentTokenizer .tokenize(FindCommand.COMMAND_WORD + " n/Alice ic/S1111111A t/doctor", PREFIX_NAME, PREFIX_NRIC, PREFIX_TYPE))), command); } diff --git a/src/test/java/organice/logic/parser/FindCommandParserTest.java b/src/test/java/organice/logic/parser/FindCommandParserTest.java index 7fec4190b2e..86030d89193 100644 --- a/src/test/java/organice/logic/parser/FindCommandParserTest.java +++ b/src/test/java/organice/logic/parser/FindCommandParserTest.java @@ -8,7 +8,7 @@ import org.junit.jupiter.api.Test; import organice.logic.commands.FindCommand; -import organice.model.person.PersonContainsPrefixesPredicate; +import organice.model.person.PersonContainsExactPrefixesPredicate; public class FindCommandParserTest { @@ -22,7 +22,7 @@ public void parse_emptyArg_throwsParseException() { @Test public void parse_validArgs_returnsFindCommand() { // no leading and trailing whitespaces - FindCommand expectedFindCommand = new FindCommand(new PersonContainsPrefixesPredicate( + FindCommand expectedFindCommand = new FindCommand(new PersonContainsExactPrefixesPredicate( ArgumentTokenizer.tokenize(" find n/Alice Bob ", PREFIX_NAME))); assertParseSuccess(parser, FindCommand.COMMAND_WORD + " n/Alice Bob", expectedFindCommand); } diff --git a/src/test/java/organice/model/ModelManagerTest.java b/src/test/java/organice/model/ModelManagerTest.java index 5859bf0053b..ff0b29ee3e0 100644 --- a/src/test/java/organice/model/ModelManagerTest.java +++ b/src/test/java/organice/model/ModelManagerTest.java @@ -23,7 +23,7 @@ import organice.model.person.MatchedDonor; import organice.model.person.MatchedPatient; import organice.model.person.Person; -import organice.model.person.PersonContainsPrefixesPredicate; +import organice.model.person.PersonContainsExactPrefixesPredicate; import organice.testutil.AddressBookBuilder; public class ModelManagerTest { @@ -201,7 +201,7 @@ public void equals() { // different filteredList -> returns false ArgumentMultimap searchParams = ArgumentTokenizer .tokenize(FindCommand.COMMAND_WORD + " n/" + DOCTOR_ALICE.getName().fullName, PREFIX_NAME); - modelManager.updateFilteredPersonList(new PersonContainsPrefixesPredicate(searchParams)); + modelManager.updateFilteredPersonList(new PersonContainsExactPrefixesPredicate(searchParams)); assertFalse(modelManager.equals(new ModelManager(addressBook, userPrefs))); // resets modelManager to initial state for upcoming tests diff --git a/src/test/java/organice/model/person/PersonContainsPrefixesPredicateTest.java b/src/test/java/organice/model/person/PersonContainsExactPrefixesPredicateTest.java similarity index 79% rename from src/test/java/organice/model/person/PersonContainsPrefixesPredicateTest.java rename to src/test/java/organice/model/person/PersonContainsExactPrefixesPredicateTest.java index a44ca69d441..c7025b76b00 100644 --- a/src/test/java/organice/model/person/PersonContainsPrefixesPredicateTest.java +++ b/src/test/java/organice/model/person/PersonContainsExactPrefixesPredicateTest.java @@ -21,7 +21,7 @@ import organice.logic.parser.ArgumentTokenizer; import organice.testutil.PersonBuilder; -public class PersonContainsPrefixesPredicateTest { +public class PersonContainsExactPrefixesPredicateTest { @Test public void equals() { @@ -31,17 +31,17 @@ public void equals() { ArgumentMultimap secondPredicateKeywordList = ArgumentTokenizer .tokenize("n/Alice Benson", PREFIX_NAME); - PersonContainsPrefixesPredicate firstPredicate = - new PersonContainsPrefixesPredicate(firstPredicateKeywordList); - PersonContainsPrefixesPredicate secondPredicate = - new PersonContainsPrefixesPredicate(secondPredicateKeywordList); + PersonContainsExactPrefixesPredicate firstPredicate = + new PersonContainsExactPrefixesPredicate(firstPredicateKeywordList); + PersonContainsExactPrefixesPredicate secondPredicate = + new PersonContainsExactPrefixesPredicate(secondPredicateKeywordList); // same object -> returns true assertTrue(firstPredicate.equals(firstPredicate)); // same values -> returns true - PersonContainsPrefixesPredicate firstPredicateCopy = - new PersonContainsPrefixesPredicate(firstPredicateKeywordList); + PersonContainsExactPrefixesPredicate firstPredicateCopy = + new PersonContainsExactPrefixesPredicate(firstPredicateKeywordList); assertTrue(firstPredicate.equals(firstPredicateCopy)); // different types -> returns false @@ -57,22 +57,22 @@ public void equals() { @Test public void test_personContainsPrefixes_returnsTrue() { // One keyword - PersonContainsPrefixesPredicate predicate = new PersonContainsPrefixesPredicate( + PersonContainsExactPrefixesPredicate predicate = new PersonContainsExactPrefixesPredicate( ArgumentTokenizer.tokenize(FindCommand.COMMAND_WORD + " n/Alice", PREFIX_NAME)); assertTrue(predicate.test(new PersonBuilder().withName("Alice Bob").build())); // Multiple keywords - predicate = new PersonContainsPrefixesPredicate( + predicate = new PersonContainsExactPrefixesPredicate( ArgumentTokenizer.tokenize(FindCommand.COMMAND_WORD + " n/Alice Bob", PREFIX_NAME)); assertTrue(predicate.test(new PersonBuilder().withName("Alice Bob").build())); // Only one matching keyword - predicate = new PersonContainsPrefixesPredicate( + predicate = new PersonContainsExactPrefixesPredicate( ArgumentTokenizer.tokenize(FindCommand.COMMAND_WORD + " n/Bob Carol", PREFIX_NAME)); assertFalse(predicate.test(new PersonBuilder().withName("Alice Carol").build())); // Mixed-case keywords - predicate = new PersonContainsPrefixesPredicate( + predicate = new PersonContainsExactPrefixesPredicate( ArgumentTokenizer.tokenize(FindCommand.COMMAND_WORD + " n/aLIce bOB", PREFIX_NAME)); assertTrue(predicate.test(new PersonBuilder().withName("Alice Bob").build())); } @@ -80,19 +80,19 @@ public void test_personContainsPrefixes_returnsTrue() { @Test public void test_nameDoesNotContainKeywords_returnsFalse() { // Zero keywords should return false - PersonContainsPrefixesPredicate predicate = new PersonContainsPrefixesPredicate(ArgumentTokenizer + PersonContainsExactPrefixesPredicate predicate = new PersonContainsExactPrefixesPredicate(ArgumentTokenizer .tokenize(FindCommand.COMMAND_WORD, PREFIX_NAME, PREFIX_NRIC, PREFIX_PHONE, PREFIX_TYPE, PREFIX_AGE, PREFIX_PRIORITY, PREFIX_BLOOD_TYPE, PREFIX_DOCTOR_IN_CHARGE, PREFIX_TISSUE_TYPE, PREFIX_ORGAN_EXPIRY_DATE, PREFIX_ORGAN)); assertFalse(predicate.test(new PersonBuilder().withName("Alice").build())); // Non-matching keyword - predicate = new PersonContainsPrefixesPredicate( + predicate = new PersonContainsExactPrefixesPredicate( ArgumentTokenizer.tokenize(FindCommand.COMMAND_WORD + " n/Carol", PREFIX_NAME)); assertFalse(predicate.test(new PersonBuilder().withName("Alice Bob").build())); // Keywords match type, phone, nric and address, but does not match name - predicate = new PersonContainsPrefixesPredicate(ArgumentTokenizer + predicate = new PersonContainsExactPrefixesPredicate(ArgumentTokenizer .tokenize(FindCommand.COMMAND_WORD + " n/Benson t/doctor ic/S1111111A p/12345", PREFIX_NAME, PREFIX_TYPE, PREFIX_NRIC, PREFIX_PHONE)); assertFalse(predicate.test(new PersonBuilder().withType("doctor").withNric("S1111111A").withName("Alice") From 0bc336f61c5e5714833160a21e3adb49186398e4 Mon Sep 17 00:00:00 2001 From: TheRealRavager Date: Thu, 31 Oct 2019 20:53:29 +0800 Subject: [PATCH 02/17] Rename PersonContainsExactPrefixesPredicate to PersonContainsPrefixesPredicate --- .../organice/logic/commands/FindCommand.java | 6 ++-- .../logic/commands/FuzzyFindCommand.java | 5 ++-- .../logic/parser/FindCommandParser.java | 4 +-- .../logic/parser/FuzzyFindCommandParser.java | 1 - ...a => PersonContainsPrefixesPredicate.java} | 8 +++--- .../logic/commands/CommandTestUtil.java | 4 +-- .../logic/commands/FindCommandTest.java | 16 +++++------ .../logic/parser/AddressBookParserTest.java | 4 +-- .../logic/parser/FindCommandParserTest.java | 4 +-- .../java/organice/model/ModelManagerTest.java | 4 +-- ... PersonContainsPrefixesPredicateTest.java} | 28 +++++++++---------- 11 files changed, 41 insertions(+), 43 deletions(-) rename src/main/java/organice/model/person/{PersonContainsExactPrefixesPredicate.java => PersonContainsPrefixesPredicate.java} (93%) rename src/test/java/organice/model/person/{PersonContainsExactPrefixesPredicateTest.java => PersonContainsPrefixesPredicateTest.java} (79%) diff --git a/src/main/java/organice/logic/commands/FindCommand.java b/src/main/java/organice/logic/commands/FindCommand.java index 82eadac3af6..2c2a7a30635 100644 --- a/src/main/java/organice/logic/commands/FindCommand.java +++ b/src/main/java/organice/logic/commands/FindCommand.java @@ -4,7 +4,7 @@ import organice.commons.core.Messages; import organice.model.Model; -import organice.model.person.PersonContainsExactPrefixesPredicate; +import organice.model.person.PersonContainsPrefixesPredicate; /** * Finds and lists all persons in address book whose prefixes match any of the argument prefix-keyword pairs. @@ -20,9 +20,9 @@ public class FindCommand extends Command { + "Parameters: PREFIX/KEYWORD [MORE_PREFIX-KEYWORD_PAIRS]...\n" + "Example: " + COMMAND_WORD + " n/alice t/doctor"; - private final PersonContainsExactPrefixesPredicate predicate; + private final PersonContainsPrefixesPredicate predicate; - public FindCommand(PersonContainsExactPrefixesPredicate predicate) { + public FindCommand(PersonContainsPrefixesPredicate predicate) { requireNonNull(predicate); this.predicate = predicate; } diff --git a/src/main/java/organice/logic/commands/FuzzyFindCommand.java b/src/main/java/organice/logic/commands/FuzzyFindCommand.java index f3ba80feefd..1d037361402 100644 --- a/src/main/java/organice/logic/commands/FuzzyFindCommand.java +++ b/src/main/java/organice/logic/commands/FuzzyFindCommand.java @@ -10,13 +10,12 @@ import organice.logic.parser.ArgumentMultimap; import organice.model.Model; import organice.model.person.Person; -import organice.model.person.PersonContainsExactPrefixesPredicate; +import organice.model.person.PersonContainsPrefixesPredicate; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; -import java.util.logging.Filter; /** * Finds and lists all persons in address book whose prefixes match any of the argument prefix-keyword pairs. @@ -144,7 +143,7 @@ public CommandResult execute(Model model) { ObservableList allPersons = model.getFilteredPersonList(); FilteredList exactMatches = new FilteredList<>(allPersons); - exactMatches.setPredicate(new PersonContainsExactPrefixesPredicate(argMultimap)); + exactMatches.setPredicate(new PersonContainsPrefixesPredicate(argMultimap)); FilteredList allExceptExactMatches = new FilteredList<>(allPersons); allExceptExactMatches.removeAll(exactMatches); diff --git a/src/main/java/organice/logic/parser/FindCommandParser.java b/src/main/java/organice/logic/parser/FindCommandParser.java index 5fa8beb35d6..51e1a69e370 100644 --- a/src/main/java/organice/logic/parser/FindCommandParser.java +++ b/src/main/java/organice/logic/parser/FindCommandParser.java @@ -15,7 +15,7 @@ import organice.logic.commands.FindCommand; import organice.logic.parser.exceptions.ParseException; -import organice.model.person.PersonContainsExactPrefixesPredicate; +import organice.model.person.PersonContainsPrefixesPredicate; /** * Parses input arguments and creates a new FindCommand object @@ -39,7 +39,7 @@ public FindCommand parse(String args) throws ParseException { throw new ParseException( String.format(MESSAGE_INVALID_COMMAND_FORMAT, FindCommand.MESSAGE_USAGE)); } - return new FindCommand(new PersonContainsExactPrefixesPredicate(argMultimap)); + return new FindCommand(new PersonContainsPrefixesPredicate(argMultimap)); } } diff --git a/src/main/java/organice/logic/parser/FuzzyFindCommandParser.java b/src/main/java/organice/logic/parser/FuzzyFindCommandParser.java index 23ba9e3bf13..fdf922a105d 100644 --- a/src/main/java/organice/logic/parser/FuzzyFindCommandParser.java +++ b/src/main/java/organice/logic/parser/FuzzyFindCommandParser.java @@ -15,7 +15,6 @@ import organice.logic.commands.FuzzyFindCommand; import organice.logic.parser.exceptions.ParseException; -import organice.model.person.PersonContainsExactPrefixesPredicate; /** * Parses input arguments and creates a new FindCommand object diff --git a/src/main/java/organice/model/person/PersonContainsExactPrefixesPredicate.java b/src/main/java/organice/model/person/PersonContainsPrefixesPredicate.java similarity index 93% rename from src/main/java/organice/model/person/PersonContainsExactPrefixesPredicate.java rename to src/main/java/organice/model/person/PersonContainsPrefixesPredicate.java index e999d97ec72..6f14b5651b5 100644 --- a/src/main/java/organice/model/person/PersonContainsExactPrefixesPredicate.java +++ b/src/main/java/organice/model/person/PersonContainsPrefixesPredicate.java @@ -23,10 +23,10 @@ /** * Tests that a {@code Person}'s prefixes matches any of the prefix-keyword pairs given. */ -public class PersonContainsExactPrefixesPredicate implements Predicate { +public class PersonContainsPrefixesPredicate implements Predicate { private final ArgumentMultimap argMultimap; - public PersonContainsExactPrefixesPredicate(ArgumentMultimap argMultimap) { + public PersonContainsPrefixesPredicate(ArgumentMultimap argMultimap) { this.argMultimap = argMultimap; } @@ -97,8 +97,8 @@ private boolean matchAll(List prefixKeywords, String personAttribute) { @Override public boolean equals(Object other) { return other == this // short circuit if same object - || (other instanceof PersonContainsExactPrefixesPredicate // instanceof handles nulls - && argMultimap.equals(((PersonContainsExactPrefixesPredicate) other).argMultimap)); // state check + || (other instanceof PersonContainsPrefixesPredicate // instanceof handles nulls + && argMultimap.equals(((PersonContainsPrefixesPredicate) other).argMultimap)); // state check } } diff --git a/src/test/java/organice/logic/commands/CommandTestUtil.java b/src/test/java/organice/logic/commands/CommandTestUtil.java index 729aacba139..25287f50055 100644 --- a/src/test/java/organice/logic/commands/CommandTestUtil.java +++ b/src/test/java/organice/logic/commands/CommandTestUtil.java @@ -26,7 +26,7 @@ import organice.model.AddressBook; import organice.model.Model; import organice.model.person.Person; -import organice.model.person.PersonContainsExactPrefixesPredicate; +import organice.model.person.PersonContainsPrefixesPredicate; import organice.model.person.Status; import organice.testutil.EditPersonDescriptorBuilder; @@ -225,7 +225,7 @@ public static void showPersonAtIndex(Model model, Index targetIndex) { final ArgumentMultimap searchParams = ArgumentTokenizer .tokenize(FindCommand.COMMAND_WORD + " n/" + person.getName().fullName, PREFIX_NAME); - model.updateFilteredPersonList(new PersonContainsExactPrefixesPredicate(searchParams)); + model.updateFilteredPersonList(new PersonContainsPrefixesPredicate(searchParams)); assertEquals(1, model.getFilteredPersonList().size()); } } diff --git a/src/test/java/organice/logic/commands/FindCommandTest.java b/src/test/java/organice/logic/commands/FindCommandTest.java index 2e5c63d78f3..cdc4c38c8f1 100644 --- a/src/test/java/organice/logic/commands/FindCommandTest.java +++ b/src/test/java/organice/logic/commands/FindCommandTest.java @@ -30,7 +30,7 @@ import organice.model.Model; import organice.model.ModelManager; import organice.model.UserPrefs; -import organice.model.person.PersonContainsExactPrefixesPredicate; +import organice.model.person.PersonContainsPrefixesPredicate; /** * Contains integration tests (interaction with the Model) for {@code FindCommand}. @@ -41,11 +41,11 @@ public class FindCommandTest { @Test public void equals() { - PersonContainsExactPrefixesPredicate firstPredicate = - new PersonContainsExactPrefixesPredicate( + PersonContainsPrefixesPredicate firstPredicate = + new PersonContainsPrefixesPredicate( ArgumentTokenizer.tokenize(FindCommand.COMMAND_WORD + " n/Alice", PREFIX_NAME)); - PersonContainsExactPrefixesPredicate secondPredicate = - new PersonContainsExactPrefixesPredicate( + PersonContainsPrefixesPredicate secondPredicate = + new PersonContainsPrefixesPredicate( ArgumentTokenizer.tokenize(FindCommand.COMMAND_WORD + " n/Benson", PREFIX_NAME)); FindCommand findFirstCommand = new FindCommand(firstPredicate); FindCommand findSecondCommand = new FindCommand(secondPredicate); @@ -70,7 +70,7 @@ public void equals() { @Test public void execute_zeroKeywords_noPersonFound() { String expectedMessage = String.format(MESSAGE_PERSONS_LISTED_OVERVIEW, 0); - PersonContainsExactPrefixesPredicate predicate = preparePredicate(FindCommand.COMMAND_WORD + " "); + PersonContainsPrefixesPredicate predicate = preparePredicate(FindCommand.COMMAND_WORD + " "); FindCommand command = new FindCommand(predicate); expectedModel.updateFilteredPersonList(predicate); assertCommandSuccess(command, model, expectedMessage, expectedModel); @@ -91,9 +91,9 @@ public void execute_multipleKeywords_multiplePersonsFound() { /** * Parses {@code userInput} into a {@code NameContainsKeywordsPredicate}. */ - private PersonContainsExactPrefixesPredicate preparePredicate(String userInput) { + private PersonContainsPrefixesPredicate preparePredicate(String userInput) { //TODO: Replace ArgumentTokenizer with stubs - return new PersonContainsExactPrefixesPredicate(ArgumentTokenizer.tokenize(userInput, PREFIX_NAME, PREFIX_NRIC, + return new PersonContainsPrefixesPredicate(ArgumentTokenizer.tokenize(userInput, PREFIX_NAME, PREFIX_NRIC, PREFIX_PHONE, PREFIX_TYPE, PREFIX_AGE, PREFIX_PRIORITY, PREFIX_BLOOD_TYPE, PREFIX_DOCTOR_IN_CHARGE, PREFIX_TISSUE_TYPE, PREFIX_ORGAN_EXPIRY_DATE, PREFIX_ORGAN)); } diff --git a/src/test/java/organice/logic/parser/AddressBookParserTest.java b/src/test/java/organice/logic/parser/AddressBookParserTest.java index 274ce581a1f..b6e2d417d5f 100644 --- a/src/test/java/organice/logic/parser/AddressBookParserTest.java +++ b/src/test/java/organice/logic/parser/AddressBookParserTest.java @@ -22,7 +22,7 @@ import organice.logic.commands.ListCommand; import organice.logic.parser.exceptions.ParseException; import organice.model.person.Person; -import organice.model.person.PersonContainsExactPrefixesPredicate; +import organice.model.person.PersonContainsPrefixesPredicate; import organice.testutil.EditPersonDescriptorBuilder; import organice.testutil.PersonBuilder; import organice.testutil.PersonUtil; @@ -65,7 +65,7 @@ public void parseCommand_find() throws Exception { FindCommand command = (FindCommand) parser.parseCommand( FindCommand.COMMAND_WORD + " " + searchParams); //TODO: Replace ArgumentTokenizer with stub - assertEquals(new FindCommand(new PersonContainsExactPrefixesPredicate(ArgumentTokenizer + assertEquals(new FindCommand(new PersonContainsPrefixesPredicate(ArgumentTokenizer .tokenize(FindCommand.COMMAND_WORD + " n/Alice ic/S1111111A t/doctor", PREFIX_NAME, PREFIX_NRIC, PREFIX_TYPE))), command); } diff --git a/src/test/java/organice/logic/parser/FindCommandParserTest.java b/src/test/java/organice/logic/parser/FindCommandParserTest.java index 86030d89193..7fec4190b2e 100644 --- a/src/test/java/organice/logic/parser/FindCommandParserTest.java +++ b/src/test/java/organice/logic/parser/FindCommandParserTest.java @@ -8,7 +8,7 @@ import org.junit.jupiter.api.Test; import organice.logic.commands.FindCommand; -import organice.model.person.PersonContainsExactPrefixesPredicate; +import organice.model.person.PersonContainsPrefixesPredicate; public class FindCommandParserTest { @@ -22,7 +22,7 @@ public void parse_emptyArg_throwsParseException() { @Test public void parse_validArgs_returnsFindCommand() { // no leading and trailing whitespaces - FindCommand expectedFindCommand = new FindCommand(new PersonContainsExactPrefixesPredicate( + FindCommand expectedFindCommand = new FindCommand(new PersonContainsPrefixesPredicate( ArgumentTokenizer.tokenize(" find n/Alice Bob ", PREFIX_NAME))); assertParseSuccess(parser, FindCommand.COMMAND_WORD + " n/Alice Bob", expectedFindCommand); } diff --git a/src/test/java/organice/model/ModelManagerTest.java b/src/test/java/organice/model/ModelManagerTest.java index ff0b29ee3e0..5859bf0053b 100644 --- a/src/test/java/organice/model/ModelManagerTest.java +++ b/src/test/java/organice/model/ModelManagerTest.java @@ -23,7 +23,7 @@ import organice.model.person.MatchedDonor; import organice.model.person.MatchedPatient; import organice.model.person.Person; -import organice.model.person.PersonContainsExactPrefixesPredicate; +import organice.model.person.PersonContainsPrefixesPredicate; import organice.testutil.AddressBookBuilder; public class ModelManagerTest { @@ -201,7 +201,7 @@ public void equals() { // different filteredList -> returns false ArgumentMultimap searchParams = ArgumentTokenizer .tokenize(FindCommand.COMMAND_WORD + " n/" + DOCTOR_ALICE.getName().fullName, PREFIX_NAME); - modelManager.updateFilteredPersonList(new PersonContainsExactPrefixesPredicate(searchParams)); + modelManager.updateFilteredPersonList(new PersonContainsPrefixesPredicate(searchParams)); assertFalse(modelManager.equals(new ModelManager(addressBook, userPrefs))); // resets modelManager to initial state for upcoming tests diff --git a/src/test/java/organice/model/person/PersonContainsExactPrefixesPredicateTest.java b/src/test/java/organice/model/person/PersonContainsPrefixesPredicateTest.java similarity index 79% rename from src/test/java/organice/model/person/PersonContainsExactPrefixesPredicateTest.java rename to src/test/java/organice/model/person/PersonContainsPrefixesPredicateTest.java index c7025b76b00..a44ca69d441 100644 --- a/src/test/java/organice/model/person/PersonContainsExactPrefixesPredicateTest.java +++ b/src/test/java/organice/model/person/PersonContainsPrefixesPredicateTest.java @@ -21,7 +21,7 @@ import organice.logic.parser.ArgumentTokenizer; import organice.testutil.PersonBuilder; -public class PersonContainsExactPrefixesPredicateTest { +public class PersonContainsPrefixesPredicateTest { @Test public void equals() { @@ -31,17 +31,17 @@ public void equals() { ArgumentMultimap secondPredicateKeywordList = ArgumentTokenizer .tokenize("n/Alice Benson", PREFIX_NAME); - PersonContainsExactPrefixesPredicate firstPredicate = - new PersonContainsExactPrefixesPredicate(firstPredicateKeywordList); - PersonContainsExactPrefixesPredicate secondPredicate = - new PersonContainsExactPrefixesPredicate(secondPredicateKeywordList); + PersonContainsPrefixesPredicate firstPredicate = + new PersonContainsPrefixesPredicate(firstPredicateKeywordList); + PersonContainsPrefixesPredicate secondPredicate = + new PersonContainsPrefixesPredicate(secondPredicateKeywordList); // same object -> returns true assertTrue(firstPredicate.equals(firstPredicate)); // same values -> returns true - PersonContainsExactPrefixesPredicate firstPredicateCopy = - new PersonContainsExactPrefixesPredicate(firstPredicateKeywordList); + PersonContainsPrefixesPredicate firstPredicateCopy = + new PersonContainsPrefixesPredicate(firstPredicateKeywordList); assertTrue(firstPredicate.equals(firstPredicateCopy)); // different types -> returns false @@ -57,22 +57,22 @@ public void equals() { @Test public void test_personContainsPrefixes_returnsTrue() { // One keyword - PersonContainsExactPrefixesPredicate predicate = new PersonContainsExactPrefixesPredicate( + PersonContainsPrefixesPredicate predicate = new PersonContainsPrefixesPredicate( ArgumentTokenizer.tokenize(FindCommand.COMMAND_WORD + " n/Alice", PREFIX_NAME)); assertTrue(predicate.test(new PersonBuilder().withName("Alice Bob").build())); // Multiple keywords - predicate = new PersonContainsExactPrefixesPredicate( + predicate = new PersonContainsPrefixesPredicate( ArgumentTokenizer.tokenize(FindCommand.COMMAND_WORD + " n/Alice Bob", PREFIX_NAME)); assertTrue(predicate.test(new PersonBuilder().withName("Alice Bob").build())); // Only one matching keyword - predicate = new PersonContainsExactPrefixesPredicate( + predicate = new PersonContainsPrefixesPredicate( ArgumentTokenizer.tokenize(FindCommand.COMMAND_WORD + " n/Bob Carol", PREFIX_NAME)); assertFalse(predicate.test(new PersonBuilder().withName("Alice Carol").build())); // Mixed-case keywords - predicate = new PersonContainsExactPrefixesPredicate( + predicate = new PersonContainsPrefixesPredicate( ArgumentTokenizer.tokenize(FindCommand.COMMAND_WORD + " n/aLIce bOB", PREFIX_NAME)); assertTrue(predicate.test(new PersonBuilder().withName("Alice Bob").build())); } @@ -80,19 +80,19 @@ public void test_personContainsPrefixes_returnsTrue() { @Test public void test_nameDoesNotContainKeywords_returnsFalse() { // Zero keywords should return false - PersonContainsExactPrefixesPredicate predicate = new PersonContainsExactPrefixesPredicate(ArgumentTokenizer + PersonContainsPrefixesPredicate predicate = new PersonContainsPrefixesPredicate(ArgumentTokenizer .tokenize(FindCommand.COMMAND_WORD, PREFIX_NAME, PREFIX_NRIC, PREFIX_PHONE, PREFIX_TYPE, PREFIX_AGE, PREFIX_PRIORITY, PREFIX_BLOOD_TYPE, PREFIX_DOCTOR_IN_CHARGE, PREFIX_TISSUE_TYPE, PREFIX_ORGAN_EXPIRY_DATE, PREFIX_ORGAN)); assertFalse(predicate.test(new PersonBuilder().withName("Alice").build())); // Non-matching keyword - predicate = new PersonContainsExactPrefixesPredicate( + predicate = new PersonContainsPrefixesPredicate( ArgumentTokenizer.tokenize(FindCommand.COMMAND_WORD + " n/Carol", PREFIX_NAME)); assertFalse(predicate.test(new PersonBuilder().withName("Alice Bob").build())); // Keywords match type, phone, nric and address, but does not match name - predicate = new PersonContainsExactPrefixesPredicate(ArgumentTokenizer + predicate = new PersonContainsPrefixesPredicate(ArgumentTokenizer .tokenize(FindCommand.COMMAND_WORD + " n/Benson t/doctor ic/S1111111A p/12345", PREFIX_NAME, PREFIX_TYPE, PREFIX_NRIC, PREFIX_PHONE)); assertFalse(predicate.test(new PersonBuilder().withType("doctor").withNric("S1111111A").withName("Alice") From 327214e844fe7a5df9bfd8214485da6a5f1ad5a6 Mon Sep 17 00:00:00 2001 From: TheRealRavager Date: Thu, 31 Oct 2019 21:51:49 +0800 Subject: [PATCH 03/17] Fix LD calculation always 0 --- .../logic/commands/FuzzyFindCommand.java | 22 +++++++++---------- .../logic/parser/AddressBookParser.java | 1 + src/test/java/organice/model/ModelStub.java | 8 +++++++ 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/main/java/organice/logic/commands/FuzzyFindCommand.java b/src/main/java/organice/logic/commands/FuzzyFindCommand.java index 1d037361402..adebf8b20ae 100644 --- a/src/main/java/organice/logic/commands/FuzzyFindCommand.java +++ b/src/main/java/organice/logic/commands/FuzzyFindCommand.java @@ -12,10 +12,7 @@ import organice.model.person.Person; import organice.model.person.PersonContainsPrefixesPredicate; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; +import java.util.*; /** * Finds and lists all persons in address book whose prefixes match any of the argument prefix-keyword pairs. @@ -38,7 +35,7 @@ public FuzzyFindCommand(ArgumentMultimap argMultimap) { this.argMultimap = argMultimap; } - private FilteredList fuzzyMatch(ArgumentMultimap argMultimap, FilteredList inputList) { + private FilteredList fuzzyMatch(ArgumentMultimap argMultimap, List inputList) { // Take math_min of Levenshtein Distance within one prefix, and accumulate them. // Calculate LD for each pair of keyword, attribute within one prefix. Take math_min of all. @@ -72,6 +69,7 @@ private FilteredList fuzzyMatch(ArgumentMultimap argMultimap, FilteredLi : findMinLevenshteinDistance(typeKeywords, currentPerson.getType().toString()); distanceArr[i] = combinedLevenshteinDistance; + System.out.println("This is LD: " + combinedLevenshteinDistance); } ArrayList sortedPersons = new ArrayList<>(inputList); @@ -80,8 +78,9 @@ private FilteredList fuzzyMatch(ArgumentMultimap argMultimap, FilteredLi return new FilteredList<>(FXCollections.observableArrayList(sortedPersons)); } + // Almost correct, now just need to break up the personAttribute if is name private int findMinLevenshteinDistance(List prefixKeywords, String personAttribute) { - return prefixKeywords.stream().reduce(0, (minDistance, nextKeyword) -> Integer.min( + return prefixKeywords.stream().reduce(Integer.MAX_VALUE, (minDistance, nextKeyword) -> Integer.min( minDistance, calculateLevenshteinDistance(nextKeyword.toLowerCase(), personAttribute.toLowerCase())), Integer::min); } @@ -92,8 +91,9 @@ private int calculateLevenshteinDistance(String prefixKeyword, String personAttr int prefixKeywordLength = prefixKeyword.length(); int personAttributeLength = personAttribute.length(); - if (prefixKeywordLength == 0 || prefixKeywordLength == 0) { + if (prefixKeywordLength == 0 || personAttributeLength == 0) { // Placeholder, should not occur. + System.out.println("THE ZERO THING INSIDE LD IS CALLED"); return 0; } @@ -140,13 +140,13 @@ public CommandResult execute(Model model) { // Replace FilteredPersonList with searchResults - ObservableList allPersons = model.getFilteredPersonList(); + List allPersons = Arrays.asList(model.getFilteredPersonList().toArray(Person[]::new)); - FilteredList exactMatches = new FilteredList<>(allPersons); + FilteredList exactMatches = new FilteredList<>(FXCollections.observableList(allPersons)); exactMatches.setPredicate(new PersonContainsPrefixesPredicate(argMultimap)); - FilteredList allExceptExactMatches = new FilteredList<>(allPersons); - allExceptExactMatches.removeAll(exactMatches); + List allExceptExactMatches = new ArrayList<>(allPersons); + allExceptExactMatches.removeAll(Arrays.asList(exactMatches.toArray(Person[]::new))); allExceptExactMatches = fuzzyMatch(argMultimap, allExceptExactMatches); ArrayList finalArrayList = new ArrayList<>(exactMatches); diff --git a/src/main/java/organice/logic/parser/AddressBookParser.java b/src/main/java/organice/logic/parser/AddressBookParser.java index 9c95e15e2af..e16558f0831 100644 --- a/src/main/java/organice/logic/parser/AddressBookParser.java +++ b/src/main/java/organice/logic/parser/AddressBookParser.java @@ -13,6 +13,7 @@ import organice.logic.commands.EditCommand; import organice.logic.commands.ExitCommand; import organice.logic.commands.FindCommand; +import organice.logic.commands.FuzzyFindCommand; import organice.logic.commands.HelpCommand; import organice.logic.commands.ListCommand; import organice.logic.commands.MatchCommand; diff --git a/src/test/java/organice/model/ModelStub.java b/src/test/java/organice/model/ModelStub.java index 78749a0b22d..1c55c8985bd 100644 --- a/src/test/java/organice/model/ModelStub.java +++ b/src/test/java/organice/model/ModelStub.java @@ -5,6 +5,7 @@ import java.util.function.Predicate; import javafx.collections.ObservableList; +import javafx.collections.transformation.FilteredList; import organice.commons.core.GuiSettings; import organice.model.person.Donor; import organice.model.person.Nric; @@ -137,6 +138,13 @@ public ObservableList getFilteredPersonList() { throw new AssertionError("This method should not be called."); } + @Override + public void overrideFilteredPersonList(FilteredList inputList) { + //TODO: Implement this method + // This method exists in this state to prevent compile-time errors and facilitate development + throw new AssertionError("THIS METHOD IS NOT YET IMPLEMENTED"); + } + @Override public void updateFilteredPersonList(Predicate predicate) { throw new AssertionError("This method should not be called."); From 4f8b01ff65c309f109f2032263d1908cac8b4f4b Mon Sep 17 00:00:00 2001 From: TheRealRavager Date: Fri, 1 Nov 2019 08:49:02 +0800 Subject: [PATCH 04/17] Add method to find min LD of name --- .../logic/commands/FuzzyFindCommand.java | 38 +++++++++++++++---- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/src/main/java/organice/logic/commands/FuzzyFindCommand.java b/src/main/java/organice/logic/commands/FuzzyFindCommand.java index adebf8b20ae..68908c7c683 100644 --- a/src/main/java/organice/logic/commands/FuzzyFindCommand.java +++ b/src/main/java/organice/logic/commands/FuzzyFindCommand.java @@ -4,11 +4,11 @@ import static organice.logic.parser.CliSyntax.*; import javafx.collections.FXCollections; -import javafx.collections.ObservableList; import javafx.collections.transformation.FilteredList; import organice.commons.core.Messages; import organice.logic.parser.ArgumentMultimap; import organice.model.Model; +import organice.model.person.Name; import organice.model.person.Person; import organice.model.person.PersonContainsPrefixesPredicate; @@ -29,6 +29,9 @@ public class FuzzyFindCommand extends Command { + "Parameters: PREFIX/KEYWORD [MORE_PREFIX-KEYWORD_PAIRS]...\n" + "Example: " + COMMAND_WORD + " n/alice t/doctor"; + // Maximum Levenshtein Distance tolerated for a fuzzy match + private static final int FUZZY_THRESHOLD = 3; + private final ArgumentMultimap argMultimap; public FuzzyFindCommand(ArgumentMultimap argMultimap) { @@ -54,13 +57,13 @@ private FilteredList fuzzyMatch(ArgumentMultimap argMultimap, List typeKeywords = argMultimap.getAllValues(PREFIX_TYPE); // Array containing combined Levenshtein Distance of persons in inputList - int[] distanceArr = new int[inputList.size()]; + ArrayList distanceList = new ArrayList<>(); for (int i = 0; i < inputList.size(); i++) { Person currentPerson = inputList.get(i); int combinedLevenshteinDistance = 0; combinedLevenshteinDistance += nameKeywords.isEmpty() ? 0 - : findMinLevenshteinDistance(nameKeywords, currentPerson.getName().toString()); + : findMinLevenshteinDistance(nameKeywords, currentPerson.getName()); combinedLevenshteinDistance += nricKeywords.isEmpty() ? 0 : findMinLevenshteinDistance(nricKeywords, currentPerson.getNric().toString()); combinedLevenshteinDistance += phoneKeywords.isEmpty() ? 0 @@ -68,23 +71,42 @@ private FilteredList fuzzyMatch(ArgumentMultimap argMultimap, List sortedPersons = new ArrayList<>(inputList); - Collections.sort(sortedPersons, Comparator.comparingInt(left -> distanceArr[inputList.indexOf(left)])); + // Keep Persons whose Levenshtein Distance is within tolerable range + ArrayList distancesOfTolerablePersons = new ArrayList<>(); + ArrayList tolerablePersons = new ArrayList<>(); + for (int i = 0; i < inputList.size(); i++) { + int levenshteinDistance = distanceList.get(i); + String DEBUG_PERSON_NAME = inputList.get(i).getName().toString(); + String[] DEBUG_ARR = nameKeywords.toArray(String[]::new); + if (levenshteinDistance <= FUZZY_THRESHOLD) { + distancesOfTolerablePersons.add(i, levenshteinDistance); + tolerablePersons.add(i, inputList.get(i)); + } + } + + ArrayList sortedPersons = new ArrayList<>(tolerablePersons); + Collections.sort(sortedPersons, Comparator.comparingInt( + left -> distancesOfTolerablePersons.get(tolerablePersons.indexOf(left)))); return new FilteredList<>(FXCollections.observableArrayList(sortedPersons)); } - // Almost correct, now just need to break up the personAttribute if is name private int findMinLevenshteinDistance(List prefixKeywords, String personAttribute) { return prefixKeywords.stream().reduce(Integer.MAX_VALUE, (minDistance, nextKeyword) -> Integer.min( minDistance, calculateLevenshteinDistance(nextKeyword.toLowerCase(), personAttribute.toLowerCase())), Integer::min); } + // Split name by spaces + private int findMinLevenshteinDistance(List prefixKeywords, Name personName) { + return Arrays.stream(personName.toString().split(" ")).reduce(Integer.MAX_VALUE, + (minDistance, nextNameWord) -> Integer.min( + minDistance, findMinLevenshteinDistance(prefixKeywords, nextNameWord)), Integer::min); + } + // Algorithm taken from https://semanti.ca/blog/?an-introduction-into-approximate-string-matching. // Java code is original work. private int calculateLevenshteinDistance(String prefixKeyword, String personAttribute) { From c78a3c29590524c08e653d832b3a5cbf1714d4a6 Mon Sep 17 00:00:00 2001 From: TheRealRavager Date: Fri, 1 Nov 2019 09:34:32 +0800 Subject: [PATCH 05/17] WIP Name split find LD --- .../logic/commands/FuzzyFindCommand.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/main/java/organice/logic/commands/FuzzyFindCommand.java b/src/main/java/organice/logic/commands/FuzzyFindCommand.java index 68908c7c683..65ee750f69c 100644 --- a/src/main/java/organice/logic/commands/FuzzyFindCommand.java +++ b/src/main/java/organice/logic/commands/FuzzyFindCommand.java @@ -13,6 +13,7 @@ import organice.model.person.PersonContainsPrefixesPredicate; import java.util.*; +import java.util.function.BiFunction; /** * Finds and lists all persons in address book whose prefixes match any of the argument prefix-keyword pairs. @@ -102,6 +103,22 @@ minDistance, calculateLevenshteinDistance(nextKeyword.toLowerCase(), personAttri // Split name by spaces private int findMinLevenshteinDistance(List prefixKeywords, Name personName) { + // if keyword is one word long, split the personName + // else just do as we are normally doing in original finalMinLD + String name = personName.toString(); + + BiFunction findDistanceSplitIfMultiWord = (prefixKeyword, pName) -> + (prefixKeyword.split(" ").length == 1 ? Arrays.stream(pName.split(" ")) + .reduce(Integer.MAX_VALUE, (minDistance, nextNameWord) -> Integer.min(minDistance, + calculateLevenshteinDistance(prefixKeyword, nextNameWord)), Integer::min) + : ; + + return prefixKeywords.stream().reduce(Integer.MAX_VALUE, (minDistance, nextKeyword) -> + findDistanceSplitIfMultiWord.apply(nextKeyword, personName.toString()), + Integer::min); + + + return Arrays.stream(personName.toString().split(" ")).reduce(Integer.MAX_VALUE, (minDistance, nextNameWord) -> Integer.min( minDistance, findMinLevenshteinDistance(prefixKeywords, nextNameWord)), Integer::min); From d4a7dc754097ac6e20a6ef7454295a05fd5458b2 Mon Sep 17 00:00:00 2001 From: TheRealRavager Date: Fri, 1 Nov 2019 10:19:28 +0800 Subject: [PATCH 06/17] Update fuzzy to process multiword names --- .../java/organice/logic/commands/FuzzyFindCommand.java | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/main/java/organice/logic/commands/FuzzyFindCommand.java b/src/main/java/organice/logic/commands/FuzzyFindCommand.java index 65ee750f69c..0572b74e6b5 100644 --- a/src/main/java/organice/logic/commands/FuzzyFindCommand.java +++ b/src/main/java/organice/logic/commands/FuzzyFindCommand.java @@ -108,20 +108,14 @@ private int findMinLevenshteinDistance(List prefixKeywords, Name personN String name = personName.toString(); BiFunction findDistanceSplitIfMultiWord = (prefixKeyword, pName) -> - (prefixKeyword.split(" ").length == 1 ? Arrays.stream(pName.split(" ")) + prefixKeyword.split(" ").length == 1 ? Arrays.stream(pName.split(" ")) .reduce(Integer.MAX_VALUE, (minDistance, nextNameWord) -> Integer.min(minDistance, calculateLevenshteinDistance(prefixKeyword, nextNameWord)), Integer::min) - : ; + : calculateLevenshteinDistance(prefixKeyword, pName); return prefixKeywords.stream().reduce(Integer.MAX_VALUE, (minDistance, nextKeyword) -> findDistanceSplitIfMultiWord.apply(nextKeyword, personName.toString()), Integer::min); - - - - return Arrays.stream(personName.toString().split(" ")).reduce(Integer.MAX_VALUE, - (minDistance, nextNameWord) -> Integer.min( - minDistance, findMinLevenshteinDistance(prefixKeywords, nextNameWord)), Integer::min); } // Algorithm taken from https://semanti.ca/blog/?an-introduction-into-approximate-string-matching. From f4c61dc715aabfb906b8358279834a9a01ec6920 Mon Sep 17 00:00:00 2001 From: TheRealRavager Date: Fri, 1 Nov 2019 13:54:39 +0800 Subject: [PATCH 07/17] WIP: Send sorted arraylist to model --- .../logic/commands/FuzzyFindCommand.java | 21 ++++++++++--------- src/main/java/organice/model/Model.java | 6 ------ 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/src/main/java/organice/logic/commands/FuzzyFindCommand.java b/src/main/java/organice/logic/commands/FuzzyFindCommand.java index 0572b74e6b5..1d1c63450d4 100644 --- a/src/main/java/organice/logic/commands/FuzzyFindCommand.java +++ b/src/main/java/organice/logic/commands/FuzzyFindCommand.java @@ -4,6 +4,7 @@ import static organice.logic.parser.CliSyntax.*; import javafx.collections.FXCollections; +import javafx.collections.ObservableList; import javafx.collections.transformation.FilteredList; import organice.commons.core.Messages; import organice.logic.parser.ArgumentMultimap; @@ -31,7 +32,7 @@ public class FuzzyFindCommand extends Command { + "Example: " + COMMAND_WORD + " n/alice t/doctor"; // Maximum Levenshtein Distance tolerated for a fuzzy match - private static final int FUZZY_THRESHOLD = 3; + private static final int FUZZY_THRESHOLD = 5; private final ArgumentMultimap argMultimap; @@ -39,7 +40,7 @@ public FuzzyFindCommand(ArgumentMultimap argMultimap) { this.argMultimap = argMultimap; } - private FilteredList fuzzyMatch(ArgumentMultimap argMultimap, List inputList) { + private ObservableList fuzzyMatch(ArgumentMultimap argMultimap, List inputList) { // Take math_min of Levenshtein Distance within one prefix, and accumulate them. // Calculate LD for each pair of keyword, attribute within one prefix. Take math_min of all. @@ -77,14 +78,16 @@ private FilteredList fuzzyMatch(ArgumentMultimap argMultimap, List distancesOfTolerablePersons = new ArrayList<>(); - ArrayList tolerablePersons = new ArrayList<>(); + ArrayList tolerablePersons = new ArrayList<>(inputList.size()); for (int i = 0; i < inputList.size(); i++) { + int j = 0; int levenshteinDistance = distanceList.get(i); String DEBUG_PERSON_NAME = inputList.get(i).getName().toString(); String[] DEBUG_ARR = nameKeywords.toArray(String[]::new); if (levenshteinDistance <= FUZZY_THRESHOLD) { - distancesOfTolerablePersons.add(i, levenshteinDistance); - tolerablePersons.add(i, inputList.get(i)); + distancesOfTolerablePersons.add(j, levenshteinDistance); + tolerablePersons.add(j, inputList.get(i)); + j++; } } @@ -92,7 +95,7 @@ private FilteredList fuzzyMatch(ArgumentMultimap argMultimap, List distancesOfTolerablePersons.get(tolerablePersons.indexOf(left)))); - return new FilteredList<>(FXCollections.observableArrayList(sortedPersons)); + return FXCollections.observableArrayList(sortedPersons); } private int findMinLevenshteinDistance(List prefixKeywords, String personAttribute) { @@ -185,11 +188,9 @@ public CommandResult execute(Model model) { ArrayList finalArrayList = new ArrayList<>(exactMatches); finalArrayList.addAll(allExceptExactMatches); - FilteredList searchResults = new FilteredList<>(FXCollections.observableArrayList(finalArrayList)); - - model.overrideFilteredPersonList(searchResults); + model.setDisplayedPersonList(finalArrayList); return new CommandResult( - String.format(Messages.MESSAGE_PERSONS_LISTED_OVERVIEW, model.getFilteredPersonList().size())); + String.format(Messages.MESSAGE_PERSONS_LISTED_OVERVIEW, model.getDisplayedPersonList().size())); } @Override diff --git a/src/main/java/organice/model/Model.java b/src/main/java/organice/model/Model.java index 34fd26b0a40..d3dc09d2bb3 100644 --- a/src/main/java/organice/model/Model.java +++ b/src/main/java/organice/model/Model.java @@ -124,12 +124,6 @@ public interface Model { /** Returns an unmodifiable view of the filtered person list */ ObservableList getFilteredPersonList(); - /** - * Overrides the current filtered person list with the given {@code inputList}. - * {@code inputList} must be non null. - */ - void overrideFilteredPersonList(FilteredList inputList); - /** * Updates the filter of the filtered person list to filter by the given {@code predicate}. * @throws NullPointerException if {@code predicate} is null. From bd6ce36f94dffae0b6575ac37892511c2d93d917 Mon Sep 17 00:00:00 2001 From: TheRealRavager Date: Fri, 1 Nov 2019 14:35:08 +0800 Subject: [PATCH 08/17] Working build of Fuzzysearch --- .../organice/logic/commands/FuzzyFindCommand.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/organice/logic/commands/FuzzyFindCommand.java b/src/main/java/organice/logic/commands/FuzzyFindCommand.java index 1d1c63450d4..631c0a9d04e 100644 --- a/src/main/java/organice/logic/commands/FuzzyFindCommand.java +++ b/src/main/java/organice/logic/commands/FuzzyFindCommand.java @@ -104,20 +104,21 @@ minDistance, calculateLevenshteinDistance(nextKeyword.toLowerCase(), personAttri Integer::min); } + //BUG: Seems like the previous minimum is deleted in favour of the next. // Split name by spaces private int findMinLevenshteinDistance(List prefixKeywords, Name personName) { // if keyword is one word long, split the personName // else just do as we are normally doing in original finalMinLD - String name = personName.toString(); BiFunction findDistanceSplitIfMultiWord = (prefixKeyword, pName) -> prefixKeyword.split(" ").length == 1 ? Arrays.stream(pName.split(" ")) .reduce(Integer.MAX_VALUE, (minDistance, nextNameWord) -> Integer.min(minDistance, - calculateLevenshteinDistance(prefixKeyword, nextNameWord)), Integer::min) - : calculateLevenshteinDistance(prefixKeyword, pName); + calculateLevenshteinDistance(prefixKeyword.toLowerCase(), nextNameWord.toLowerCase())), + Integer::min) + : calculateLevenshteinDistance(prefixKeyword.toLowerCase(), pName.toLowerCase()); return prefixKeywords.stream().reduce(Integer.MAX_VALUE, (minDistance, nextKeyword) -> - findDistanceSplitIfMultiWord.apply(nextKeyword, personName.toString()), + Integer.min(minDistance, findDistanceSplitIfMultiWord.apply(nextKeyword, personName.toString())), Integer::min); } @@ -189,8 +190,8 @@ public CommandResult execute(Model model) { finalArrayList.addAll(allExceptExactMatches); model.setDisplayedPersonList(finalArrayList); - return new CommandResult( - String.format(Messages.MESSAGE_PERSONS_LISTED_OVERVIEW, model.getDisplayedPersonList().size())); + return new CommandResult("Found " + exactMatches.size() + " exact matches and " + + allExceptExactMatches.size() + " possible matches!"); } @Override From 4d0f9b458dc4ee6e5b42d9961cd5ac2968563d56 Mon Sep 17 00:00:00 2001 From: TheRealRavager Date: Fri, 1 Nov 2019 14:46:24 +0800 Subject: [PATCH 09/17] Cleanup of FuzzyFindCommand --- .../logic/commands/FuzzyFindCommand.java | 54 ++++++------------- 1 file changed, 16 insertions(+), 38 deletions(-) diff --git a/src/main/java/organice/logic/commands/FuzzyFindCommand.java b/src/main/java/organice/logic/commands/FuzzyFindCommand.java index 631c0a9d04e..9ed2025adec 100644 --- a/src/main/java/organice/logic/commands/FuzzyFindCommand.java +++ b/src/main/java/organice/logic/commands/FuzzyFindCommand.java @@ -1,12 +1,11 @@ package organice.logic.commands; import static java.util.Objects.requireNonNull; +import static organice.commons.util.AppUtil.checkArgument; import static organice.logic.parser.CliSyntax.*; import javafx.collections.FXCollections; -import javafx.collections.ObservableList; import javafx.collections.transformation.FilteredList; -import organice.commons.core.Messages; import organice.logic.parser.ArgumentMultimap; import organice.model.Model; import organice.model.person.Name; @@ -40,25 +39,17 @@ public FuzzyFindCommand(ArgumentMultimap argMultimap) { this.argMultimap = argMultimap; } - private ObservableList fuzzyMatch(ArgumentMultimap argMultimap, List inputList) { - // Take math_min of Levenshtein Distance within one prefix, and accumulate them. - - // Calculate LD for each pair of keyword, attribute within one prefix. Take math_min of all. - // sum all LD. That is the LD of the Person - // Sort the inputlist according to the LDs - // Over to you #execute - - // Fuzzy Match does not take into account the following prefixes due to these reasons: - // Age, Priority, BloodType, TissueType: - // Typos in these fields have a very small Levenshtein Distance (LD) as field length is very small - // Current Implementation of fuzzy search only supports the main 4 person attributes + private List fuzzyMatch(ArgumentMultimap argMultimap, List inputList) { + // Fuzzy Match by Levenshtein Distance is not implemented for following prefixes: + // Age, Priority, BloodType, TissueType + // Typos in these fields have a very small Levenshtein Distance (LD) as typical field length is very small List nameKeywords = argMultimap.getAllValues(PREFIX_NAME); List nricKeywords = argMultimap.getAllValues(PREFIX_NRIC); List phoneKeywords = argMultimap.getAllValues(PREFIX_PHONE); List typeKeywords = argMultimap.getAllValues(PREFIX_TYPE); - // Array containing combined Levenshtein Distance of persons in inputList + // List containing combined Levenshtein Distance of persons in inputList ArrayList distanceList = new ArrayList<>(); for (int i = 0; i < inputList.size(); i++) { @@ -80,22 +71,18 @@ private ObservableList fuzzyMatch(ArgumentMultimap argMultimap, List distancesOfTolerablePersons = new ArrayList<>(); ArrayList tolerablePersons = new ArrayList<>(inputList.size()); for (int i = 0; i < inputList.size(); i++) { - int j = 0; int levenshteinDistance = distanceList.get(i); - String DEBUG_PERSON_NAME = inputList.get(i).getName().toString(); - String[] DEBUG_ARR = nameKeywords.toArray(String[]::new); if (levenshteinDistance <= FUZZY_THRESHOLD) { - distancesOfTolerablePersons.add(j, levenshteinDistance); - tolerablePersons.add(j, inputList.get(i)); - j++; + distancesOfTolerablePersons.add(levenshteinDistance); + tolerablePersons.add(inputList.get(i)); } } ArrayList sortedPersons = new ArrayList<>(tolerablePersons); - Collections.sort(sortedPersons, Comparator.comparingInt( + sortedPersons.sort(Comparator.comparingInt( left -> distancesOfTolerablePersons.get(tolerablePersons.indexOf(left)))); - return FXCollections.observableArrayList(sortedPersons); + return sortedPersons; } private int findMinLevenshteinDistance(List prefixKeywords, String personAttribute) { @@ -104,11 +91,10 @@ minDistance, calculateLevenshteinDistance(nextKeyword.toLowerCase(), personAttri Integer::min); } - //BUG: Seems like the previous minimum is deleted in favour of the next. // Split name by spaces private int findMinLevenshteinDistance(List prefixKeywords, Name personName) { - // if keyword is one word long, split the personName - // else just do as we are normally doing in original finalMinLD + // If keyword is one word long, split the personName and find minLD. + // Else just do as we are normally doing in original finalMinLD BiFunction findDistanceSplitIfMultiWord = (prefixKeyword, pName) -> prefixKeyword.split(" ").length == 1 ? Arrays.stream(pName.split(" ")) @@ -125,14 +111,13 @@ private int findMinLevenshteinDistance(List prefixKeywords, Name personN // Algorithm taken from https://semanti.ca/blog/?an-introduction-into-approximate-string-matching. // Java code is original work. private int calculateLevenshteinDistance(String prefixKeyword, String personAttribute) { + requireNonNull(prefixKeyword); + requireNonNull(personAttribute); + int prefixKeywordLength = prefixKeyword.length(); int personAttributeLength = personAttribute.length(); - if (prefixKeywordLength == 0 || personAttributeLength == 0) { - // Placeholder, should not occur. - System.out.println("THE ZERO THING INSIDE LD IS CALLED"); - return 0; - } + checkArgument(prefixKeywordLength != 0 && personAttributeLength != 0); char[] pkChars = prefixKeyword.toCharArray(); char[] paChars = personAttribute.toCharArray(); @@ -170,13 +155,6 @@ private int calculateLevenshteinDistance(String prefixKeyword, String personAttr public CommandResult execute(Model model) { requireNonNull(model); - // Find exact matches - A - // Find all except exact matches - B - // Perform fuzzy matching on B, to sort it - // Append B to A - searchResults - // Replace FilteredPersonList with searchResults - - List allPersons = Arrays.asList(model.getFilteredPersonList().toArray(Person[]::new)); FilteredList exactMatches = new FilteredList<>(FXCollections.observableList(allPersons)); From c2d82c0a491a16b18044a585427672a2ff08904a Mon Sep 17 00:00:00 2001 From: TheRealRavager Date: Fri, 1 Nov 2019 15:02:13 +0800 Subject: [PATCH 10/17] Fix tests and checkstyle --- .../logic/commands/FuzzyFindCommand.java | 34 +++++++++++++++---- src/main/java/organice/model/Model.java | 1 - src/test/java/organice/model/ModelStub.java | 8 ----- 3 files changed, 28 insertions(+), 15 deletions(-) diff --git a/src/main/java/organice/logic/commands/FuzzyFindCommand.java b/src/main/java/organice/logic/commands/FuzzyFindCommand.java index 9ed2025adec..5472a9869f7 100644 --- a/src/main/java/organice/logic/commands/FuzzyFindCommand.java +++ b/src/main/java/organice/logic/commands/FuzzyFindCommand.java @@ -2,18 +2,26 @@ import static java.util.Objects.requireNonNull; import static organice.commons.util.AppUtil.checkArgument; -import static organice.logic.parser.CliSyntax.*; +import static organice.logic.parser.CliSyntax.PREFIX_NAME; +import static organice.logic.parser.CliSyntax.PREFIX_NRIC; +import static organice.logic.parser.CliSyntax.PREFIX_PHONE; +import static organice.logic.parser.CliSyntax.PREFIX_TYPE; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Comparator; +import java.util.List; +import java.util.function.BiFunction; import javafx.collections.FXCollections; import javafx.collections.transformation.FilteredList; + import organice.logic.parser.ArgumentMultimap; import organice.model.Model; import organice.model.person.Name; import organice.model.person.Person; import organice.model.person.PersonContainsPrefixesPredicate; -import java.util.*; -import java.util.function.BiFunction; /** * Finds and lists all persons in address book whose prefixes match any of the argument prefix-keyword pairs. @@ -39,6 +47,10 @@ public FuzzyFindCommand(ArgumentMultimap argMultimap) { this.argMultimap = argMultimap; } + /** + * Returns a copy of the {@code inputList} which is filtered according to maximum tolerable Levenshtein Distance + * (edit distance) then sorted according to ascending level of distance. + */ private List fuzzyMatch(ArgumentMultimap argMultimap, List inputList) { // Fuzzy Match by Levenshtein Distance is not implemented for following prefixes: // Age, Priority, BloodType, TissueType @@ -79,8 +91,8 @@ private List fuzzyMatch(ArgumentMultimap argMultimap, List input } ArrayList sortedPersons = new ArrayList<>(tolerablePersons); - sortedPersons.sort(Comparator.comparingInt( - left -> distancesOfTolerablePersons.get(tolerablePersons.indexOf(left)))); + sortedPersons.sort(Comparator.comparingInt(left -> + distancesOfTolerablePersons.get(tolerablePersons.indexOf(left)))); return sortedPersons; } @@ -91,7 +103,11 @@ minDistance, calculateLevenshteinDistance(nextKeyword.toLowerCase(), personAttri Integer::min); } - // Split name by spaces + /** + * Returns the minimum Levenshtein Distance of every {@code prefixKeyword} and {@code personName} pair. If + * {@code prefixKeyword} is a single-word string, {@code personName} is split according to spaces (if possible) and + * the minimum distance is calculated between every possible pair. + */ private int findMinLevenshteinDistance(List prefixKeywords, Name personName) { // If keyword is one word long, split the personName and find minLD. // Else just do as we are normally doing in original finalMinLD @@ -110,6 +126,12 @@ private int findMinLevenshteinDistance(List prefixKeywords, Name personN // Algorithm taken from https://semanti.ca/blog/?an-introduction-into-approximate-string-matching. // Java code is original work. + + /** + * Calculates the Levenshtein Distance (edit distance) between the given {@code String prefixKeyword} and + * {@code String personAttribute}. Levenshtein Distance is the (number of character edits required to morph one + * string into another. + */ private int calculateLevenshteinDistance(String prefixKeyword, String personAttribute) { requireNonNull(prefixKeyword); requireNonNull(personAttribute); diff --git a/src/main/java/organice/model/Model.java b/src/main/java/organice/model/Model.java index d3dc09d2bb3..459c608b65a 100644 --- a/src/main/java/organice/model/Model.java +++ b/src/main/java/organice/model/Model.java @@ -5,7 +5,6 @@ import java.util.function.Predicate; import javafx.collections.ObservableList; -import javafx.collections.transformation.FilteredList; import organice.commons.core.GuiSettings; import organice.logic.commands.exceptions.CommandException; diff --git a/src/test/java/organice/model/ModelStub.java b/src/test/java/organice/model/ModelStub.java index 1c55c8985bd..78749a0b22d 100644 --- a/src/test/java/organice/model/ModelStub.java +++ b/src/test/java/organice/model/ModelStub.java @@ -5,7 +5,6 @@ import java.util.function.Predicate; import javafx.collections.ObservableList; -import javafx.collections.transformation.FilteredList; import organice.commons.core.GuiSettings; import organice.model.person.Donor; import organice.model.person.Nric; @@ -138,13 +137,6 @@ public ObservableList getFilteredPersonList() { throw new AssertionError("This method should not be called."); } - @Override - public void overrideFilteredPersonList(FilteredList inputList) { - //TODO: Implement this method - // This method exists in this state to prevent compile-time errors and facilitate development - throw new AssertionError("THIS METHOD IS NOT YET IMPLEMENTED"); - } - @Override public void updateFilteredPersonList(Predicate predicate) { throw new AssertionError("This method should not be called."); From 98756c4dd1743fb7c5b5558f935b8bc24c8b2552 Mon Sep 17 00:00:00 2001 From: TheRealRavager Date: Fri, 1 Nov 2019 15:26:23 +0800 Subject: [PATCH 11/17] Change `find` to use fuzzy search and normal search to be `exactfind` --- src/main/java/organice/logic/commands/FindCommand.java | 2 +- src/main/java/organice/logic/commands/FuzzyFindCommand.java | 2 +- src/main/java/organice/logic/parser/FindCommandParser.java | 4 ++-- .../java/organice/logic/parser/FindCommandParserTest.java | 3 ++- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/organice/logic/commands/FindCommand.java b/src/main/java/organice/logic/commands/FindCommand.java index 2c2a7a30635..2e6faecf8e4 100644 --- a/src/main/java/organice/logic/commands/FindCommand.java +++ b/src/main/java/organice/logic/commands/FindCommand.java @@ -12,7 +12,7 @@ */ public class FindCommand extends Command { - public static final String COMMAND_WORD = "find"; + public static final String COMMAND_WORD = "exactfind"; public static final String MESSAGE_USAGE = COMMAND_WORD + ": Finds all persons whose prefixes match any of " + "the specified prefix-keywords pairs (case-insensitive) and displays them as a list with index numbers.\n" diff --git a/src/main/java/organice/logic/commands/FuzzyFindCommand.java b/src/main/java/organice/logic/commands/FuzzyFindCommand.java index 5472a9869f7..8c6ddcc90c6 100644 --- a/src/main/java/organice/logic/commands/FuzzyFindCommand.java +++ b/src/main/java/organice/logic/commands/FuzzyFindCommand.java @@ -30,7 +30,7 @@ */ public class FuzzyFindCommand extends Command { - public static final String COMMAND_WORD = "fuzfind"; + public static final String COMMAND_WORD = "find"; public static final String MESSAGE_USAGE = COMMAND_WORD + ": Finds all persons whose prefixes are similar to any of" + " the specified prefix-keywords pairs (case-insensitive) and displays them as a list with index numbers." diff --git a/src/main/java/organice/logic/parser/FindCommandParser.java b/src/main/java/organice/logic/parser/FindCommandParser.java index 51e1a69e370..82ac6fb40dc 100644 --- a/src/main/java/organice/logic/parser/FindCommandParser.java +++ b/src/main/java/organice/logic/parser/FindCommandParser.java @@ -34,8 +34,8 @@ public FindCommand parse(String args) throws ParseException { PREFIX_TYPE, PREFIX_AGE, PREFIX_PRIORITY, PREFIX_BLOOD_TYPE, PREFIX_DOCTOR_IN_CHARGE, PREFIX_TISSUE_TYPE, PREFIX_ORGAN_EXPIRY_DATE, PREFIX_ORGAN); - // Preamble length > 4 indicates initial command is not `find PREFIX/KEYWORD` - if (trimmedArgs.isEmpty() || argMultimap.getPreamble().length() > 4) { + // Preamble length > 4 indicates initial command is not `FindCommand.COMMAND_WORD PREFIX/KEYWORD` + if (trimmedArgs.isEmpty() || argMultimap.getPreamble().length() > FindCommand.COMMAND_WORD.length()) { throw new ParseException( String.format(MESSAGE_INVALID_COMMAND_FORMAT, FindCommand.MESSAGE_USAGE)); } diff --git a/src/test/java/organice/logic/parser/FindCommandParserTest.java b/src/test/java/organice/logic/parser/FindCommandParserTest.java index 7fec4190b2e..b9abde9f4e4 100644 --- a/src/test/java/organice/logic/parser/FindCommandParserTest.java +++ b/src/test/java/organice/logic/parser/FindCommandParserTest.java @@ -23,7 +23,8 @@ public void parse_emptyArg_throwsParseException() { public void parse_validArgs_returnsFindCommand() { // no leading and trailing whitespaces FindCommand expectedFindCommand = new FindCommand(new PersonContainsPrefixesPredicate( - ArgumentTokenizer.tokenize(" find n/Alice Bob ", PREFIX_NAME))); + ArgumentTokenizer.tokenize(" " + FindCommand.COMMAND_WORD + " n/Alice Bob ", + PREFIX_NAME))); assertParseSuccess(parser, FindCommand.COMMAND_WORD + " n/Alice Bob", expectedFindCommand); } From af82224544805cfe220dde90d72785c6b33ec4e8 Mon Sep 17 00:00:00 2001 From: TheRealRavager Date: Fri, 1 Nov 2019 18:15:02 +0800 Subject: [PATCH 12/17] Shift `#calculateLevenshteinDistance` to `StringUtil` --- .../organice/commons/util/StringUtil.java | 48 ++++++++++++++++++ .../logic/commands/FuzzyFindCommand.java | 50 +------------------ 2 files changed, 49 insertions(+), 49 deletions(-) diff --git a/src/main/java/organice/commons/util/StringUtil.java b/src/main/java/organice/commons/util/StringUtil.java index 20c1bdd1709..302b695fa15 100644 --- a/src/main/java/organice/commons/util/StringUtil.java +++ b/src/main/java/organice/commons/util/StringUtil.java @@ -86,4 +86,52 @@ public static boolean isNonZeroUnsignedInteger(String s) { return false; } } + + // Algorithm taken from https://semanti.ca/blog/?an-introduction-into-approximate-string-matching. + // Java code is original work. + /** + * Calculates the Levenshtein Distance (edit distance) between the given {@code String firstString} and + * {@code String secondString}. Levenshtein Distance is the number of character edits required to morph one + * string into another. + */ + public static int calculateLevenshteinDistance(String firstString, String secondString) { + requireNonNull(firstString); + requireNonNull(secondString); + + int firstStringLength = firstString.length(); + int secondStringLength = secondString.length(); + + checkArgument(firstStringLength != 0 && secondStringLength != 0); + + char[] pkChars = firstString.toCharArray(); + char[] paChars = secondString.toCharArray(); + + int[][] costMatrix = new int[firstStringLength][secondStringLength]; + for (int i = 0; i < firstStringLength; i++) { + for (int j = 0; j < secondStringLength; j++) { + costMatrix[i][j] = pkChars[i] == paChars[j] ? 0 : 1; + } + } + + int[][] levenshteinMatrix = new int [firstStringLength + 1][secondStringLength + 1]; + // Initialise first row and col to be in range 0..length + for (int r = 0; r < firstStringLength + 1; r++) { + levenshteinMatrix[r][0] = r; + } + for (int c = 0; c < secondStringLength + 1; c++) { + levenshteinMatrix[0][c] = c; + } + + // Setting the distance + for (int r = 1; r < firstStringLength + 1; r++) { + for (int c = 1; c < secondStringLength + 1; c++) { + int cellAbovePlusOne = levenshteinMatrix[r - 1][c] + 1; + int cellLeftPlusOne = levenshteinMatrix[r][c - 1] + 1; + int cellLeftDiagPlusCost = levenshteinMatrix[r - 1][c - 1] + costMatrix[r - 1][c - 1]; + levenshteinMatrix[r][c] = + Integer.min(cellAbovePlusOne, Integer.min(cellLeftPlusOne, cellLeftDiagPlusCost)); + } + } + return levenshteinMatrix[firstStringLength][secondStringLength]; + } } diff --git a/src/main/java/organice/logic/commands/FuzzyFindCommand.java b/src/main/java/organice/logic/commands/FuzzyFindCommand.java index 8c6ddcc90c6..c6f35a86219 100644 --- a/src/main/java/organice/logic/commands/FuzzyFindCommand.java +++ b/src/main/java/organice/logic/commands/FuzzyFindCommand.java @@ -2,6 +2,7 @@ import static java.util.Objects.requireNonNull; import static organice.commons.util.AppUtil.checkArgument; +import static organice.commons.util.StringUtil.calculateLevenshteinDistance; import static organice.logic.parser.CliSyntax.PREFIX_NAME; import static organice.logic.parser.CliSyntax.PREFIX_NRIC; import static organice.logic.parser.CliSyntax.PREFIX_PHONE; @@ -124,55 +125,6 @@ private int findMinLevenshteinDistance(List prefixKeywords, Name personN Integer::min); } - // Algorithm taken from https://semanti.ca/blog/?an-introduction-into-approximate-string-matching. - // Java code is original work. - - /** - * Calculates the Levenshtein Distance (edit distance) between the given {@code String prefixKeyword} and - * {@code String personAttribute}. Levenshtein Distance is the (number of character edits required to morph one - * string into another. - */ - private int calculateLevenshteinDistance(String prefixKeyword, String personAttribute) { - requireNonNull(prefixKeyword); - requireNonNull(personAttribute); - - int prefixKeywordLength = prefixKeyword.length(); - int personAttributeLength = personAttribute.length(); - - checkArgument(prefixKeywordLength != 0 && personAttributeLength != 0); - - char[] pkChars = prefixKeyword.toCharArray(); - char[] paChars = personAttribute.toCharArray(); - - int[][] costMatrix = new int[prefixKeywordLength][personAttributeLength]; - for (int i = 0; i < prefixKeywordLength; i++) { - for (int j = 0; j < personAttributeLength; j++) { - costMatrix[i][j] = pkChars[i] == paChars[j] ? 0 : 1; - } - } - - int[][] levenshteinMatrix = new int [prefixKeywordLength + 1][personAttributeLength + 1]; - // Initialise first row and col to be in range 0..length - for (int r = 0; r < prefixKeywordLength + 1; r++) { - levenshteinMatrix[r][0] = r; - } - for (int c = 0; c < personAttributeLength + 1; c++) { - levenshteinMatrix[0][c] = c; - } - - // Setting the distance - for (int r = 1; r < prefixKeywordLength + 1; r++) { - for (int c = 1; c < personAttributeLength + 1; c++) { - int cellAbovePlusOne = levenshteinMatrix[r - 1][c] + 1; - int cellLeftPlusOne = levenshteinMatrix[r][c - 1] + 1; - int cellLeftDiagPlusCost = levenshteinMatrix[r - 1][c - 1] + costMatrix[r - 1][c - 1]; - levenshteinMatrix[r][c] = - Integer.min(cellAbovePlusOne, Integer.min(cellLeftPlusOne, cellLeftDiagPlusCost)); - } - } - return levenshteinMatrix[prefixKeywordLength][personAttributeLength]; - } - @Override public CommandResult execute(Model model) { requireNonNull(model); From 823c8408b065b683453c50bf7202c47dba9d5fe1 Mon Sep 17 00:00:00 2001 From: TheRealRavager Date: Sat, 2 Nov 2019 22:30:23 +0800 Subject: [PATCH 13/17] Update UG and fix checkstyle --- docs/UserGuide.adoc | 55 +++++++++--------- docs/images/findByPrefix.png | Bin 96082 -> 156739 bytes .../organice/logic/commands/FindCommand.java | 2 +- .../logic/commands/FuzzyFindCommand.java | 1 - 4 files changed, 27 insertions(+), 31 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 88f2adbad6d..4888e3c7b0d 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -317,56 +317,53 @@ Edits the phone number of the specified patient to be `91234567`. * `edit S8732457G n/Betsy Crower p/91234567` + Edits the name and phone number of the specified donor to be `Betsy Crower` and `91234567` respectively. -// tag::find[] === Finding persons by attributes: `find` -You can use the `find` command to search for persons whose attributes match your input keywords. Matching persons will -be displayed in a list. + +You can use the `find` command to search for persons whose attributes match your input keywords. A list of matching +persons along with the number of exact and possible matches will be displayed. + -Format: `find __PREFIX__/__KEYWORD__` +Format: `find __PREFIX__/__KEYWORD__ (__PREFIX__/__KEYWORD__...)` -Optional parameters: Multiple `keywords` per `prefix`, multiple `prefixes` in the same find command. +Optional parameters: Multiple __keyword__s per __prefix__, multiple __prefixe__s in the same find command. -The find command performs case insensitive `OR` matching within a prefix and `AND` matching between prefixes. The -following example illustrates this concept: +[TIP] +You may wish to reference <>, to view the list of available prefixes to search by. + +The find command is **case insensitive** and performs **OR** matching within a prefix and **AND** matching between +prefixes. It also matches similar looking words to account for possible typos in your keywords. The following example illustrates +these concepts: .Find command with multiple prefixes and multiple keywords per prefix. image::findByPrefix.png[width="790"] -As seen from Figure 12, `find n/Duncan n/Lionel n/Helen t/patient t/donor` displays 'Duncan Chua', `Lionel Doe` and -`Helen Davidson`. This is due to the fact that Duncan's name matches either of 'Duncan' `OR` 'Lionel' `OR` 'Helen' `AND` -he is also either a 'doctor' `OR` 'donor'. The same is true for Lionel and Helen. You should note that the only -exception to this rule is tissue type matching, which uses `AND` matching within the prefix. - -You may wish to reference the following section: <>, to view the list of available prefixes to -search by. +In Figure 12, you can see that `find n/Duncan n/Loinel n/Helen t/patient t/donor` shows a list of 44 matches. The two +exact matches are listed at the top; those below are possible matches, sorted according to how closely they match your +keywords. 'Duncan Chua' and 'Helen Davidson' are among the matched persons due to the fact that Duncan's name matches +either of 'Duncan' **OR** 'Loinel' **OR** 'Helen' **AND** he is also either a 'patient' **OR** 'donor'. The same is true +for Helen. 'Lionel Lim' also appears in the search results as his name is similar to 'Loinel'. Hey, good thing we +picked up on that typo or we'd have missed Lionel! -Here are some examples and pointers showcasing the use of `find`: +NOTE: The only exception to this rule is tissue type matching, which uses `AND` matching within the prefix. -__Use case with single prefix and keyword__ + -* `find n/Alice` + -Displays all persons whose name contains 'Alice' - -__Use case demonstrating keyword case insensitivity__ + -* `find n/aLiCe` + -Displays the same result as the preceding example. +Lets take a look at some examples and pointers showcasing the use of `find`: __Use case with multiple keywords per prefix__ + -* `find n/Alice n/Benson b/A b/B b/O` + -Displays all persons whose name contains either 'Alice' or 'Benson' and whose blood type is either 'A', 'B' or 'O'. +* `find n/Laura n/Marisha Ray b/A b/B b/O` + +Displays all persons whose name contains either 'Laura' or 'Marisha Ray' and whose blood type is either 'A', 'B' or 'O'. __Use case demonstrating prefix order insensitivity__ + -* `find b/A n/Benson b/O n/Alice b/B` + +* `find b/A n/Benson Carter b/O n/Alice b/B` + Displays the same result as the preceding example. -__Use case demonstrating full name capture__ + -* `find n/Laura Bailey n/Marisha Ray` + -Displays all persons whose name contains 'Laura Bailey' or 'Marisha Ray'. - __Use case demonstrating tissue type finding__ + * `find tt/4,1,2,3` + Displays all persons whose tissue type contains tissues: 4, 1, 2 and 3; in any order. +[TIP] +Looking for exact matches? No problem! Just replace `find` with `exactFind`! + +That's it for this section. Congratulations, you now know how to use the `find` command! + === Detecting matches: `match` This command runs a kidney matching test on patients and donors in ORGANice and displays the match results. diff --git a/docs/images/findByPrefix.png b/docs/images/findByPrefix.png index e675617fac5f2e00eba014d6e57b0aa30fcdffb5..068554be2aaa2300240b05de6fe750d725f0d5e0 100644 GIT binary patch literal 156739 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�tHJAXn9~ZlKFb2Pmam7v$^7;w z2Xi;B3%j{AoSmz<=RwchlmcS(>+-~C_1e7S<14SkibKF3)Oz-tEnXOH(iHo^{mrFp z`1%vwmjwk!Ep$8C`y*{1*?Q6w zy9uP8uCAlYL}M1?Sx)dw5u8$x%`wPBaIB9HkVPs2BtMCOSKIwql{}O#OohePYK+5dW5}%Y*%;(QnAV+A@ z*Uis_Y36OBzdDIGkT<|SKt(ff+=|tB)=z7&UXsV(_bfmlIIcT$>8MW;b5aA9-ox&c zQ_TCjLsfRw`ptyfL zalb2>^5j{#%~e~0C2nr8HfA+G2r;y6fwO13yT*anI&$h1=&ghyX?3qKjpbInuBqAf zKpyhWyG28nZkgj;tLtZHXMeP0VKPfgPXITkEsF|j`R%vrRTWn~6B9~OJ?rv_)_xh<|YsQoN?7?qqk
g;BV%f!G3m$MaqJu!+QU}P@a$Of6so)|gC&!5h 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¥v9TGuTg*)ddwyA+{F^ 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 Date: Sat, 2 Nov 2019 22:36:40 +0800 Subject: [PATCH 14/17] Update findByPrefix.png --- docs/images/findByPrefix.png | Bin 156739 -> 157434 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/findByPrefix.png b/docs/images/findByPrefix.png index 068554be2aaa2300240b05de6fe750d725f0d5e0..08eb7413c1762c7bfa4906e4d4e19c9c366cd2d5 100644 GIT binary patch literal 157434 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%0AKMo~HrEvf2-8Y; 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

!8@vw+ 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