cmd_to_array
functioncmd_to_array()
Die cmd_to_array() Funktion zerlegt die
unter Mp.Container[i].Ctrl bzw. http://.../mpid/ctrl
angebbaren Steuerzeichen (cmdstr) und erzeugt daraus eien Array,
dessen erstes Feld den aktuellen Auftrag (load, run etc.)
beinhaltet; die Funktion observe() benutzt dieses erste Feld,
um entsprechende Funktionen auszuwählen.
Wenn der cmdstr so aussieht:
"load;run;stop"
soll:
["load","run", "stop"]
erzeugt werden. Sieht der _cmdstr_wie folgt aus:
"load;2:run,stop"
soll:
["load","run", "stop","run", "stop"]
erzeugt werden. Steht an lezter Stelle der String mon
wird immer wieder ["mon"] zurückgeliefert.
var cmd_to_array = function(cmdstr){
var arr = [],
al1 = cmdstr.split(";");
if( al1.length === 1 && al1[0] === ctrlstr.mon){
return [ ctrlstr.mon];
}else{
for(var i = 0; i < al1.length; i++){
var al2 = al1[i].split(":");
if(al2.length > 1){
var rep = parseInt(al2[0],10);
if(_.isNumber(rep)){
for(var j = 0; j < rep; j++){
_.map(al2[1].split(","), function(c){arr.push(c)});
}
}
}else{
arr.push(al1[i]);
}
}
return arr;
}
};
exports.cmd_to_array = cmd_to_array;