KeyScalarNode(ScalarNode node) { super(node.getTag(), node.getValue(), node.getStartMark(), node.getEndMark(), node.getScalarStyle()); }
public IncludeScalarNode(String includeName, String value, ScalarNode node) { super(Tag.STR, value, node.getStartMark(), node.getEndMark(), node.getStyle()); this.includeName = includeName; }
public IncludeScalarNode(String includeName, String value, ScalarNode node) { super(Tag.STR, value, node.getStartMark(), node.getEndMark(), node.getStyle()); this.includeName = includeName; }
private ScalarNode cloneScalarNode(ScalarNode node, Map<String, String> parameters) { String value = node.getValue(); Matcher matcher = TEMPLATE_PARAMETER_PATTERN.matcher(value); StringBuffer sb = new StringBuffer(); while (matcher.find()) { matcher.appendReplacement(sb, ""); sb.append(resolveParameter(matcher.group(), parameters, node)); } matcher.appendTail(sb); return new ScalarNode(node.getTag(), sb.toString(), node.getStartMark(), node.getEndMark(), node.getStyle()); }
private ScalarNode cloneScalarNode(ScalarNode node, Map<String, String> parameters) { String value = node.getValue(); Matcher matcher = TEMPLATE_PARAMETER_PATTERN.matcher(value); StringBuffer sb = new StringBuffer(); while (matcher.find()) { matcher.appendReplacement(sb, ""); sb.append(resolveParameter(matcher.group(), parameters, node)); } matcher.appendTail(sb); return new ScalarNode(node.getTag(), sb.toString(), node.getStartMark(), node.getEndMark(), node.getStyle()); }
@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> 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; }
public IncludeInfo(ScalarNode node, String parentPath) { this(node.getStartMark(), node.getEndMark(), resolveAbsolutePath(node.getValue(), parentPath)); }
public IncludeInfo(ScalarNode node, String parentPath) { this(node.getStartMark(), node.getEndMark(), resolveAbsolutePath(node.getValue(), parentPath)); }
@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; }
@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; }
@Override public void onScalar(ScalarNode node, TupleType tupleType) { if (schemaTuple != null && node instanceof IncludeResolver.IncludeScalarNode) { final String includeName = ((IncludeResolver.IncludeScalarNode) node).getIncludeName(); if (includeName.endsWith(".json")) { try { @SuppressWarnings("unchecked") final Map<String, Object> json = mapper.readValue(node.getValue(), Map.class); if (json.containsKey("$schema") && !json.containsKey("id")) { json.put("id", protocol + ":/" + includeName); super.onScalar(new ScalarNode(node.getTag(), node.isResolved(), mapper.writeValueAsString(json), node.getStartMark(), node.getEndMark(), node.getStyle()), tupleType); return; } } catch (IOException e) { log.warn("Line {}: Could not parse json file '{}' as schema. Relative $refs inside might not work: {}", node.getStartMark().getLine() + 1, includeName, e.getMessage()); } } } super.onScalar(node, tupleType); } }
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())); } }
@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; }
@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())); } }
@Override protected NodeTuple representJavaBeanProperty(Object bean, Property property, Object value, Tag customTag) { NodeTuple tuple = super.representJavaBeanProperty(bean, property, value, customTag); if (isNullValue(tuple) || isEmptySequence(tuple) || isEmptyMapping(tuple)) { return null; } if ("body".equals(property.getName())) { ScalarNode n = (ScalarNode) tuple.getValueNode(); if (n.getStyle() == PLAIN.getChar()) { return tuple; } else { return new NodeTuple(tuple.getKeyNode(), new ScalarNode(n.getTag(), n.getValue(), n .getStartMark(), n.getEndMark(), LITERAL.getChar())); } } return tuple; }