X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FFrontendClientMetadataBuilder.java;h=e43d736e7263e727594b031d235e144bd50e2f60;hp=7e6eced779bdf4026dca36134b2b13e7509f1bbb;hb=b5d01b5d28d52413bf45b626b746c1519685058c;hpb=33ade248cf6070455349fe343c0d0fd48d274717 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendClientMetadataBuilder.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendClientMetadataBuilder.java index 7e6eced779..e43d736e72 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendClientMetadataBuilder.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendClientMetadataBuilder.java @@ -14,10 +14,6 @@ import com.google.common.base.MoreObjects; import com.google.common.base.MoreObjects.ToStringHelper; import com.google.common.collect.Collections2; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableRangeSet; -import com.google.common.collect.RangeSet; -import com.google.common.primitives.UnsignedLong; -import java.util.Collection; import java.util.HashMap; import java.util.Map; import org.eclipse.jdt.annotation.NonNull; @@ -26,8 +22,8 @@ import org.opendaylight.controller.cluster.access.concepts.LocalHistoryIdentifie import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier; import org.opendaylight.controller.cluster.datastore.persisted.FrontendClientMetadata; import org.opendaylight.controller.cluster.datastore.persisted.FrontendHistoryMetadata; -import org.opendaylight.controller.cluster.datastore.utils.UnsignedLongRangeSet; -import org.opendaylight.yangtools.concepts.Builder; +import org.opendaylight.controller.cluster.datastore.utils.ImmutableUnsignedLongSet; +import org.opendaylight.controller.cluster.datastore.utils.MutableUnsignedLongSet; import org.opendaylight.yangtools.concepts.Identifiable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -35,16 +31,16 @@ import org.slf4j.LoggerFactory; /** * This class is NOT thread-safe. */ -abstract class FrontendClientMetadataBuilder implements Builder, - Identifiable { +// FIXME: sealed when we have JDK17+ +abstract class FrontendClientMetadataBuilder implements Identifiable { static final class Disabled extends FrontendClientMetadataBuilder { Disabled(final String shardName, final ClientIdentifier identifier) { super(shardName, identifier); } @Override - public FrontendClientMetadata build() { - return new FrontendClientMetadata(getIdentifier(), ImmutableRangeSet.of(), ImmutableList.of()); + FrontendClientMetadata build() { + return new FrontendClientMetadata(getIdentifier(), ImmutableUnsignedLongSet.of(), ImmutableList.of()); } @Override @@ -77,6 +73,11 @@ abstract class FrontendClientMetadataBuilder implements Builder currentHistories = new HashMap<>(); - private final UnsignedLongRangeSet purgedHistories; + private final MutableUnsignedLongSet purgedHistories; private final LocalHistoryIdentifier standaloneId; Enabled(final String shardName, final ClientIdentifier identifier) { super(shardName, identifier); - purgedHistories = UnsignedLongRangeSet.create(); + purgedHistories = MutableUnsignedLongSet.of(); // History for stand-alone transactions is always present standaloneId = standaloneHistoryId(); @@ -102,7 +102,7 @@ abstract class FrontendClientMetadataBuilder implements Builder current = meta.getCurrentHistories(); - final RangeSet purged = meta.getPurgedHistories(); - // Completely empty histories imply disabled state, as otherwise we'd have a record of the single history -- // either purged or active - return current.isEmpty() && purged.isEmpty() ? new Disabled(shardName, meta.getIdentifier()) - : new Enabled(shardName, meta); + return meta.getCurrentHistories().isEmpty() && meta.getPurgedHistories().isEmpty() + ? new Disabled(shardName, meta.getIdentifier()) : new Enabled(shardName, meta); } @Override @@ -274,6 +288,8 @@ abstract class FrontendClientMetadataBuilder implements Builder