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%2FFrontendHistoryMetadataBuilder.java;h=8a1efbbb4376fadfb8d0824a12b5054ef1449b49;hb=99f80f27bee37bb23e345420bf14bb7bb4793c28;hp=e787edb7a80e391bc2d8bd900535f2b2836b8d10;hpb=f984aadefd56f48aec345b8b7cc7ddf27b794f56;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendHistoryMetadataBuilder.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendHistoryMetadataBuilder.java index e787edb7a8..8a1efbbb43 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendHistoryMetadataBuilder.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendHistoryMetadataBuilder.java @@ -7,40 +7,42 @@ */ package org.opendaylight.controller.cluster.datastore; -import com.google.common.base.Preconditions; -import com.google.common.collect.Range; -import com.google.common.collect.RangeSet; -import com.google.common.collect.TreeRangeSet; +import static com.google.common.base.Preconditions.checkState; +import static java.util.Objects.requireNonNull; + import com.google.common.primitives.UnsignedLong; import java.util.HashMap; import java.util.Map; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier; import org.opendaylight.controller.cluster.access.concepts.LocalHistoryIdentifier; import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier; import org.opendaylight.controller.cluster.datastore.persisted.FrontendHistoryMetadata; +import org.opendaylight.controller.cluster.datastore.utils.ImmutableUnsignedLongSet; +import org.opendaylight.controller.cluster.datastore.utils.MutableUnsignedLongSet; +import org.opendaylight.controller.cluster.datastore.utils.UnsignedLongBitmap; import org.opendaylight.yangtools.concepts.Builder; import org.opendaylight.yangtools.concepts.Identifiable; final class FrontendHistoryMetadataBuilder implements Builder, Identifiable { - private final Map closedTransactions; - private final RangeSet purgedTransactions; - private final LocalHistoryIdentifier identifier; + private final @NonNull Map closedTransactions; + private final @NonNull MutableUnsignedLongSet purgedTransactions; + private final @NonNull LocalHistoryIdentifier identifier; private boolean closed; FrontendHistoryMetadataBuilder(final LocalHistoryIdentifier identifier) { - this.identifier = Preconditions.checkNotNull(identifier); - this.purgedTransactions = TreeRangeSet.create(); - this.closedTransactions = new HashMap<>(2); + this.identifier = requireNonNull(identifier); + purgedTransactions = MutableUnsignedLongSet.of(); + closedTransactions = new HashMap<>(2); } FrontendHistoryMetadataBuilder(final ClientIdentifier clientId, final FrontendHistoryMetadata meta) { identifier = new LocalHistoryIdentifier(clientId, meta.getHistoryId(), meta.getCookie()); - closedTransactions = new HashMap<>(meta.getClosedTransactions()); - purgedTransactions = TreeRangeSet.create(meta.getPurgedTransactions()); + closedTransactions = meta.getClosedTransactions().mutableCopy(); + purgedTransactions = meta.getPurgedTransactions().mutableCopy(); closed = meta.isClosed(); } @@ -52,11 +54,11 @@ final class FrontendHistoryMetadataBuilder implements Builder