X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-inmemory-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fstore%2Fimpl%2Ftree%2FListenerWalker.java;h=f8169c4e48c0508228084ad414d7924fccd6abcc;hp=0c297a2e2b5091c39c5c85784291c21fc7bb3cab;hb=f84f3b8fb24b1ee2074fbbb3f5c64e3ba3191e3e;hpb=3997099eb61b0f2adc47f7a85952c324e9de223f diff --git a/opendaylight/md-sal/sal-inmemory-datastore/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/ListenerWalker.java b/opendaylight/md-sal/sal-inmemory-datastore/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/ListenerWalker.java index 0c297a2e2b..f8169c4e48 100644 --- a/opendaylight/md-sal/sal-inmemory-datastore/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/ListenerWalker.java +++ b/opendaylight/md-sal/sal-inmemory-datastore/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/tree/ListenerWalker.java @@ -8,37 +8,31 @@ package org.opendaylight.controller.md.sal.dom.store.impl.tree; import com.google.common.base.Preconditions; -import java.util.concurrent.atomic.AtomicIntegerFieldUpdater; -import java.util.concurrent.locks.Lock; +import org.opendaylight.controller.md.sal.dom.spi.RegistrationTreeSnapshot; +import org.opendaylight.controller.md.sal.dom.store.impl.DataChangeListenerRegistration; /** * A walking context, pretty much equivalent to an iterator, but it * exposes the underlying tree structure. * * @author Robert Varga + * + * @deprecated Superseded by {@link RegistrationTreeSnapshot}. */ +@Deprecated public class ListenerWalker implements AutoCloseable { - private static final AtomicIntegerFieldUpdater CLOSED_UPDATER = AtomicIntegerFieldUpdater.newUpdater(ListenerWalker.class, "closed"); - private final Lock lock; - private final ListenerNode node; - - // Used via CLOSED_UPDATER - @SuppressWarnings("unused") - private volatile int closed = 0; + private final RegistrationTreeSnapshot> delegate; - ListenerWalker(final Lock lock, final ListenerNode node) { - this.lock = Preconditions.checkNotNull(lock); - this.node = Preconditions.checkNotNull(node); + ListenerWalker(final RegistrationTreeSnapshot> delegate) { + this.delegate = Preconditions.checkNotNull(delegate); } public ListenerNode getRootNode() { - return node; + return new ListenerNode(delegate.getRootNode()); } @Override public void close() { - if (CLOSED_UPDATER.compareAndSet(this, 0, 1)) { - lock.unlock(); - } + delegate.close(); } } \ No newline at end of file