package nl.wldelft.fews.system.plugin.dataImport; import nl.wldelft.util.io.LineReader; import nl.wldelft.util.io.TextParser; import nl.wldelft.util.timeseries.DefaultTimeSeriesHeader; import nl.wldelft.util.timeseries.TimeSeriesContentHandler; import java.io.IOException; /** * Parser for Scottish and Southern Electric (SSE) gauged data * column 1 : Location Id * column 2 : Value * column 3 : Date/Time * column 4: Parameter / Unit */ public class SseTimeSeriesParser implements TextParser<TimeSeriesContentHandler> { @Override public void parse(LineReader reader, String virtualFileName, TimeSeriesContentHandler contentHandler) throws IOException { reader.setCommentLinePrefix('*'); DefaultTimeSeriesHeader timeSeriesHeader = new DefaultTimeSeriesHeader(); for (String[] buffer = new String[4]; reader.readLine(',', buffer) != -1;) { timeSeriesHeader.setLocationId(buffer[0]); contentHandler.setValue('.', buffer[1]); contentHandler.setTime(contentHandler.getDefaultTimeZone(), "dd/MM/yyyy HH:mm:ss", buffer[2]); timeSeriesHeader.setParameterId(buffer[3]); timeSeriesHeader.setUnit(buffer[3]); contentHandler.setTimeSeriesHeader(timeSeriesHeader); contentHandler.applyCurrentFields(); } } }