X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;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=41fc8239fbab36edee44a6ecacd7940a4722e4ce;hp=d1583cafd1c0fe3544e5f388a27df5d67dfd86a7;hb=08217531fbe76dbcc429c71d593894fc211e50aa;hpb=f8d1b972aef029a829a60336c05b557b2bc4edc8 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..41fc8239fb 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.Optional; +import com.google.common.primitives.UnsignedLong; + /** * * Helper builder @@ -23,7 +26,6 @@ public class StoreNodeCompositeBuilder { private final NormalizedNodeContainerBuilder data; - private StoreNodeCompositeBuilder(final NormalizedNodeContainerBuilder nodeBuilder) { this.metadata = StoreMetadataNode.builder(); this.data = nodeBuilder; @@ -36,23 +38,37 @@ public class StoreNodeCompositeBuilder { return this; } + @SuppressWarnings("unchecked") + public StoreNodeCompositeBuilder addIfPresent(final Optional potential) { + if (potential.isPresent()) { + StoreMetadataNode node = potential.get(); + metadata.add(node); + data.addChild(node.getData()); + } + 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) { + @SuppressWarnings("unchecked") + public StoreNodeCompositeBuilder setIdentifier(final PathArgument identifier) { + data.withNodeIdentifier(identifier); + return this; + } - return new StoreNodeCompositeBuilder(nodeBuilder); + public StoreNodeCompositeBuilder setNodeVersion(final UnsignedLong nodeVersion) { + metadata.setNodeVersion(nodeVersion); + return this; } - public StoreNodeCompositeBuilder setIdentifier(final PathArgument identifier) { - data.withNodeIdentifier(identifier); + public StoreNodeCompositeBuilder setSubtreeVersion(final UnsignedLong updatedSubtreeVersion) { + metadata.setSubtreeVersion(updatedSubtreeVersion); return this; }