private boolean validateOperator(final TerminalClause clause, final MessageSet messages) { messages.addMessageSet(operatorUsageValidator.validate(searcher, clause)); return messages.hasAnyErrors(); }
private void validateIssueKeysBatch(final MessageSet messages, final Set<String> issueKeys, final ApplicationUser searcher, final TerminalClause clause, final Operand operand) { Set<String> missingIssueKeys = issueSupport.getKeysOfMissingIssues(issueKeys); for (String missingIssueKey : missingIssueKeys) { addErrorIssueKeyNotFound(messages, missingIssueKey, searcher, clause, operand); } Set<String> validIssueKeys = new HashSet<String>(issueKeys); validIssueKeys.removeAll(missingIssueKeys); if (!validIssueKeys.isEmpty()) { messages.addMessageSet( movedIssueValidator.validate(searcher, validIssueKeys, clause)); } }
public MessageSet validate(final ApplicationUser searcher, final TerminalClause terminalClause) { final MessageSet messageSet = supportedOperatorsValidator.validate(searcher, terminalClause); if (!messageSet.hasAnyErrors()) { messageSet.addMessageSet(rawValuesExistValidator.validate(searcher, terminalClause)); } return messageSet; }
private boolean validateOperands(final TerminalClause clause, final MessageSet messages) { final Operand operand = clause.getOperand(); messages.addMessageSet(operandResolver.validate(searcher, operand, clause)); return messages.hasAnyErrors(); }
public MessageSet validate(final ApplicationUser searcher, final TerminalClause terminalClause) { final MessageSet messageSet = supportedOperatorsValidator.validate(searcher, terminalClause); if (!messageSet.hasAnyErrors()) { messageSet.addMessageSet(rawValuesExistValidator.validate(searcher, terminalClause)); } return messageSet; }
public MessageSet validate(final ApplicationUser searcher, final TerminalClause terminalClause) { final MessageSet messageSet = supportedOperatorsValidator.validate(searcher, terminalClause); if (!messageSet.hasAnyErrors()) { messageSet.addMessageSet(projectValuesExistValidator.validate(searcher, terminalClause)); } return messageSet; }
private MessageSet getMessagesFromSubClauses(List<Clause> subClauses, Clause parentClause) { final MessageSet messages = new ListOrderedMessageSetImpl(); for (Clause subClause : subClauses) { final MessageSet subMessages = subClause.accept(createNewVisitor(parentClause)); if (subMessages != null) { messages.addMessageSet(subMessages); } } return messages; }
public MessageSet validate(final ApplicationUser searcher, final MultiValueOperand operand, final TerminalClause terminalClause) { MessageSet messages = new MessageSetImpl(); for (Operand subOperand : operand.getValues()) { final MessageSet subMessageSet = operandResolver.validate(searcher, subOperand, terminalClause); if (subMessageSet.hasAnyErrors()) { messages.addMessageSet(subMessageSet); } } return messages; }
public MessageSet validate(final ApplicationUser searcher, final TerminalClause terminalClause) { WasClause wasClause = (WasClause) terminalClause; final WasValuesExistValidator rawValuesExistValidator = getRawValuesValidator(terminalClause.getName(), operandResolver, searcher); final MessageSet messageSet = supportedOperatorsValidator.validate(searcher, terminalClause); messageSet.addMessageSet(rawValuesExistValidator.validate(searcher, wasClause)); validateField(searcher, wasClause.getField(), messageSet); if (wasClause.getPredicate() != null) { messageSet.addMessageSet(historyPredicateValidator.validate(searcher, wasClause, wasClause.getPredicate())); } return messageSet; }
messageSet.addMessageSet(validationMessageSet); if (validationMessageSet.hasAnyErrors()) if (predicate.getOperator().equals(Operator.BY)) messageSet.addMessageSet(validateUsers(searcher, fieldName, Operator.BY.getDisplayString(), values)); messageSet.addMessageSet(validateDatePredicates(searcher, predicate, fieldName, values)); messageSet.addMessageSet(historyFieldValueValidator.validateValues(searcher, fieldName, values));
public MessageSet validate(final ApplicationUser searcher, final ChangedClause clause) { final MessageSet messageSet = new MessageSetImpl(); validateField(searcher, clause.getField(), messageSet); if (clause.getPredicate() != null) { messageSet.addMessageSet(historyPredicateValidator.validate(searcher, clause, clause.getPredicate())); } return messageSet; }
public MessageSet validate(ApplicationUser searcher, WasClause clause) { final Operand operand = clause.getOperand(); final String fieldName = clause.getName(); final MessageSet messages = new MessageSetImpl(); if (operandResolver.isValidOperand(operand)) { final List<QueryLiteral> rawValues = operandResolver.getValues(searcher, operand, clause); messages.addMessageSet(historyFieldValueValidator.validateValues(searcher, fieldName, rawValues)); } return messages; }
public MessageSet validate(final ApplicationUser searcher, final FunctionOperand functionOperand, final TerminalClause terminalClause) { I18nHelper i18n = getI18n(); final MessageSet messageSet = new NumberOfArgumentsValidator(MIN_EXPECTED_ARGS, i18n).validate(functionOperand); if (!messageSet.hasAnyErrors()) { if (functionOperand.getArgs().size() == 1 && searcher == null) { messageSet.addErrorMessage(i18n.getText("jira.jql.function.anonymous.disallowed", getFunctionName())); } // The functionality to run this for a user other than the logged in user has been removed until decisions can be made regarding http://jira.atlassian.com/browse/JRA-21476 // else // { // if (functionOperand.getArgs().size() == 2) // { // final String username = functionOperand.getArgs().get(1); // if (userUtil.getUser(username) == null) // { // messageSet.addErrorMessage(i18n.getText(getUserNotFoundMessageKey(), functionOperand.getName(), username)); // } // } // } messageSet.addMessageSet(validateCapability(functionOperand.getArgs().get(0), i18n)); } return messageSet; }
void validateCustomFieldValueWithField(final CustomField customField, final ProjectCustomFieldImporter projectCustomFieldImporter, final ExternalCustomFieldValue externalCustomFieldValue) { // Get the relevant config for this custom field value, based on the issue type and project final String oldIssueTypeId = projectImportMapper.getCustomFieldMapper().getIssueTypeForIssue(externalCustomFieldValue.getIssueId()); final String newIssueTypeId = projectImportMapper.getIssueTypeMapper().getMappedId(oldIssueTypeId); if (newIssueTypeId != null) { // Gets the relevant config for this Custom Field in the context of the current Issue Type. final FieldConfig relevantConfig = getCustomFieldConfig(customField, newIssueTypeId); if (relevantConfig == null) { // It is not even valid to store data against this Custom Field in this context - we don't validate this // as we will actually ignore the value when it comes time to import. log.debug("Skipping validation on value for Custom Field '" + customField.getId() + "', unable to find a relevant configuration for issue type '" + newIssueTypeId + "'."); return; } final I18nHelper i18nBean = getI18nFromCustomField(customField); final MessageSet messageSet = projectCustomFieldImporter.canMapImportValue(projectImportMapper, externalCustomFieldValue, relevantConfig, i18nBean); final String fieldId = externalCustomFieldValue.getCustomFieldId(); MessageSet existingSet = (MessageSet) fieldMessages.get(fieldId); if (existingSet == null) { // This is the first time we have seen this custom field - build a message set. existingSet = new MessageSetImpl(); fieldMessages.put(fieldId, existingSet); } existingSet.addMessageSet(messageSet); } }
messageSet.addMessageSet(orderByValidator.validate(searcher, orderBy));
messageSet.addMessageSet(validationResult);
messages.addMessageSet(messageSet);