* terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
* and is available at http://www.eclipse.org/legal/epl-v10.html\r
*/\r
-package org.opendaylight.controller.yang.data.impl;\r
+package org.opendaylight.yangtools.yang.data.impl;\r
\r
import java.util.ArrayList;\r
import java.util.HashMap;\r
import java.util.Set;\r
import java.util.Stack;\r
\r
-import org.opendaylight.controller.yang.data.api.CompositeNode;\r
-import org.opendaylight.controller.yang.data.api.MutableCompositeNode;\r
-import org.opendaylight.controller.yang.data.api.MutableNode;\r
-import org.opendaylight.controller.yang.data.api.MutableSimpleNode;\r
-import org.opendaylight.controller.yang.data.api.Node;\r
-import org.opendaylight.controller.yang.data.api.NodeModification;\r
-import org.opendaylight.controller.yang.data.api.SimpleNode;\r
+import org.opendaylight.yangtools.yang.data.api.CompositeNode;\r
+import org.opendaylight.yangtools.yang.data.api.MutableCompositeNode;\r
+import org.opendaylight.yangtools.yang.data.api.MutableNode;\r
+import org.opendaylight.yangtools.yang.data.api.MutableSimpleNode;\r
+import org.opendaylight.yangtools.yang.data.api.Node;\r
+import org.opendaylight.yangtools.yang.data.api.NodeModification;\r
+import org.opendaylight.yangtools.yang.data.api.SimpleNode;\r
\r
/**\r
* @author michal.rehak\r
*\r
*/\r
public class LazyNodeToNodeMap {\r
- \r
+\r
private Map<Node<?>, Node<?>> node2node = new HashMap<>();\r
private CompositeNode originalRoot;\r
private MutableCompositeNode mutableRoot;\r
- \r
+\r
/**\r
* @param originalNode\r
* @return mutable twin\r
addPathMembers(originalNode);\r
mutableNode = node2node.get(originalNode);\r
}\r
- \r
+\r
return mutableNode;\r
}\r
- \r
+\r
/**\r
* @param originalNode\r
*/\r
private void addPathMembers(Node<?> originalNode) {\r
- Stack<Node<?>> jobQueue = new Stack<>(); \r
+ Stack<Node<?>> jobQueue = new Stack<>();\r
jobQueue.push(originalNode);\r
while (!jobQueue.isEmpty()) {\r
Node<?> node2add = jobQueue.pop();\r
}\r
fixChildrenRefOnly = true;\r
}\r
- \r
+\r
CompositeNode nextParent = node2add.getParent();\r
MutableNode<?> mutableEquivalent = null;\r
- \r
+\r
if (node2add instanceof SimpleNode<?>) {\r
SimpleNode<?> node2addSimple = (SimpleNode<?>) node2add;\r
MutableSimpleNode<?> nodeMutant = NodeFactory.createMutableSimpleNode(\r
- node2add.getNodeType(), null, node2addSimple.getValue(), \r
+ node2add.getNodeType(), null, node2addSimple.getValue(),\r
node2addSimple.getModificationAction(), node2addSimple);\r
mutableEquivalent = nodeMutant;\r
} else if (node2add instanceof CompositeNode) {\r
nodeMutant = (MutableCompositeNode) node2node.get(node2add);\r
} else {\r
CompositeNode node2addComposite = (CompositeNode) node2add;\r
- nodeMutant = NodeFactory.createMutableCompositeNode(node2add.getNodeType(), \r
- null, null, \r
+ nodeMutant = NodeFactory.createMutableCompositeNode(node2add.getNodeType(),\r
+ null, null,\r
((NodeModification) node2add).getModificationAction(), node2addComposite);\r
}\r
- \r
+\r
mutableEquivalent = nodeMutant;\r
\r
// tidy up children\r
MutableNode<?> mutableChild = (MutableNode<?>) node2node.get(originalChildNode);\r
fixChildrenRef(nodeMutant, mutableChild);\r
}\r
- \r
+\r
if (nodeMutant.getChildren() != null && !nodeMutant.getChildren().isEmpty()) {\r
nodeMutant.init();\r
}\r
}\r
}\r
}\r
- \r
+\r
// feed jobQueue\r
node2node.put(node2add, mutableEquivalent);\r
if (nextParent != null) {\r
jobQueue.push(nextParent);\r
- } \r
+ }\r
}\r
}\r
\r
public MutableCompositeNode getMutableRoot() {\r
return mutableRoot;\r
}\r
- \r
+\r
/**\r
- * @return set of original nodes, registered in map as keys \r
+ * @return set of original nodes, registered in map as keys\r
*/\r
public Set<Node<?>> getKeyNodes() {\r
return node2node.keySet();\r