Bump upstream SNAPSHOTS
[controller.git] / opendaylight / md-sal / sal-akka-raft-example / src / main / java / org / opendaylight / controller / cluster / example / LogGenerator.java
index fbe1447c72d9f10843ba94bbcedbf5a03d007e06..9559f1cff422c75fc116ffbfa321338eda320175 100644 (file)
@@ -1,53 +1,64 @@
+/*
+ * Copyright (c) 2014, 2015 Cisco Systems, Inc. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * 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.example;
 
 import akka.actor.ActorRef;
-import org.opendaylight.controller.cluster.example.messages.KeyValue;
-
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Random;
+import org.opendaylight.controller.cluster.example.messages.KeyValue;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Created by kramesha on 7/16/14.
  */
 public class LogGenerator {
-    private Map<ActorRef, LoggingThread> clientToLoggingThread = new HashMap<ActorRef, LoggingThread>();
+    private static final Logger LOG = LoggerFactory.getLogger(LogGenerator.class);
+
+    private final Map<ActorRef, LoggingThread> clientToLoggingThread = new HashMap<>();
 
-    public void startLoggingForClient(ActorRef client) {
+    public void startLoggingForClient(final ActorRef client) {
         LoggingThread lt = new LoggingThread(client);
         clientToLoggingThread.put(client, lt);
-        Thread t = new Thread(lt);
-        t.start();
+        new Thread(lt).start();
     }
 
-    public void stopLoggingForClient(ActorRef client) {
+    public void stopLoggingForClient(final ActorRef client) {
         clientToLoggingThread.get(client).stopLogging();
         clientToLoggingThread.remove(client);
     }
 
-    public class LoggingThread implements Runnable {
+    public static class LoggingThread implements Runnable {
+        private final Random random = new Random();
+        private final ActorRef clientActor;
 
-        private ActorRef clientActor;
         private volatile boolean stopLogging = false;
 
-        public LoggingThread(ActorRef clientActor) {
+        public LoggingThread(final ActorRef clientActor) {
             this.clientActor = clientActor;
         }
 
+        @Override
         public void run() {
-            Random r = new Random();
             while (true) {
                 if (stopLogging) {
-                    System.out.println("Logging stopped for client:" + clientActor.path());
+                    LOG.info("Logging stopped for client: {}", clientActor.path());
                     break;
                 }
                 String key = clientActor.path().name();
-                int random = r.nextInt(100);
-                clientActor.tell(new KeyValue(key+"-key-" + random, "value-" + random), null);
+                int randomInt = random.nextInt(100);
+                clientActor.tell(new KeyValue(key + "-key-" + randomInt, "value-" + randomInt), null);
+
                 try {
-                    Thread.sleep((random%10) * 1000);
+                    Thread.sleep(randomInt % 10 * 1000L);
                 } catch (InterruptedException e) {
-                    e.printStackTrace();
+                    LOG.info("Interrupted while sleeping", e);
                 }
             }
         }
@@ -59,9 +70,5 @@ public class LogGenerator {
         public void startLogging() {
             stopLogging = false;
         }
-
-
     }
-
-
 }