@Override public Object visit(ASTAssignment node, Object data) { QueryException qe = new QueryException(DatawaveErrorCode.ASSIGNMENT_NODE_PROCESSING_ERROR, MessageFormat.format("Node: {0}", PrintingVisitor .formattedQueryString(node).replace('\n', ' '))); throw new InvalidFieldIndexQueryFatalQueryException(qe); }
@Override public Object visit(ASTNRNode node, Object data) { QueryException qe = new QueryException(DatawaveErrorCode.NOT_EQUALS_REGEX_NODE_PROCESSING_ERROR, MessageFormat.format("Node: {0}", PrintingVisitor .formattedQueryString(node).replace('\n', ' '))); throw new InvalidFieldIndexQueryFatalQueryException(qe); }
@Override public Object visit(ASTERNode node, Object data) { QueryException qe = new QueryException(DatawaveErrorCode.EQUALS_REGEX_NODE_PROCESSING_ERROR, MessageFormat.format("Node: {0}", PrintingVisitor .formattedQueryString(node).replace('\n', ' '))); throw new InvalidFieldIndexQueryFatalQueryException(qe); }
@Override public Object visit(ASTLTNode node, Object data) { QueryException qe = new QueryException(DatawaveErrorCode.LT_NODE_PROCESSING_ERROR, MessageFormat.format("Node: {0}", PrintingVisitor .formattedQueryString(node).replace('\n', ' '))); throw new InvalidFieldIndexQueryFatalQueryException(qe); }
@Override public Object visit(ASTLENode node, Object data) { QueryException qe = new QueryException(DatawaveErrorCode.LTE_NODE_PROCESSING_ERROR, MessageFormat.format("Node: {0}", PrintingVisitor .formattedQueryString(node).replace('\n', ' '))); throw new InvalidFieldIndexQueryFatalQueryException(qe); }
@Override public Object visit(ASTGENode node, Object data) { QueryException qe = new QueryException(DatawaveErrorCode.GTE_NODE_PROCESSING_ERROR, MessageFormat.format("Node: {0}", PrintingVisitor .formattedQueryString(node).replace('\n', ' '))); throw new InvalidFieldIndexQueryFatalQueryException(qe); }
public Object visit(ASTFunctionNode node, Object data) { QueryException qe = new QueryException(DatawaveErrorCode.FUNCTION_NODE_PROCESSING_ERROR, MessageFormat.format("Node: {0}", PrintingVisitor .formattedQueryString(node).replace('\n', ' '))); throw new InvalidFieldIndexQueryFatalQueryException(qe); } }
@Override public byte[] last() { if (size == 0) { QueryException qe = new QueryException(DatawaveErrorCode.FETCH_LAST_ELEMENT_ERROR); throw (NoSuchElementException) (new NoSuchElementException().initCause(qe)); } return get(size - 1); }
@Override public Map.Entry<Key,Value> next() { load(); if (next == null) { QueryException qe = new QueryException(DatawaveErrorCode.FETCH_NEXT_ELEMENT_ERROR); throw (NoSuchElementException) (new NoSuchElementException().initCause(qe)); } loaded = false; return next; }
@Override public byte[] first() { if (size == 0) { QueryException qe = new QueryException(DatawaveErrorCode.FETCH_FIRST_ELEMENT_ERROR); throw (NoSuchElementException) (new NoSuchElementException().initCause(qe)); } return get(0); }
protected ASTJexlScript limitQueryTree(ASTJexlScript script, ShardQueryConfiguration config) throws NoResultsException { // Assert that all of the terms in the query are indexed (so we can // completely use the field index) // Also removes any spurious _ANYFIELD_ nodes left in from upstream try { return AllTermsIndexedVisitor.isIndexed(script, config, metadataHelper); } catch (CannotExpandUnfieldedTermFatalException e) { QueryException qe = new QueryException(DatawaveErrorCode.INDETERMINATE_INDEX_STATUS, e); throw new NoResultsException(qe); } }
default String getResponseClass(Query query) throws QueryException { try { QueryLogicTransformer t = this.getTransformer(query); BaseResponse refResponse = t.createResponse(new ResultsPage()); return refResponse.getClass().getCanonicalName(); } catch (RuntimeException e) { throw new QueryException(DatawaveErrorCode.QUERY_TRANSFORM_ERROR); } }
@Override public byte[] first() { int[] range = getRange(); if (range == null) { QueryException qe = new QueryException(DatawaveErrorCode.FETCH_FIRST_ELEMENT_ERROR); throw (NoSuchElementException) (new NoSuchElementException().initCause(qe)); } return get(range[0]); }
@Override public byte[] last() { int[] range = getRange(); if (range == null) { QueryException qe = new QueryException(DatawaveErrorCode.FETCH_LAST_ELEMENT_ERROR); throw (NoSuchElementException) (new NoSuchElementException().initCause(qe)); } return get(range[1]); }
public Object descend(JexlNode node, Object data) { if (node.jjtGetNumChildren() > 1) { QueryException qe = new QueryException(DatawaveErrorCode.MORE_THAN_ONE_CHILD, MessageFormat.format("Class: {0}", node.getClass().getSimpleName())); throw new DatawaveFatalQueryException(qe); } if (node.jjtGetNumChildren() == 1) { return node.jjtGetChild(0).jjtAccept(this, data); } else { return data; } }
@Override public byte[] next() { if (!hasNext()) { QueryException qe = new QueryException(DatawaveErrorCode.FETCH_NEXT_ELEMENT_ERROR); throw (NoSuchElementException) (new NoSuchElementException().initCause(qe)); } checkModCount(); last = index; byte[] entry = get(index++); checkModCount(); return entry; }
@Override public JexlNode getIndexQuery(ShardQueryConfiguration config, MetadataHelper helper, DateIndexHelper dateIndexHelper, Set<String> datatypeFilter) { try { return getIndexQuery(helper.getTermFrequencyFields(datatypeFilter), helper.getIndexedFields(datatypeFilter), helper.getContentFields(datatypeFilter)); } catch (TableNotFoundException e) { QueryException qe = new QueryException(DatawaveErrorCode.METADATA_TABLE_FETCH_ERROR, e); throw new DatawaveFatalQueryException(qe); } }
@Override public Set<String> fields(MetadataHelper helper, Set<String> datatypeFilter) { try { return fieldsAndTerms(helper.getTermFrequencyFields(datatypeFilter), helper.getIndexedFields(datatypeFilter), helper.getContentFields(datatypeFilter), null)[0]; } catch (TableNotFoundException e) { QueryException qe = new QueryException(DatawaveErrorCode.METADATA_TABLE_FETCH_ERROR, e); throw new DatawaveFatalQueryException(qe); } }
public static DocumentSerializer getDocumentSerializer(ReturnType rt) throws NoSuchDeserializerException { if (ReturnType.kryo.equals(rt)) { return new KryoDocumentSerializer(); } else if (ReturnType.writable.equals(rt)) { return new WritableDocumentSerializer(false); } else { QueryException qe = new QueryException(DatawaveErrorCode.DESERIALIZER_CREATE_ERROR); throw new NoSuchDeserializerException(qe); } }
public static DocumentDeserializer getDocumentDeserializer(ReturnType rt) throws NoSuchDeserializerException { if (ReturnType.kryo.equals(rt)) { return new KryoDocumentDeserializer(); } else if (ReturnType.writable.equals(rt)) { return new WritableDocumentDeserializer(); } else { QueryException qe = new QueryException(DatawaveErrorCode.DESERIALIZER_CREATE_ERROR); throw new NoSuchDeserializerException(qe); } }