@Override public TupleRule<?, ?> deepCopy() { checkClassToCopy(SimpleRule.class); SimpleRule copy = new SimpleRule(getName(), fieldClass); copy.setHandler(getHandler()); copy.setNodeRuleFactory(getNodeRuleFactory()); copy.setRequired(isRequired()); return copy; }
@Override public List<ValidationResult> doValidateValue(ScalarNode node) { String value = node.getValue(); List<ValidationResult> validationResults = new ArrayList<ValidationResult>(); if (StringUtils.isEmpty(value)) { ScalarNode warnNode = keyNode != null ? keyNode : node; String ruleName = getName() == null ? String.valueOf(NodeUtils.getNodeValue(warnNode)) : getName(); validationResults.add(ValidationResult.createWarnResult(getRuleEmptyMessage(ruleName), warnNode)); } if (!ConvertUtils.canBeConverted(value, getFieldClass())) { validationResults.add(ValidationResult.createErrorResult(getRuleTypeMisMatch(getName(), getFieldClass().getSimpleName()), node)); } setValueNode(node); return validationResults; }
@Override public List<ValidationResult> validateKey(ScalarNode key) { List<ValidationResult> validationResults = super.validateKey(key); if (wasAlreadyDefined()) { validationResults.add(ValidationResult.createErrorResult(getDuplicateRuleMessage(getName()), key)); } setKeyNode(key); return validationResults; }
@Override public List<ValidationResult> validateKey(ScalarNode key) { List<ValidationResult> validationResults = new ArrayList<ValidationResult>(); ScalarNode enumValueNode = enumRule.getValueNode(); String messageTypes = generateMessageTypes(); if (enumValueNode == null) { validationResults.add(ValidationResult.createErrorResult(enumRule.getName() + " must exist first, and it must be of type" + messageTypes, key.getStartMark(), key.getEndMark())); } if (enumValueNode != null && !enumTypes.contains(enumRule.getValueNode().getValue())) { validationResults.add(ValidationResult.createErrorResult(enumRule.getName() + " must be of type" + messageTypes, key.getStartMark(), key.getEndMark())); } validationResults.addAll(super.validateKey(key)); if (ValidationResult.areValid(validationResults)) { setKeyNode(key); } return validationResults; }
private void validateBaseUriAndVersion() { BaseUriRule baseUriRule = getRule("baseUri"); SimpleRule versionRule = getRule("version"); if (versionRule.getKeyNode() == null && baseUriRule.getParameters().contains(versionRule.getName())) { ScalarNode node = baseUriRule.getValueNode(); getMessages().add(ValidationResult.createErrorResult(BaseUriRule.VERSION_NOT_PRESENT_MESSAGE, node.getStartMark(), node.getEndMark())); } }
protected DefaultTupleRule getScalarRule() { return new SimpleRule(getName(), (Class<?>) itemType); }
@Override public List<ValidationResult> doValidateValue(ScalarNode value) { String valueNode = value.getValue(); List<ValidationResult> validationResults = new ArrayList<ValidationResult>(); try { Integer.parseInt(valueNode); } catch (NumberFormatException nfe) { validationResults.add(ValidationResult.createErrorResult(getName() + " can only contain integer values greater than zero", value.getStartMark(), value.getEndMark())); } validationResults.addAll(super.doValidateValue(value)); return validationResults; }
@Override public List<ValidationResult> validateKey(ScalarNode key) { List<ValidationResult> validationResults = super.validateKey(key); if (wasAlreadyDefined()) { validationResults.add(ValidationResult.createErrorResult(getDuplicateRuleMessage(getName()), key)); } setKeyNode(key); return validationResults; }
@Override public List<ValidationResult> validateKey(ScalarNode key) { List<ValidationResult> validationResults = new ArrayList<ValidationResult>(); ScalarNode enumValueNode = enumRule.getValueNode(); String messageTypes = generateMessageTypes(); if (enumValueNode == null) { validationResults.add(ValidationResult.createErrorResult(enumRule.getName() + " must exist first, and it must be of type" + messageTypes, key.getStartMark(), key.getEndMark())); } if (enumValueNode != null && !enumTypes.contains(enumRule.getValueNode().getValue())) { validationResults.add(ValidationResult.createErrorResult(enumRule.getName() + " must be of type" + messageTypes, key.getStartMark(), key.getEndMark())); } validationResults.addAll(super.validateKey(key)); if (ValidationResult.areValid(validationResults)) { setKeyNode(key); } return validationResults; }
private void validateBaseUriAndVersion() { BaseUriRule baseUriRule = getRule("baseUri"); SimpleRule versionRule = getRule("version"); if (versionRule.getKeyNode() == null && baseUriRule.getParameters().contains(versionRule.getName())) { ScalarNode node = baseUriRule.getValueNode(); getMessages().add(ValidationResult.createErrorResult(BaseUriRule.VERSION_NOT_PRESENT_MESSAGE, node.getStartMark(), node.getEndMark())); } }
protected DefaultTupleRule getScalarRule() { return new SimpleRule(getName(), (Class<?>) itemType); }
@Override public List<ValidationResult> doValidateValue(ScalarNode value) { String valueNode = value.getValue(); List<ValidationResult> validationResults = new ArrayList<ValidationResult>(); try { Integer.parseInt(valueNode); } catch (NumberFormatException nfe) { validationResults.add(ValidationResult.createErrorResult(getName() + " can only contain integer values greater than zero", value.getStartMark(), value.getEndMark())); } validationResults.addAll(super.doValidateValue(value)); return validationResults; }
@Override public TupleRule<?, ?> deepCopy() { checkClassToCopy(SimpleRule.class); SimpleRule copy = new SimpleRule(getName(), fieldClass); copy.setHandler(getHandler()); copy.setNodeRuleFactory(getNodeRuleFactory()); copy.setRequired(isRequired()); return copy; }
@Override public List<ValidationResult> doValidateValue(ScalarNode node) { String value = node.getValue(); List<ValidationResult> validationResults = new ArrayList<ValidationResult>(); if (StringUtils.isEmpty(value)) { ScalarNode warnNode = keyNode != null ? keyNode : node; String ruleName = getName() == null ? String.valueOf(NodeUtils.getNodeValue(warnNode)) : getName(); validationResults.add(ValidationResult.createWarnResult(getRuleEmptyMessage(ruleName), warnNode)); } if (!ConvertUtils.canBeConverted(value, getFieldClass())) { validationResults.add(ValidationResult.createErrorResult(getRuleTypeMisMatch(getName(), getFieldClass().getSimpleName()), node)); } setValueNode(node); return validationResults; }
protected DefaultTupleRule getScalarRule() { return new SimpleRule(getFieldName(), getValueType()); }
@Override public List<ValidationResult> doValidateValue(ScalarNode node) { String value = node.getValue(); Matcher matcher = pattern.matcher(value); List<ValidationResult> validationResults = new ArrayList<ValidationResult>(super.doValidateValue(node)); while (matcher.find()) { String paramValue = matcher.group(1); value = value.replace("{" + paramValue + "}", "temp"); parameters.add(paramValue); } //validate uri only when no parameters are defined if (parameters.isEmpty() && !isValid(value)) { validationResults.add(ValidationResult.createErrorResult(URI_NOT_VALID_MESSAGE, getKeyNode().getStartMark(), getKeyNode().getEndMark())); } if (ValidationResult.areValid(validationResults)) { baseUri = node.getValue(); } return validationResults; }
protected DefaultTupleRule getScalarRule() { return new SimpleRule(getFieldName(), getValueType()); }
@Override public List<ValidationResult> doValidateValue(ScalarNode node) { String value = node.getValue(); Matcher matcher = pattern.matcher(value); List<ValidationResult> validationResults = new ArrayList<ValidationResult>(super.doValidateValue(node)); while (matcher.find()) { String paramValue = matcher.group(1); value = value.replace("{" + paramValue + "}", "temp"); parameters.add(paramValue); } //validate uri only when no parameters are defined if (parameters.isEmpty() && !isValid(value)) { validationResults.add(ValidationResult.createErrorResult(URI_NOT_VALID_MESSAGE, getKeyNode().getStartMark(), getKeyNode().getEndMark())); } if (ValidationResult.areValid(validationResults)) { baseUri = node.getValue(); } return validationResults; }
private TupleRule<?, ?> createScalarRule(Field declaredField, Scalar scalar) { TupleRule<?, ?> tupleRule; if (scalar.rule() != TupleRule.class) { tupleRule = createInstanceOfTupleRule(scalar.rule(), declaredField.getName(), declaredField.getType()); } else { if (ReflectionUtils.isPojo(declaredField.getType())) { tupleRule = new PojoTupleRule(declaredField.getName(), declaredField.getType()); } else { tupleRule = new SimpleRule(declaredField.getName(), declaredField.getType()); } } return tupleRule; }
List<ValidationResult> validationResults = super.doValidateValue(node);