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; }