public static Map<String, Object> getXmlRpcQueryCriteria(QueryCriteria criteria) { Map<String, Object> criteriaHash = new Hashtable<String, Object>(); criteriaHash.put("class", criteria.getClass().getCanonicalName()); if (criteria instanceof TermQueryCriteria) { criteriaHash.put("elementName", criteria.getElementName()); criteriaHash.put("elementValue", ((TermQueryCriteria) criteria).getValue()); } else if (criteria instanceof RangeQueryCriteria) { criteriaHash.put("elementName", criteria.getElementName()); criteriaHash.put("elementStartValue", ((RangeQueryCriteria) criteria).getStartValue() != null ? ((RangeQueryCriteria) criteria).getStartValue() : ""); criteriaHash.put("elementEndValue", ((RangeQueryCriteria) criteria).getEndValue() != null ? ((RangeQueryCriteria) criteria).getEndValue() : ""); criteriaHash.put("inclusive", Boolean.toString(((RangeQueryCriteria) criteria).getInclusive())); } else if (criteria instanceof BooleanQueryCriteria) { BooleanQueryCriteria boolQuery = (BooleanQueryCriteria) criteria; criteriaHash.put("operator", boolQuery.getOperator()); Vector<Map<String, Object>> termsHash = new Vector<Map<String, Object>>(); List<QueryCriteria> terms = boolQuery.getTerms(); for (QueryCriteria term : terms) { Map<String, Object> termHash = getXmlRpcQueryCriteria(term); termsHash.add(termHash); } criteriaHash.put("terms", termsHash); } return criteriaHash; }
public static Map<String, Object> getXmlRpcQueryCriteria(QueryCriteria criteria) { Map<String, Object> criteriaHash = new Hashtable<String, Object>(); criteriaHash.put("class", criteria.getClass().getCanonicalName()); if (criteria instanceof TermQueryCriteria) { criteriaHash.put("elementName", criteria.getElementName()); criteriaHash.put("elementValue", ((TermQueryCriteria) criteria).getValue()); } else if (criteria instanceof RangeQueryCriteria) { criteriaHash.put("elementName", criteria.getElementName()); criteriaHash.put("elementStartValue", ((RangeQueryCriteria) criteria).getStartValue() != null ? ((RangeQueryCriteria) criteria).getStartValue() : ""); criteriaHash.put("elementEndValue", ((RangeQueryCriteria) criteria).getEndValue() != null ? ((RangeQueryCriteria) criteria).getEndValue() : ""); criteriaHash.put("inclusive", Boolean.toString(((RangeQueryCriteria) criteria).getInclusive())); } else if (criteria instanceof BooleanQueryCriteria) { BooleanQueryCriteria boolQuery = (BooleanQueryCriteria) criteria; criteriaHash.put("operator", boolQuery.getOperator()); Vector<Map<String, Object>> termsHash = new Vector<Map<String, Object>>(); List<QueryCriteria> terms = boolQuery.getTerms(); for (QueryCriteria term : terms) { Map<String, Object> termHash = getXmlRpcQueryCriteria(term); termsHash.add(termHash); } criteriaHash.put("terms", termsHash); } return criteriaHash; }
String opString = rqc.getInclusive() ? "=" : ""; if (rqc.getStartValue() != null) { opString = ">" + opString + " '" + rqc.getStartValue() + "'";
String opString = rqc.getInclusive() ? "=" : ""; if (rqc.getStartValue() != null) { opString = ">" + opString + " '" + rqc.getStartValue() + "'";
if (rqc.getStartValue() != null) { rangeSubQuery = "metadata_value" + (rqc.getInclusive() ? " >= " : " > ") + "'" + rqc.getStartValue() + "'"; rangeSubQuery == null ? "metadata_value" + (rqc.getInclusive() ? " <= " : " < ") + "'" + rqc .getEndValue() + "'" : "(" + rangeSubQuery + " AND metadata_value" + (rqc.getInclusive() ? " <= " : " < ") + "'"
if (rqc.getStartValue() != null) { rangeSubQuery = "metadata_value" + (rqc.getInclusive() ? " >= " : " > ") + "'" + rqc.getStartValue() + "'"; rangeSubQuery == null ? "metadata_value" + (rqc.getInclusive() ? " <= " : " < ") + "'" + rqc .getEndValue() + "'" : "(" + rangeSubQuery + " AND metadata_value" + (rqc.getInclusive() ? " <= " : " < ") + "'"
.getEndValue(); boolean inclusive = ((RangeQueryCriteria) criteria) .getInclusive();
.getEndValue(); boolean inclusive = ((RangeQueryCriteria) criteria) .getInclusive();
if (rqc.getStartValue() != null) { rangeSubQuery = "metadata_value" + (rqc.getInclusive() ? " >= " : " > ") + "'" + rqc.getStartValue() + "'"; "metadata_value" + (rqc.getInclusive() ? " <= " : " < ") + "'" + rqc.getEndValue() + "'"; } else { rangeSubQuery = "(" + rangeSubQuery + " AND metadata_value" + (rqc.getInclusive() ? " <= " : " < ") + "'" + rqc .getEndValue() + "')";
.getEndValue(); boolean inclusive = ((RangeQueryCriteria) criteria) .getInclusive();
.getEndValue(); boolean inclusive = ((RangeQueryCriteria) criteria) .getInclusive();
if (rqc.getStartValue() != null) { rangeSubQuery = "metadata_value" + (rqc.getInclusive() ? " >= " : " > ") + "'" + rqc.getStartValue() + "'"; "metadata_value" + (rqc.getInclusive() ? " <= " : " < ") + "'" + rqc.getEndValue() + "'"; } else { rangeSubQuery = "(" + rangeSubQuery + " AND metadata_value" + (rqc.getInclusive() ? " <= " : " < ") + "'" + rqc .getEndValue() + "')";
String startVal = ((RangeQueryCriteria) queryCriteria).getStartValue(); String endVal = ((RangeQueryCriteria) queryCriteria).getEndValue(); boolean inclusive = ((RangeQueryCriteria) queryCriteria).getInclusive(); Term startTerm = null; if (!startVal.equals("")) {
String startVal = ((RangeQueryCriteria) queryCriteria).getStartValue(); String endVal = ((RangeQueryCriteria) queryCriteria).getEndValue(); boolean inclusive = ((RangeQueryCriteria) queryCriteria).getInclusive(); Term startTerm = null; if (!startVal.equals("")) {
public static AvroQueryCriteria getAvroQueryCriteria(QueryCriteria queryCriteria){ AvroQueryCriteria avroQueryCriteria = new AvroQueryCriteria(); avroQueryCriteria.setClassName(queryCriteria.getClass().getCanonicalName()); if (queryCriteria instanceof TermQueryCriteria){ avroQueryCriteria.setElementName(queryCriteria.getElementName()); avroQueryCriteria.setElementValue(((TermQueryCriteria) queryCriteria).getValue()); } else if (queryCriteria instanceof RangeQueryCriteria){ avroQueryCriteria.setElementName(queryCriteria.getElementName()); avroQueryCriteria.setElementStartValue(((RangeQueryCriteria) queryCriteria).getStartValue()); avroQueryCriteria.setElementEndValue(((RangeQueryCriteria) queryCriteria).getEndValue()); avroQueryCriteria.setInclusive(((RangeQueryCriteria) queryCriteria).getInclusive()); } else if(queryCriteria instanceof BooleanQueryCriteria){ List<AvroQueryCriteria> avroQueryCriterias = new ArrayList<AvroQueryCriteria>(); List<QueryCriteria> queryCriterias = ((BooleanQueryCriteria)queryCriteria).getTerms(); if(queryCriteria != null && queryCriterias.size() > 0){ for(QueryCriteria qc : queryCriterias){ avroQueryCriterias.add(getAvroQueryCriteria(qc)); } } avroQueryCriteria.setOperator(((BooleanQueryCriteria)queryCriteria).getOperator()); avroQueryCriteria.setTerms(avroQueryCriterias); } return avroQueryCriteria; }