Remove trailing whitespace
[openflowjava.git] / simple-client / src / main / java / org / opendaylight / openflowjava / protocol / impl / clients / ScenarioHandler.java
index 9e8a8025d299399f248c79d49b92979d48d2d90d..075c65681930f2d20f76601783b5e51ceaadf0fb 100644 (file)
@@ -1,4 +1,11 @@
-/* Copyright (C)2013 Pantheon Technologies, s.r.o. All rights reserved. */
+/*
+ * Copyright (c) 2013 Pantheon Technologies s.r.o. 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.openflowjava.protocol.impl.clients;
 
 import io.netty.channel.ChannelHandlerContext;
@@ -11,16 +18,22 @@ import java.util.concurrent.TimeUnit;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-
+/**
+ *
+ * @author michal.polkorab
+ *
+ */
 public class ScenarioHandler extends Thread {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(ScenarioHandler.class);
     private Stack<ClientEvent> scenario;
     private BlockingQueue<byte[]> ofMsg;
     private ChannelHandlerContext ctx;
+    private int eventNumber;
+    private boolean scenarioFinished = false;
 
     /**
-     * 
+     *
      * @param scenario
      */
     public ScenarioHandler(Stack<ClientEvent> scenario) {
@@ -32,6 +45,7 @@ public class ScenarioHandler extends Thread {
     public void run() {
         int freezeCounter = 0;
         while (!scenario.isEmpty()) {
+            LOGGER.debug("Running event #" + eventNumber);
             ClientEvent peek = scenario.peek();
             if (peek instanceof WaitForMessageEvent) {
                 LOGGER.debug("WaitForMessageEvent");
@@ -49,6 +63,7 @@ public class ScenarioHandler extends Thread {
             }
             if (peek.eventExecuted()) {
                 scenario.pop();
+                eventNumber++;
                 freezeCounter = 0;
             } else {
                 freezeCounter++;
@@ -63,29 +78,52 @@ public class ScenarioHandler extends Thread {
                 LOGGER.error(e.getMessage(), e);
             }
         }
-        LOGGER.info("Scenario finished");
+        LOGGER.debug("Scenario finished");
         synchronized (this) {
-            notify();
+            scenarioFinished = true;
+            this.notify();
         }
     }
 
+    /**
+     * @return true if scenario is done / empty
+     */
     public boolean isEmpty() {
         return scenario.isEmpty();
     }
 
+    /**
+     * @return scenario
+     */
     public Stack<ClientEvent> getScenario() {
         return scenario;
     }
 
+    /**
+     * @param scenario scenario filled with desired events
+     */
     public void setScenario(Stack<ClientEvent> scenario) {
         this.scenario = scenario;
     }
 
+    /**
+     * @param ctx context which will be used for sending messages (SendEvents)
+     */
     public void setCtx(ChannelHandlerContext ctx) {
         this.ctx = ctx;
     }
 
+    /**
+     * @param message received message that is compared to expected message
+     */
     public void addOfMsg(byte[] message) {
         ofMsg.add(message);
     }
+
+    /**
+     * @return true is scenario is finished
+     */
+    public boolean isScenarioFinished() {
+        return scenarioFinished;
+    }
 }