ItEr51S04ValidacionEProbasFuncionaisItEr50S04 : [Bug #394] Fixing Bug.

Makes the filter to lowercase and delete its white spaces for the searches.
This commit is contained in:
Susana Montes Pedreira 2010-03-22 17:21:11 +01:00 committed by Javier Moran Rua
parent f038f69819
commit cacfec4bbc
5 changed files with 69 additions and 28 deletions

View file

@ -33,12 +33,22 @@ public interface IMultipleFiltersFinder {
void init();
/**
* Return the FilterPair list match with filter.
* @param filter
* @return List<FilterPair>
*/
List<FilterPair> getMatching(String filter);
List<FilterPair> getFirstTenFilters();
String objectToString(Object obj);
/**
* Return the new filter that is lower case and without white spaces.
* @param inputText
* @return
*/
String getNewFilterText(String inputText);
boolean isValidNewFilter(Object obj);

View file

@ -25,6 +25,7 @@ import static org.navalplanner.web.I18nHelper._;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.navalplanner.business.common.IAdHocTransactionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.zkoss.zul.Listcell;
@ -72,11 +73,8 @@ public abstract class MultipleFiltersFinder implements IMultipleFiltersFinder {
}
public String getNewFilterText(String inputText) {
String newFilterText = new String("");
String[] filtersText = inputText.split(",");
newFilterText = getLastText(filtersText);
newFilterText = newFilterText.replace(" ", "");
newFilterText = newFilterText.trim();
String newFilterText = getLastText(filtersText);
return newFilterText;
}
@ -85,7 +83,7 @@ public abstract class MultipleFiltersFinder implements IMultipleFiltersFinder {
if (texts.length > 0) {
return texts[last];
} else {
return "";
return new String("");
}
}
@ -103,7 +101,7 @@ public abstract class MultipleFiltersFinder implements IMultipleFiltersFinder {
}
filterValues = updateDeletedFilters(filterValues, value);
value = value.replace(" ", "");
value = StringUtils.deleteWhitespace(value);
String[] values = value.split(",");
if (values.length != filterValues.size()) {
return false;
@ -142,7 +140,7 @@ public abstract class MultipleFiltersFinder implements IMultipleFiltersFinder {
private boolean isFilterAdded(String[] values, String filter) {
for (int i = 0; i < values.length; i++) {
String value = values[i].replace(" ", "");
filter = filter.replace(" ", "");
filter = StringUtils.deleteWhitespace(filter);
if (filter.equals(value)) {
return true;

View file

@ -26,6 +26,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.navalplanner.business.common.IOnTransaction;
import org.navalplanner.business.labels.daos.ILabelDAO;
import org.navalplanner.business.labels.daos.ILabelTypeDAO;
@ -151,7 +152,7 @@ public class OrderElementsMultipleFiltersFinder extends MultipleFiltersFinder {
public List<FilterPair> getMatching(String filter) {
getListMatching().clear();
if ((filter != null) && (!filter.isEmpty())) {
filter = filter.toLowerCase();
filter = StringUtils.deleteWhitespace(filter.toLowerCase());
searchInCriterionTypes(filter);
searchInLabelTypes(filter);
}
@ -163,7 +164,9 @@ public class OrderElementsMultipleFiltersFinder extends MultipleFiltersFinder {
private void searchInCriterionTypes(String filter) {
boolean limited = (filter.length() < 3);
for (CriterionType type : mapCriterions.keySet()) {
if (type.getName().toLowerCase().contains(filter)) {
String name = StringUtils.deleteWhitespace(type.getName()
.toLowerCase());
if (name.contains(filter)) {
setFilterPairCriterionType(type, limited);
} else {
searchInCriterions(type, filter);
@ -173,7 +176,9 @@ public class OrderElementsMultipleFiltersFinder extends MultipleFiltersFinder {
private void searchInCriterions(CriterionType type, String filter) {
for (Criterion criterion : mapCriterions.get(type)) {
if (criterion.getName().toLowerCase().contains(filter)) {
String name = StringUtils.deleteWhitespace(criterion.getName()
.toLowerCase());
if (name.contains(filter)) {
addCriterion(type, criterion);
if ((filter.length() < 3) && (getListMatching().size() > 9)) {
return;
@ -194,7 +199,9 @@ public class OrderElementsMultipleFiltersFinder extends MultipleFiltersFinder {
private void searchInLabelTypes(String filter) {
boolean limited = (filter.length() < 3);
for (LabelType type : mapLabels.keySet()) {
if (type.getName().toLowerCase().contains(filter)) {
String name = StringUtils.deleteWhitespace(type.getName()
.toLowerCase());
if (name.contains(filter)) {
setFilterPairLabelType(type, limited);
} else {
searchInLabels(type, filter);
@ -204,7 +211,9 @@ public class OrderElementsMultipleFiltersFinder extends MultipleFiltersFinder {
private void searchInLabels(LabelType type, String filter) {
for (Label label : mapLabels.get(type)) {
if (label.getName().toLowerCase().contains(filter)) {
String name = StringUtils.deleteWhitespace(label.getName()
.toLowerCase());
if (name.contains(filter)) {
addLabel(type, label);
if ((filter.length() < 3) && (getListMatching().size() > 9)) {
return;

View file

@ -26,6 +26,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.navalplanner.business.common.IOnTransaction;
import org.navalplanner.business.externalcompanies.daos.IExternalCompanyDAO;
import org.navalplanner.business.externalcompanies.entities.ExternalCompany;
@ -235,7 +236,9 @@ public class OrdersMultipleFiltersFinder extends MultipleFiltersFinder {
public List<FilterPair> getMatching(String filter) {
getListMatching().clear();
if ((filter != null) && (!filter.isEmpty())) {
filter = filter.toLowerCase();
filter = StringUtils.deleteWhitespace(filter.toLowerCase());
if (filter.indexOf("rc:") == 0) {
searchInCustomerReferences(filter);
} else if (filter.indexOf("cod:") == 0) {
@ -255,7 +258,9 @@ public class OrdersMultipleFiltersFinder extends MultipleFiltersFinder {
private void searchInCriterionTypes(String filter) {
boolean limited = (filter.length() < 3);
for (CriterionType type : mapCriterions.keySet()) {
if (type.getName().toLowerCase().contains(filter)) {
String name = StringUtils.deleteWhitespace(type.getName()
.toLowerCase());
if (name.contains(filter)) {
setFilterPairCriterionType(type, limited);
} else {
searchInCriterions(type, filter);
@ -265,7 +270,9 @@ public class OrdersMultipleFiltersFinder extends MultipleFiltersFinder {
private void searchInCriterions(CriterionType type, String filter) {
for (Criterion criterion : mapCriterions.get(type)) {
if (criterion.getName().toLowerCase().contains(filter)) {
String name = StringUtils.deleteWhitespace(criterion.getName()
.toLowerCase());
if (name.contains(filter)) {
addCriterion(type, criterion);
if ((filter.length() < 3) && (getListMatching().size() > 9)) {
return;
@ -286,7 +293,9 @@ public class OrdersMultipleFiltersFinder extends MultipleFiltersFinder {
private void searchInLabelTypes(String filter) {
boolean limited = (filter.length() < 3);
for (LabelType type : mapLabels.keySet()) {
if (type.getName().toLowerCase().contains(filter)) {
String name = StringUtils.deleteWhitespace(type.getName()
.toLowerCase());
if (name.contains(filter)) {
setFilterPairLabelType(type, limited);
} else {
searchInLabels(type, filter);
@ -296,7 +305,9 @@ public class OrdersMultipleFiltersFinder extends MultipleFiltersFinder {
private void searchInLabels(LabelType type, String filter) {
for (Label label : mapLabels.get(type)) {
if (label.getName().toLowerCase().contains(filter)) {
String name = StringUtils.deleteWhitespace(label.getName()
.toLowerCase());
if (name.contains(filter)) {
addLabel(type, label);
if ((filter.length() < 3) && (getListMatching().size() > 9)) {
return;
@ -316,8 +327,11 @@ public class OrdersMultipleFiltersFinder extends MultipleFiltersFinder {
private void searchInExternalCompanies(String filter){
for(ExternalCompany externalCompany : externalCompanies){
if ((externalCompany.getName().toLowerCase().contains(filter))
|| (externalCompany.getNif().toLowerCase().contains(filter))) {
String name = StringUtils.deleteWhitespace(externalCompany
.getName().toLowerCase());
String nif = StringUtils.deleteWhitespace(externalCompany.getNif()
.toLowerCase());
if ((name.contains(filter)) || (nif.contains(filter))) {
addExternalCompany(externalCompany);
if ((filter.length() < 3) && (getListMatching().size() > 9)) {
return;
@ -328,7 +342,9 @@ public class OrdersMultipleFiltersFinder extends MultipleFiltersFinder {
private void searchInOrderStatus(String filter) {
for (OrderStatusEnum state : ordersStatusEnums) {
if (state.name().toLowerCase().contains(filter)) {
String name = StringUtils.deleteWhitespace(state.name()
.toLowerCase());
if (name.contains(filter)) {
addState(state);
if ((filter.length() < 3) && (getListMatching().size() > 9)) {
return;
@ -340,9 +356,9 @@ public class OrdersMultipleFiltersFinder extends MultipleFiltersFinder {
private void searchInOrderCodes(String filter) {
if (filter.indexOf("cod:") == 0) {
String codeFilter = filter.replaceFirst("cod:", "");
codeFilter = codeFilter.replace(" ", "");
for (String code : ordersCodes) {
if (code.toLowerCase().equals(codeFilter)) {
code = StringUtils.deleteWhitespace(code.toLowerCase());
if (code.equals(codeFilter)) {
addCode(code);
return;
}
@ -353,9 +369,10 @@ public class OrdersMultipleFiltersFinder extends MultipleFiltersFinder {
private void searchInCustomerReferences(String filter) {
if (filter.indexOf("rc:") == 0) {
String referenceFilter = filter.replaceFirst("rc:", "");
referenceFilter = referenceFilter.replace(" ", "");
for (String reference : customerReferences) {
if (reference.toLowerCase().equals(referenceFilter)) {
reference = StringUtils.deleteWhitespace(reference
.toLowerCase());
if (reference.equals(referenceFilter)) {
addCustomerReference(reference);
return;
}

View file

@ -26,6 +26,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.navalplanner.business.common.IOnTransaction;
import org.navalplanner.business.costcategories.daos.ICostCategoryDAO;
import org.navalplanner.business.costcategories.entities.CostCategory;
@ -131,7 +132,7 @@ public class ResourcesMultipleFiltersFinder extends MultipleFiltersFinder {
public List<FilterPair> getMatching(String filter) {
getListMatching().clear();
if ((filter != null) && (!filter.isEmpty())) {
filter = filter.toLowerCase();
filter = StringUtils.deleteWhitespace(filter.toLowerCase());
searchInCriterionTypes(filter);
searchInCostCategories(filter);
}
@ -142,7 +143,9 @@ public class ResourcesMultipleFiltersFinder extends MultipleFiltersFinder {
private void searchInCriterionTypes(String filter) {
boolean limited = (filter.length() < 3);
for (CriterionType type : mapCriterions.keySet()) {
if (type.getName().toLowerCase().contains(filter)) {
String name = StringUtils.deleteWhitespace(type.getName()
.toLowerCase());
if (name.contains(filter)) {
setFilterPairCriterionType(type, limited);
} else {
searchInCriterions(type, filter);
@ -152,7 +155,9 @@ public class ResourcesMultipleFiltersFinder extends MultipleFiltersFinder {
private void searchInCriterions(CriterionType type, String filter) {
for (Criterion criterion : mapCriterions.get(type)) {
if (criterion.getName().toLowerCase().contains(filter)) {
String name = StringUtils.deleteWhitespace(criterion.getName()
.toLowerCase());
if (name.contains(filter)) {
addCriterion(type, criterion);
if ((filter.length() < 3) && (getListMatching().size() > 9)) {
return;
@ -172,7 +177,9 @@ public class ResourcesMultipleFiltersFinder extends MultipleFiltersFinder {
private void searchInCostCategories(String filter) {
for (CostCategory costCategory : costCategories) {
if (costCategory.getName().toLowerCase().contains(filter)) {
String name = StringUtils.deleteWhitespace(costCategory.getName()
.toLowerCase());
if (name.contains(filter)) {
addCostCategory(costCategory);
if ((filter.length() < 3) && (getListMatching().size() > 9)) {
return;