X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FStandaloneFrontendHistory.java;h=7fd53c7b7cb66f72805e6b3939a57a36be78a4c3;hb=4447f81c26b851e46acd3f111768bb498f0d553f;hp=fe2588d5772289419664126f69fe0726902fbfbc;hpb=5cb0787412ab63a3aa5dcc044511e1ce569662cf;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/StandaloneFrontendHistory.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/StandaloneFrontendHistory.java index fe2588d577..7fd53c7b7c 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/StandaloneFrontendHistory.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/StandaloneFrontendHistory.java @@ -8,7 +8,12 @@ package org.opendaylight.controller.cluster.datastore; import com.google.common.base.Preconditions; -import com.google.common.base.Ticker; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.RangeSet; +import com.google.common.collect.TreeRangeSet; +import com.google.common.primitives.UnsignedLong; +import java.util.HashMap; +import java.util.Map; import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier; import org.opendaylight.controller.cluster.access.concepts.LocalHistoryIdentifier; import org.opendaylight.controller.cluster.access.concepts.RequestException; @@ -25,13 +30,27 @@ final class StandaloneFrontendHistory extends AbstractFrontendHistory { private final LocalHistoryIdentifier identifier; private final ShardDataTree tree; - StandaloneFrontendHistory(final String persistenceId, final Ticker ticker, final ClientIdentifier clientId, - final ShardDataTree tree) { - super(persistenceId, ticker); + private StandaloneFrontendHistory(final String persistenceId, final ClientIdentifier clientId, + final ShardDataTree tree, final Map closedTransactions, + final RangeSet purgedTransactions) { + super(persistenceId, tree, closedTransactions, purgedTransactions); this.identifier = new LocalHistoryIdentifier(clientId, 0); this.tree = Preconditions.checkNotNull(tree); } + static StandaloneFrontendHistory create(final String persistenceId, final ClientIdentifier clientId, + final ShardDataTree tree) { + return new StandaloneFrontendHistory(persistenceId, clientId, tree, ImmutableMap.of(), + TreeRangeSet.create()); + } + + static StandaloneFrontendHistory recreate(final String persistenceId, final ClientIdentifier clientId, + final ShardDataTree tree, final Map closedTransactions, + final RangeSet purgedTransactions) { + return new StandaloneFrontendHistory(persistenceId, clientId, tree, new HashMap<>(closedTransactions), + purgedTransactions); + } + @Override public LocalHistoryIdentifier getIdentifier() { return identifier; @@ -53,6 +72,12 @@ final class StandaloneFrontendHistory extends AbstractFrontendHistory { return FrontendReadWriteTransaction.createReady(this, id, mod); } + @Override + ShardDataTreeCohort createFailedCohort(final TransactionIdentifier id, final DataTreeModification mod, + final Exception failure) { + return tree.createFailedCohort(id, mod, failure); + } + @Override ShardDataTreeCohort createReadyCohort(final TransactionIdentifier id, final DataTreeModification mod) { return tree.createReadyCohort(id, mod);