public Selection(String documentSelection, long fromTimestamp, long toTimestamp) throws ParseException { this.documentSelection = new DocumentSelector(documentSelection); this.fromTimestamp = fromTimestamp; this.toTimestamp = toTimestamp; }
public void setWhereClause(String whereClause) throws ParseException { this.whereClause = whereClause; selector = null; if (whereClause != null && !whereClause.equals("")) { selector = new DocumentSelector(whereClause); } }
private void validateSelectionExpression(String sel, String allowedType) { DocumentSelector s; try { s = new DocumentSelector(sel); } catch (ParseException e) { throw new IllegalArgumentException("Could not parse document routing selection: " + sel, e); } AllowedDocumentTypesChecker checker = new AllowedDocumentTypesChecker(allowedType); s.visit(checker); }
private static void validateDocumentSelectionSyntax(String expression) { try { new DocumentSelector(expression); } catch (ParseException e) { throw new BadRequestParameterException(SELECTION, String.format("Failed to parse expression given in 'selection'" + " parameter. Must be a complete and valid sub-expression. Error: %s", e.getMessage())); } }
private String prepareGCSelection(ModelElement documentNode, String selStr) throws ParseException { DocumentSelector s = new DocumentSelector(selStr); boolean enableGC = false; if (documentNode != null) { enableGC = documentNode.getBooleanAttribute("garbage-collection", false); } if (!enableGC) { return null; } return s.toString(); }
@Override public void validate(VespaModel model, DeployState deployState) { for (AbstractSearchCluster cluster : model.getSearchClusters()) { if (cluster instanceof IndexedSearchCluster) { IndexedSearchCluster sc = (IndexedSearchCluster) cluster; String routingSelector = sc.getRoutingSelector(); if (routingSelector == null) continue; try { new DocumentSelector(routingSelector); } catch (com.yahoo.document.select.parser.ParseException e) { throw new IllegalArgumentException("Failed to parse routing selector for search cluster '" + sc.getClusterName() + "'", e); } } } } }
private static void addRoute(String clusterConfigId, String selector, DocumentrouteselectorpolicyConfig.Builder builder) { try { new DocumentSelector(selector); } catch (com.yahoo.document.select.parser.ParseException e) { throw new IllegalArgumentException("Failed to parse selector '" + selector + "' for route '" + clusterConfigId + "' in policy 'DocumentRouteSelector'."); } DocumentrouteselectorpolicyConfig.Route.Builder routeBuilder = new DocumentrouteselectorpolicyConfig.Route.Builder(); routeBuilder.name(clusterConfigId); routeBuilder.selector(selector); builder.route(routeBuilder); }
selector = new DocumentSelector(route.selector()); log.log(LogLevel.CONFIG, "Selector for route '" + route.name() + "' is '" + selector + "'."); } catch (com.yahoo.document.select.parser.ParseException e) {
public DocumentSelectionConverter(String selection) throws ParseException, UnsupportedOperationException, IllegalArgumentException { this.selector = new DocumentSelector(selection); NowCheckVisitor nowChecker = new NowCheckVisitor(); selector.visit(nowChecker); if (nowChecker.requiresConversion()) { SelectionExpressionConverter converter = new SelectionExpressionConverter(); selector.visit(converter); this.queryExpressionMap = converter.getQueryMap(); } else { this.queryExpressionMap = null; } }