Ejemplo n.º 1
0
  public static SearchTermAndList getTermAndTermList(
      String searchTerm, boolean useAlias, boolean tabDelimited) {
    SearchTermAndList terms;
    // first see if the item is an expression term or regular term
    if (searchTerm.trim().endsWith(")") && searchTerm.trim().startsWith("(")) {
      // this is an expression, so need to parse string
      terms = new SearchTermAndList(searchTerm.trim());

      int startIndex = 1;
      int phraseIndex = searchTerm.trim().indexOf(")");
      while (startIndex > 0 && phraseIndex > 0) {
        String[] termInfo =
            getTermAliasList(searchTerm.trim().substring(startIndex, phraseIndex), false);
        terms.addItems(termInfo);
        startIndex = searchTerm.trim().indexOf("(", phraseIndex) + 1;
        phraseIndex = searchTerm.trim().indexOf(")", startIndex);
      }

    } else { // regular term with possible aliases
      String[] finalItems = getTermAliasList(searchTerm, tabDelimited);
      terms = new SearchTermAndList(finalItems[0]);

      if (useAlias) {
        terms.addItems(finalItems);
      } else {
        terms.addItems(finalItems[0]);
      }
    }
    return terms;
  }