*/
package org.opendaylight.controller.cluster.datastore;
-import com.google.common.base.Preconditions;
+import static com.google.common.base.Preconditions.checkState;
+import static java.util.Objects.requireNonNull;
+
import com.google.common.collect.Range;
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 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;
private boolean closed;
FrontendHistoryMetadataBuilder(final LocalHistoryIdentifier identifier) {
- this.identifier = Preconditions.checkNotNull(identifier);
+ this.identifier = requireNonNull(identifier);
this.purgedTransactions = TreeRangeSet.create();
this.closedTransactions = new HashMap<>(2);
}
}
void onHistoryClosed() {
- Preconditions.checkState(identifier.getHistoryId() != 0);
+ checkState(identifier.getHistoryId() != 0);
closed = true;
}
void onTransactionPurged(final TransactionIdentifier txId) {
final UnsignedLong id = UnsignedLong.fromLongBits(txId.getTransactionId());
closedTransactions.remove(id);
- purgedTransactions.add(Range.singleton(id));
+ purgedTransactions.add(Range.closedOpen(id, UnsignedLong.ONE.plus(id)));
}
/**
* @param shard parent shard
* @return Leader history state
*/
- @Nonnull AbstractFrontendHistory toLeaderState(@Nonnull final Shard shard) {
+ @NonNull AbstractFrontendHistory toLeaderState(final @NonNull Shard shard) {
if (identifier.getHistoryId() == 0) {
return StandaloneFrontendHistory.recreate(shard.persistenceId(), identifier.getClientId(),
shard.getDataStore(), closedTransactions, purgedTransactions);