From 9a25cb9dbd6449851cc3a55309b4df2695fe7ac2 Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Mon, 9 Feb 2015 14:51:33 +0100 Subject: [PATCH] Added new Reset behaviour that was removed from Stop. [artf485115] --- .../uecontrol/core/UeControlExecutor.java | 26 ++++++++------ .../core/logic/UeBehaviourReset.java | 35 +++++++++++++++++++ .../uecontrol/core/logic/UeBehaviourStop.java | 17 +++++++-- app/src/main/res/values/arrays.xml | 1 + 4 files changed, 66 insertions(+), 13 deletions(-) create mode 100755 app/src/main/java/com/ericsson/uecontrol/core/logic/UeBehaviourReset.java diff --git a/app/src/main/java/com/ericsson/uecontrol/core/UeControlExecutor.java b/app/src/main/java/com/ericsson/uecontrol/core/UeControlExecutor.java index 1ce211c..8f2050a 100755 --- a/app/src/main/java/com/ericsson/uecontrol/core/UeControlExecutor.java +++ b/app/src/main/java/com/ericsson/uecontrol/core/UeControlExecutor.java @@ -180,6 +180,17 @@ public class UeControlExecutor implements Runnable{ public void setNextBehaviour(int i) { if(0 <= i && i < behaviours.size()) currentlyActive = behaviours.get(i); + else + currentlyActive = null; + } + public int getBehaviourIndex(UeBehaviour b) { + return behaviours.indexOf(b); + } + public UeBehaviour getRunningBehaviour(){ + return currentlyActive; + } + public List getBehaviourList() { + return behaviours; } /** @@ -188,6 +199,10 @@ public class UeControlExecutor implements Runnable{ public void setLogPath(String path){ csvPath = path; } + public CSVWriter getCsvLogger() { + return csvLogger; + } + public void setThroughputListener(ThroughputListener listener){ throughputListener = listener; } @@ -198,17 +213,6 @@ public class UeControlExecutor implements Runnable{ throughputUpdateRunnable.deviceBasedThroughput = enable; } - public List getBehaviourList() { - return behaviours; - } - public UeBehaviour getRunningBehaviour(){ - return currentlyActive; - } - public CSVWriter getCsvLogger() { - return csvLogger; - } - - public static interface ExecutionListener { public void executionStarted(); diff --git a/app/src/main/java/com/ericsson/uecontrol/core/logic/UeBehaviourReset.java b/app/src/main/java/com/ericsson/uecontrol/core/logic/UeBehaviourReset.java new file mode 100755 index 0000000..8ad931d --- /dev/null +++ b/app/src/main/java/com/ericsson/uecontrol/core/logic/UeBehaviourReset.java @@ -0,0 +1,35 @@ +package com.ericsson.uecontrol.core.logic; + +import com.ericsson.uecontrol.core.UeBehaviour; +import com.ericsson.uecontrol.core.UeControlExecutor; +import org.apache.log4j.Logger; + +/** + * Created by ezivkoc on 2015-01-19. + */ +public class UeBehaviourReset extends UeBehaviour { + private static final Logger log = Logger.getLogger(UeBehaviourReset.class); + + + @Override + protected void execute() throws Exception { + UeControlExecutor executor = super.getExecutor(); + Thread.sleep(VISUAL_SLEEP_PERIOD); // Sleep as a visual queue + + if(!super.stopExecution()) { + executor.setNextBehaviour(0); + } + } + + + @Override + public String getName() { + return "Reset"; + } + + @Override + public String toString() { + return "Will reset execution"; + } +} + diff --git a/app/src/main/java/com/ericsson/uecontrol/core/logic/UeBehaviourStop.java b/app/src/main/java/com/ericsson/uecontrol/core/logic/UeBehaviourStop.java index 201aacf..03c1e66 100755 --- a/app/src/main/java/com/ericsson/uecontrol/core/logic/UeBehaviourStop.java +++ b/app/src/main/java/com/ericsson/uecontrol/core/logic/UeBehaviourStop.java @@ -11,6 +11,7 @@ import org.apache.log4j.Logger; public class UeBehaviourStop extends UeBehaviour { private static final Logger log = Logger.getLogger(UeBehaviourStop.class); + private transient boolean stopped = false; @Override protected void execute() throws Exception { @@ -18,12 +19,24 @@ public class UeBehaviourStop extends UeBehaviour { Thread.sleep(VISUAL_SLEEP_PERIOD); // Sleep as a visual queue if(!super.stopExecution()) { - executor.terminateNonBlock(); - executor.setNextBehaviour(0); + if(!stopped) { + executor.terminateNonBlock(); + stopped = true; + //executor.setNextBehaviour( // Skipp this behaviour when execution starts + // executor.getBehaviourIndex(this)+1 ); + } + else + stopped = false; } } + @Override + public void reset() { + stopped = false; + super.reset(); + } + @Override public String getName() { return "Stop"; diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 2e33e87..d95831f 100755 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -12,6 +12,7 @@ com.ericsson.uecontrol.core.behaviour.UeBehaviourVideoStreaming com.ericsson.uecontrol.core.logic.UeBehaviourIterator + com.ericsson.uecontrol.core.logic.UeBehaviourReset com.ericsson.uecontrol.core.logic.UeBehaviourStop com.ericsson.uecontrol.core.logic.UeBehaviourSynchronize