LookupUtils { public static String scrubQueryCharacters(String criteriaValue) { return StringUtils.replaceEach(criteriaValue, searchList, replacementList); } private  LookupUtils(); static String retrieveLookupParameterValue(UifFormBase form, HttpServletRequest request,
            Class<?> lookupObjectClass, String propertyName, String parameterName); static String getBaseLookupUrl(); static String forceUppercase(Class<?> dataObjectClass, String fieldName, String fieldValue); static Map<String, String> forceUppercase(Class<?> dataObjectClass, Map<String, String> fieldValues); static Integer getSearchResultsLimit(Class dataObjectClass, LookupForm lookupForm); static Integer getApplicationSearchResultsLimit(); static Integer getApplicationMultipleValueSearchResultsLimit(); static Timestamp getActiveDateTimestampForCriteria(Map searchValues); static Map<String, String> preprocessDateFields(Map<String, String> searchCriteria); static boolean hasExternalBusinessObjectProperty(Class<?> boClass,
            Map<String, String> fieldValues); static boolean isExternalBusinessObjectProperty(Object sampleBo, String propertyName); static Map<String, String> removeExternalizableBusinessObjectFieldValues(Class<?> boClass,
            Map<String, String> fieldValues); static Map<String, String> getExternalizableBusinessObjectFieldValues(String eboPropertyName,
            Map<String, String> fieldValues); static List<String> getExternalizableBusinessObjectProperties(Class<?> boClass,
            Map<String, String> fieldValues); static Class<? extends ExternalizableBusinessObject> getExternalizableBusinessObjectClass(Class<?> boClass,
            String propertyName); static Map<String, String> adjustCriteriaForNestedEBOs(Class<?> dataObjectClass,
            Map<String, String> searchCriteria,
            boolean unbounded); static String scrubQueryCharacters(String criteriaValue); static String generateMultiValueKey(Object lineDataObject, List<String> fieldConversionKeys); static void refreshLookupResultSelections(LookupForm form);  }
@Test public void testScrubQueryCharacters() { Map<String, String> queryCharacterSamples = new HashMap<String, String>(); queryCharacterSamples.put(null, null); queryCharacterSamples.put("", ""); queryCharacterSamples.put("this is a string with no query characters", "this is a string with no query characters"); queryCharacterSamples.put("this is a string with one.. query character", "this is a string with one query character"); queryCharacterSamples.put("..test...test", "testtest"); StringBuilder allQueryCharacters = new StringBuilder(); for (SearchOperator operator : SearchOperator.QUERY_CHARACTERS) { allQueryCharacters.append(operator.op()); } queryCharacterSamples.put(allQueryCharacters.toString(), ""); for (String input : queryCharacterSamples.keySet()) { String output = queryCharacterSamples.get(input); Assert.assertEquals("Check failed for input: " + input, output, LookupUtils.scrubQueryCharacters(input)); } }