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;fp=opendaylight%2Fmd-sal%2Fsal-dom-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fstore%2Fimpl%2Ftree%2FStoreNodeCompositeBuilder.java;h=a66a1d5b1ce3808af5e66e2eeca95684748346d0;hb=fe8a0e74d2a1591bf77d727d388294a123b19f37;hp=41fc8239fbab36edee44a6ecacd7940a4722e4ce;hpb=6a68eabaf7ab48ef2c2d2d08a6d1188174a29d66;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 41fc8239fb..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,7 +10,7 @@ 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.Optional; +import com.google.common.base.Preconditions; import com.google.common.primitives.UnsignedLong; /** @@ -28,7 +28,12 @@ public class StoreNodeCompositeBuilder { 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") @@ -39,12 +44,9 @@ public class StoreNodeCompositeBuilder { } @SuppressWarnings("unchecked") - public StoreNodeCompositeBuilder addIfPresent(final Optional potential) { - if (potential.isPresent()) { - StoreMetadataNode node = potential.get(); - metadata.add(node); - data.addChild(node.getData()); - } + public StoreNodeCompositeBuilder remove(PathArgument id) { + metadata.remove(id); + data.removeChild(id); return this; } @@ -56,6 +58,10 @@ public class StoreNodeCompositeBuilder { 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); @@ -71,5 +77,4 @@ public class StoreNodeCompositeBuilder { metadata.setSubtreeVersion(updatedSubtreeVersion); return this; } - }