List of usage examples for org.apache.commons.codec StringEncoderComparator StringEncoderComparator
public StringEncoderComparator(StringEncoder stringEncoder)
From source file:LanguageUsage.java
public void start() throws EncoderException, DecoderException { String word1 = "Wilson"; String word2 = "Wylson"; String foreignWord1 = "Otto"; String foreignWord2 = "Auto"; Soundex sndx = new Soundex(); DoubleMetaphone doubleMetaphone = new DoubleMetaphone(); System.err.println("Soundex Code for Wilson is: " + sndx.encode("Wilson")); System.err.println("Soundex Code for Wylson is: " + sndx.encode("Wylson")); // Use the StringEncoderComparator to compare these two Strings StringEncoderComparator comparator1 = new StringEncoderComparator(sndx); System.err/* w ww .ja v a 2 s . c o m*/ .println("Are Wilson and Wylson same based on Soundex? " + comparator1.compare("Wilson", "Wylson")); System.err.println("Are Auto and Otto same based on Soundex? " + comparator1.compare("Auto", "Otto")); StringEncoderComparator comparator2 = new StringEncoderComparator(doubleMetaphone); System.err .println("Are Auto and Otto same based on DoubleMetaphone? " + comparator2.compare("Auto", "Otto")); System.err.println( "Double Metaphone primary code for Schmidt: " + doubleMetaphone.doubleMetaphone("Schmidt")); System.err.println( "Double Metaphone secondary code for Schmidt: " + doubleMetaphone.doubleMetaphone("Schmidt", true)); }
From source file:com.perceptive.epm.perkolcentral.action.ajax.EmployeeDetailsAction.java
public String executeGetAllEmployees() throws ExceptionWrapper { try {/*from w w w.ja v a2 s. c om*/ Soundex sndx = new Soundex(); DoubleMetaphone doubleMetaphone = new DoubleMetaphone(); final StringEncoderComparator comparator1 = new StringEncoderComparator(doubleMetaphone); LoggingHelpUtil.printDebug("Page " + getPage() + " Rows " + getRows() + " Sorting Order " + getSord() + " Index Row :" + getSidx()); LoggingHelpUtil.printDebug("Search :" + searchField + " " + searchOper + " " + searchString); // Calcalate until rows ware selected int to = (rows * page); // Calculate the first row to read int from = to - rows; LinkedHashMap<Long, EmployeeBO> employeeLinkedHashMap = new LinkedHashMap<Long, EmployeeBO>(); employeeLinkedHashMap = employeeBL.getAllEmployees(); ArrayList<EmployeeBO> allEmployees = new ArrayList<EmployeeBO>(employeeLinkedHashMap.values()); //Handle search if (searchOper != null && !searchOper.trim().equalsIgnoreCase("") && searchString != null && !searchString.trim().equalsIgnoreCase("")) { if (searchOper.trim().equalsIgnoreCase("eq")) { CollectionUtils.filter(allEmployees, new Predicate() { @Override public boolean evaluate(Object o) { return ((EmployeeBO) o).getEmployeeName().equalsIgnoreCase(searchString.trim()); //To change body of implemented methods use File | Settings | File Templates. } }); } else if (searchOper.trim().equalsIgnoreCase("slk")) { CollectionUtils.filter(allEmployees, new Predicate() { @Override public boolean evaluate(Object o) { return (new StringEncoderComparator(new Soundex()).compare( ((EmployeeBO) o).getEmployeeName().toLowerCase(), searchString.trim().toLowerCase()) == 0 || new StringEncoderComparator(new DoubleMetaphone()).compare( ((EmployeeBO) o).getEmployeeName().toLowerCase(), searchString.trim().toLowerCase()) == 0 || new StringEncoderComparator(new Metaphone()).compare( ((EmployeeBO) o).getEmployeeName().toLowerCase(), searchString.trim().toLowerCase()) == 0 || new StringEncoderComparator(new RefinedSoundex()).compare( ((EmployeeBO) o).getEmployeeName().toLowerCase(), searchString.trim().toLowerCase()) == 0); //To change body of implemented methods use File | Settings | File Templates. } }); } else { //First check whether there is an exact match if (CollectionUtils.exists(allEmployees, new Predicate() { @Override public boolean evaluate(Object o) { return (((EmployeeBO) o).getEmployeeName().toLowerCase() .contains(searchString.trim().toLowerCase())); //To change body of implemented methods use File | Settings | File Templates. } })) { CollectionUtils.filter(allEmployees, new Predicate() { @Override public boolean evaluate(Object o) { return (((EmployeeBO) o).getEmployeeName().toLowerCase() .contains(searchString.trim().toLowerCase())); } }); } else { ArrayList<String> matchedEmployeeIds = employeeBL.getLuceneUtil() .getBestMatchEmployeeName(searchString.trim().toLowerCase()); allEmployees = new ArrayList<EmployeeBO>(); for (String id : matchedEmployeeIds) { allEmployees.add(employeeBL.getAllEmployees().get(Long.valueOf(id))); } } } /*{ CollectionUtils.filter(allEmployees, new Predicate() { @Override public boolean evaluate(Object o) { if (((EmployeeBO) o).getEmployeeName().toLowerCase().contains(searchString.trim().toLowerCase())) return true; else if(new StringEncoderComparator(new Soundex()).compare(((EmployeeBO) o).getEmployeeName().toLowerCase(), searchString.trim().toLowerCase()) == 0 || new StringEncoderComparator(new DoubleMetaphone()).compare(((EmployeeBO) o).getEmployeeName().toLowerCase(), searchString.trim().toLowerCase()) == 0) { return true; } else { for (String empNameParts : ((EmployeeBO) o).getEmployeeName().trim().split(" ")) { if (new StringEncoderComparator(new Soundex()).compare(empNameParts.toLowerCase(), searchString.trim().toLowerCase()) == 0 || new StringEncoderComparator(new DoubleMetaphone()).compare(empNameParts.toLowerCase(), searchString.trim().toLowerCase()) == 0 // || new StringEncoderComparator(new Metaphone()).compare(empNameParts.toLowerCase(), searchString.trim().toLowerCase()) == 0 // || new StringEncoderComparator(new RefinedSoundex()).compare(empNameParts.toLowerCase(), searchString.trim().toLowerCase()) == 0 ) { return true; } } return false; } } }); } */ } //// Handle Order By if (sidx != null && !sidx.equals("")) { Collections.sort(allEmployees, new Comparator<EmployeeBO>() { public int compare(EmployeeBO e1, EmployeeBO e2) { if (sidx.equalsIgnoreCase("employeeName")) return sord.equalsIgnoreCase("asc") ? e1.getEmployeeName().compareTo(e2.getEmployeeName()) : e2.getEmployeeName().compareTo(e1.getEmployeeName()); else if (sidx.equalsIgnoreCase("jobTitle")) return sord.equalsIgnoreCase("asc") ? e1.getJobTitle().compareTo(e2.getJobTitle()) : e2.getJobTitle().compareTo(e1.getJobTitle()); else if (sidx.equalsIgnoreCase("manager")) return sord.equalsIgnoreCase("asc") ? e1.getManager().compareTo(e2.getManager()) : e2.getManager().compareTo(e1.getManager()); else return sord.equalsIgnoreCase("asc") ? e1.getEmployeeName().compareTo(e2.getEmployeeName()) : e2.getEmployeeName().compareTo(e1.getEmployeeName()); } }); } // records = allEmployees.size(); total = (int) Math.ceil((double) records / (double) rows); gridModel = new ArrayList<EmployeeBO>(); to = to > records ? records : to; for (int iCounter = from; iCounter < to; iCounter++) { EmployeeBO employeeBO = allEmployees.get(iCounter); //new EmployeeBO((Employee) employeeLinkedHashMap.values().toArray()[iCounter]); gridModel.add(employeeBO); } } catch (Exception ex) { throw new ExceptionWrapper(ex); } return SUCCESS; }