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%2Fdata%2FStoreMetadataNode.java;h=60d701b467a9210b2bdb52ba3ec932dc2fd9926c;hb=46bf546c5f75e77be3de625248187eb66d0a8047;hp=0ee0d9b32c990685c8169eb0430d35d64dacc2e0;hpb=0056335cf28bcb8cbab8be0fe7eae5913ce0c009;p=controller.git 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 0ee0d9b32c..60d701b467 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 @@ -13,7 +13,6 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; -import org.opendaylight.controller.md.sal.dom.store.impl.tree.StoreTreeNode; import org.opendaylight.yangtools.concepts.Identifiable; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument; @@ -24,7 +23,7 @@ import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.primitives.UnsignedLong; -class StoreMetadataNode implements Immutable, Identifiable, StoreTreeNode { +class StoreMetadataNode implements Immutable, Identifiable { private final Map children; private final UnsignedLong nodeVersion; private final UnsignedLong subtreeVersion; @@ -37,7 +36,7 @@ class StoreMetadataNode implements Immutable, Identifiable, StoreT * @param subtreeVersion * @param children Map of children, must not be modified externally */ - protected StoreMetadataNode(final NormalizedNode data, final UnsignedLong nodeVersion, + private StoreMetadataNode(final NormalizedNode data, final UnsignedLong nodeVersion, final UnsignedLong subtreeVersion, final Map children) { this.nodeVersion = Preconditions.checkNotNull(nodeVersion); this.subtreeVersion = Preconditions.checkNotNull(subtreeVersion); @@ -50,16 +49,11 @@ class StoreMetadataNode implements Immutable, Identifiable, StoreT Collections.emptyMap()); } - public StoreMetadataNode(final NormalizedNode data, final UnsignedLong nodeVersion, - final UnsignedLong subtreeVersion) { - this(data, nodeVersion, subtreeVersion, Collections.emptyMap()); + public static Builder builder(final UnsignedLong version) { + return new Builder(version); } - public static Builder builder() { - return new Builder(); - } - - public static Builder builder(StoreMetadataNode node) { + public static Builder builder(final StoreMetadataNode node) { return new Builder(node); } @@ -80,8 +74,7 @@ class StoreMetadataNode implements Immutable, Identifiable, StoreT return this.data; } - @Override - public Optional getChild(final PathArgument key) { + Optional getChild(final PathArgument key) { return Optional.fromNullable(children.get(key)); } @@ -90,25 +83,9 @@ class StoreMetadataNode implements Immutable, Identifiable, StoreT return "StoreMetadataNode [identifier=" + getIdentifier() + ", nodeVersion=" + nodeVersion + "]"; } - public static Optional getVersion(final Optional currentMetadata) { - if (currentMetadata.isPresent()) { - return Optional.of(currentMetadata.get().getNodeVersion()); - } - return Optional.absent(); - } - - public static Optional getChild(final Optional parent, - final PathArgument child) { - if (parent.isPresent()) { - return parent.get().getChild(child); - } - return Optional.absent(); - } - 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) { @@ -124,30 +101,22 @@ class StoreMetadataNode implements Immutable, Identifiable, StoreT 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<>(); } - public 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;