Bug 499: Initial implementation of data tree modifications 64/5664/4
authorTony Tkacik <ttkacik@cisco.com>
Tue, 18 Mar 2014 16:10:14 +0000 (17:10 +0100)
committerTony Tkacik <ttkacik@cisco.com>
Fri, 28 Mar 2014 21:32:40 +0000 (22:32 +0100)
commit2ebdfa93c5a5bfddf359160d839424f13c93ae2a
treec0ccdff0e3d23b755b2c7b2c251f99fb1ca2cc3d
parentf8d1b972aef029a829a60336c05b557b2bc4edc8
Bug 499: Initial implementation of data tree modifications

Initial implementation of data tree modifications using
StoreMetadataNode and NodeModification.

  - DataAndMetadataSnapshot - helper class, which
      contains immutable snapshot of data and metadata

  - ModificationApplyOperation - interface definition
      of composite hierarchical operation, which
      is responsible for applying changes to provided
      subtree

  - SchemaAwareApplyOperation - implementations of
      ModificationApplyOperation based on parsed
      SchemaContext

  - MutableDataTree - class which integrates
     Data tree, Metadata tree, Node Modification tree
     and ModificationApplyOperations into mutable logical
     tree, which will serves as a basis for read-write
     transactions.

  - Unit test for MutableDataTree in following scenarios
      - Create empty MutableDataTree, write subtree, read nested nodes
      - Create empty MutableDataTree, write subtree, modify subtree
      - Create MutableDataTree with existing date, write changes and deletes

Change-Id: I5c0c84764f93d150eac6d227c4bc367b67652f9d
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
opendaylight/md-sal/sal-dom-broker/pom.xml
opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/DataAndMetadataSnapshot.java [new file with mode: 0644]
opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/ModificationApplyOperation.java [new file with mode: 0644]
opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/MutableDataTree.java [new file with mode: 0644]
opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/SchemaAwareApplyOperation.java [new file with mode: 0644]
opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/SchemaAwareApplyOperationRoot.java [new file with mode: 0644]
opendaylight/md-sal/sal-dom-broker/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/ModificationMetadataTreeTest.java [new file with mode: 0644]
opendaylight/md-sal/sal-dom-broker/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/TestModel.java [new file with mode: 0644]
opendaylight/md-sal/sal-dom-broker/src/test/resources/odl-datastore-test.yang [new file with mode: 0644]