X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-spi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fcore%2Fspi%2Fdata%2FAbstractSnapshotBackedTransactionChain.java;fp=opendaylight%2Fmd-sal%2Fsal-dom-spi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fcore%2Fspi%2Fdata%2FAbstractSnapshotBackedTransactionChain.java;h=7683937ce2799a31761b23d3e805f2524b1d590c;hp=b7776b2a397940745501a6c87ffcdd5625d10dcc;hb=daaef05cbf70e6cbec9af181258faead6d9620a6;hpb=e9ad27f7dd099e6e4930916ae26435977d58edf1 diff --git a/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/sal/core/spi/data/AbstractSnapshotBackedTransactionChain.java b/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/sal/core/spi/data/AbstractSnapshotBackedTransactionChain.java index b7776b2a39..7683937ce2 100644 --- a/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/sal/core/spi/data/AbstractSnapshotBackedTransactionChain.java +++ b/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/sal/core/spi/data/AbstractSnapshotBackedTransactionChain.java @@ -120,19 +120,26 @@ public abstract class AbstractSnapshotBackedTransactionChain extends Transact @Override public final DOMStoreReadTransaction newReadOnlyTransaction() { + return newReadOnlyTransaction(nextTransactionIdentifier()); + } + + protected DOMStoreReadTransaction newReadOnlyTransaction(T transactionId) { final Entry entry = getSnapshot(); - return SnapshotBackedTransactions.newReadTransaction(nextTransactionIdentifier(), getDebugTransactions(), entry.getValue()); + return SnapshotBackedTransactions.newReadTransaction(transactionId, getDebugTransactions(), entry.getValue()); } @Override public final DOMStoreReadWriteTransaction newReadWriteTransaction() { + return newReadWriteTransaction(nextTransactionIdentifier()); + } + + protected DOMStoreReadWriteTransaction newReadWriteTransaction(T transactionId) { Entry entry; DOMStoreReadWriteTransaction ret; do { entry = getSnapshot(); - ret = new SnapshotBackedReadWriteTransaction(nextTransactionIdentifier(), - getDebugTransactions(), entry.getValue(), this); + ret = new SnapshotBackedReadWriteTransaction(transactionId, getDebugTransactions(), entry.getValue(), this); } while (!recordTransaction(entry.getKey(), ret)); return ret; @@ -140,13 +147,16 @@ public abstract class AbstractSnapshotBackedTransactionChain extends Transact @Override public final DOMStoreWriteTransaction newWriteOnlyTransaction() { + return newWriteOnlyTransaction(nextTransactionIdentifier()); + } + + protected DOMStoreWriteTransaction newWriteOnlyTransaction(T transactionId) { Entry entry; DOMStoreWriteTransaction ret; do { entry = getSnapshot(); - ret = new SnapshotBackedWriteTransaction(nextTransactionIdentifier(), - getDebugTransactions(), entry.getValue(), this); + ret = new SnapshotBackedWriteTransaction(transactionId, getDebugTransactions(), entry.getValue(), this); } while (!recordTransaction(entry.getKey(), ret)); return ret;