package com.num.utils;
import java.util.Scanner;
import com.num.models.Measure;
import com.num.models.Throughput;
import com.num.models.WarmupExperiment;
public class ParseUtil {
public static Measure PingParser(String s) {
try {
String lastLine = null;
Scanner scanLines = new Scanner(s);
Scanner scanLastLine;
Scanner scanValues;
double max;
double min;
double avr;
double stddev;
while (scanLines.hasNextLine())
lastLine = scanLines.nextLine();
scanLastLine = new Scanner(lastLine);
scanLastLine.findInLine("=");
if (scanLastLine.hasNext()) {
scanValues = new Scanner(scanLastLine.next());
scanValues.useDelimiter("/");
try {
min = scanValues.nextDouble();
avr = scanValues.nextDouble();
max = scanValues.nextDouble();
stddev = scanValues.nextDouble();
return (new Measure(max, min, avr, stddev));
} catch (Exception e) {
return null;
}
} else
return (new Measure(-1, -1, -1, -1));
} catch (Exception e) {
return (new Measure(-1, -1, -1, -1));
}
}
public static com.num.models.Throughput ThroughputParser(String output) {
// TODO Auto-generated method stub
return null;
}
public static void warmupParser(String output, WarmupExperiment experiment) {
Scanner scanLines = new Scanner(output);
scanLines.nextLine();
while (scanLines.hasNextLine()) {
try {
String line = scanLines.nextLine();
int count = Integer.parseInt(line.split("icmp_seq=")[1].split(" ")[0]);
double value = Double.parseDouble(line.split("time=")[1].split(" ms")[0]);
experiment.addSequence(value, count);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}