X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fstore%2Fimpl%2Ftree%2FStoreNodeCompositeBuilder.java;h=a66a1d5b1ce3808af5e66e2eeca95684748346d0;hb=fe87aace8123cc8988acfc74c0208472359a4f55;hp=d1583cafd1c0fe3544e5f388a27df5d67dfd86a7;hpb=659b8bf7cb541dee20c3f553a3308aedba99c812;p=controller.git diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/StoreNodeCompositeBuilder.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/StoreNodeCompositeBuilder.java index d1583cafd1..a66a1d5b1c 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/StoreNodeCompositeBuilder.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/StoreNodeCompositeBuilder.java @@ -10,6 +10,9 @@ package org.opendaylight.controller.md.sal.dom.store.impl.tree; import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeContainerBuilder; +import com.google.common.base.Preconditions; +import com.google.common.primitives.UnsignedLong; + /** * * Helper builder @@ -23,10 +26,14 @@ public class StoreNodeCompositeBuilder { private final NormalizedNodeContainerBuilder data; - private StoreNodeCompositeBuilder(final NormalizedNodeContainerBuilder nodeBuilder) { this.metadata = StoreMetadataNode.builder(); - this.data = nodeBuilder; + this.data = Preconditions.checkNotNull(nodeBuilder); + } + + public StoreNodeCompositeBuilder(NormalizedNodeContainerBuilder nodeBuilder, StoreMetadataNode currentMeta) { + this.metadata = StoreMetadataNode.builder(currentMeta); + this.data = Preconditions.checkNotNull(nodeBuilder); } @SuppressWarnings("unchecked") @@ -36,24 +43,38 @@ public class StoreNodeCompositeBuilder { return this; } + @SuppressWarnings("unchecked") + public StoreNodeCompositeBuilder remove(PathArgument id) { + metadata.remove(id); + data.removeChild(id); + return this; + } public StoreMetadataNode build() { return metadata.setData(data.build()).build(); } - public static StoreNodeCompositeBuilder from(final NormalizedNodeContainerBuilder nodeBuilder) { return new StoreNodeCompositeBuilder(nodeBuilder); } - public static StoreNodeCompositeBuilder from(final StoreMetadataNode previous, final NormalizedNodeContainerBuilder nodeBuilder) { - - return new StoreNodeCompositeBuilder(nodeBuilder); + public static StoreNodeCompositeBuilder from(final NormalizedNodeContainerBuilder nodeBuilder, StoreMetadataNode currentMeta) { + return new StoreNodeCompositeBuilder(nodeBuilder, currentMeta); } + @SuppressWarnings("unchecked") public StoreNodeCompositeBuilder setIdentifier(final PathArgument identifier) { data.withNodeIdentifier(identifier); return this; } + public StoreNodeCompositeBuilder setNodeVersion(final UnsignedLong nodeVersion) { + metadata.setNodeVersion(nodeVersion); + return this; + } + + public StoreNodeCompositeBuilder setSubtreeVersion(final UnsignedLong updatedSubtreeVersion) { + metadata.setSubtreeVersion(updatedSubtreeVersion); + return this; + } }