package senscript; import wisen_simulation.SimLog; import device.SensorNode; public class Command_ENDWHILE extends Command { protected boolean resultOfCondition = true ; protected int index ; public Command_ENDWHILE(SensorNode sensor) { this.sensor = sensor ; } @Override public double execute() { SimLog.add("S" + sensor.getId() + " END WHILE."); SenScript script = sensor.getScript(); String condition = getCurrentWhile().getArg().replaceFirst("while", ""); SenScriptEvalCondition evalCondtion = new SenScriptEvalCondition(sensor); SenScriptConditionElement conditionElement = evalCondtion.initCondition(condition); resultOfCondition = conditionElement.evaluate(); Command_WHILE cmdWhile = this.getCurrentWhile(); if (resultOfCondition) script.setIndex(cmdWhile.getIndex()-1); return 0 ; } public int getIndex() { return index; } public void setIndex(int index) { this.index = index; } @Override public String toString() { return "ENDWHILE"; } }