private String resolveParameter(String match, Map<String, String> parameters, ScalarNode node) { String result = ""; String[] tokens = match.substring(2, match.length() - 2).split("\\|"); for (String token : tokens) { token = token.trim(); if (parameters.containsKey(token)) { result = parameters.get(token); } else if (token.startsWith("!")) { try { Method method = Inflector.class.getMethod(token.substring(1), String.class); result = (String) method.invoke(null, result); } catch (Exception e) { addError("Invalid parameter function: " + token, node); } } else { addError("Invalid parameter definition: " + match, node); } } return result; }
private String resolveParameter(String match, Map<String, String> parameters, ScalarNode node) { String result = ""; String[] tokens = match.substring(2, match.length() - 2).split("\\|"); for (String token : tokens) { token = token.trim(); if (parameters.containsKey(token)) { result = parameters.get(token); } else if (token.startsWith("!")) { try { Method method = Inflector.class.getMethod(token.substring(1), String.class); result = (String) method.invoke(null, result); } catch (Exception e) { addError("Invalid parameter function: " + token, node); } } else { addError("Invalid parameter definition: " + match, node); } } return result; }
if (templateNode == null) addError(label + " not defined: " + templateName, reference); return null;
if (templateNode == null) addError(label + " not defined: " + templateName, reference); return null;
private Node cloneNode(Node valueNode, Map<String, String> parameters) { if (valueNode.getNodeId() == mapping) { return cloneMappingNode((MappingNode) valueNode, parameters); } else if (valueNode.getNodeId() == sequence) { return cloneSequenceNode((SequenceNode) valueNode, parameters); } else if (valueNode.getNodeId() == scalar) { return cloneScalarNode((ScalarNode) valueNode, parameters); } addError("unsupported node type: " + valueNode.getNodeId(), valueNode); return null; }
private Node cloneNode(Node valueNode, Map<String, String> parameters) { if (valueNode.getNodeId() == mapping) { return cloneMappingNode((MappingNode) valueNode, parameters); } else if (valueNode.getNodeId() == sequence) { return cloneSequenceNode((SequenceNode) valueNode, parameters); } else if (valueNode.getNodeId() == scalar) { return cloneScalarNode((ScalarNode) valueNode, parameters); } addError("unsupported node type: " + valueNode.getNodeId(), valueNode); return null; }
private MappingNode cloneMappingNode(MappingNode node, Map<String, String> parameters) { List<NodeTuple> tuples = new ArrayList<NodeTuple>(); for (NodeTuple tuple : node.getValue()) { if (tuple.getKeyNode().getNodeId() != scalar) { addError(NON_SCALAR_KEY_MESSAGE, tuple.getKeyNode()); break; } Node key = cloneScalarNode((ScalarNode) tuple.getKeyNode(), parameters); Node value = cloneNode(tuple.getValueNode(), parameters); tuples.add(new NodeTuple(key, value)); } return new MappingNode(node.getTag(), tuples, node.getFlowStyle()); }
private MappingNode cloneMappingNode(MappingNode node, Map<String, String> parameters) { List<NodeTuple> tuples = new ArrayList<NodeTuple>(); for (NodeTuple tuple : node.getValue()) { if (tuple.getKeyNode().getNodeId() != scalar) { addError(NON_SCALAR_KEY_MESSAGE, tuple.getKeyNode()); break; } Node key = cloneScalarNode((ScalarNode) tuple.getKeyNode(), parameters); Node value = cloneNode(tuple.getValueNode(), parameters); tuples.add(new NodeTuple(key, value)); } return new MappingNode(node.getTag(), tuples, node.getFlowStyle()); }
private String resolveParameterValueInclude(ScalarNode valueNode) { if (valueNode.getTag().equals(INCLUDE_TAG)) { Node resolved = includeResolver.resolve(valueNode, resourceLoader, nodeNandler); if (resolved.getNodeId() != scalar) { addError("Resource type and traits parameters must be scalars", valueNode); return ""; } valueNode = (ScalarNode) resolved; } return valueNode.getValue(); }
private boolean expect(Node node, NodeId nodeId) { if (node.getNodeId() != nodeId) { addError(nodeId + " node expected", node); return false; } return true; }
private boolean expect(Node node, NodeId nodeId) { if (node.getNodeId() != nodeId) { addError(nodeId + " node expected", node); return false; } return true; }
private String resolveParameterValueInclude(ScalarNode valueNode) { if (valueNode.getTag().equals(INCLUDE_TAG)) { Node resolved = includeResolver.resolve(valueNode, resourceLoader, nodeNandler); if (resolved.getNodeId() != scalar) { addError("Resource type and traits parameters must be scalars", valueNode); return ""; } valueNode = (ScalarNode) resolved; } return valueNode.getValue(); }