X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-clustering-commons%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Futil%2FAbstractDataTreeModificationCursor.java;h=74b55cf32d5b91a71f478bb12afd72393578dbb9;hb=72d71d1cded60bcac65296211272754006b3f89a;hp=f83f6afe8e524099bd1d1ea74365691f9eaa37cd;hpb=27b9d419798a8d4b673b13c57da6fe31a85e6422;p=controller.git diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/util/AbstractDataTreeModificationCursor.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/util/AbstractDataTreeModificationCursor.java index f83f6afe8e..74b55cf32d 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/util/AbstractDataTreeModificationCursor.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/util/AbstractDataTreeModificationCursor.java @@ -7,12 +7,12 @@ */ package org.opendaylight.controller.cluster.datastore.util; +import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Preconditions.checkState; +import static com.google.common.base.Verify.verifyNotNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; -import com.google.common.base.Verify; -import javax.annotation.Nonnull; -import javax.annotation.concurrent.NotThreadSafe; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -20,12 +20,11 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification /** * Abstract {@link DataTreeModificationCursor} which tracks the current path. Subclasses can get the current path - * via {@link #current()}. + * via {@link #current()}. This class is NOT thread-safe. * * @author Thomas Pantelis */ @Beta -@NotThreadSafe public abstract class AbstractDataTreeModificationCursor implements DataTreeModificationCursor { private YangInstanceIdentifier current = YangInstanceIdentifier.EMPTY; @@ -34,19 +33,19 @@ public abstract class AbstractDataTreeModificationCursor implements DataTreeModi } @Override - public final void enter(@Nonnull final PathArgument child) { + public final void enter(final PathArgument child) { current = current.node(child); } @Override - public final void enter(@Nonnull final PathArgument... path) { + public final void enter(final PathArgument... path) { for (PathArgument arg : path) { enter(arg); } } @Override - public final void enter(@Nonnull final Iterable path) { + public final void enter(final Iterable path) { for (PathArgument arg : path) { enter(arg); } @@ -54,25 +53,25 @@ public abstract class AbstractDataTreeModificationCursor implements DataTreeModi @Override public final void exit() { - Preconditions.checkState(!current.isEmpty()); - current = Verify.verifyNotNull(current.getParent()); + checkState(!current.isEmpty()); + current = verifyNotNull(current.getParent()); } @Override public final void exit(final int depth) { - Preconditions.checkArgument(depth >= 0); + checkArgument(depth >= 0); YangInstanceIdentifier next = current; for (int i = 0; i < depth; ++i) { next = next.getParent(); - Preconditions.checkState(next != null); + checkState(next != null); } current = next; } @Override - public final Optional> readNode(@Nonnull final PathArgument child) { + public final Optional> readNode(final PathArgument child) { throw new UnsupportedOperationException("Not implemented"); }