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 }

http://dive4elements.wald.intevation.org