Reduce use of scala.concurrent.duration.Duration
[controller.git] / opendaylight / md-sal / sal-akka-raft / src / test / java / org / opendaylight / controller / cluster / raft / utils / MessageCollectorActor.java
index 32077a2719faaaeedd9ca9ab40a01a9a9961ae4a..8d3377310581571aad360eb06c4cc7137be80340 100644 (file)
@@ -5,12 +5,12 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.controller.cluster.raft.utils;
 
 import akka.actor.ActorRef;
 import akka.actor.Props;
-import akka.actor.UntypedActor;
+import akka.actor.UntypedAbstractActor;
+import akka.dispatch.ControlMessage;
 import akka.pattern.Patterns;
 import akka.util.Timeout;
 import com.google.common.base.Predicate;
@@ -26,13 +26,18 @@ import java.util.concurrent.TimeoutException;
 import org.junit.Assert;
 import scala.concurrent.Await;
 import scala.concurrent.Future;
-import scala.concurrent.duration.Duration;
 import scala.concurrent.duration.FiniteDuration;
 
-public class MessageCollectorActor extends UntypedActor {
+public class MessageCollectorActor extends UntypedAbstractActor {
     private static final String ARE_YOU_READY = "ARE_YOU_READY";
     public static final String GET_ALL_MESSAGES = "messages";
-    private static final String CLEAR_MESSAGES = "clear-messages";
+
+    private static final Object CLEAR_MESSAGES = new ControlMessage() {
+        @Override
+        public String toString() {
+            return "clear-messages";
+        }
+    };
 
     private final List<Object> messages = new ArrayList<>();
 
@@ -42,19 +47,15 @@ public class MessageCollectorActor extends UntypedActor {
         } else if (GET_ALL_MESSAGES.equals(message)) {
             getSender().tell(new ArrayList<>(messages), getSelf());
         } else if (CLEAR_MESSAGES.equals(message)) {
-            clear();
+            messages.clear();
         } else if (message != null) {
             messages.add(message);
         }
     }
 
-    public void clear() {
-        messages.clear();
-    }
-
     @SuppressWarnings({"unchecked", "checkstyle:illegalCatch"})
-    private static List<Object> getAllMessages(final ActorRef actor) {
-        FiniteDuration operationDuration = Duration.create(5, TimeUnit.SECONDS);
+    public static List<Object> getAllMessages(final ActorRef actor) {
+        FiniteDuration operationDuration = FiniteDuration.create(5, TimeUnit.SECONDS);
         Timeout operationTimeout = new Timeout(operationDuration);
         Future<Object> future = Patterns.ask(actor, GET_ALL_MESSAGES, operationTimeout);
 
@@ -144,7 +145,8 @@ public class MessageCollectorActor extends UntypedActor {
             Uninterruptibles.sleepUninterruptibly(50, TimeUnit.MILLISECONDS);
         }
 
-        throw new AssertionError("Did not receive message of type " + clazz, lastEx);
+        throw new AssertionError(actor + ": Did not receive message of type " + clazz + ", Actual received was "
+            + getAllMessages(actor), lastEx);
     }
 
     @SuppressWarnings("checkstyle:IllegalCatch")
@@ -224,7 +226,7 @@ public class MessageCollectorActor extends UntypedActor {
 
     public static void waitUntilReady(final ActorRef actor) throws TimeoutException, InterruptedException {
         long timeout = 500;
-        FiniteDuration duration = Duration.create(timeout, TimeUnit.MILLISECONDS);
+        FiniteDuration duration = FiniteDuration.create(timeout, TimeUnit.MILLISECONDS);
         for (int i = 0; i < 10; i++) {
             try {
                 Await.ready(Patterns.ask(actor, ARE_YOU_READY, timeout), duration);