@Override
public void writeJson(Writer writer, Resource res, RecordedData data, long startTime, long endTime, long interval,
ReductionMode mode) throws IOException {
try (@SuppressWarnings("deprecation") JsonGenerator jg = new JsonFactory().createJsonGenerator(writer).useDefaultPrettyPrinter()) {
jg.writeStartObject();
jg.writeStringField("@type", "RecordedData");
jg.writeStringField("resource", res.getLocation());
jg.writeStringField("interpolationMode", "NONE");
jg.writeNumberField("startTime", startTime);
jg.writeNumberField("endTime", endTime);
jg.writeNumberField("interval", interval);
jg.writeStringField("reductionMode", mode.toString());
jg.writeArrayFieldStart("entry");
for (SampledValue sv : data.getValues(startTime, endTime, interval, mode)) {
jg.writeStartObject();
jg.writeNumberField("time", sv.getTimestamp());
jg.writeStringField("quality", sv.getQuality().toString());
jg.writeStringField("value", sv.getValue().getStringValue());
jg.writeEndObject();
}
jg.writeEndArray();
jg.writeEndObject();
jg.flush();
}
}