Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/exports/DurationCurveExporter.java @ 391:5d6988836f01
Added an exporter to export the computed data of a duration curve.
flys-artifacts/trunk@1814 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 03 May 2011 17:37:56 +0000 |
parents | |
children | 340dc41a7ea3 |
comparison
equal
deleted
inserted
replaced
390:a67748ad4d61 | 391:5d6988836f01 |
---|---|
1 package de.intevation.flys.exports; | |
2 | |
3 import java.io.OutputStream; | |
4 import java.util.ArrayList; | |
5 import java.util.List; | |
6 | |
7 import org.w3c.dom.Document; | |
8 | |
9 import org.apache.log4j.Logger; | |
10 | |
11 import au.com.bytecode.opencsv.CSVWriter; | |
12 | |
13 import de.intevation.artifacts.Artifact; | |
14 import de.intevation.artifacts.CallContext; | |
15 | |
16 import de.intevation.flys.artifacts.WINFOArtifact; | |
17 import de.intevation.flys.artifacts.model.WQDay; | |
18 | |
19 | |
20 /** | |
21 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> | |
22 */ | |
23 public class DurationCurveExporter extends AbstractExporter { | |
24 | |
25 /** The logger used in this exporter.*/ | |
26 private static Logger logger = Logger.getLogger(WaterlevelExporter.class); | |
27 | |
28 | |
29 /** The storage that contains all WQKms objects for the different facets.*/ | |
30 protected List<WQDay> data; | |
31 | |
32 | |
33 public void init(Document request, OutputStream out, CallContext context) { | |
34 logger.debug("DurationCurveExporter.init"); | |
35 | |
36 super.init(request, out, context); | |
37 | |
38 this.data = new ArrayList<WQDay>(); | |
39 } | |
40 | |
41 | |
42 protected void addData(Artifact artifact) { | |
43 WINFOArtifact winfoArtifact = (WINFOArtifact) artifact; | |
44 data.add(winfoArtifact.getDurationCurveData()); | |
45 } | |
46 | |
47 | |
48 protected void writeCSVData(CSVWriter writer) { | |
49 logger.info("DurationCurveExporter.writeData"); | |
50 | |
51 for (WQDay wqday: data) { | |
52 wQDay2CSV(writer, wqday); | |
53 } | |
54 } | |
55 | |
56 | |
57 protected void wQDay2CSV(CSVWriter writer, WQDay wqday) { | |
58 logger.debug("DurationCurveExporter.wQDay2CSV"); | |
59 | |
60 int size = wqday.size(); | |
61 | |
62 for (int i = 0; i < size; i ++) { | |
63 writer.writeNext(new String[] { | |
64 Double.toString(wqday.getW(i)), | |
65 Double.toString(wqday.getQ(i)), | |
66 Double.toString(wqday.getDay(i)) | |
67 }); | |
68 } | |
69 } | |
70 } |