Bug 499: Improved data change listener tree management
[controller.git] / opendaylight / md-sal / sal-dom-broker / src / main / java / org / opendaylight / controller / md / sal / dom / store / impl / DataAndMetadataSnapshot.java
index 52f005189722c21c54f834657bcc565f2e58adae..9961fcce8d25e00e42128928062485efcd5db731 100644 (file)
@@ -16,15 +16,13 @@ import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 
 import com.google.common.base.Optional;
+import com.google.common.primitives.UnsignedLong;
 
 class DataAndMetadataSnapshot {
 
     private final StoreMetadataNode metadataTree;
     private final Optional<SchemaContext> schemaContext;
 
-
-
-
     private DataAndMetadataSnapshot(final StoreMetadataNode metadataTree, final Optional<SchemaContext> schemaCtx) {
         this.metadataTree = metadataTree;
         this.schemaContext = schemaCtx;
@@ -34,9 +32,16 @@ class DataAndMetadataSnapshot {
         return new Builder();
     }
 
+    public static DataAndMetadataSnapshot createEmpty() {
+        return createEmpty(new NodeIdentifier(SchemaContext.NAME));
+    }
+
+
     public static DataAndMetadataSnapshot createEmpty(final NodeIdentifier rootNode) {
         NormalizedNode<?, ?> data = Builders.containerBuilder().withNodeIdentifier(rootNode).build();
         StoreMetadataNode metadata = StoreMetadataNode.builder()
+                .setNodeVersion(UnsignedLong.ZERO)
+                .setSubtreeVersion(UnsignedLong.ZERO)
                 .setData(data)
                 .build();
         return new DataAndMetadataSnapshot(metadata,Optional.<SchemaContext>absent());
@@ -47,6 +52,8 @@ class DataAndMetadataSnapshot {
         NormalizedNode<?, ?> data = Builders.containerBuilder().withNodeIdentifier(rootNodeIdentifier).build();
         StoreMetadataNode metadata = StoreMetadataNode.builder()
                 .setData(data)
+                .setNodeVersion(UnsignedLong.ZERO)
+                .setSubtreeVersion(UnsignedLong.ZERO)
                 .build();
         return new DataAndMetadataSnapshot(metadata, Optional.of(ctx));
     }