From: Tony Tkacik Date: Wed, 21 May 2014 17:22:30 +0000 (+0000) Subject: Merge "BUG-509: node version is always required" X-Git-Tag: autorelease-tag-v20140601202136_82eb3f9~44 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=f0c8b7e497b66a57cc6e24bc953b0ad336fe0785;hp=803d525860fbb1974b65ba5605ba5a9dfe1928a4 Merge "BUG-509: node version is always required" --- diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/SchemaAwareApplyOperation.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/SchemaAwareApplyOperation.java index ca5371297d..c3c027340c 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/SchemaAwareApplyOperation.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/SchemaAwareApplyOperation.java @@ -272,8 +272,7 @@ abstract class SchemaAwareApplyOperation implements ModificationApplyOperation { @Override protected StoreMetadataNode applyWrite(final NodeModification modification, final Optional currentMeta, final UnsignedLong subtreeVersion) { - UnsignedLong nodeVersion = subtreeVersion; - return StoreMetadataNode.builder().setNodeVersion(nodeVersion).setSubtreeVersion(subtreeVersion) + return StoreMetadataNode.builder(subtreeVersion).setSubtreeVersion(subtreeVersion) .setData(modification.getWrittenValue()).build(); } @@ -366,8 +365,7 @@ abstract class SchemaAwareApplyOperation implements ModificationApplyOperation { @SuppressWarnings("rawtypes") NormalizedNodeContainerBuilder dataBuilder = createBuilder(newValue); - StoreNodeCompositeBuilder builder = StoreNodeCompositeBuilder.from(dataBuilder) // - .setNodeVersion(nodeVersion) // + StoreNodeCompositeBuilder builder = StoreNodeCompositeBuilder.create(nodeVersion, dataBuilder) // .setSubtreeVersion(subtreeVersion); return mutateChildren(modification.getModifications(), newValueMeta, builder, nodeVersion); @@ -388,8 +386,8 @@ abstract class SchemaAwareApplyOperation implements ModificationApplyOperation { @SuppressWarnings("rawtypes") NormalizedNodeContainerBuilder dataBuilder = createBuilder(currentMeta.getData()); - StoreNodeCompositeBuilder builder = StoreNodeCompositeBuilder.from(dataBuilder, currentMeta) - .setIdentifier(modification.getIdentifier()).setNodeVersion(currentMeta.getNodeVersion()) + StoreNodeCompositeBuilder builder = StoreNodeCompositeBuilder.create(dataBuilder, currentMeta) + .setIdentifier(modification.getIdentifier()) .setSubtreeVersion(updatedSubtreeVersion); return mutateChildren(modification.getModifications(), currentMeta, builder, updatedSubtreeVersion); diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/StoreMetadataNode.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/StoreMetadataNode.java index 77186a6509..3faeabbdaf 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/StoreMetadataNode.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/StoreMetadataNode.java @@ -49,11 +49,11 @@ class StoreMetadataNode implements Immutable, Identifiable { Collections.emptyMap()); } - public static Builder builder() { - return new Builder(); + public static Builder builder(final UnsignedLong version) { + return new Builder(version); } - public static Builder builder(StoreMetadataNode node) { + public static Builder builder(final StoreMetadataNode node) { return new Builder(node); } @@ -100,8 +100,7 @@ class StoreMetadataNode implements Immutable, Identifiable { public static final StoreMetadataNode createRecursively(final NormalizedNode node, final UnsignedLong nodeVersion, final UnsignedLong subtreeVersion) { - Builder builder = builder() // - .setNodeVersion(nodeVersion) // + Builder builder = builder(nodeVersion) // .setSubtreeVersion(subtreeVersion) // .setData(node); if (node instanceof NormalizedNodeContainer) { @@ -117,30 +116,22 @@ class StoreMetadataNode implements Immutable, Identifiable { public static class Builder { - private UnsignedLong nodeVersion; + private final UnsignedLong nodeVersion; private UnsignedLong subtreeVersion; private NormalizedNode data; private Map children; private boolean dirty = false; - private Builder() { + private Builder(final UnsignedLong version) { + this.nodeVersion = Preconditions.checkNotNull(version); children = new HashMap<>(); } - private Builder(StoreMetadataNode node) { + private Builder(final StoreMetadataNode node) { + this.nodeVersion = node.getNodeVersion(); children = new HashMap<>(node.children); } - public UnsignedLong getVersion() { - return nodeVersion; - - } - - public Builder setNodeVersion(final UnsignedLong version) { - this.nodeVersion = version; - return this; - } - public Builder setSubtreeVersion(final UnsignedLong version) { this.subtreeVersion = version; return this; diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/StoreNodeCompositeBuilder.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/StoreNodeCompositeBuilder.java index 6bce4fff0c..19debbb990 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/StoreNodeCompositeBuilder.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/StoreNodeCompositeBuilder.java @@ -26,12 +26,12 @@ class StoreNodeCompositeBuilder { private final NormalizedNodeContainerBuilder data; - private StoreNodeCompositeBuilder(final NormalizedNodeContainerBuilder nodeBuilder) { - this.metadata = StoreMetadataNode.builder(); + private StoreNodeCompositeBuilder(final UnsignedLong version, final NormalizedNodeContainerBuilder nodeBuilder) { + this.metadata = StoreMetadataNode.builder(version); this.data = Preconditions.checkNotNull(nodeBuilder); } - public StoreNodeCompositeBuilder(NormalizedNodeContainerBuilder nodeBuilder, StoreMetadataNode currentMeta) { + private StoreNodeCompositeBuilder(final NormalizedNodeContainerBuilder nodeBuilder, final StoreMetadataNode currentMeta) { this.metadata = StoreMetadataNode.builder(currentMeta); this.data = Preconditions.checkNotNull(nodeBuilder); } @@ -44,7 +44,7 @@ class StoreNodeCompositeBuilder { } @SuppressWarnings("unchecked") - public StoreNodeCompositeBuilder remove(PathArgument id) { + public StoreNodeCompositeBuilder remove(final PathArgument id) { metadata.remove(id); data.removeChild(id); return this; @@ -54,11 +54,11 @@ class StoreNodeCompositeBuilder { return metadata.setData(data.build()).build(); } - public static StoreNodeCompositeBuilder from(final NormalizedNodeContainerBuilder nodeBuilder) { - return new StoreNodeCompositeBuilder(nodeBuilder); + public static StoreNodeCompositeBuilder create(final UnsignedLong version, final NormalizedNodeContainerBuilder nodeBuilder) { + return new StoreNodeCompositeBuilder(version, nodeBuilder); } - public static StoreNodeCompositeBuilder from(final NormalizedNodeContainerBuilder nodeBuilder, StoreMetadataNode currentMeta) { + public static StoreNodeCompositeBuilder create(final NormalizedNodeContainerBuilder nodeBuilder, final StoreMetadataNode currentMeta) { return new StoreNodeCompositeBuilder(nodeBuilder, currentMeta); } @@ -68,11 +68,6 @@ class StoreNodeCompositeBuilder { return this; } - public StoreNodeCompositeBuilder setNodeVersion(final UnsignedLong nodeVersion) { - metadata.setNodeVersion(nodeVersion); - return this; - } - public StoreNodeCompositeBuilder setSubtreeVersion(final UnsignedLong updatedSubtreeVersion) { metadata.setSubtreeVersion(updatedSubtreeVersion); return this;