|
From: Márcio V. d. S. <mv...@us...> - 2008-03-07 16:11:26
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/io/reader In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv5655/src/java/net/sf/tail/io/reader Modified Files: CedroTimeSeriesLoader.java Added Files: GoogleTimeSeriesLoader.java Log Message: --- NEW FILE: GoogleTimeSeriesLoader.java --- package net.sf.tail.io.reader; import java.io.IOException; import java.io.InputStream; import java.nio.charset.Charset; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import net.sf.tail.TimeSeries; import net.sf.tail.TimeSeriesLoader; import net.sf.tail.series.DefaultTimeSeries; import net.sf.tail.tick.DefaultTick; import org.apache.log4j.Logger; import org.joda.time.DateTime; import com.csvreader.CsvReader; public class GoogleTimeSeriesLoader implements TimeSeriesLoader { transient private static final Logger LOG = Logger.getLogger(GoogleTimeSeriesLoader.class); public TimeSeries load(InputStream stream, String seriesName) { List<DefaultTick> ticks= new ArrayList<DefaultTick>(); try { LOG.info("Reading " + stream); CsvReader reader = new CsvReader(stream, Charset.defaultCharset()); reader.readHeaders(); while (reader.readRecord()) { SimpleDateFormat simpleDate; simpleDate = new SimpleDateFormat("dd-MMM-yy"); Date dateUtil = simpleDate.parse(reader.get(0)); DateTime date = new DateTime(dateUtil.getTime()); double open = Double.parseDouble(reader.get(1)); double high = Double.parseDouble(reader.get(2)); double low = Double.parseDouble(reader.get(3)); double close = Double.parseDouble(reader.get(4)); double volumeFinancier = Double.parseDouble(reader.get(5)); DefaultTick tick = new DefaultTick(date, open, close, high, low, 0d, 0d, 0d, volumeFinancier, 0); ticks.add(0, tick); } LOG.info("Reading done for " + stream); } catch (NumberFormatException e) { e.printStackTrace(); throw new RuntimeException(e); } catch (IOException e) { e.printStackTrace(); throw new RuntimeException(e); } catch (ParseException e) { e.printStackTrace(); throw new RuntimeException(e); } return new DefaultTimeSeries(seriesName, ticks); } } Index: CedroTimeSeriesLoader.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/io/reader/CedroTimeSeriesLoader.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** CedroTimeSeriesLoader.java 7 Nov 2007 23:40:47 -0000 1.6 --- CedroTimeSeriesLoader.java 7 Mar 2008 16:11:29 -0000 1.7 *************** *** 28,32 **** List<DefaultTick> ticks= new ArrayList<DefaultTick>(); try { ! LOG.info("Reading " + stream); CsvReader reader = new CsvReader(stream, Charset.defaultCharset()); --- 28,32 ---- List<DefaultTick> ticks= new ArrayList<DefaultTick>(); try { ! LOG.info("Reading " + seriesName); CsvReader reader = new CsvReader(stream, Charset.defaultCharset()); *************** *** 49,60 **** double high = java.lang.Double.parseDouble(reader.get(3)); double low = java.lang.Double.parseDouble(reader.get(4)); ! double change = java.lang.Double.parseDouble(reader.get(5)); ! double previous = java.lang.Double.parseDouble(reader.get(6)); ! double volumeAmount = java.lang.Double.parseDouble(reader.get(7)); ! double volumeFinancier = java.lang.Double.parseDouble(reader.get(8)); ! double quantity = java.lang.Double.parseDouble(reader.get(9)); ! DefaultTick tick = new DefaultTick(date, open, close, high, low, change, previous, volumeAmount, volumeFinancier, ! (int) quantity); ticks.add(0, tick); } --- 49,59 ---- double high = java.lang.Double.parseDouble(reader.get(3)); double low = java.lang.Double.parseDouble(reader.get(4)); ! //double change = java.lang.Double.parseDouble(reader.get(5)); ! //double previous = java.lang.Double.parseDouble(reader.get(6)); ! //double volumeAmount = java.lang.Double.parseDouble(reader.get(7)); ! //double volumeFinancier = java.lang.Double.parseDouble(reader.get(8)); ! //double quantity = java.lang.Double.parseDouble(reader.get(9)); ! DefaultTick tick = new DefaultTick(date, open, close, high, low); ticks.add(0, tick); } |