@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; }
public SimpleRule getVersionRule() { return (SimpleRule) getParentTupleRule().getRuleByFieldName("version"); }
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())); } }
@SuppressWarnings("rawtypes") @Override public TupleRule<?, ?> getRuleForTuple(NodeTuple nodeTuple) { Node keyNode = nodeTuple.getKeyNode(); String paramName; if (keyNode instanceof ScalarNode) { paramName = ((ScalarNode) keyNode).getValue(); if (paramName.equals("version")) { errors.add(ValidationResult.createErrorResult("'" + paramName + "'" + " can not be declared, it is a reserved URI parameter.", keyNode)); } else if (getUriRule().getParameters().contains(paramName)) { return new ParamRule(paramName, getNodeRuleFactory()); } else { errors.add(ValidationResult.createErrorResult("Parameter '" + paramName + "' not declared in baseUri", keyNode)); } } else { errors.add(ValidationResult.createErrorResult("Invalid element", keyNode)); } return new DefaultTupleRule(keyNode.toString(), new DefaultTupleHandler(), getNodeRuleFactory()); }
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())); } }
@SuppressWarnings("rawtypes") @Override public TupleRule<?, ?> getRuleForTuple(NodeTuple nodeTuple) { Node keyNode = nodeTuple.getKeyNode(); String paramName; if (keyNode instanceof ScalarNode) { paramName = ((ScalarNode) keyNode).getValue(); if (paramName.equals("version")) { errors.add(ValidationResult.createErrorResult("'" + paramName + "'" + " can not be declared, it is a reserved URI parameter.", keyNode)); } else if (getUriRule().getParameters().contains(paramName)) { return new ParamRule(paramName, getNodeRuleFactory()); } else { errors.add(ValidationResult.createErrorResult("Parameter '" + paramName + "' not declared in baseUri", keyNode)); } } else { errors.add(ValidationResult.createErrorResult("Invalid element", keyNode)); } return new DefaultTupleRule(keyNode.toString(), new DefaultTupleHandler(), getNodeRuleFactory()); }
@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; }
public SimpleRule getVersionRule() { return (SimpleRule) getParentTupleRule().getRuleByFieldName("version"); }