Ejemplo n.º 1
0
  private static GroupCheckQuery parseQuery(String query) {
    GroupCheckQuery groupCheckQuery = new GroupCheckQuery();

    String[] nameValuePairs = query.split(PAIR_SEPARATOR);

    for (String nameValuePair : nameValuePairs) {
      String[] nameValueParts = nameValuePair.split(NAME_VALUE_SEPARATOR);
      String fieldName = nameValueParts[0];
      String fieldValue = nameValueParts[1];

      if (fieldName.equals("user")) {
        groupCheckQuery.username = fieldValue;
      } else if (fieldName.equals("role")) {
        groupCheckQuery.roleType = fieldValue;
      } else if (fieldName.equals("type")) {
        groupCheckQuery.queryType = QueryType.valueOf(fieldValue);
      } else if (fieldName.equals("unit")) {
        groupCheckQuery.unitFullPath = fieldValue;
      } else if (fieldName.equals("year")) {
        groupCheckQuery.year = fieldValue;
      } else if (fieldName.equals("semester")) {
        groupCheckQuery.semester = Integer.valueOf(fieldValue);
      }
    }

    return groupCheckQuery;
  }
  /**
   * Sets the {@link Harvester}'s {@link #rdfQueryType} parameter
   *
   * @param queryType - the type of any possible query
   * @return the same {@link Harvester} with the {@link #rdfQueryType} parameter set
   */
  public Harvester rdfQueryType(String queryType) {
    try {
      rdfQueryType = QueryType.valueOf(queryType.toUpperCase());
    } catch (IllegalArgumentException e) {
      logger.error("Bad query type: {}", queryType);

      /* River process can't continue */
      throw e;
    }
    return this;
  }