X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-clustering-commons%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fmessaging%2FMessageSlicer.java;h=57a6f9ed4f44d48ffb2720126b32c21627222b3a;hb=refs%2Fchanges%2F11%2F80211%2F6;hp=fd08a95a34c5d6114323423f07f76806f910fd24;hpb=877dc93c690dba7b2a834e0cf585d45250eb9aa2;p=controller.git diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/messaging/MessageSlicer.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/messaging/MessageSlicer.java index fd08a95a34..57a6f9ed4f 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/messaging/MessageSlicer.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/messaging/MessageSlicer.java @@ -7,21 +7,22 @@ */ package org.opendaylight.controller.cluster.messaging; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import akka.actor.ActorRef; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Preconditions; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import com.google.common.cache.RemovalNotification; import java.io.IOException; import java.io.ObjectOutputStream; import java.io.Serializable; -import java.util.Iterator; import java.util.Optional; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; import java.util.function.Predicate; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.controller.cluster.io.FileBackedOutputStream; import org.opendaylight.controller.cluster.io.FileBackedOutputStreamFactory; import org.opendaylight.yangtools.concepts.Identifier; @@ -46,7 +47,7 @@ public class MessageSlicer implements AutoCloseable { private final String logContext; private final long id; - private MessageSlicer(final Builder builder) { + MessageSlicer(final Builder builder) { this.fileBackedStreamFactory = builder.fileBackedStreamFactory; this.messageSliceSize = builder.messageSliceSize; this.maxSlicingTries = builder.maxSlicingTries; @@ -55,7 +56,7 @@ public class MessageSlicer implements AutoCloseable { this.logContext = builder.logContext + "_slicer-id-" + id; CacheBuilder> cacheBuilder = - CacheBuilder.newBuilder().removalListener(notification -> stateRemoved(notification)); + CacheBuilder.newBuilder().removalListener(this::stateRemoved); if (builder.expireStateAfterInactivityDuration > 0) { cacheBuilder = cacheBuilder.expireAfterAccess(builder.expireStateAfterInactivityDuration, builder.expireStateAfterInactivityUnit); @@ -102,7 +103,7 @@ public class MessageSlicer implements AutoCloseable { if (message != null) { LOG.debug("{}: slice: identifier: {}, message: {}", logContext, identifier, message); - Preconditions.checkNotNull(fileBackedStreamFactory, + requireNonNull(fileBackedStreamFactory, "The FiledBackedStreamFactory must be set in order to call this slice method"); // Serialize the message to a FileBackedOutputStream. @@ -205,13 +206,9 @@ public class MessageSlicer implements AutoCloseable { * * @param filter filters by Identifier */ - public void cancelSlicing(@Nonnull final Predicate filter) { - final Iterator iter = stateCache.asMap().keySet().iterator(); - while (iter.hasNext()) { - if (filter.test(iter.next().getClientIdentifier())) { - iter.remove(); - } - } + public void cancelSlicing(final @NonNull Predicate filter) { + stateCache.asMap().keySet().removeIf( + messageSliceIdentifier -> filter.test(messageSliceIdentifier.getClientIdentifier())); } private static MessageSlice getNextSliceMessage(final SlicedMessageState state) throws IOException { @@ -339,7 +336,7 @@ public class MessageSlicer implements AutoCloseable { * @return this Builder */ public Builder fileBackedStreamFactory(final FileBackedOutputStreamFactory newFileBackedStreamFactory) { - this.fileBackedStreamFactory = Preconditions.checkNotNull(newFileBackedStreamFactory); + this.fileBackedStreamFactory = requireNonNull(newFileBackedStreamFactory); return this; } @@ -350,7 +347,7 @@ public class MessageSlicer implements AutoCloseable { * @return this Builder */ public Builder messageSliceSize(final int newMessageSliceSize) { - Preconditions.checkArgument(newMessageSliceSize > 0, "messageSliceSize must be > 0"); + checkArgument(newMessageSliceSize > 0, "messageSliceSize must be > 0"); this.messageSliceSize = newMessageSliceSize; return this; } @@ -363,7 +360,7 @@ public class MessageSlicer implements AutoCloseable { * @return this Builder */ public Builder maxSlicingTries(final int newMaxSlicingTries) { - Preconditions.checkArgument(newMaxSlicingTries > 0, "newMaxSlicingTries must be > 0"); + checkArgument(newMaxSlicingTries > 0, "newMaxSlicingTries must be > 0"); this.maxSlicingTries = newMaxSlicingTries; return this; } @@ -378,7 +375,7 @@ public class MessageSlicer implements AutoCloseable { * @return this Builder */ public Builder expireStateAfterInactivity(final long duration, final TimeUnit unit) { - Preconditions.checkArgument(duration > 0, "duration must be > 0"); + checkArgument(duration > 0, "duration must be > 0"); this.expireStateAfterInactivityDuration = duration; this.expireStateAfterInactivityUnit = unit; return this; @@ -391,7 +388,7 @@ public class MessageSlicer implements AutoCloseable { * @return this Builder */ public Builder logContext(final String newLogContext) { - this.logContext = Preconditions.checkNotNull(newLogContext); + this.logContext = requireNonNull(newLogContext); return this; }