Correct Frontend{Client,History}Metadata deserialization
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / ShardTransactionMessageRetrySupport.java
index 291867cf8fe6e696c693a8f4c10b882650fb8917..9a439bd35bad6d9a86efd500be5e2d987f8f1ab9 100644 (file)
@@ -7,6 +7,8 @@
  */
 package org.opendaylight.controller.cluster.datastore;
 
+import static java.util.Objects.requireNonNull;
+
 import akka.actor.ActorRef;
 import akka.actor.Cancellable;
 import akka.actor.Status.Failure;
@@ -31,11 +33,11 @@ class ShardTransactionMessageRetrySupport implements Closeable {
     private final Set<MessageInfo> messagesToRetry = new LinkedHashSet<>();
     private final Shard shard;
 
-    ShardTransactionMessageRetrySupport(Shard shard) {
+    ShardTransactionMessageRetrySupport(final Shard shard) {
         this.shard = shard;
     }
 
-    void addMessageToRetry(Object message, ActorRef replyTo, String failureMessage) {
+    void addMessageToRetry(final Object message, final ActorRef replyTo, final String failureMessage) {
         LOG.debug("{}: Adding message {} to retry", shard.persistenceId(), message);
 
         MessageInfo messageInfo = new MessageInfo(message, replyTo, failureMessage);
@@ -48,20 +50,20 @@ class ShardTransactionMessageRetrySupport implements Closeable {
     }
 
     void retryMessages() {
-        if(messagesToRetry.isEmpty()) {
+        if (messagesToRetry.isEmpty()) {
             return;
         }
 
         MessageInfo[] copy = messagesToRetry.toArray(new MessageInfo[messagesToRetry.size()]);
         messagesToRetry.clear();
 
-        for(MessageInfo info: copy) {
+        for (MessageInfo info: copy) {
             LOG.debug("{}: Retrying message {}", shard.persistenceId(), info.message);
             info.retry(shard);
         }
     }
 
-    void onTimerMessage(Object message) {
+    void onTimerMessage(final Object message) {
         MessageInfo messageInfo = (MessageInfo)message;
 
         LOG.debug("{}: Timer expired for message {}", shard.persistenceId(), messageInfo.message);
@@ -72,7 +74,7 @@ class ShardTransactionMessageRetrySupport implements Closeable {
 
     @Override
     public void close() {
-        for(MessageInfo info: messagesToRetry) {
+        for (MessageInfo info: messagesToRetry) {
             info.timedOut(shard);
         }
 
@@ -85,19 +87,20 @@ class ShardTransactionMessageRetrySupport implements Closeable {
         final String failureMessage;
         Cancellable timer;
 
-        MessageInfo(Object message, ActorRef replyTo, String failureMessage) {
+        MessageInfo(final Object message, final ActorRef replyTo, final String failureMessage) {
             this.message = message;
             this.replyTo = replyTo;
-            this.failureMessage = failureMessage;
+            this.failureMessage = requireNonNull(failureMessage);
         }
 
-        void retry(Shard shard) {
+        void retry(final Shard shard) {
             timer.cancel();
             shard.getSelf().tell(message, replyTo);
         }
 
-        void timedOut(Shard shard) {
-            replyTo.tell(new Failure(new NoShardLeaderException(failureMessage, shard.persistenceId())), shard.getSelf());
+        void timedOut(final Shard shard) {
+            replyTo.tell(new Failure(new NoShardLeaderException(failureMessage, shard.persistenceId())),
+                    shard.getSelf());
         }
     }
 }