- private static void inspectLeaf(final Fragment currentFragment,
- final ValueNode valueNode) {
- final Object value = valueNode.getValue();
- currentFragment.addLeafValue(valueNode.getNodeType().getLocalName(), value);
- }
-
- private static void inspectLeafList(final Fragment currentFragment,
- final LeafSetNode leafSetNode) {
- currentFragment.addLeafListName(leafSetNode.getNodeType().getLocalName());
- for (final NormalizedNode value : (Collection<NormalizedNode>) leafSetNode.getValue()) {
- fragmentNormalizedNode(currentFragment, value);
- }
- }
-
- private static void inspectContainer(final Fragment currentFragment,
- final DataContainerNode dataContainerNode) {
- final Collection<NormalizedNode> leaves = (Collection) dataContainerNode.getValue();
- for (final NormalizedNode leaf : leaves) {
- fragmentNormalizedNode(currentFragment, leaf);
- }
- }
-
- private static void inspectKeyedList(final Fragment currentFragment,
- final MapNode mapNode) {
- createNodeForEachListElement(currentFragment, mapNode);
- }
-
- private static void createNodeForEachListElement(final Fragment currentFragment, final MapNode mapNode) {
- final Collection<MapEntryNode> mapEntryNodes = mapNode.getValue();
- for (final MapEntryNode mapEntryNode : mapEntryNodes) {
- final String xpathId = buildXpathId(mapEntryNode.getIdentifier());
- final Fragment listElementFragment =
- currentFragment.createChildFragment(mapNode.getNodeType(), xpathId);
- fragmentNormalizedNode(listElementFragment, mapEntryNode);
- }
- }
-
- private static String buildXpathId(final YangInstanceIdentifier.PathArgument nodeIdentifier) {
- final StringBuilder xpathIdBuilder = new StringBuilder();
- xpathIdBuilder.append("/").append(nodeIdentifier.getNodeType().getLocalName());
-
- if (nodeIdentifier instanceof NodeIdentifierWithPredicates) {
- xpathIdBuilder.append(getKeyAttributesStatement((NodeIdentifierWithPredicates) nodeIdentifier));
- }
- return xpathIdBuilder.toString();
- }
-
- private static String getKeyAttributesStatement(final NodeIdentifierWithPredicates nodeIdentifier) {