|
From: Márcio V. d. S. <mv...@us...> - 2007-10-15 20:23:23
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/analysis In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv21382/src/java/net/sf/tail/analysis Modified Files: StockAnalysis.java Added Files: SerializableTimeSeries.java Removed Files: Stock.java Log Message: refatoração gigante! Stock virou TimeSeries Index: StockAnalysis.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/StockAnalysis.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** StockAnalysis.java 8 Oct 2007 19:38:14 -0000 1.10 --- StockAnalysis.java 15 Oct 2007 20:23:24 -0000 1.11 *************** *** 25,29 **** private List<AnalysisCriterion> additionalCriteria; ! private Stock stock; private StrategyEvaluator evaluator; --- 25,29 ---- private List<AnalysisCriterion> additionalCriteria; ! private SerializableTimeSeries stock; private StrategyEvaluator evaluator; *************** *** 33,37 **** private WalkForward walker; ! public StockAnalysis(Stock stock, AnalysisCriterion applyedCriterion, TimeSeriesSlicer slicer, StrategyEvaluator evaluator) { this.stock = stock; this.applyedCriterion = applyedCriterion; --- 33,37 ---- private WalkForward walker; ! public StockAnalysis(SerializableTimeSeries stock, AnalysisCriterion applyedCriterion, TimeSeriesSlicer slicer, StrategyEvaluator evaluator) { this.stock = stock; this.applyedCriterion = applyedCriterion; *************** *** 44,51 **** } ! public Report createReport(String reportName, Set<Strategy> strategies) { Report report = walker.walk(strategies, slicer, applyedCriterion); report.setName(reportName); ! reports.add(report); for (AnalysisCriterion criterion : additionalCriteria) { report.addSummarizedCriteria(criterion); --- 44,58 ---- } ! public Report addReport(String reportName, Set<Strategy> strategies) { ! Report report = createReport(reportName, strategies); ! ! reports.add(report); ! return report; ! } ! ! private Report createReport(String reportName, Set<Strategy> strategies) { Report report = walker.walk(strategies, slicer, applyedCriterion); report.setName(reportName); ! for (AnalysisCriterion criterion : additionalCriteria) { report.addSummarizedCriteria(criterion); *************** *** 75,79 **** } ! public Stock getStock() { return stock; } --- 82,86 ---- } ! public SerializableTimeSeries getStock() { return stock; } *************** *** 84,96 **** public List<Report> getReports() { - if (reports.size() > 0 && reports.get(0).getDecisions() == null) { - reloadReports(); - } return reports; } ! private void reloadReports() { ! // TODO criar regeneração de reports em um stockAnalysis serializado ! } --- 91,112 ---- public List<Report> getReports() { return reports; } ! public void reloadReports() { ! List<Report> newReports = new ArrayList<Report>(); ! for (int i = 0; i < reports.size(); i++) { ! System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); ! Report newReport = createReport(reports.get(i).getName(), reports.get(i).getStrategies()); ! newReports.add(newReport); ! } ! ! ! //for (Report report : reports) { ! // Report newReport = createReport(report.getName(), report.getStrategies()); ! // newReports.add(newReport); ! //} ! System.out.println("=-----------------------------------------------------------------"); ! reports = newReports; } --- Stock.java DELETED --- --- NEW FILE: SerializableTimeSeries.java --- package net.sf.tail.analysis; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import net.sf.tail.Tick; import net.sf.tail.TimeSeries; import net.sf.tail.TimeSeriesLoader; import net.sf.tail.series.DefaultTimeSeries; public class SerializableTimeSeries implements TimeSeries { private String name; private String seriesAdress; private transient DefaultTimeSeries defaultTimeSeries; private TimeSeriesLoader loader; public SerializableTimeSeries(String name, String seriesAdress, TimeSeriesLoader loader) throws FileNotFoundException, IOException { this.name = name; this.seriesAdress = seriesAdress; this.loader = loader; this.defaultTimeSeries = loader.load(new FileInputStream(seriesAdress), name); } public String getName() { return name; } public String getSeriesAdress() { return seriesAdress; } public DefaultTimeSeries getSeries() { if(defaultTimeSeries == null) reloadSeries(); return defaultTimeSeries; } public DefaultTimeSeries reloadSeries() { try { this.defaultTimeSeries = loader.load(new FileInputStream(seriesAdress), name); } catch (FileNotFoundException e) { e.printStackTrace(); throw new RuntimeException(e); } return defaultTimeSeries; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((name == null) ? 0 : name.hashCode()); result = prime * result + ((seriesAdress == null) ? 0 : seriesAdress.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; final SerializableTimeSeries other = (SerializableTimeSeries) obj; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; if (seriesAdress == null) { if (other.seriesAdress != null) return false; } else if (!seriesAdress.equals(other.seriesAdress)) return false; return true; } public int getBegin() { return getSeries().getBegin(); } public int getEnd() { return getSeries().getEnd(); } public String getPeriod() { return getSeries().getPeriod(); } public int getSize() { return getSeries().getSize(); } public Tick getTick(int i) { return getSeries().getTick(i); } } |