From 41c34ca065881c748d1811b7ba6a5145ce6ed608 Mon Sep 17 00:00:00 2001 From: janab Date: Fri, 26 Aug 2016 13:18:06 -0700 Subject: [PATCH 1/1] checkStyleViolationSeverity=error implemented for mdsal-dom-inmemory-datastore Changed the local variable indVal to index. An unwanted folder was added accidentally, removed. Code review comments are implemented. Change-Id: Ie1736dbec9e00a49961a46c32f4433f60c211dc0 Signed-off-by: Brinda Jana (cherry picked from commit 099ae98f4694007d7edf76c695a901766521f45f) --- dom/mdsal-dom-inmemory-datastore/pom.xml | 7 ++ .../AbstractDOMShardTreeChangePublisher.java | 39 ++++++---- .../ChainedTransactionCommitImpl.java | 8 +- .../DOMDataTreeShardWriteTransaction.java | 1 + .../DOMStoreTransactionChainImpl.java | 6 +- .../DataTreeModificationCursorAdaptor.java | 22 +++--- .../DelegatingWriteCursorStrategy.java | 1 + .../ForeignShardThreePhaseCommitCohort.java | 3 +- .../store/inmemory/InMemoryDOMDataStore.java | 42 ++++++---- .../InMemoryDOMDataStoreConfigProperties.java | 2 +- .../inmemory/InMemoryDOMDataStoreFactory.java | 3 +- .../inmemory/InMemoryDOMDataTreeShard.java | 20 +++-- ...MemoryDOMDataTreeShardChangePublisher.java | 26 ++++--- ...OMDataTreeShardThreePhaseCommitCohort.java | 6 +- ...nMemoryDOMStoreThreePhaseCommitCohort.java | 22 +++--- .../InMemoryDOMStoreTreeChangePublisher.java | 42 +++++----- ...emoryDOMDataTreeShardWriteTransaction.java | 21 +++-- .../inmemory/ReadableCursorOperation.java | 2 +- .../ReadableWriteableDOMDataTreeShard.java | 2 +- .../ShardCanCommitCoordinationTask.java | 6 +- .../inmemory/ShardCommitCoordinationTask.java | 6 +- .../ShardDataModificationBuilder.java | 2 +- .../inmemory/ShardDataModificationCursor.java | 11 +-- .../ShardPreCommitCoordinationTask.java | 8 +- .../store/inmemory/WritableInteriorNode.java | 2 +- .../store/inmemory/WriteCursorStrategy.java | 12 +-- .../inmemory/WriteableModificationNode.java | 3 +- .../inmemory/WriteableNodeWithSubshard.java | 2 +- .../dom/store/impl/InMemoryDataStoreTest.java | 78 +++++++++---------- .../impl/SchemaUpdateForTransactionTest.java | 11 +-- .../store/impl/TestDCLExecutorService.java | 2 +- ...stractDOMShardTreeChangePublisherTest.java | 8 +- ...oryDOMStoreThreePhaseCommitCohortTest.java | 4 + ...yDOMDataTreeShardWriteTransactionTest.java | 3 +- .../ShardSubmitCoordinationTaskTest.java | 2 +- .../inmemory/WriteableNodeOperationTest.java | 2 +- 36 files changed, 251 insertions(+), 186 deletions(-) diff --git a/dom/mdsal-dom-inmemory-datastore/pom.xml b/dom/mdsal-dom-inmemory-datastore/pom.xml index f0ad67544c..1e3857510c 100644 --- a/dom/mdsal-dom-inmemory-datastore/pom.xml +++ b/dom/mdsal-dom-inmemory-datastore/pom.xml @@ -88,6 +88,13 @@ maven-bundle-plugin true + + org.apache.maven.plugins + maven-checkstyle-plugin + + checkstyle.violationSeverity=error + + diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/AbstractDOMShardTreeChangePublisher.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/AbstractDOMShardTreeChangePublisher.java index 307c8ca208..1cfea3463e 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/AbstractDOMShardTreeChangePublisher.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/AbstractDOMShardTreeChangePublisher.java @@ -46,7 +46,8 @@ import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableMa import org.slf4j.Logger; import org.slf4j.LoggerFactory; -abstract class AbstractDOMShardTreeChangePublisher extends AbstractDOMStoreTreeChangePublisher implements DOMStoreTreeChangePublisher { +abstract class AbstractDOMShardTreeChangePublisher extends AbstractDOMStoreTreeChangePublisher + implements DOMStoreTreeChangePublisher { private static final Logger LOG = LoggerFactory.getLogger(AbstractDOMShardTreeChangePublisher.class); @@ -63,7 +64,8 @@ abstract class AbstractDOMShardTreeChangePublisher extends AbstractDOMStoreTreeC } @Override - public AbstractDOMDataTreeChangeListenerRegistration registerTreeChangeListener(final YangInstanceIdentifier path, final L listener) { + public AbstractDOMDataTreeChangeListenerRegistration + registerTreeChangeListener(final YangInstanceIdentifier path, final L listener) { takeLock(); try { return setupListenerContext(path, listener); @@ -72,7 +74,8 @@ abstract class AbstractDOMShardTreeChangePublisher extends AbstractDOMStoreTreeC } } - private AbstractDOMDataTreeChangeListenerRegistration setupListenerContext(final YangInstanceIdentifier listenerPath, final L listener) { + private AbstractDOMDataTreeChangeListenerRegistration + setupListenerContext(final YangInstanceIdentifier listenerPath, final L listener) { // we need to register the listener registration path based on the shards root // we have to strip the shard path from the listener path and then register YangInstanceIdentifier strippedIdentifier = listenerPath; @@ -80,8 +83,10 @@ abstract class AbstractDOMShardTreeChangePublisher extends AbstractDOMStoreTreeC strippedIdentifier = YangInstanceIdentifier.create(stripShardPath(listenerPath)); } - final DOMDataTreeListenerWithSubshards subshardListener = new DOMDataTreeListenerWithSubshards(dataTree, strippedIdentifier, listener); - final AbstractDOMDataTreeChangeListenerRegistration reg = setupContextWithoutSubshards(strippedIdentifier, subshardListener); + final DOMDataTreeListenerWithSubshards subshardListener = + new DOMDataTreeListenerWithSubshards(dataTree, strippedIdentifier, listener); + final AbstractDOMDataTreeChangeListenerRegistration reg = + setupContextWithoutSubshards(strippedIdentifier, subshardListener); for (final ChildShardContext maybeAffected : childShards.values()) { if (listenerPath.contains(maybeAffected.getPrefix().getRootIdentifier())) { @@ -91,8 +96,10 @@ abstract class AbstractDOMShardTreeChangePublisher extends AbstractDOMStoreTreeC subshardListener.addSubshard(maybeAffected); } else if (maybeAffected.getPrefix().getRootIdentifier().contains(listenerPath)) { // bind path is inside subshard - // TODO can this happen? seems like in ShardedDOMDataTree we are already registering to the lowest shard possible - throw new UnsupportedOperationException("Listener should be registered directly into initialDataChangeEvent subshard"); + // TODO can this happen? seems like in ShardedDOMDataTree we are + // already registering to the lowest shard possible + throw new UnsupportedOperationException("Listener should be registered directly " + + "into initialDataChangeEvent subshard"); } } @@ -101,7 +108,8 @@ abstract class AbstractDOMShardTreeChangePublisher extends AbstractDOMStoreTreeC return reg; } - private void initialDataChangeEvent(final YangInstanceIdentifier listenerPath, final L listener) { + private void initialDataChangeEvent( + final YangInstanceIdentifier listenerPath, final L listener) { // FIXME Add support for wildcard listeners final Optional> preExistingData = dataTree.takeSnapshot() .readNode(YangInstanceIdentifier.create(stripShardPath(listenerPath))); @@ -146,10 +154,14 @@ abstract class AbstractDOMShardTreeChangePublisher extends AbstractDOMStoreTreeC return nodeBuilder.build(); } - private AbstractDOMDataTreeChangeListenerRegistration setupContextWithoutSubshards(final YangInstanceIdentifier listenerPath, final DOMDataTreeListenerWithSubshards listener) { + private AbstractDOMDataTreeChangeListenerRegistration + setupContextWithoutSubshards(final YangInstanceIdentifier listenerPath, + final DOMDataTreeListenerWithSubshards listener) { LOG.debug("Registering root listener at {}", listenerPath); - final RegistrationTreeNode> node = findNodeFor(listenerPath.getPathArguments()); - final AbstractDOMDataTreeChangeListenerRegistration registration = new AbstractDOMDataTreeChangeListenerRegistration((L) listener) { + final RegistrationTreeNode> node = + findNodeFor(listenerPath.getPathArguments()); + final AbstractDOMDataTreeChangeListenerRegistration registration = + new AbstractDOMDataTreeChangeListenerRegistration((L) listener) { @Override protected void removeRegistration() { listener.close(); @@ -218,8 +230,9 @@ abstract class AbstractDOMShardTreeChangePublisher extends AbstractDOMStoreTreeC final DOMStoreTreeChangePublisher listenableShard = (DOMStoreTreeChangePublisher) context.getShard(); // since this is going into subshard we want to listen for ALL changes in the subshard registrations.put(context.getPrefix().getRootIdentifier(), - listenableShard.registerTreeChangeListener(context.getPrefix().getRootIdentifier(), - changes -> onDataTreeChanged(context.getPrefix().getRootIdentifier(), changes))); + listenableShard.registerTreeChangeListener( + context.getPrefix().getRootIdentifier(), changes -> onDataTreeChanged( + context.getPrefix().getRootIdentifier(), changes))); } void close() { diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ChainedTransactionCommitImpl.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ChainedTransactionCommitImpl.java index ea7ee15a57..c3c9589ff0 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ChainedTransactionCommitImpl.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ChainedTransactionCommitImpl.java @@ -7,17 +7,17 @@ */ package org.opendaylight.mdsal.dom.store.inmemory; -import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction; - import com.google.common.base.Preconditions; import com.google.common.util.concurrent.ListenableFuture; +import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; final class ChainedTransactionCommitImpl extends InMemoryDOMStoreThreePhaseCommitCohort { private final DOMStoreTransactionChainImpl txChain; - ChainedTransactionCommitImpl(final InMemoryDOMDataStore store, final SnapshotBackedWriteTransaction transaction, - final DataTreeModification modification, final DOMStoreTransactionChainImpl txChain) { + ChainedTransactionCommitImpl(final InMemoryDOMDataStore store, + final SnapshotBackedWriteTransaction transaction,final DataTreeModification modification, + final DOMStoreTransactionChainImpl txChain) { super(store, transaction, modification); this.txChain = Preconditions.checkNotNull(txChain); } diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/DOMDataTreeShardWriteTransaction.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/DOMDataTreeShardWriteTransaction.java index 59fa4b0966..4ffdf1e9a0 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/DOMDataTreeShardWriteTransaction.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/DOMDataTreeShardWriteTransaction.java @@ -31,6 +31,7 @@ public interface DOMDataTreeShardWriteTransaction extends DOMDataTreeCursorProvi /** * Finish this transaction and submit it for processing. * + *

* FIXME: this method should accept a callback which will report success/failure. Let's not use a CheckedFuture * due to overhead associated with attaching listeners to them. * @throws IllegalStateException if this transaction has an unclosed cursor. diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/DOMStoreTransactionChainImpl.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/DOMStoreTransactionChainImpl.java index e21998f551..7650b29a69 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/DOMStoreTransactionChainImpl.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/DOMStoreTransactionChainImpl.java @@ -7,11 +7,10 @@ */ package org.opendaylight.mdsal.dom.store.inmemory; +import com.google.common.base.Preconditions; import org.opendaylight.mdsal.dom.spi.store.AbstractSnapshotBackedTransactionChain; import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort; import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction; - -import com.google.common.base.Preconditions; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot; @@ -23,7 +22,8 @@ final class DOMStoreTransactionChainImpl extends AbstractSnapshotBackedTransacti } @Override - protected DOMStoreThreePhaseCommitCohort createCohort(final SnapshotBackedWriteTransaction tx, final DataTreeModification modification) { + protected DOMStoreThreePhaseCommitCohort createCohort(final SnapshotBackedWriteTransaction tx, + final DataTreeModification modification) { return new ChainedTransactionCommitImpl(store, tx, modification, this); } diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/DataTreeModificationCursorAdaptor.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/DataTreeModificationCursorAdaptor.java index 0a90f13d42..a4986e714d 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/DataTreeModificationCursorAdaptor.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/DataTreeModificationCursorAdaptor.java @@ -28,7 +28,8 @@ final class DataTreeModificationCursorAdaptor extends ForwardingObject implement return new DataTreeModificationCursorAdaptor(dataTreeCursor); } - protected final DataTreeModificationCursor delegate() { + @Override + protected DataTreeModificationCursor delegate() { return delegate; } @@ -42,6 +43,16 @@ final class DataTreeModificationCursorAdaptor extends ForwardingObject implement delegate.enter(child); } + @Override + public void enter(final Iterable path) { + delegate.enter(path); + } + + @Override + public void enter(final PathArgument... path) { + delegate.enter(path); + } + @Override public void merge(final PathArgument child, final NormalizedNode data) { delegate.merge(child, data); @@ -52,11 +63,6 @@ final class DataTreeModificationCursorAdaptor extends ForwardingObject implement delegate.write(child, data); } - @Override - public void enter(final Iterable path) { - delegate.enter(path); - } - @Override public void exit() { delegate.exit(); @@ -76,8 +82,4 @@ final class DataTreeModificationCursorAdaptor extends ForwardingObject implement delegate.close(); } - @Override - public void enter(final PathArgument... path) { - delegate.enter(path); - } } diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/DelegatingWriteCursorStrategy.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/DelegatingWriteCursorStrategy.java index 3122b00860..e7a9b66e88 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/DelegatingWriteCursorStrategy.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/DelegatingWriteCursorStrategy.java @@ -67,6 +67,7 @@ abstract class DelegatingWriteCursorStrategy extends ForwardingObject implements * Operation performed to exit current logical level, default implementation calls * {@link DOMDataTreeWriteCursor#exit()} on underlaying cursor. * + *

* Subclasses may override this to customize exit strategy. * */ diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ForeignShardThreePhaseCommitCohort.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ForeignShardThreePhaseCommitCohort.java index 16d4b34e79..1b16f738fc 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ForeignShardThreePhaseCommitCohort.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ForeignShardThreePhaseCommitCohort.java @@ -22,7 +22,8 @@ public class ForeignShardThreePhaseCommitCohort implements DOMStoreThreePhaseCom private final DOMDataTreeIdentifier prefix; private final ForeignShardModificationContext shard; - public ForeignShardThreePhaseCommitCohort(final DOMDataTreeIdentifier prefix, final ForeignShardModificationContext shard) { + public ForeignShardThreePhaseCommitCohort(final DOMDataTreeIdentifier prefix, + final ForeignShardModificationContext shard) { this.prefix = prefix; this.shard = shard; } diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataStore.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataStore.java index ae7f4c1e39..5ebcc83916 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataStore.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataStore.java @@ -7,6 +7,11 @@ */ package org.opendaylight.mdsal.dom.store.inmemory; +import com.google.common.base.Preconditions; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicLong; +import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener; import org.opendaylight.mdsal.dom.spi.store.DOMStore; import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadTransaction; import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadWriteTransaction; @@ -17,11 +22,6 @@ import org.opendaylight.mdsal.dom.spi.store.DOMStoreWriteTransaction; import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedTransactions; import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction; import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction.TransactionReadyPrototype; -import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener; -import com.google.common.base.Preconditions; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicLong; import org.opendaylight.yangtools.concepts.Identifiable; import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.util.ExecutorServiceUtil; @@ -39,15 +39,17 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * In-memory DOM Data Store + * In-memory DOM Data Store. * + *

* Implementation of {@link DOMStore} which uses {@link DataTree} and other * classes such as {@link SnapshotBackedWriteTransaction}. * {@link org.opendaylight.mdsal.dom.spi.store.SnapshotBackedReadTransaction} 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 final DataTree dataTree = InMemoryDataTreeFactory.getInstance().create(TreeType.OPERATIONAL); @@ -61,7 +63,8 @@ public class InMemoryDOMDataStore extends TransactionReadyPrototype impl private volatile AutoCloseable closeable; public InMemoryDOMDataStore(final String name, final ExecutorService dataChangeListenerExecutor) { - this(name, dataChangeListenerExecutor, InMemoryDOMDataStoreConfigProperties.DEFAULT_MAX_DATA_CHANGE_LISTENER_QUEUE_SIZE, false); + this(name, dataChangeListenerExecutor, + InMemoryDOMDataStoreConfigProperties.DEFAULT_MAX_DATA_CHANGE_LISTENER_QUEUE_SIZE, false); } public InMemoryDOMDataStore(final String name, final ExecutorService dataChangeListenerExecutor, @@ -69,7 +72,8 @@ public class InMemoryDOMDataStore extends TransactionReadyPrototype impl this.name = Preconditions.checkNotNull(name); this.dataChangeListenerExecutor = Preconditions.checkNotNull(dataChangeListenerExecutor); this.debugTransactions = debugTransactions; - changePublisher = new InMemoryDOMStoreTreeChangePublisher(this.dataChangeListenerExecutor, maxDataChangeListenerQueueSize); + changePublisher = new InMemoryDOMStoreTreeChangePublisher(this.dataChangeListenerExecutor, + maxDataChangeListenerQueueSize); } public void setCloseable(final AutoCloseable closeable) { @@ -83,17 +87,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 @@ -106,14 +113,15 @@ public class InMemoryDOMDataStore extends TransactionReadyPrototype impl dataTree.setSchemaContext(ctx); } + @SuppressWarnings("checkstyle:IllegalCatch") @Override 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); } } @@ -128,7 +136,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. @@ -142,7 +151,8 @@ public class InMemoryDOMDataStore extends TransactionReadyPrototype impl } @Override - protected DOMStoreThreePhaseCommitCohort transactionReady(final SnapshotBackedWriteTransaction tx, final DataTreeModification modification) { + protected DOMStoreThreePhaseCommitCohort transactionReady(final SnapshotBackedWriteTransaction tx, + final DataTreeModification modification) { LOG.debug("Tx: {} is submitted. Modifications: {}", tx.getIdentifier(), modification); return new InMemoryDOMStoreThreePhaseCommitCohort(this, tx, modification); } diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataStoreConfigProperties.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataStoreConfigProperties.java index 4fb3ecee46..9c68a1bcc6 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataStoreConfigProperties.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataStoreConfigProperties.java @@ -10,7 +10,7 @@ package org.opendaylight.mdsal.dom.store.inmemory; /** * Holds configuration properties when creating an {@link InMemoryDOMDataStore} instance via the - * {@link InMemoryDOMDataStoreFactory} + * {@link InMemoryDOMDataStoreFactory}. * * @author Thomas Pantelis * @see InMemoryDOMDataStoreFactory diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataStoreFactory.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataStoreFactory.java index 0ebe801977..8b278ec93b 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataStoreFactory.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataStoreFactory.java @@ -7,10 +7,9 @@ */ package org.opendaylight.mdsal.dom.store.inmemory; -import org.opendaylight.mdsal.dom.api.DOMSchemaService; - import java.util.concurrent.ExecutorService; import javax.annotation.Nullable; +import org.opendaylight.mdsal.dom.api.DOMSchemaService; import org.opendaylight.yangtools.util.concurrent.SpecialExecutors; /** diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataTreeShard.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataTreeShard.java index f518346daa..575c95d62a 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataTreeShard.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataTreeShard.java @@ -42,6 +42,7 @@ public class InMemoryDOMDataTreeShard implements ReadableWriteableDOMDataTreeSha private static final class SubshardProducerSpecification { private final Collection prefixes = new ArrayList<>(1); private final ChildShardContext shard; + SubshardProducerSpecification(final ChildShardContext subshard) { this.shard = Preconditions.checkNotNull(subshard); } @@ -73,12 +74,13 @@ public class InMemoryDOMDataTreeShard implements ReadableWriteableDOMDataTreeSha final TreeType treeType = treeTypeFor(prefix.getDatastoreType()); this.dataTree = InMemoryDataTreeFactory.getInstance().create(treeType, prefix.getRootIdentifier()); - this.shardChangePublisher = new InMemoryDOMDataTreeShardChangePublisher(dataTreeChangeExecutor, maxDataChangeListenerQueueSize, dataTree, prefix.getRootIdentifier(), childShards); + this.shardChangePublisher = new InMemoryDOMDataTreeShardChangePublisher(dataTreeChangeExecutor, + maxDataChangeListenerQueueSize, dataTree, prefix.getRootIdentifier(), childShards); this.executor = MoreExecutors.listeningDecorator(Executors.newSingleThreadExecutor()); } - public static InMemoryDOMDataTreeShard create(final DOMDataTreeIdentifier id, final ExecutorService dataTreeChangeExecutor, - final int maxDataChangeListenerQueueSize) { + public static InMemoryDOMDataTreeShard create(final DOMDataTreeIdentifier id, + final ExecutorService dataTreeChangeExecutor, final int maxDataChangeListenerQueueSize) { return new InMemoryDOMDataTreeShard(id, dataTreeChangeExecutor, maxDataChangeListenerQueueSize); } @@ -111,7 +113,8 @@ public class InMemoryDOMDataTreeShard implements ReadableWriteableDOMDataTreeSha @Nonnull @Override - public ListenerRegistration registerTreeChangeListener(@Nonnull final YangInstanceIdentifier treeId, @Nonnull final L listener) { + public ListenerRegistration registerTreeChangeListener( + @Nonnull final YangInstanceIdentifier treeId, @Nonnull final L listener) { return shardChangePublisher.registerTreeChangeListener(treeId, listener); } @@ -122,7 +125,8 @@ public class InMemoryDOMDataTreeShard implements ReadableWriteableDOMDataTreeSha } private void reparentChildShards(final DOMDataTreeIdentifier newChildPrefix, final DOMDataTreeShard newChild) { - final Iterator> actualChildren = childShards.entrySet().iterator(); + final Iterator> actualChildren = + childShards.entrySet().iterator(); final Map reparented = new HashMap<>(); while (actualChildren.hasNext()) { final Entry actualChild = actualChildren.next(); @@ -149,7 +153,8 @@ public class InMemoryDOMDataTreeShard implements ReadableWriteableDOMDataTreeSha throw new UnsupportedOperationException(); } - private static ChildShardContext createContextFor(final DOMDataTreeIdentifier prefix, final DOMDataTreeShard child) { + private static ChildShardContext createContextFor(final DOMDataTreeIdentifier prefix, + final DOMDataTreeShard child) { Preconditions.checkArgument(child instanceof WriteableDOMDataTreeShard, "Child %s is not a writable shared", child); return new ChildShardContext(prefix, (WriteableDOMDataTreeShard) child); @@ -175,7 +180,8 @@ public class InMemoryDOMDataTreeShard implements ReadableWriteableDOMDataTreeSha return ret; } - InmemoryDOMDataTreeShardWriteTransaction createTransaction(final InmemoryDOMDataTreeShardWriteTransaction previousTx) { + InmemoryDOMDataTreeShardWriteTransaction createTransaction( + final InmemoryDOMDataTreeShardWriteTransaction previousTx) { // FIXME: implement this throw new UnsupportedOperationException(); } diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataTreeShardChangePublisher.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataTreeShardChangePublisher.java index 8c6b8be450..8f6bfbdf79 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataTreeShardChangePublisher.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataTreeShardChangePublisher.java @@ -30,15 +30,16 @@ final class InMemoryDOMDataTreeShardChangePublisher extends AbstractDOMShardTree private static final Logger LOG = LoggerFactory.getLogger(InMemoryDOMDataTreeShardChangePublisher.class); - private static final Invoker, DataTreeCandidate> MANAGER_INVOKER = - (listener, notification) -> { - final DOMDataTreeChangeListener inst = listener.getInstance(); - if (inst != null) { - inst.onDataTreeChanged(ImmutableList.of(notification)); - } - }; + private static final Invoker, DataTreeCandidate> + MANAGER_INVOKER = (listener, notification) -> { + final DOMDataTreeChangeListener inst = listener.getInstance(); + if (inst != null) { + inst.onDataTreeChanged(ImmutableList.of(notification)); + } + }; - private final QueuedNotificationManager, DataTreeCandidate> notificationManager; + private final QueuedNotificationManager, + DataTreeCandidate> notificationManager; InMemoryDOMDataTreeShardChangePublisher(final ExecutorService executorService, final int maxQueueSize, @@ -46,11 +47,13 @@ final class InMemoryDOMDataTreeShardChangePublisher extends AbstractDOMShardTree final YangInstanceIdentifier rootPath, final Map childShards) { super(dataTree, rootPath, childShards); - notificationManager = new QueuedNotificationManager<>(executorService, MANAGER_INVOKER, maxQueueSize, "DataTreeChangeListenerQueueMgr"); + notificationManager = new QueuedNotificationManager<>( + executorService, MANAGER_INVOKER, maxQueueSize, "DataTreeChangeListenerQueueMgr"); } @Override - protected void notifyListeners(@Nonnull final Collection> registrations, + protected void notifyListeners( + @Nonnull final Collection> registrations, @Nonnull final YangInstanceIdentifier path, @Nonnull final DataTreeCandidateNode node) { final DataTreeCandidate candidate = DataTreeCandidates.newDataTreeCandidate(path, node); @@ -67,7 +70,8 @@ final class InMemoryDOMDataTreeShardChangePublisher extends AbstractDOMShardTree } - public AbstractDOMDataTreeChangeListenerRegistration registerTreeChangeListener(YangInstanceIdentifier path, L listener) { + public AbstractDOMDataTreeChangeListenerRegistration + registerTreeChangeListener(YangInstanceIdentifier path, L listener) { return super.registerTreeChangeListener(path, listener); } diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataTreeShardThreePhaseCommitCohort.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataTreeShardThreePhaseCommitCohort.java index 5f20089c5c..1f8c9cbcd3 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataTreeShardThreePhaseCommitCohort.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMDataTreeShardThreePhaseCommitCohort.java @@ -11,7 +11,6 @@ package org.opendaylight.mdsal.dom.store.inmemory; import com.google.common.base.Preconditions; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; -import java.util.Collections; import org.opendaylight.mdsal.common.api.TransactionCommitFailedException; import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTree; @@ -40,6 +39,7 @@ class InMemoryDOMDataTreeShardThreePhaseCommitCohort implements DOMStoreThreePha this.changePublisher = Preconditions.checkNotNull(changePublisher); } + @SuppressWarnings("checkstyle:IllegalCatch") @Override public ListenableFuture canCommit() { try { @@ -51,13 +51,15 @@ class InMemoryDOMDataTreeShardThreePhaseCommitCohort implements DOMStoreThreePha LOG.warn("Data validation failed for {}", modification); LOG.trace("dataTree : {}", dataTree); - return Futures.immediateFailedFuture(new TransactionCommitFailedException("Data did not pass validation.", e)); + return Futures.immediateFailedFuture(new TransactionCommitFailedException( + "Data did not pass validation.", e)); } catch (Exception e) { LOG.warn("Unexpected failure in validation phase", e); return Futures.immediateFailedFuture(e); } } + @SuppressWarnings("checkstyle:IllegalCatch") @Override public ListenableFuture preCommit() { try { diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreThreePhaseCommitCohort.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreThreePhaseCommitCohort.java index a7843947c0..535623352a 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreThreePhaseCommitCohort.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreThreePhaseCommitCohort.java @@ -10,15 +10,14 @@ package org.opendaylight.mdsal.dom.store.inmemory; import static com.google.common.base.Preconditions.checkState; -import org.opendaylight.mdsal.dom.spi.store.AbstractDOMStoreTransaction; -import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort; -import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction; - -import org.opendaylight.mdsal.common.api.OptimisticLockFailedException; -import org.opendaylight.mdsal.common.api.TransactionCommitFailedException; import com.google.common.base.Preconditions; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; +import org.opendaylight.mdsal.common.api.OptimisticLockFailedException; +import org.opendaylight.mdsal.common.api.TransactionCommitFailedException; +import org.opendaylight.mdsal.dom.spi.store.AbstractDOMStoreTransaction; +import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort; +import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction; import org.opendaylight.yangtools.yang.data.api.schema.tree.ConflictingModificationAppliedException; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; @@ -35,7 +34,8 @@ class InMemoryDOMStoreThreePhaseCommitCohort implements DOMStoreThreePhaseCommit private final InMemoryDOMDataStore store; private DataTreeCandidate candidate; - public InMemoryDOMStoreThreePhaseCommitCohort(final InMemoryDOMDataStore store, final SnapshotBackedWriteTransaction writeTransaction, final DataTreeModification modification) { + InMemoryDOMStoreThreePhaseCommitCohort(final InMemoryDOMDataStore store, + final SnapshotBackedWriteTransaction writeTransaction, final DataTreeModification modification) { this.transaction = Preconditions.checkNotNull(writeTransaction); this.modification = Preconditions.checkNotNull(modification); this.store = Preconditions.checkNotNull(store); @@ -48,6 +48,7 @@ class InMemoryDOMStoreThreePhaseCommitCohort implements DOMStoreThreePhaseCommit } } + @SuppressWarnings("checkstyle:IllegalCatch") @Override public final ListenableFuture canCommit() { try { @@ -66,15 +67,18 @@ class InMemoryDOMStoreThreePhaseCommitCohort implements DOMStoreThreePhaseCommit // For debugging purposes, allow dumping of the modification. Coupled with the above // precondition log, it should allow us to understand what went on. - LOG.trace("Store Tx: {} modifications: {} tree: {}", getTransaction().getIdentifier(), modification, store); + LOG.trace("Store Tx: {} modifications: {} tree: {}", getTransaction().getIdentifier(), + modification, store); - return Futures.immediateFailedFuture(new TransactionCommitFailedException("Data did not pass validation.", e)); + return Futures.immediateFailedFuture( + new TransactionCommitFailedException("Data did not pass validation.", e)); } catch (Exception e) { LOG.warn("Unexpected failure in validation phase", e); return Futures.immediateFailedFuture(e); } } + @SuppressWarnings("checkstyle:IllegalCatch") @Override public final ListenableFuture preCommit() { try { diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreTreeChangePublisher.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreTreeChangePublisher.java index 8771315e58..919f888f02 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreTreeChangePublisher.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreTreeChangePublisher.java @@ -7,15 +7,14 @@ */ package org.opendaylight.mdsal.dom.store.inmemory; -import org.opendaylight.mdsal.dom.spi.store.AbstractDOMStoreTreeChangePublisher; - -import org.opendaylight.mdsal.dom.spi.AbstractDOMDataTreeChangeListenerRegistration; -import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener; import com.google.common.base.Optional; import java.util.Collection; import java.util.Collections; import java.util.concurrent.ExecutorService; import javax.annotation.Nonnull; +import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener; +import org.opendaylight.mdsal.dom.spi.AbstractDOMDataTreeChangeListenerRegistration; +import org.opendaylight.mdsal.dom.spi.store.AbstractDOMStoreTreeChangePublisher; import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.util.concurrent.QueuedNotificationManager; import org.opendaylight.yangtools.util.concurrent.QueuedNotificationManager.Invoker; @@ -31,24 +30,29 @@ import org.slf4j.LoggerFactory; final class InMemoryDOMStoreTreeChangePublisher extends AbstractDOMStoreTreeChangePublisher { private static final Invoker, DataTreeCandidate> MANAGER_INVOKER = new Invoker, DataTreeCandidate>() { - @Override - public void invokeListener(final AbstractDOMDataTreeChangeListenerRegistration listener, final DataTreeCandidate notification) { - // FIXME: this is inefficient, as we could grab the entire queue for the listener and post it - final DOMDataTreeChangeListener inst = listener.getInstance(); - if (inst != null) { - inst.onDataTreeChanged(Collections.singletonList(notification)); - } - } - }; + @Override + public void invokeListener(final AbstractDOMDataTreeChangeListenerRegistration listener, + final DataTreeCandidate notification) { + // FIXME: this is inefficient, as we could grab the entire queue for the listener and post it + final DOMDataTreeChangeListener inst = listener.getInstance(); + if (inst != null) { + inst.onDataTreeChanged(Collections.singletonList(notification)); + } + } + }; private static final Logger LOG = LoggerFactory.getLogger(InMemoryDOMStoreTreeChangePublisher.class); - private final QueuedNotificationManager, DataTreeCandidate> notificationManager; + + private final QueuedNotificationManager, DataTreeCandidate> + notificationManager; InMemoryDOMStoreTreeChangePublisher(final ExecutorService listenerExecutor, final int maxQueueSize) { - notificationManager = new QueuedNotificationManager<>(listenerExecutor, MANAGER_INVOKER, maxQueueSize, "DataTreeChangeListenerQueueMgr"); + notificationManager = new QueuedNotificationManager<>(listenerExecutor, MANAGER_INVOKER, maxQueueSize, + "DataTreeChangeListenerQueueMgr"); } @Override - protected void notifyListeners(final Collection> registrations, final YangInstanceIdentifier path, final DataTreeCandidateNode node) { + protected void notifyListeners(final Collection> registrations, + final YangInstanceIdentifier path, final DataTreeCandidateNode node) { final DataTreeCandidate candidate = DataTreeCandidates.newDataTreeCandidate(path, node); for (AbstractDOMDataTreeChangeListenerRegistration reg : registrations) { @@ -58,13 +62,15 @@ final class InMemoryDOMStoreTreeChangePublisher extends AbstractDOMStoreTreeChan } @Override - protected synchronized void registrationRemoved(final AbstractDOMDataTreeChangeListenerRegistration registration) { + protected synchronized void registrationRemoved( + final AbstractDOMDataTreeChangeListenerRegistration registration) { LOG.debug("Closing registration {}", registration); // FIXME: remove the queue for this registration and make sure we clear it } - ListenerRegistration registerTreeChangeListener(final YangInstanceIdentifier treeId, final L listener, final DataTreeSnapshot snapshot) { + ListenerRegistration registerTreeChangeListener( + final YangInstanceIdentifier treeId, final L listener, final DataTreeSnapshot snapshot) { final AbstractDOMDataTreeChangeListenerRegistration reg = registerTreeChangeListener(treeId, listener); final Optional> node = snapshot.readNode(treeId); diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InmemoryDOMDataTreeShardWriteTransaction.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InmemoryDOMDataTreeShardWriteTransaction.java index 059abf2072..f04641533d 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InmemoryDOMDataTreeShardWriteTransaction.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/InmemoryDOMDataTreeShardWriteTransaction.java @@ -87,7 +87,8 @@ class InmemoryDOMDataTreeShardWriteTransaction implements DOMDataTreeShardWriteT InmemoryDOMDataTreeShardWriteTransaction(final ShardDataModification root, final DataTree rootShardDataTree, - final InMemoryDOMDataTreeShardChangePublisher changePublisher, final ListeningExecutorService executor) { + final InMemoryDOMDataTreeShardChangePublisher changePublisher, + final ListeningExecutorService executor) { this.modification = Preconditions.checkNotNull(root); this.rootShardDataTree = Preconditions.checkNotNull(rootShardDataTree); this.changePublisher = Preconditions.checkNotNull(changePublisher); @@ -159,8 +160,10 @@ class InmemoryDOMDataTreeShardWriteTransaction implements DOMDataTreeShardWriteT LOG.debug("Readying open transaction on shard {}", modification.getPrefix()); rootModification = modification.seal(); - cohorts.add(new InMemoryDOMDataTreeShardThreePhaseCommitCohort(rootShardDataTree, rootModification, changePublisher)); - for (final Entry entry : modification.getChildShards().entrySet()) { + cohorts.add(new InMemoryDOMDataTreeShardThreePhaseCommitCohort( + rootShardDataTree, rootModification, changePublisher)); + for (final Entry entry : + modification.getChildShards().entrySet()) { cohorts.add(new ForeignShardThreePhaseCommitCohort(entry.getKey(), entry.getValue())); } finished = true; @@ -173,7 +176,8 @@ class InmemoryDOMDataTreeShardWriteTransaction implements DOMDataTreeShardWriteT Preconditions.checkNotNull(cohorts); Preconditions.checkState(!cohorts.isEmpty(), "Transaction was not readied yet."); - final ListenableFuture submit = executor.submit(new ShardSubmitCoordinationTask(modification.getPrefix(), cohorts)); + final ListenableFuture submit = executor.submit(new ShardSubmitCoordinationTask( + modification.getPrefix(), cohorts)); return submit; } @@ -182,7 +186,8 @@ class InmemoryDOMDataTreeShardWriteTransaction implements DOMDataTreeShardWriteT public ListenableFuture validate() { LOG.debug("CanCommit on open transaction on shard {}", modification.getPrefix()); - final ListenableFuture submit = executor.submit(new ShardCanCommitCoordinationTask(modification.getPrefix(), cohorts)); + final ListenableFuture submit = executor.submit(new ShardCanCommitCoordinationTask( + modification.getPrefix(), cohorts)); return submit; } @@ -190,7 +195,8 @@ class InmemoryDOMDataTreeShardWriteTransaction implements DOMDataTreeShardWriteT public ListenableFuture prepare() { LOG.debug("PreCommit on open transaction on shard {}", modification.getPrefix()); - final ListenableFuture submit = executor.submit(new ShardPreCommitCoordinationTask(modification.getPrefix(), cohorts)); + final ListenableFuture submit = executor.submit(new ShardPreCommitCoordinationTask( + modification.getPrefix(), cohorts)); return submit; } @@ -198,7 +204,8 @@ class InmemoryDOMDataTreeShardWriteTransaction implements DOMDataTreeShardWriteT public ListenableFuture commit() { LOG.debug("Commit open transaction on shard {}", modification.getPrefix()); - final ListenableFuture submit = executor.submit(new ShardCommitCoordinationTask(modification.getPrefix(), cohorts)); + final ListenableFuture submit = executor.submit(new ShardCommitCoordinationTask( + modification.getPrefix(), cohorts)); return submit; } diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ReadableCursorOperation.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ReadableCursorOperation.java index 3c39870f08..a8c239729f 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ReadableCursorOperation.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ReadableCursorOperation.java @@ -14,6 +14,6 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; interface ReadableCursorOperation extends CursorStrategy { - abstract Optional> readNode(PathArgument arg); + Optional> readNode(PathArgument arg); } \ No newline at end of file diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ReadableWriteableDOMDataTreeShard.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ReadableWriteableDOMDataTreeShard.java index 7a5796f1c5..fbae4a62ad 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ReadableWriteableDOMDataTreeShard.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ReadableWriteableDOMDataTreeShard.java @@ -12,7 +12,7 @@ import com.google.common.annotations.Beta; import org.opendaylight.mdsal.dom.spi.store.DOMStoreTreeChangePublisher; /** - * Marker interface for readable/writeable DOMDataTreeShard + * Marker interface for readable/writeable DOMDataTreeShard. */ @Beta public interface ReadableWriteableDOMDataTreeShard extends DOMStoreTreeChangePublisher, WriteableDOMDataTreeShard { diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardCanCommitCoordinationTask.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardCanCommitCoordinationTask.java index c8499ecd48..b46481f73e 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardCanCommitCoordinationTask.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardCanCommitCoordinationTask.java @@ -21,7 +21,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * Task that coordinates the CanCommit phase of the provided {@link DOMStoreThreePhaseCommitCohort}'s + * Task that coordinates the CanCommit phase of the provided {@link DOMStoreThreePhaseCommitCohort}'s. */ @Beta public class ShardCanCommitCoordinationTask implements Callable { @@ -67,9 +67,9 @@ public class ShardCanCommitCoordinationTask implements Callable { private ListenableFuture[] canCommitAll() { final ListenableFuture[] ops = new ListenableFuture[cohorts.size()]; - int i = 0; + int index = 0; for (final DOMStoreThreePhaseCommitCohort cohort : cohorts) { - ops[i++] = cohort.canCommit(); + ops[index++] = cohort.canCommit(); } return ops; } diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardCommitCoordinationTask.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardCommitCoordinationTask.java index 4ff9d2f5cd..dbbd0abdb2 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardCommitCoordinationTask.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardCommitCoordinationTask.java @@ -21,7 +21,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * Task that coordinates the Commit phase of the provided {@link DOMStoreThreePhaseCommitCohort}'s + * Task that coordinates the Commit phase of the provided {@link DOMStoreThreePhaseCommitCohort}'s. */ @Beta public class ShardCommitCoordinationTask implements Callable { @@ -64,9 +64,9 @@ public class ShardCommitCoordinationTask implements Callable { private ListenableFuture[] commitAll() { final ListenableFuture[] ops = new ListenableFuture[cohorts.size()]; - int i = 0; + int index = 0; for (final DOMStoreThreePhaseCommitCohort cohort : cohorts) { - ops[i++] = cohort.commit(); + ops[index++] = cohort.commit(); } return ops; } diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardDataModificationBuilder.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardDataModificationBuilder.java index f6e78ad7f7..1ea21a02c9 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardDataModificationBuilder.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardDataModificationBuilder.java @@ -21,7 +21,7 @@ class ShardDataModificationBuilder extends ModificationContextNodeBuilder childShards = new HashMap<>(); - public ShardDataModificationBuilder(final ShardRootModificationContext root) { + ShardDataModificationBuilder(final ShardRootModificationContext root) { this.root = root; } diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardDataModificationCursor.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardDataModificationCursor.java index 86921c141b..964c582c1b 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardDataModificationCursor.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardDataModificationCursor.java @@ -20,21 +20,22 @@ class ShardDataModificationCursor implements DOMDataTreeWriteCursor { private final Deque stack = new ArrayDeque<>(); private final InmemoryDOMDataTreeShardWriteTransaction parent; - ShardDataModificationCursor(final ShardDataModification root, final InmemoryDOMDataTreeShardWriteTransaction parent) { + ShardDataModificationCursor(final ShardDataModification root, + final InmemoryDOMDataTreeShardWriteTransaction parent) { stack.push(root.createOperation(null)); this.parent = Preconditions.checkNotNull(parent); } + private WriteCursorStrategy getCurrent() { + return stack.peek(); + } + @Override public void enter(final PathArgument child) { WriteCursorStrategy nextOp = getCurrent().enter(child); stack.push(nextOp); } - private WriteCursorStrategy getCurrent() { - return stack.peek(); - } - @Override public void enter(final PathArgument... path) { for (PathArgument pathArgument : path) { diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardPreCommitCoordinationTask.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardPreCommitCoordinationTask.java index 737be35c74..53500b1e3e 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardPreCommitCoordinationTask.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardPreCommitCoordinationTask.java @@ -22,10 +22,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * Task that coordinates the PreCommit phase of the provided {@link DOMStoreThreePhaseCommitCohort}'s + * Task that coordinates the PreCommit phase of the provided {@link DOMStoreThreePhaseCommitCohort}'s. */ @Beta -public class ShardPreCommitCoordinationTask implements Callable{ +public class ShardPreCommitCoordinationTask implements Callable { private static final Logger LOG = LoggerFactory.getLogger(ShardPreCommitCoordinationTask.class); @@ -65,9 +65,9 @@ public class ShardPreCommitCoordinationTask implements Callable{ private ListenableFuture[] preCommitAll() { final ListenableFuture[] ops = new ListenableFuture[cohorts.size()]; - int i = 0; + int index = 0; for (final DOMStoreThreePhaseCommitCohort cohort : cohorts) { - ops[i++] = cohort.preCommit(); + ops[index++] = cohort.preCommit(); } return ops; } diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/WritableInteriorNode.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/WritableInteriorNode.java index 2b14f0e0a0..9a179d2af4 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/WritableInteriorNode.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/WritableInteriorNode.java @@ -17,7 +17,7 @@ class WritableInteriorNode extends WriteableNodeWithSubshard { private final PathArgument identifier; - public WritableInteriorNode(PathArgument identifier, Map children) { + WritableInteriorNode(PathArgument identifier, Map children) { super(children); this.identifier = Preconditions.checkNotNull(identifier); } diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/WriteCursorStrategy.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/WriteCursorStrategy.java index c330d03c56..848e4fe524 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/WriteCursorStrategy.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/WriteCursorStrategy.java @@ -15,15 +15,15 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodeContainer; interface WriteCursorStrategy extends CursorStrategy { @Override - abstract WriteCursorStrategy enter(PathArgument arg); + WriteCursorStrategy enter(PathArgument arg); - abstract void delete(PathArgument arg); + void delete(PathArgument arg); - abstract void merge(PathArgument arg, NormalizedNode data); + void merge(PathArgument arg, NormalizedNode data); - abstract void write(PathArgument arg, NormalizedNode data); + void write(PathArgument arg, NormalizedNode data); - abstract void mergeToCurrent(NormalizedNodeContainer data); + void mergeToCurrent(NormalizedNodeContainer data); - abstract void writeToCurrent(NormalizedNodeContainer data); + void writeToCurrent(NormalizedNodeContainer data); } \ No newline at end of file diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/WriteableModificationNode.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/WriteableModificationNode.java index 6d6208f8a1..6dd19f426f 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/WriteableModificationNode.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/WriteableModificationNode.java @@ -18,7 +18,6 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgum abstract class WriteableModificationNode implements Identifiable { /** - * * Gets child which is on path towards subshard. * * @return null if requested child is not subshard or enclosing node of any subshard. @@ -28,7 +27,7 @@ abstract class WriteableModificationNode implements Identifiable { abstract Map getChildrenWithSubshards(); /** - * Creates operation used to modify this node and its children + * Creates operation used to modify this node and its children. * * @param parentCursor Cursor associated with parent shard * @return WriteableOperation for this node. diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/WriteableNodeWithSubshard.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/WriteableNodeWithSubshard.java index 29f7077e75..326ab23306 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/WriteableNodeWithSubshard.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/WriteableNodeWithSubshard.java @@ -17,7 +17,7 @@ abstract class WriteableNodeWithSubshard extends WriteableModificationNode { private final Map children; - public WriteableNodeWithSubshard(Map children) { + WriteableNodeWithSubshard(Map children) { this.children = ImmutableMap.copyOf(children); } diff --git a/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/InMemoryDataStoreTest.java b/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/InMemoryDataStoreTest.java index 53bb7aca26..a76fa3fbf0 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/InMemoryDataStoreTest.java +++ b/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/InMemoryDataStoreTest.java @@ -12,16 +12,6 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; -import org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore; - -import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadTransaction; -import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadWriteTransaction; -import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort; -import org.opendaylight.mdsal.dom.spi.store.DOMStoreTransactionChain; -import org.opendaylight.mdsal.dom.spi.store.DOMStoreWriteTransaction; -import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedTransactions; -import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction.TransactionReadyPrototype; -import org.opendaylight.mdsal.common.api.ReadFailedException; import com.google.common.base.Optional; import com.google.common.util.concurrent.CheckedFuture; import com.google.common.util.concurrent.ListenableFuture; @@ -32,6 +22,15 @@ import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.mockito.Mockito; +import org.opendaylight.mdsal.common.api.ReadFailedException; +import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadTransaction; +import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadWriteTransaction; +import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort; +import org.opendaylight.mdsal.dom.spi.store.DOMStoreTransactionChain; +import org.opendaylight.mdsal.dom.spi.store.DOMStoreWriteTransaction; +import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedTransactions; +import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction.TransactionReadyPrototype; +import org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; @@ -68,7 +67,7 @@ public class InMemoryDataStoreTest { assertNotNull(writeTx); /** - * Writes /test in writeTx + * Writes /test in writeTx. */ NormalizedNode testNode = ImmutableNodes.containerNode(TestModel.TEST_QNAME); writeTx.write(TestModel.TEST_PATH, testNode); @@ -94,7 +93,7 @@ public class InMemoryDataStoreTest { assertNotNull(writeTx); /** - * Writes /test in writeTx + * Writes /test in writeTx. */ NormalizedNode testNode = ImmutableNodes.containerNode(TestModel.TEST_QNAME); writeTx.write(TestModel.TEST_PATH, testNode); @@ -128,8 +127,8 @@ public class InMemoryDataStoreTest { assertThreePhaseCommit( writeTx.ready() ); - Optional> afterCommitRead = domStore.newReadOnlyTransaction(). - read(TestModel.TEST_PATH ).get(); + Optional> afterCommitRead = + domStore.newReadOnlyTransaction().read(TestModel.TEST_PATH ).get(); assertEquals( "After commit read: isPresent", true, afterCommitRead.isPresent() ); // Delete /test and verify @@ -140,8 +139,7 @@ public class InMemoryDataStoreTest { assertThreePhaseCommit( writeTx.ready() ); - afterCommitRead = domStore.newReadOnlyTransaction(). - read(TestModel.TEST_PATH ).get(); + afterCommitRead = domStore.newReadOnlyTransaction().read(TestModel.TEST_PATH ).get(); assertEquals( "After commit read: isPresent", false, afterCommitRead.isPresent() ); } @@ -161,8 +159,8 @@ public class InMemoryDataStoreTest { assertThreePhaseCommit( writeTx.ready() ); - Optional> afterCommitRead = domStore.newReadOnlyTransaction(). - read(TestModel.TEST_PATH ).get(); + Optional> afterCommitRead = + domStore.newReadOnlyTransaction().read(TestModel.TEST_PATH ).get(); assertEquals( "After commit read: isPresent", true, afterCommitRead.isPresent() ); assertEquals( "After commit read: data", containerNode, afterCommitRead.get() ); @@ -243,7 +241,7 @@ public class InMemoryDataStoreTest { assertEquals(false, exists.checkedGet()); } - @Test(expected=ReadFailedException.class) + @Test(expected = ReadFailedException.class) public void testExistsThrowsReadFailedException() throws Exception { DOMStoreReadTransaction readTx = domStore.newReadOnlyTransaction(); @@ -255,8 +253,8 @@ public class InMemoryDataStoreTest { } - - @Test(expected=ReadFailedException.class) + @SuppressWarnings("checkstyle:IllegalThrows") + @Test(expected = ReadFailedException.class) public void testReadWithReadOnlyTransactionClosed() throws Throwable { DOMStoreReadTransaction readTx = domStore.newReadOnlyTransaction(); @@ -267,7 +265,8 @@ public class InMemoryDataStoreTest { doReadAndThrowEx( readTx ); } - @Test(expected=ReadFailedException.class) + @SuppressWarnings("checkstyle:IllegalThrows") + @Test(expected = ReadFailedException.class) public void testReadWithReadOnlyTransactionFailure() throws Throwable { DataTreeSnapshot mockSnapshot = Mockito.mock( DataTreeSnapshot.class ); @@ -279,7 +278,8 @@ public class InMemoryDataStoreTest { doReadAndThrowEx( readTx ); } - @Test(expected=ReadFailedException.class) + @SuppressWarnings("checkstyle:IllegalThrows") + @Test(expected = ReadFailedException.class) public void testReadWithReadWriteTransactionClosed() throws Throwable { DOMStoreReadTransaction readTx = domStore.newReadWriteTransaction(); @@ -290,7 +290,8 @@ public class InMemoryDataStoreTest { doReadAndThrowEx( readTx ); } - @Test(expected=ReadFailedException.class) + @SuppressWarnings("checkstyle:IllegalThrows") + @Test(expected = ReadFailedException.class) public void testReadWithReadWriteTransactionFailure() throws Throwable { DataTreeSnapshot mockSnapshot = Mockito.mock( DataTreeSnapshot.class ); @@ -300,20 +301,22 @@ public class InMemoryDataStoreTest { Mockito.doReturn( mockModification ).when( mockSnapshot ).newModification(); @SuppressWarnings("unchecked") TransactionReadyPrototype mockReady = Mockito.mock( TransactionReadyPrototype.class ); - DOMStoreReadTransaction readTx = SnapshotBackedTransactions.newReadWriteTransaction("1", false, mockSnapshot, mockReady); + DOMStoreReadTransaction readTx = SnapshotBackedTransactions.newReadWriteTransaction( + "1", false, mockSnapshot, mockReady); doReadAndThrowEx( readTx ); } + @SuppressWarnings("checkstyle:IllegalThrows") private static void doReadAndThrowEx( final DOMStoreReadTransaction readTx ) throws Throwable { try { readTx.read(TestModel.TEST_PATH).get(); - } catch( ExecutionException e ) { + } catch ( ExecutionException e ) { throw e.getCause(); } } - @Test(expected=IllegalStateException.class) + @Test(expected = IllegalStateException.class) public void testWriteWithTransactionReady() throws Exception { DOMStoreWriteTransaction writeTx = domStore.newWriteOnlyTransaction(); @@ -324,7 +327,7 @@ public class InMemoryDataStoreTest { writeTx.write( TestModel.TEST_PATH, ImmutableNodes.containerNode( TestModel.TEST_QNAME ) ); } - @Test(expected=IllegalStateException.class) + @Test(expected = IllegalStateException.class) public void testReadyWithTransactionAlreadyReady() throws Exception { DOMStoreWriteTransaction writeTx = domStore.newWriteOnlyTransaction(); @@ -360,18 +363,16 @@ public class InMemoryDataStoreTest { assertNotNull(txChain); /** - * We alocate new read-write transaction and write /test - * - * + * We alocate new read-write transaction and write /test. */ DOMStoreReadWriteTransaction firstTx = txChain.newReadWriteTransaction(); assertTestContainerWrite(firstTx); /** * First transaction is marked as ready, we are able to allocate chained - * transactions + * transactions. */ - DOMStoreThreePhaseCommitCohort firstWriteTxCohort = firstTx.ready(); + final DOMStoreThreePhaseCommitCohort firstWriteTxCohort = firstTx.ready(); /** * We alocate chained transaction - read transaction, note first one is @@ -380,32 +381,25 @@ public class InMemoryDataStoreTest { DOMStoreReadTransaction secondReadTx = txChain.newReadOnlyTransaction(); /** - * * We test if we are able to read data from tx, read should not fail * since we are using chained transaction. - * - * */ assertTestContainerExists(secondReadTx); /** - * * We alocate next transaction, which is still based on first one, but * is read-write. - * */ DOMStoreReadWriteTransaction thirdDeleteTx = txChain.newReadWriteTransaction(); /** * We test existence of /test in third transaction container should * still be visible from first one (which is still uncommmited). - * - * */ assertTestContainerExists(thirdDeleteTx); /** - * We delete node in third transaction + * We delete node in third transaction. */ thirdDeleteTx.delete(TestModel.TEST_PATH); @@ -415,7 +409,7 @@ public class InMemoryDataStoreTest { DOMStoreThreePhaseCommitCohort thirdDeleteTxCohort = thirdDeleteTx.ready(); /** - * We commit first transaction + * We commit first transaction. * */ assertThreePhaseCommit(firstWriteTxCohort); diff --git a/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/SchemaUpdateForTransactionTest.java b/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/SchemaUpdateForTransactionTest.java index f1a4cc0455..4611fa860b 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/SchemaUpdateForTransactionTest.java +++ b/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/SchemaUpdateForTransactionTest.java @@ -9,14 +9,13 @@ package org.opendaylight.controller.md.sal.dom.store.impl; import static org.junit.Assert.assertNotNull; -import org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore; - -import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadWriteTransaction; import com.google.common.util.concurrent.MoreExecutors; import java.util.concurrent.ExecutionException; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; +import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadWriteTransaction; +import org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.model.api.SchemaContext; @@ -54,13 +53,15 @@ public class SchemaUpdateForTransactionTest { * then triggering update of global schema context * and then performing write (according to new module). * + *

* If transaction between allocation and schema context was * unmodified, it is safe to change its schema context * to new one (e.g. it will be same as if allocated after * schema context update.) * - * @throws InterruptedException - * @throws ExecutionException + *

+ * @throws InterruptedException when this condition met + * @throws ExecutionException when execution fails */ @Ignore @Test diff --git a/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/TestDCLExecutorService.java b/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/TestDCLExecutorService.java index a01933c295..966e455068 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/TestDCLExecutorService.java +++ b/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/TestDCLExecutorService.java @@ -13,7 +13,7 @@ import com.google.common.util.concurrent.MoreExecutors; import java.util.concurrent.ExecutorService; /** - * A forwarding Executor used by unit tests for DataChangeListener notifications + * A forwarding Executor used by unit tests for DataChangeListener notifications. * * @author Thomas Pantelis */ diff --git a/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/AbstractDOMShardTreeChangePublisherTest.java b/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/AbstractDOMShardTreeChangePublisherTest.java index 15fd602b90..89d744d793 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/AbstractDOMShardTreeChangePublisherTest.java +++ b/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/AbstractDOMShardTreeChangePublisherTest.java @@ -122,13 +122,15 @@ public class AbstractDOMShardTreeChangePublisherTest extends AbstractDOMShardTre super(DATA_TREE, YANG_INSTANCE_IDENTIFIER, CHILD_SHARDS); } - private AbstractDOMShardTreeChangePublisherTest(final Map childShardContextMap) { + private AbstractDOMShardTreeChangePublisherTest( + final Map childShardContextMap) { super(DATA_TREE, YANG_INSTANCE_IDENTIFIER, childShardContextMap); } @Override - protected void notifyListeners(@Nonnull final Collection> registrations, - @Nonnull final YangInstanceIdentifier path, @Nonnull final DataTreeCandidateNode node) { + protected void notifyListeners( + @Nonnull final Collection> registrations, + @Nonnull final YangInstanceIdentifier path, @Nonnull final DataTreeCandidateNode node) { // NOOP } diff --git a/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreThreePhaseCommitCohortTest.java b/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreThreePhaseCommitCohortTest.java index e8abd9e52b..2a9b39145d 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreThreePhaseCommitCohortTest.java +++ b/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/InMemoryDOMStoreThreePhaseCommitCohortTest.java @@ -62,6 +62,7 @@ public class InMemoryDOMStoreThreePhaseCommitCohortTest { verify(IN_MEMORY_DOM_DATA_STORE).validate(any()); } + @SuppressWarnings({"checkstyle:IllegalThrows", "checkstyle:IllegalCatch"}) @Test(expected = OptimisticLockFailedException.class) public void canCommitTestWithOptimisticLockFailedException() throws Throwable { doThrow(new ConflictingModificationAppliedException(YangInstanceIdentifier.EMPTY, "testException")) @@ -75,6 +76,7 @@ public class InMemoryDOMStoreThreePhaseCommitCohortTest { } } + @SuppressWarnings({"checkstyle:IllegalThrows", "checkstyle:IllegalCatch"}) @Test(expected = TransactionCommitFailedException.class) public void canCommitTestWithTransactionCommitFailedException() throws Throwable { doThrow(new DataValidationFailedException(YangInstanceIdentifier.EMPTY, "testException")) @@ -88,6 +90,7 @@ public class InMemoryDOMStoreThreePhaseCommitCohortTest { } } + @SuppressWarnings({"checkstyle:IllegalThrows", "checkstyle:IllegalCatch"}) @Test(expected = UnsupportedOperationException.class) public void canCommitTestWithUnknownException() throws Throwable { doThrow(new UnsupportedOperationException("testException")) @@ -108,6 +111,7 @@ public class InMemoryDOMStoreThreePhaseCommitCohortTest { verify(IN_MEMORY_DOM_DATA_STORE).prepare(any()); } + @SuppressWarnings({"checkstyle:IllegalThrows", "checkstyle:IllegalCatch"}) @Test(expected = UnsupportedOperationException.class) public void preCommitTestWithUnknownException() throws Throwable { doThrow(new UnsupportedOperationException("testException")) diff --git a/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/InmemoryDOMDataTreeShardWriteTransactionTest.java b/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/InmemoryDOMDataTreeShardWriteTransactionTest.java index 53c817e9e9..1a7a0cf324 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/InmemoryDOMDataTreeShardWriteTransactionTest.java +++ b/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/InmemoryDOMDataTreeShardWriteTransactionTest.java @@ -83,7 +83,8 @@ public class InmemoryDOMDataTreeShardWriteTransactionTest { inmemoryDOMDataTreeShardWriteTransaction = new InmemoryDOMDataTreeShardWriteTransaction(shardDataModification, DATA_TREE, - inMemoryDOMDataTreeShardChangePublisher, MoreExecutors.listeningDecorator(Executors.newSingleThreadExecutor())); + inMemoryDOMDataTreeShardChangePublisher, + MoreExecutors.listeningDecorator(Executors.newSingleThreadExecutor())); } @Test diff --git a/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/ShardSubmitCoordinationTaskTest.java b/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/ShardSubmitCoordinationTaskTest.java index 28ca53100a..1352ed1d9c 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/ShardSubmitCoordinationTaskTest.java +++ b/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/ShardSubmitCoordinationTaskTest.java @@ -20,7 +20,7 @@ public class ShardSubmitCoordinationTaskTest { @Test public void basicTest() throws Exception { - ShardSubmitCoordinationTask shardSubmitCoordinationTask = + final ShardSubmitCoordinationTask shardSubmitCoordinationTask = new ShardSubmitCoordinationTask(DOM_DATA_TREE_IDENTIFIER, Collections.EMPTY_SET); final ShardCanCommitCoordinationTask canCommitCoordinationTask = mock(ShardCanCommitCoordinationTask.class); diff --git a/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/WriteableNodeOperationTest.java b/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/WriteableNodeOperationTest.java index 471590ae80..2e6d620ada 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/WriteableNodeOperationTest.java +++ b/dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/mdsal/dom/store/inmemory/WriteableNodeOperationTest.java @@ -149,7 +149,7 @@ public class WriteableNodeOperationTest extends WriteableNodeOperation { resetMocks(); } - public WriteableNodeOperationTest(){ + public WriteableNodeOperationTest() { super(WRITEABLE_MODIFICATION_NODE, DOM_DATA_TREE_WRITE_CURSOR); } -- 2.36.6