From e3b48885a28c9fe9f274bd30ec0246bdb246df8a Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Wed, 9 Apr 2014 06:20:17 +0200 Subject: [PATCH] BUG-509: limit visibility of updateModificationType() Limits updateModificationType() to private. Also add GuardedBy annotations to explain that seal and this method require synchronization. Change-Id: Iff49e15c890bac38cb5ff19c347551dcee5bb4b8 Signed-off-by: Robert Varga --- .../md/sal/dom/store/impl/tree/NodeModification.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/NodeModification.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/NodeModification.java index a0c15eb4a0..04fb3b7c6c 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/NodeModification.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/NodeModification.java @@ -12,6 +12,8 @@ import static com.google.common.base.Preconditions.checkState; import java.util.LinkedHashMap; import java.util.Map; +import javax.annotation.concurrent.GuardedBy; + import org.opendaylight.yangtools.concepts.Identifiable; import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -51,6 +53,7 @@ public class NodeModification implements StoreTreeNode, Identi private final Map childModification; + @GuardedBy("this") private boolean sealed = false; protected NodeModification(final PathArgument identifier, final Optional original) { @@ -173,6 +176,7 @@ public class NodeModification implements StoreTreeNode, Identi this.value = value; } + @GuardedBy("this") private void checkSealed() { checkState(!sealed, "Node Modification is sealed. No further changes allowed."); } @@ -202,7 +206,8 @@ public class NodeModification implements StoreTreeNode, Identi return !childModification.isEmpty(); } - public void updateModificationType(final ModificationType type) { + @GuardedBy("this") + private void updateModificationType(final ModificationType type) { modificationType = type; clearSnapshot(); } -- 2.36.6