private SearchParameters getSearchParameters(SearchType searchType, String constraint) {
    SearchParameters searchParams = new SearchParameters(constraint, searchType);
    HashMap<String, String> matrixConstraints =
        QueryHelper.getMatrixConstraints(
            getUriInfo(), CASE_SENSITIVE_CONSTRAINT_PARAMETER, FROM_CONSTRAINT_PARAMETER);

    // preserved in sake if backward compatibility until 4.0
    HashMap<String, String> queryConstraints =
        QueryHelper.getQueryConstraints(getUriInfo(), FROM_CONSTRAINT_PARAMETER);

    if (matrixConstraints.containsKey(FROM_CONSTRAINT_PARAMETER)) {
      try {
        searchParams.setSearchFrom(
            Long.parseLong(matrixConstraints.get(FROM_CONSTRAINT_PARAMETER)));
      } catch (Exception ex) {
        LOG.error(
            "Unwrapping of '" + FROM_CONSTRAINT_PARAMETER + "' matrix search parameter failed.",
            ex);
      }
    } else if (queryConstraints.containsKey(FROM_CONSTRAINT_PARAMETER)) {
      // preserved in sake if backward compatibility until 4.0
      try {
        searchParams.setSearchFrom(Long.parseLong(queryConstraints.get(FROM_CONSTRAINT_PARAMETER)));
      } catch (Exception ex) {
        LOG.error(
            "Unwrapping of '" + FROM_CONSTRAINT_PARAMETER + "' query search parameter failed.", ex);
      }
    }
    if (matrixConstraints.containsKey(CASE_SENSITIVE_CONSTRAINT_PARAMETER)) {
      try {
        searchParams.setCaseSensitive(
            Boolean.parseBoolean(matrixConstraints.get(CASE_SENSITIVE_CONSTRAINT_PARAMETER)));
      } catch (Exception ex) {
        LOG.error(
            "Unwrapping of '" + CASE_SENSITIVE_CONSTRAINT_PARAMETER + "' search parameter failed.",
            ex);
      }
    }

    try {
      if (QueryHelper.hasMatrixParam(getUriInfo(), MAX) && getMaxResults() != NO_LIMIT) {
        searchParams.setMaxCount(getMaxResults());
      }
    } catch (MalformedNumberException ex) {
      handleError(ex, false);
    }
    return searchParams;
  }
Exemplo n.º 2
0
 private boolean isNextRunRequested() {
   return QueryHelper.getMatrixConstraints(getUriInfo(), NEXT_RUN).containsKey(NEXT_RUN);
 }