public MessageSet validate(final ApplicationUser searcher, final TerminalClause terminalClause) { MessageSet messageSet = supportedOperatorsValidator.validate(searcher, terminalClause); if (!messageSet.hasAnyMessages()) { return validateValues(searcher, terminalClause); } else { return messageSet; } }
@Override public MessageSet visit(WasClause clause) { final Collection<ClauseValidator> wasClauseValidators = validatorRegistry.getClauseValidator(searcher, clause); final MessageSet messages = validateOperatorAndOperand(clause, wasClauseValidators); if (messages.hasAnyMessages()) { return messages; } // Now validate the clause itself validateClause(clause, wasClauseValidators, messages); return messages; }
boolean checkValidationMatches(final ApplicationUser user, final Query query, final SearchContext searchContext, final TerminalClause clause, final IssueSearcher searcher, final ClauseVisitor<MessageSet> validatorVisitor) { final MessageSet clauseErrors = clause.accept(validatorVisitor); if (!clauseErrors.hasAnyMessages()) { return true; } final SearchInputTransformer transformer = searcher.getSearchInputTransformer(); FieldValuesHolder holder = new FieldValuesHolderImpl(); transformer.populateFromQuery(user, holder, query, searchContext); ErrorCollection searcherErrors = new SimpleErrorCollection(); transformer.validateParams(user, searchContext, holder, getI18n(user), searcherErrors); return searcherErrors.hasAnyErrors(); }