annotate gnv-artifacts/src/main/java/de/intevation/gnv/transition/profile/horizontal/HorizontalProfileOutputTransition.java @ 300:6a3a02e004d9

Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes. gnv-artifacts/trunk@354 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 20 Nov 2009 13:51:14 +0000
parents 75da91eca29f
children 3ea030aafe65
rev   line source
113
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
1 /**
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
2 *
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
3 */
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
4 package de.intevation.gnv.transition.profile.horizontal;
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
5
300
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
6 import java.awt.Dimension;
113
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
7 import java.io.IOException;
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
8 import java.io.OutputStream;
177
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
9 import java.io.OutputStreamWriter;
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
10 import java.io.UnsupportedEncodingException;
113
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
11 import java.util.Collection;
177
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
12 import java.util.Iterator;
300
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
13 import java.util.Locale;
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
14
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
15 import javax.imageio.ImageIO;
177
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
16
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
17 import org.apache.log4j.Logger;
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
18
300
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
19 import org.jfree.chart.ChartTheme;
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
20
177
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
21 import au.com.bytecode.opencsv.CSVWriter;
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
22
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
23 import com.vividsolutions.jts.geom.Point;
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
24 import com.vividsolutions.jts.io.ParseException;
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
25 import com.vividsolutions.jts.io.WKTReader;
113
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
26
300
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
27 import de.intevation.gnv.chart.Chart;
113
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
28 import de.intevation.gnv.chart.ChartLabels;
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
29 import de.intevation.gnv.chart.ChartStyle;
300
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
30 import de.intevation.gnv.chart.HorizontalProfileChart;
113
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
31 import de.intevation.gnv.chart.HorizontalProfileChartFactory;
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
32 import de.intevation.gnv.chart.exception.TechnicalChartException;
177
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
33 import de.intevation.gnv.geobackend.base.Result;
113
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
34 import de.intevation.gnv.statistics.HorizontalProfileStatistics;
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
35 import de.intevation.gnv.statistics.Statistics;
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
36 import de.intevation.gnv.transition.describedata.KeyValueDescibeData;
177
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
37 import de.intevation.gnv.transition.exception.TransitionException;
113
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
38 import de.intevation.gnv.transition.timeseries.TimeSeriesOutputTransition;
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
39
234
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
40 import de.intevation.gnv.exports.DefaultExport;
235
c8ecc0c0bcb4 Renaming HorizontalProfileDataCollector into ShapeDataCollector.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
41 import de.intevation.gnv.exports.ShapeDataCollector;
234
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
42 import de.intevation.gnv.exports.DefaultProfile;
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
43 import de.intevation.gnv.exports.Export.Profile;
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
44
113
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
45 /**
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
46 * @author Tim Englich <tim.englich@intevation.de>
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 125
diff changeset
47 *
113
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
48 */
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 125
diff changeset
49 public class HorizontalProfileOutputTransition extends
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 125
diff changeset
50 TimeSeriesOutputTransition {
113
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
51 /**
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
52 * The UID of this class
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
53 */
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
54 private static final long serialVersionUID = 4401516087492028840L;
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
55
177
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
56 private static Logger log = Logger
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
57 .getLogger(HorizontalProfileOutputTransition.class);
234
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
58
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
59 public static final String [] TIMESERIES_CSV_PROFILE_NAMES = {
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
60 "SHAPE",
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
61 "YORDINATE",
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
62 "GROUP1",
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
63 "GROUP2",
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
64 "GROUP3"
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
65 };
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
66
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
67 public static final Profile TIMESERIES_CSV_PROFILE =
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
68 new DefaultProfile(
239
75da91eca29f Added possibility to print column labels in the first line of an export. Added labels for odv export as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 235
diff changeset
69 null,
234
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
70 ',',
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
71 '"',
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
72 '"',
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
73 "CSV",
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
74 "ISO-8859-1");
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
75
113
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
76 /**
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
77 * Constructor
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
78 */
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
79 public HorizontalProfileOutputTransition() {
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
80 super();
185
5fc8f41669a6 Added Calculation of the Distance in the unit km for Geodetic-Coordinates according to the Specification GT_0030.004
Tim Englich <tim.englich@intevation.de>
parents: 179
diff changeset
81 super.domainLable = "Distance [km]";
113
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
82 }
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
83
300
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
84 protected Chart getChart(
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
85 ChartLabels chartLables,
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
86 ChartTheme chartTheme,
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
87 Collection parameters,
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
88 Collection measurements,
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
89 Collection result,
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
90 Collection dates,
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
91 Locale locale,
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
92 String uuid
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
93 ) {
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
94 Chart chart = null;
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
95
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
96 if (CACHE_CHART) {
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
97 log.info("Try to get horizontalprofile chart from cache.");
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
98 chart = (Chart) getChartFromCache(uuid);
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
99 }
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
100
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
101 if (chart != null)
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
102 return chart;
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
103
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
104 log.info("Chart not in cache yet.");
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
105 chart = new HorizontalProfileChart(
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
106 chartLables,
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
107 chartTheme,
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
108 parameters,
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
109 measurements,
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
110 result,
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
111 dates,
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
112 locale
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
113 );
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
114 chart.generateChart();
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
115
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
116 if (CACHE_CHART) {
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
117 log.info("Put chart into cache.");
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
118 purifyChart(chart, uuid);
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
119 }
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
120
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
121 return chart;
113
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
122 }
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
123
300
6a3a02e004d9 Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 239
diff changeset
124
113
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
125 /**
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
126 * @see de.intevation.gnv.transition.timeseries.TimeSeriesOutputTransition#getStatisticsGenerator()
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
127 */
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
128 @Override
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
129 protected Statistics getStatisticsGenerator() {
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 125
diff changeset
130 return new HorizontalProfileStatistics();
113
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
131 }
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
132
177
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
133 @Override
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
134 protected void createCSV(OutputStream outputStream,
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
135 Collection<Result> chartResult)
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
136 throws UnsupportedEncodingException,
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
137 IOException,
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
138 TransitionException {
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
139
234
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
140 log.debug("createCSV for HorizontalProfileOutputTransition.");
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
141 DefaultExport export = new DefaultExport(
235
c8ecc0c0bcb4 Renaming HorizontalProfileDataCollector into ShapeDataCollector.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
142 new ShapeDataCollector(TIMESERIES_CSV_PROFILE_NAMES));
234
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
143
a7fa7b404897 HorizontalProfile CSV-export uses an Exporter instead of writing csv on its own.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 185
diff changeset
144 export.create(TIMESERIES_CSV_PROFILE, outputStream, chartResult);
177
08b8b79b30ff Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents: 171
diff changeset
145 }
113
a16f5267803e Added Basic-Support for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
146 }

http://dive4elements.wald.intevation.org