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 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; }