- private boolean isValidYangInstanceIdentifier(YangInstanceIdentifier instanceIdentifier){
- for(YangInstanceIdentifier.PathArgument pathArgument : instanceIdentifier.getPathArguments()){
- if(!validNamespaces.contains(pathArgument.getNodeType().getNamespace())){
- return false;
+ private static class PruningDataTreeModificationCursor extends AbstractDataTreeModificationCursor {
+ private final DataTreeModification toModification;
+ private final PruningDataTreeModification pruningModification;
+
+ PruningDataTreeModificationCursor(DataTreeModification toModification,
+ PruningDataTreeModification pruningModification) {
+ this.toModification = toModification;
+ this.pruningModification = pruningModification;
+ }
+
+ @Override
+ public void write(PathArgument child, NormalizedNode<?, ?> data) {
+ YangInstanceIdentifier path = current().node(child);
+ NormalizedNode<?, ?> prunedNode = pruningModification.pruneNormalizedNode(path, data);
+ if(prunedNode != null) {
+ toModification.write(path, prunedNode);