You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

/* ================================================================

  • Delft FEWS
  • ================================================================
    *
  • Project Info: http://www.wldelft.nl/soft/fews/index.html
  • Project Lead: Karel Heynert (karel.heynert@wldelft.nl)
    *
  • (C) Copyright 2003, by WL | Delft Hydraulics
  • P.O. Box 177
  • 2600 MH Delft
  • The Netherlands
  • http://www.wldelft.nl
    *
  • DELFT-FEWS is a sophisticated collection of modules designed
  • for building a FEWS customised to the specific requirements
  • of individual agencies. An open modelling approach allows users
  • to add their own modules in an efficient way.
    *
  • ----------------------------------------------------------------
  • TvaDailyWaterviewTimeSeriesParser.java
  • ----------------------------------------------------------------
  • (C) Copyright 2003, by WL | Delft Hydraulics
    *
  • Original Author: pelgrim
  • Contributor(s):
    *
  • Changes:
  • --------
  • 17-Apr-14 : Version 1 ();
  • *
    */

package nl.wldelft.timeseriesparsers;

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.File;

public class TvaDailyWaterViewCsvTimeSeriesParser implements TextParser<TimeSeriesContentHandler> {

@Override
public void parse(LineReader reader, String virtualFileName, TimeSeriesContentHandler contentHandler) throws Exception {

String[] columnHeaders = reader.readLine(',');

DefaultTimeSeriesHeader header = new DefaultTimeSeriesHeader();

String locationId = determineLocationId(reader.getVirtualFileName());
header.setLocationId(locationId);

for (String[] buffer = new String[columnHeaders.length]; reader.readLine(',', '"', buffer) != -1; ) {
contentHandler.setTime(contentHandler.getDefaultTimeZone(), "MM-dd-yyyy H:mm:ss", buffer[0] + ' ' + buffer[1]);

for (int i = 2; i < 41; i++)

Unknown macro: { header.setParameterId(columnHeaders[i]); contentHandler.setValue('.', buffer[i]); contentHandler.setTimeSeriesHeader(header); contentHandler.applyCurrentFields(); }

for (int i = 43; i < columnHeaders.length; i++)

}
}

private static String determineLocationId(String path)

Unknown macro: { String fileName = new File(path).getName(); int beginIndex = fileName.lastIndexOf('.'); return fileName.substring(beginIndex + 1); }

}

  • No labels