X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fmd-sal%2Fsal-inmemory-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fstore%2Fimpl%2FInMemoryDOMDataStore.java;fp=opendaylight%2Fmd-sal%2Fsal-inmemory-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fstore%2Fimpl%2FInMemoryDOMDataStore.java;h=af20e14c1cad589d8bbceecf2f49ce7677524cbd;hb=c5f3be93482d6b06d95ebf22b2ef2723fd813f89;hp=3582ff6ef1061749f1649cc58aed21def801d002;hpb=f1a918f69b787dd422a09e4e8fd83a1d52a72f83;p=controller.git diff --git a/opendaylight/md-sal/sal-inmemory-datastore/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/InMemoryDOMDataStore.java b/opendaylight/md-sal/sal-inmemory-datastore/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/InMemoryDOMDataStore.java index 3582ff6ef1..af20e14c1c 100644 --- a/opendaylight/md-sal/sal-inmemory-datastore/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/InMemoryDOMDataStore.java +++ b/opendaylight/md-sal/sal-inmemory-datastore/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/InMemoryDOMDataStore.java @@ -50,18 +50,23 @@ import org.slf4j.LoggerFactory; /** * In-memory DOM Data Store * + *

* Implementation of {@link DOMStore} which uses {@link DataTree} and other * classes such as {@link SnapshotBackedWriteTransaction}. - * {@link org.opendaylight.controller.sal.core.spi.data.SnapshotBackedReadTransaction} and {@link ResolveDataChangeEventsTask} + * {@link org.opendaylight.controller.sal.core.spi.data.SnapshotBackedReadTransaction} and + * {@link ResolveDataChangeEventsTask} * to implement {@link DOMStore} contract. * */ -public class InMemoryDOMDataStore extends TransactionReadyPrototype implements DOMStore, Identifiable, SchemaContextListener, AutoCloseable, DOMStoreTreeChangePublisher { +public class InMemoryDOMDataStore extends TransactionReadyPrototype + implements DOMStore, Identifiable, SchemaContextListener, AutoCloseable, DOMStoreTreeChangePublisher { private static final Logger LOG = LoggerFactory.getLogger(InMemoryDOMDataStore.class); - private static final Invoker, DOMImmutableDataChangeEvent> DCL_NOTIFICATION_MGR_INVOKER = + private static final Invoker, DOMImmutableDataChangeEvent> + DCL_NOTIFICATION_MGR_INVOKER = (listener, notification) -> { - final AsyncDataChangeListener> inst = listener.getInstance(); + final AsyncDataChangeListener> inst = + listener.getInstance(); if (inst != null) { inst.onDataChanged(notification); } @@ -71,7 +76,8 @@ public class InMemoryDOMDataStore extends TransactionReadyPrototype impl private final ListenerTree listenerTree = ListenerTree.create(); private final AtomicLong txCounter = new AtomicLong(0); - private final QueuedNotificationManager, DOMImmutableDataChangeEvent> dataChangeListenerNotificationManager; + private final QueuedNotificationManager, DOMImmutableDataChangeEvent> + dataChangeListenerNotificationManager; private final InMemoryDOMStoreTreeChangePublisher changePublisher; private final ExecutorService dataChangeListenerExecutor; private final boolean debugTransactions; @@ -95,7 +101,8 @@ public class InMemoryDOMDataStore extends TransactionReadyPrototype impl new QueuedNotificationManager<>(this.dataChangeListenerExecutor, DCL_NOTIFICATION_MGR_INVOKER, maxDataChangeListenerQueueSize, "DataChangeListenerQueueMgr"); - changePublisher = new InMemoryDOMStoreTreeChangePublisher(this.dataChangeListenerExecutor, maxDataChangeListenerQueueSize); + changePublisher = new InMemoryDOMStoreTreeChangePublisher(this.dataChangeListenerExecutor, + maxDataChangeListenerQueueSize); switch (type) { case CONFIGURATION: @@ -124,17 +131,20 @@ public class InMemoryDOMDataStore extends TransactionReadyPrototype impl @Override public DOMStoreReadTransaction newReadOnlyTransaction() { - return SnapshotBackedTransactions.newReadTransaction(nextIdentifier(), debugTransactions, dataTree.takeSnapshot()); + return SnapshotBackedTransactions.newReadTransaction(nextIdentifier(), debugTransactions, + dataTree.takeSnapshot()); } @Override public DOMStoreReadWriteTransaction newReadWriteTransaction() { - return SnapshotBackedTransactions.newReadWriteTransaction(nextIdentifier(), debugTransactions, dataTree.takeSnapshot(), this); + return SnapshotBackedTransactions.newReadWriteTransaction(nextIdentifier(), debugTransactions, + dataTree.takeSnapshot(), this); } @Override public DOMStoreWriteTransaction newWriteOnlyTransaction() { - return SnapshotBackedTransactions.newWriteTransaction(nextIdentifier(), debugTransactions, dataTree.takeSnapshot(), this); + return SnapshotBackedTransactions.newWriteTransaction(nextIdentifier(), debugTransactions, + dataTree.takeSnapshot(), this); } @Override @@ -148,13 +158,14 @@ public class InMemoryDOMDataStore extends TransactionReadyPrototype impl } @Override + @SuppressWarnings("checkstyle:IllegalCatch") public void close() { ExecutorServiceUtil.tryGracefulShutdown(dataChangeListenerExecutor, 30, TimeUnit.SECONDS); - if(closeable != null) { + if (closeable != null) { try { closeable.close(); - } catch(Exception e) { + } catch (Exception e) { LOG.debug("Error closing instance", e); } } @@ -169,8 +180,8 @@ public class InMemoryDOMDataStore extends TransactionReadyPrototype impl } @Override - public >> ListenerRegistration registerChangeListener( - final YangInstanceIdentifier path, final L listener, final DataChangeScope scope) { + public >> ListenerRegistration + registerChangeListener(final YangInstanceIdentifier path, final L listener, final DataChangeScope scope) { /* * Make sure commit is not occurring right now. Listener has to be @@ -209,7 +220,8 @@ public class InMemoryDOMDataStore extends TransactionReadyPrototype impl } @Override - public synchronized ListenerRegistration registerTreeChangeListener(final YangInstanceIdentifier treeId, final L listener) { + public synchronized ListenerRegistration registerTreeChangeListener( + final YangInstanceIdentifier treeId, final L listener) { /* * Make sure commit is not occurring right now. Listener has to be * registered and its state capture enqueued at a consistent point.