package senscript;
import device.SensorNode;
import wisen_simulation.SimLog;
public class Command_RDATA extends Command {
protected String data = "";
protected String [] args = null;
public Command_RDATA(SensorNode sensor, String [] args) {
this.sensor = sensor ;
this.args = args ;
//System.out.println(Arrays.toString(args));
}
@Override
public double execute() {
String symbole = "#";
if(args[1].charAt(0)=='!') {
symbole = "" + args[1].charAt(1);
data = sensor.getScript().getVariableValue(args[2]);
}
else
data = sensor.getScript().getVariableValue(args[1]);
SimLog.add("S" + sensor.getId() + " Read DATA: "+data);
String [] tab = data.split(symbole);
int i = 2;
int j = 2;
if(args[1].charAt(0)=='!') {
i=3;
j=3;
}
while(i<args.length) {
try {
sensor.getScript().addVariable(args[i], tab[i-j]);
}
catch(Exception e) {
//if(data.length()>0)
// System.err.println("S"+sensor.getId()+" [ERROR RDATA: IDX OUT OF RANGE]! -> "+data);
}
i++;
}
return 0 ;
}
@Override
public String toString() {
return "RDATA";
}
}