From 617941ac35b64881556f7311a8a296f4b60b2935 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 22 May 2014 07:38:07 +0200 Subject: [PATCH] BUG-509: add some documentation Documents AlwaysFailOperation and DataNodeContainerModificationStrategy Change-Id: Ibb67dc5f4a829547538ba02c3eac4f995a6fe6ef Signed-off-by: Robert Varga --- .../dom/store/impl/tree/data/AlwaysFailOperation.java | 9 +++++++-- .../tree/data/DataNodeContainerModificationStrategy.java | 6 ++++++ .../sal/dom/store/impl/tree/data/NodeModification.java | 5 ++--- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/AlwaysFailOperation.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/AlwaysFailOperation.java index 4e3aa49113..5934fd6246 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/AlwaysFailOperation.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/AlwaysFailOperation.java @@ -6,8 +6,13 @@ import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument; import com.google.common.base.Optional; import com.google.common.primitives.UnsignedLong; +/** + * An implementation of apply operation which fails to do anything, + * consistently. An instance of this class is used by the data tree + * if it does not have a SchemaContext attached and hence cannot + * perform anything meaningful. + */ final class AlwaysFailOperation implements ModificationApplyOperation { - @Override public Optional apply(final NodeModification modification, final Optional storeMeta, final UnsignedLong subtreeVersion) { @@ -25,7 +30,7 @@ final class AlwaysFailOperation implements ModificationApplyOperation { } @Override - public void verifyStructure(final NodeModification modification) throws IllegalArgumentException { + public void verifyStructure(final NodeModification modification) { throw new IllegalStateException("Schema Context is not available."); } } \ No newline at end of file diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/DataNodeContainerModificationStrategy.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/DataNodeContainerModificationStrategy.java index aea070c120..dc891482ab 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/DataNodeContainerModificationStrategy.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/DataNodeContainerModificationStrategy.java @@ -39,6 +39,12 @@ import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; +/** + * Base strategy for applying changes to a ContainerNode, irrespective of its + * actual type. + * + * @param Type of the container node + */ abstract class DataNodeContainerModificationStrategy extends NormalizedNodeContainerModificationStrategy { private final T schema; diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/NodeModification.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/NodeModification.java index f2720b57ae..fccc1ed5be 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/NodeModification.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/data/NodeModification.java @@ -7,8 +7,6 @@ */ package org.opendaylight.controller.md.sal.dom.store.impl.tree.data; -import static com.google.common.base.Preconditions.checkState; - import java.util.LinkedHashMap; import java.util.Map; @@ -21,6 +19,7 @@ import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import com.google.common.base.Optional; +import com.google.common.base.Preconditions; import com.google.common.base.Predicate; /** @@ -187,7 +186,7 @@ final class NodeModification implements StoreTreeNode, Identif @GuardedBy("this") private void checkSealed() { - checkState(!sealed, "Node Modification is sealed. No further changes allowed."); + Preconditions.checkState(!sealed, "Node Modification is sealed. No further changes allowed."); } public synchronized void seal() { -- 2.36.6