package com.roboclub.robobuggy.simulation;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.roboclub.robobuggy.messages.BrakeMessage;
import com.roboclub.robobuggy.messages.RobobuggyLogicNotificationMeasurement;
/**
* Created by vivaanbahl on 2/5/16.
*/
public class SensorPlayerTests {
/**
* makes sure we can parse a log file
*
* @param args default
*/
public static void main(String[] args) {
Gson gson = new GsonBuilder().create();
String logFile = "{\n" +
" \"name\": \"Robobuggy Data Logs\",\n" +
" \"schema_version\": 1.0,\n" +
" \"date_recorded\": \"2016-02-05 13:59:33.618\",\n" +
" \"software_version\": \"1.0.0\",\n" +
" \"sensor_data\": [\n" +
" {\"VERSION_ID\":\"logic_notification\",\"message\":\"StartingGUI\",\"level\":\"NOTE\"," +
"\"timestamp\":\"Feb 5, 2016 1:59:24 PM\",\"DATE_FORMAT\":\"yyyy-MM-dd HH:mm:ss.SSS\"},\n" +
" {\"VERSION_ID\":\"logic_notification\",\"message\":\"Robobuggy Logic Notfication started\"" +
",\"level\":\"NOTE\",\"timestamp\":\"Feb 5, 2016 1:59:31 PM\",\"DATE_FORMAT\":\"yyyy-MM-dd HH:mm:ss." +
"SSS\"},\n" +
" {\"VERSION_ID\":\"logic_notification\",\"message\":\"start/stop button was pressed\"," +
"\"level\":\"NOTE\",\"timestamp\":\"Feb 5, 2016 1:59:33 PM\",\"DATE_FORMAT\":\"yyyy-MM-dd HH:mm:ss.SSS\"},\n" +
" {\"VERSION_ID\":\"gui_logging_buttonV0.0\",\"timestamp\":\"Feb 5, 2016 1:59:33 PM\"" +
",\"lm\":\"START\",\"DATE_FORMAT\":\"yyyy-MM-dd HH:mm:ss.SSS\"},\n" +
" {\"VERSION_ID\":\"logic_notification\",\"message\":\"Starting up logging thread!\"" +
",\"level\":\"NOTE\",\"timestamp\":\"Feb 5, 2016 1:59:33 PM\",\"DATE_FORMAT\":\"yyyy-MM-dd HH:mm:ss.SSS\"},\n" +
" {\"VERSION_ID\":\"logic_notification\",\"message\":\"start/stop button was pressed\",\"level\":" +
"\"NOTE\",\"timestamp\":\"Feb 5, 2016 1:59:34 PM\",\"DATE_FORMAT\":\"yyyy-MM-dd HH:mm:ss.SSS\"},\n" +
" {\"VERSION_ID\":\"STOP\"}\n" +
" ],\n" +
" \"data_breakdown\" : {\"logging_button\":1,\"gps\":0,\"imu\":0,\"encoder\":0,\"brake\"" +
":0,\"steering\":0,\"fp_hash\":0,\"logic_notification\":5,\"pose\":0,\"reset\":0,\"state\":0}\n" +
"}\n";
String logLine = " {\"VERSION_ID\":\"logic_notification\",\"message\":\"StartingGUI\",\"level\"" +
":\"NOTE\",\"timestamp\":\"Feb 5, 2016 1:59:24 PM\",\"DATE_FORMAT\":\"yyyy-MM-dd HH:mm:ss.SSS\"}";
RobobuggyLogicNotificationMeasurement m = gson.fromJson(logLine, RobobuggyLogicNotificationMeasurement.class);
JsonElement logFileJson = gson.fromJson(logFile, JsonElement.class);
System.out.println(logFileJson.getAsString());
System.out.printf(String.valueOf((BrakeMessage) gson.fromJson(logLine, BrakeMessage.class)));
System.out.println(m.toString());
}
}