BUG-509: StoreUtils should operate on NormalizedNode

This prunes the use of MetadataNode from StoreUtils. It turns out it is
completely unnecessary. This removes the last user of
Metadata.getChildren(), which will be removed in a subsequent patch.

Change-Id: I778e77b826576b8fa53e040a825d615dab7d253f
Signed-off-by: Robert Varga <rovarga@cisco.com>
BUG-509: remove StoreUtils.initialChangeEvent()

This method is unused. Remove it, such that StoreUtils are now
completely independent of org.opendaylight.controller.md.sal, making
them a candidate for move to yang-data-*.

Change-Id: Idf945aee6fd4a80f8ca58fc50bcc997880a60ec0
Signed-off-by: Robert Varga <rovarga@cisco.com>
BUG-509: remove StoreMetadataNode.children()

This patch removes the now-unneeded access, which means the children
iteration order is no longer part of StoreMetadataNode, allowing us to
use more memory-efficient HashMap instead of LinkedHashMap. Let's do
precisely that.

Change-Id: I0764bfa9861f9df4d3014151db96edf1024e3f9b
Signed-off-by: Robert Varga <rovarga@cisco.com>
BUG-509: remove DataAndMetadataSnapshot.Builder.getDataTree()

This getter and its associated field is completely unused. Remove it to
improve clarity.

Change-Id: Ibe0145bee610c7a2b147852f43d0492ca5061adc
Signed-off-by: Robert Varga <rovarga@cisco.com>
Bug 509: Improve conflict detection of leaf merges

Original conflict detection for merge action on leaves
only looked at node version and subtree version, which
caused the transaction to fail even if the leaf was
unmodified and contained the same value.

Conflict detection now checks if the leaves are not same,
and only in that case it checks for concurrent writes.

Change-Id: I5e43233e86adf96e3dad2a93cdcf512b3d17977a
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Signed-off-by: Robert Varga <rovarga@cisco.com>
Merge "BUG-509: StoreUtils should operate on NormalizedNode"
Merge "BUG-509: remove StoreUtils.initialChangeEvent()"
Merge changes Ibe0145be,I0764bfa9

* changes:
  BUG-509: remove DataAndMetadataSnapshot.Builder.getDataTree()
  BUG-509: remove StoreMetadataNode.children()
Merge "Bug 509: Improve conflict detection of leaf merges"