+ public static String decodeSearchTerm(String enteredText,
+ String targetField)
+ {
+ String foundSearchTerms = enteredText;
+ StringBuilder foundSearchTermsBuilder = new StringBuilder();
+ if (enteredText.contains(";"))
+ {
+ String[] searchTerms = enteredText.split(";");
+ for (String searchTerm : searchTerms)
+ {
+ if (searchTerm.contains(":"))
+ {
+ foundSearchTermsBuilder.append(targetField).append(":")
+ .append(searchTerm.split(":")[0]).append(" OR ");
+ }
+ else
+ {
+ foundSearchTermsBuilder.append(targetField).append(":")
+ .append(searchTerm).append(" OR ");
+ }
+ }
+ int endIndex = foundSearchTermsBuilder.lastIndexOf(" OR ");
+ foundSearchTerms = foundSearchTermsBuilder.toString();
+ if (foundSearchTerms.contains(" OR "))
+ {
+ foundSearchTerms = foundSearchTerms.substring(
+ targetField.length() + 1, endIndex);
+ }
+ }
+ else if (enteredText.contains(":"))
+ {
+ foundSearchTerms = foundSearchTerms.split(":")[0];
+ }
+ return foundSearchTerms;
+ }
+
+