Mercurial > dive4elements > gnv-client
annotate gnv-artifacts/src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java @ 302:dc2713a3eaa7
Removed mistake from xml structure of the artifact protocol.
gnv-artifacts/trunk@356 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 20 Nov 2009 14:46:37 +0000 |
parents | 3ea030aafe65 |
children | 9ba2cf8cad8d |
rev | line source |
---|---|
64
5db77e0a8594
Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
1 /** |
5db77e0a8594
Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
2 * |
5db77e0a8594
Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
3 */ |
5db77e0a8594
Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
4 package de.intevation.gnv.transition.timeseries; |
5db77e0a8594
Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
5 |
68
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
6 import java.awt.Color; |
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
7 import java.awt.Dimension; |
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
8 import java.io.IOException; |
73
504570de21fd
Refactoring Work depending on Infrastructurchanges in the Artifact-Module
Tim Englich <tim.englich@intevation.de>
parents:
68
diff
changeset
|
9 import java.io.OutputStream; |
177
08b8b79b30ff
Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
171
diff
changeset
|
10 import java.io.UnsupportedEncodingException; |
217
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
11 import java.util.ArrayList; |
68
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
12 import java.util.Collection; |
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
13 import java.util.Iterator; |
217
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
14 import java.util.List; |
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:
299
diff
changeset
|
15 import java.util.Locale; |
68
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
16 |
299
d6c75171f1e9
Pass the xml document of the request to OutputTransition for more information about output formats of charts (png,jpeg).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
253
diff
changeset
|
17 import javax.imageio.ImageIO; |
95
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
18 import javax.xml.transform.Transformer; |
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
19 import javax.xml.transform.TransformerConfigurationException; |
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
20 import javax.xml.transform.TransformerException; |
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
21 import javax.xml.transform.TransformerFactory; |
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
22 import javax.xml.transform.TransformerFactoryConfigurationError; |
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
23 import javax.xml.transform.dom.DOMSource; |
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
24 import javax.xml.transform.stream.StreamResult; |
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
25 |
68
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
26 import org.apache.log4j.Logger; |
95
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
27 import org.w3c.dom.Document; |
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
28 import org.w3c.dom.Element; |
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
29 import org.w3c.dom.Node; |
217
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
30 import org.w3c.dom.NodeList; |
68
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
31 |
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:
299
diff
changeset
|
32 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:
299
diff
changeset
|
33 |
90
6bdef6e590d6
Added CSV-Support and do some performanceimprovments
Tim Englich <tim.englich@intevation.de>
parents:
86
diff
changeset
|
34 import au.com.bytecode.opencsv.CSVWriter; |
119 | 35 import de.intevation.artifactdatabase.Config; |
95
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
36 import de.intevation.artifactdatabase.XMLUtils; |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
37 import de.intevation.artifacts.CallMeta; |
178
9bcf315f57e4
Added Name of FIS to the Title of Charts
Tim Englich <tim.englich@intevation.de>
parents:
177
diff
changeset
|
38 import de.intevation.artifacts.PreferredLocale; |
9bcf315f57e4
Added Name of FIS to the Title of Charts
Tim Englich <tim.englich@intevation.de>
parents:
177
diff
changeset
|
39 import de.intevation.gnv.artifacts.ressource.RessourceFactory; |
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:
299
diff
changeset
|
40 import de.intevation.gnv.chart.Chart; |
68
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
41 import de.intevation.gnv.chart.ChartLabels; |
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
42 import de.intevation.gnv.chart.ChartStyle; |
299
d6c75171f1e9
Pass the xml document of the request to OutputTransition for more information about output formats of charts (png,jpeg).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
253
diff
changeset
|
43 import de.intevation.gnv.chart.TimeSeriesChart; |
68
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
44 import de.intevation.gnv.chart.exception.TechnicalChartException; |
232
3d6d89bcbf42
Added special Data-Selection to the ODV-Exports of TimeSeries on TimeSeriesPoints. issue68
Tim Englich <tim.englich@intevation.de>
parents:
230
diff
changeset
|
45 import de.intevation.gnv.exports.DefaultExport; |
301
3ea030aafe65
Removed duplicated and needless imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
300
diff
changeset
|
46 import de.intevation.gnv.exports.DefaultDataCollector; |
3ea030aafe65
Removed duplicated and needless imports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
300
diff
changeset
|
47 import de.intevation.gnv.exports.SimpleOdvDataCollector; |
232
3d6d89bcbf42
Added special Data-Selection to the ODV-Exports of TimeSeries on TimeSeriesPoints. issue68
Tim Englich <tim.englich@intevation.de>
parents:
230
diff
changeset
|
48 import de.intevation.gnv.exports.DefaultProfile; |
3d6d89bcbf42
Added special Data-Selection to the ODV-Exports of TimeSeries on TimeSeriesPoints. issue68
Tim Englich <tim.englich@intevation.de>
parents:
230
diff
changeset
|
49 import de.intevation.gnv.exports.Export.Profile; |
68
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
50 import de.intevation.gnv.geobackend.base.Result; |
95
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
51 import de.intevation.gnv.statistics.Statistic; |
253
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
52 import de.intevation.gnv.statistics.StatisticSet; |
98
156db25ad4b4
Add Statisticssupport also to VerticalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
95
diff
changeset
|
53 import de.intevation.gnv.statistics.Statistics; |
95
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
54 import de.intevation.gnv.statistics.TimeseriesStatistics; |
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
55 import de.intevation.gnv.statistics.exception.StatisticsException; |
217
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
56 import de.intevation.gnv.timeseries.gap.DefaultTimeGap; |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
57 import de.intevation.gnv.timeseries.gap.TimeGap; |
91
bd284d8306db
Added Support for Patameters in OutputModes
Tim Englich <tim.englich@intevation.de>
parents:
90
diff
changeset
|
58 import de.intevation.gnv.transition.InputData; |
64
5db77e0a8594
Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
59 import de.intevation.gnv.transition.OutputTransitionBase; |
68
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
60 import de.intevation.gnv.transition.describedata.KeyValueDescibeData; |
81
9b41f3688610
Added Support for TimeSeriesMesh
Tim Englich <tim.englich@intevation.de>
parents:
73
diff
changeset
|
61 import de.intevation.gnv.transition.describedata.NamedCollection; |
68
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
62 import de.intevation.gnv.transition.exception.TransitionException; |
95
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
63 import de.intevation.gnv.utils.ArtifactXMLUtilities; |
64
5db77e0a8594
Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
64 |
230
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
65 |
64
5db77e0a8594
Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
66 /** |
5db77e0a8594
Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
67 * @author Tim Englich <tim.englich@intevation.de> |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
68 * |
64
5db77e0a8594
Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
69 */ |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
70 public class TimeSeriesOutputTransition extends OutputTransitionBase { |
86
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
71 |
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:
299
diff
changeset
|
72 protected static final boolean 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:
299
diff
changeset
|
73 Boolean.parseBoolean(System.getProperty("cache.chart", "false")); |
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:
299
diff
changeset
|
74 |
86
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
75 /** |
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
76 * The UID of this Class |
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
77 */ |
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
78 private static final long serialVersionUID = 4178407570503098858L; |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
79 |
68
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
80 /** |
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
81 * the logger, used to log exceptions and additonaly information |
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
82 */ |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
83 private static Logger log = Logger |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
84 .getLogger(TimeSeriesOutputTransition.class); |
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:
299
diff
changeset
|
85 |
217
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
86 private static List<TimeGap> timeGapDefinitions = null; |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
87 |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
88 protected String domainLable = "Zeit [UTC]"; |
171
7fb9441dd8af
Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents:
119
diff
changeset
|
89 |
119 | 90 protected String featureValuesName = "featureid"; |
91 protected String parameterValuesName = "parameterid"; | |
92 protected String measuremenValueName = "measurementid"; | |
179
f2c76f35da5a
Added missing Class Description Values to the Horizontal Profile Charts
Tim Englich <tim.englich@intevation.de>
parents:
178
diff
changeset
|
93 protected String dateValueName = "dateid"; |
230
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
94 |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
95 public static final String [] TIMESERIES_CSV_PROFILE_NAMES = { |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
96 "XORDINATE", |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
97 "YORDINATE", |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
98 "GROUP1", |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
99 "GROUP2", |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
100 "GROUP3" |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
101 }; |
232
3d6d89bcbf42
Added special Data-Selection to the ODV-Exports of TimeSeries on TimeSeriesPoints. issue68
Tim Englich <tim.englich@intevation.de>
parents:
230
diff
changeset
|
102 |
3d6d89bcbf42
Added special Data-Selection to the ODV-Exports of TimeSeries on TimeSeriesPoints. issue68
Tim Englich <tim.englich@intevation.de>
parents:
230
diff
changeset
|
103 public static final String [] TIMESERIES_ODV_PROFILE_NAMES = { |
3d6d89bcbf42
Added special Data-Selection to the ODV-Exports of TimeSeries on TimeSeriesPoints. issue68
Tim Englich <tim.englich@intevation.de>
parents:
230
diff
changeset
|
104 "CRUISE", |
3d6d89bcbf42
Added special Data-Selection to the ODV-Exports of TimeSeries on TimeSeriesPoints. issue68
Tim Englich <tim.englich@intevation.de>
parents:
230
diff
changeset
|
105 "STATION", |
3d6d89bcbf42
Added special Data-Selection to the ODV-Exports of TimeSeries on TimeSeriesPoints. issue68
Tim Englich <tim.englich@intevation.de>
parents:
230
diff
changeset
|
106 "TYPE", |
238
a157c6042cb4
ODV-export for timeseries completed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
233
diff
changeset
|
107 "SHAPE", |
232
3d6d89bcbf42
Added special Data-Selection to the ODV-Exports of TimeSeries on TimeSeriesPoints. issue68
Tim Englich <tim.englich@intevation.de>
parents:
230
diff
changeset
|
108 "BOTDEPTH", |
247
af474a541f74
Sort Columns to the given order of the ODV-Specification
Tim Englich <tim.englich@intevation.de>
parents:
241
diff
changeset
|
109 "DEPTH", |
af474a541f74
Sort Columns to the given order of the ODV-Specification
Tim Englich <tim.englich@intevation.de>
parents:
241
diff
changeset
|
110 "TIMEVALUE", |
af474a541f74
Sort Columns to the given order of the ODV-Specification
Tim Englich <tim.englich@intevation.de>
parents:
241
diff
changeset
|
111 "DATAVALUE", |
af474a541f74
Sort Columns to the given order of the ODV-Specification
Tim Englich <tim.englich@intevation.de>
parents:
241
diff
changeset
|
112 "PARAMETER" |
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:
238
diff
changeset
|
113 }; |
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:
238
diff
changeset
|
114 |
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:
238
diff
changeset
|
115 |
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:
238
diff
changeset
|
116 public static final String [] ODV_COLUMN_HEADER = { |
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:
238
diff
changeset
|
117 "Cruise", |
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:
238
diff
changeset
|
118 "Station", |
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:
238
diff
changeset
|
119 "Type", |
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:
238
diff
changeset
|
120 "Longitude [deegrees_east]", |
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:
238
diff
changeset
|
121 "Latitude [deegrees_north]", |
241
8500529d82af
Added ODV-Export to VerticalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
239
diff
changeset
|
122 "Bot. Depth [m]", |
247
af474a541f74
Sort Columns to the given order of the ODV-Specification
Tim Englich <tim.englich@intevation.de>
parents:
241
diff
changeset
|
123 "Depth [m]", |
af474a541f74
Sort Columns to the given order of the ODV-Specification
Tim Englich <tim.englich@intevation.de>
parents:
241
diff
changeset
|
124 "Date/Time", |
af474a541f74
Sort Columns to the given order of the ODV-Specification
Tim Englich <tim.englich@intevation.de>
parents:
241
diff
changeset
|
125 "Value", |
af474a541f74
Sort Columns to the given order of the ODV-Specification
Tim Englich <tim.englich@intevation.de>
parents:
241
diff
changeset
|
126 "Parameterid" |
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:
238
diff
changeset
|
127 }; |
230
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
128 |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
129 /** |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
130 * Profile for exporting data to cvs |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
131 */ |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
132 public static final Profile TIMESERIES_CSV_PROFILE = |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
133 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:
238
diff
changeset
|
134 null, |
230
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
135 ',', |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
136 '"', |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
137 '"', |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
138 "CSV", |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
139 "ISO-8859-1"); |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
140 |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
141 /** |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
142 * Profile for exporting data to odv |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
143 * TODO Change TIMESERIES_PROFILE_NAMES, which belong to CSV exports |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
144 */ |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
145 public static final Profile TIMESERIES_ODV_PROFILE = |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
146 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:
238
diff
changeset
|
147 ODV_COLUMN_HEADER, |
230
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
148 '\t', |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
149 CSVWriter.NO_QUOTE_CHARACTER, |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
150 CSVWriter.NO_ESCAPE_CHARACTER, |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
151 "ODV", |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
152 "ISO-8859-1"); |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
153 |
64
5db77e0a8594
Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
154 /** |
5db77e0a8594
Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
155 * Constructor |
5db77e0a8594
Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
156 */ |
5db77e0a8594
Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
157 public TimeSeriesOutputTransition() { |
5db77e0a8594
Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
158 super(); |
5db77e0a8594
Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
159 } |
5db77e0a8594
Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
160 |
5db77e0a8594
Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
161 /** |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
162 * @see de.intevation.gnv.transition.OutputTransition#out(java.lang.String, |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
163 * java.util.Collection, java.io.OutputStream, java.lang.String, |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
164 * de.intevation.artifacts.CallMeta) |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
165 */ |
299
d6c75171f1e9
Pass the xml document of the request to OutputTransition for more information about output formats of charts (png,jpeg).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
253
diff
changeset
|
166 public void out(Document format, Collection<InputData> inputData, |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
167 OutputStream outputStream, String uuid, CallMeta callMeta) |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
168 throws TransitionException { |
90
6bdef6e590d6
Added CSV-Support and do some performanceimprovments
Tim Englich <tim.englich@intevation.de>
parents:
86
diff
changeset
|
169 log.debug("TimeSeriesOutputTransition.out"); |
299
d6c75171f1e9
Pass the xml document of the request to OutputTransition for more information about output formats of charts (png,jpeg).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
253
diff
changeset
|
170 String outputMode = Config.getStringXPath(format, "action/out/@name"); |
68
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
171 try { |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
172 |
232
3d6d89bcbf42
Added special Data-Selection to the ODV-Exports of TimeSeries on TimeSeriesPoints. issue68
Tim Englich <tim.englich@intevation.de>
parents:
230
diff
changeset
|
173 this.advance(uuid, callMeta); // TODO This hsould only be done if it is nessessary |
3d6d89bcbf42
Added special Data-Selection to the ODV-Exports of TimeSeries on TimeSeriesPoints. issue68
Tim Englich <tim.englich@intevation.de>
parents:
230
diff
changeset
|
174 |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
175 if (outputMode.equalsIgnoreCase("chart")) { |
90
6bdef6e590d6
Added CSV-Support and do some performanceimprovments
Tim Englich <tim.englich@intevation.de>
parents:
86
diff
changeset
|
176 log.debug("Chart will be generated."); |
91
bd284d8306db
Added Support for Patameters in OutputModes
Tim Englich <tim.englich@intevation.de>
parents:
90
diff
changeset
|
177 int chartWidth = 600; |
bd284d8306db
Added Support for Patameters in OutputModes
Tim Englich <tim.englich@intevation.de>
parents:
90
diff
changeset
|
178 int chartHeight = 400; |
bd284d8306db
Added Support for Patameters in OutputModes
Tim Englich <tim.englich@intevation.de>
parents:
90
diff
changeset
|
179 try { |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
180 if (inputData != null) { |
91
bd284d8306db
Added Support for Patameters in OutputModes
Tim Englich <tim.englich@intevation.de>
parents:
90
diff
changeset
|
181 Iterator<InputData> it = inputData.iterator(); |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
182 while (it.hasNext()) { |
91
bd284d8306db
Added Support for Patameters in OutputModes
Tim Englich <tim.englich@intevation.de>
parents:
90
diff
changeset
|
183 InputData ip = it.next(); |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
184 if (ip.getName().equalsIgnoreCase("width")) { |
91
bd284d8306db
Added Support for Patameters in OutputModes
Tim Englich <tim.englich@intevation.de>
parents:
90
diff
changeset
|
185 chartWidth = Integer.parseInt(ip.getValue()); |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
186 } else if (ip.getName().equalsIgnoreCase("height")) { |
91
bd284d8306db
Added Support for Patameters in OutputModes
Tim Englich <tim.englich@intevation.de>
parents:
90
diff
changeset
|
187 chartHeight = Integer.parseInt(ip.getValue()); |
bd284d8306db
Added Support for Patameters in OutputModes
Tim Englich <tim.englich@intevation.de>
parents:
90
diff
changeset
|
188 } |
bd284d8306db
Added Support for Patameters in OutputModes
Tim Englich <tim.englich@intevation.de>
parents:
90
diff
changeset
|
189 } |
bd284d8306db
Added Support for Patameters in OutputModes
Tim Englich <tim.englich@intevation.de>
parents:
90
diff
changeset
|
190 } |
bd284d8306db
Added Support for Patameters in OutputModes
Tim Englich <tim.englich@intevation.de>
parents:
90
diff
changeset
|
191 } catch (NumberFormatException e) { |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
192 log.error(e, e); |
91
bd284d8306db
Added Support for Patameters in OutputModes
Tim Englich <tim.englich@intevation.de>
parents:
90
diff
changeset
|
193 throw new TransitionException(e); |
bd284d8306db
Added Support for Patameters in OutputModes
Tim Englich <tim.englich@intevation.de>
parents:
90
diff
changeset
|
194 } |
207
d87347142702
Store the Results of an Artifact not in the Artifact but in an ehcache instance. issue3
Tim Englich <tim.englich@intevation.de>
parents:
179
diff
changeset
|
195 Collection<KeyValueDescibeData> parameters = this.getParameters(uuid); |
d87347142702
Store the Results of an Artifact not in the Artifact but in an ehcache instance. issue3
Tim Englich <tim.englich@intevation.de>
parents:
179
diff
changeset
|
196 Collection<KeyValueDescibeData> measurements = this.getMeasurements(uuid); |
d87347142702
Store the Results of an Artifact not in the Artifact but in an ehcache instance. issue3
Tim Englich <tim.englich@intevation.de>
parents:
179
diff
changeset
|
197 Collection<KeyValueDescibeData> dates = this.getDates(uuid); |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
198 ChartStyle chartStyle = this |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
199 .creatStyle(chartWidth, chartHeight); |
178
9bcf315f57e4
Added Name of FIS to the Title of Charts
Tim Englich <tim.englich@intevation.de>
parents:
177
diff
changeset
|
200 ChartLabels chartLables = new ChartLabels(this.getFisName(callMeta.getLanguages())+" "+this |
207
d87347142702
Store the Results of an Artifact not in the Artifact but in an ehcache instance. issue3
Tim Englich <tim.englich@intevation.de>
parents:
179
diff
changeset
|
201 .getSelectedFeatureName(uuid), this.domainLable); |
179
f2c76f35da5a
Added missing Class Description Values to the Horizontal Profile Charts
Tim Englich <tim.englich@intevation.de>
parents:
178
diff
changeset
|
202 this.createChart(outputStream, parameters, measurements,dates, |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
203 chartStyle, chartLables, uuid); |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
204 } else if (outputMode.equalsIgnoreCase("csv")) { |
90
6bdef6e590d6
Added CSV-Support and do some performanceimprovments
Tim Englich <tim.englich@intevation.de>
parents:
86
diff
changeset
|
205 log.debug("CSV-File will be generated."); |
232
3d6d89bcbf42
Added special Data-Selection to the ODV-Exports of TimeSeries on TimeSeriesPoints. issue68
Tim Englich <tim.englich@intevation.de>
parents:
230
diff
changeset
|
206 Collection<Result> chartResult = this.getChartResult(uuid); |
177
08b8b79b30ff
Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
171
diff
changeset
|
207 this.createCSV(outputStream, chartResult); |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
208 } else if (outputMode.equalsIgnoreCase("statistics")) { |
95
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
209 log.debug("Statistics will be generated."); |
98
156db25ad4b4
Add Statisticssupport also to VerticalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
95
diff
changeset
|
210 Statistics s = getStatisticsGenerator(); |
232
3d6d89bcbf42
Added special Data-Selection to the ODV-Exports of TimeSeries on TimeSeriesPoints. issue68
Tim Englich <tim.englich@intevation.de>
parents:
230
diff
changeset
|
211 Collection<Result> chartResult = this.getChartResult(uuid); |
253
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
212 Collection<KeyValueDescibeData> parameters = |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
213 this.getParameters(uuid); |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
214 Collection<KeyValueDescibeData> measurements = |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
215 this.getMeasurements(uuid); |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
216 Collection<KeyValueDescibeData> dates = |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
217 this.getDates(uuid); |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
218 Collection<StatisticSet> statistics = |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
219 s.calculateStatistics(chartResult, |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
220 parameters, |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
221 measurements, |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
222 dates); |
95
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
223 Document doc = this.writeStatistics2XML(statistics); |
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
224 this.writeDocument2OutputStream(doc, outputStream); |
230
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
225 } else if (outputMode.equalsIgnoreCase("odv")) { |
232
3d6d89bcbf42
Added special Data-Selection to the ODV-Exports of TimeSeries on TimeSeriesPoints. issue68
Tim Englich <tim.englich@intevation.de>
parents:
230
diff
changeset
|
226 |
3d6d89bcbf42
Added special Data-Selection to the ODV-Exports of TimeSeries on TimeSeriesPoints. issue68
Tim Englich <tim.englich@intevation.de>
parents:
230
diff
changeset
|
227 Collection<Result> odvResult = this.getODVResult(uuid); |
3d6d89bcbf42
Added special Data-Selection to the ODV-Exports of TimeSeries on TimeSeriesPoints. issue68
Tim Englich <tim.englich@intevation.de>
parents:
230
diff
changeset
|
228 this.createODV(outputStream, odvResult); |
90
6bdef6e590d6
Added CSV-Support and do some performanceimprovments
Tim Englich <tim.englich@intevation.de>
parents:
86
diff
changeset
|
229 } |
68
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
230 } catch (IOException e) { |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
231 log.error(e, e); |
68
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
232 throw new TransitionException(e); |
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
233 } catch (TechnicalChartException e) { |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
234 log.error(e, e); |
68
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
235 throw new TransitionException(e); |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
236 } catch (StatisticsException e) { |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
237 log.error(e, e); |
95
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
238 throw new TransitionException(e); |
68
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
239 } |
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
240 } |
98
156db25ad4b4
Add Statisticssupport also to VerticalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
95
diff
changeset
|
241 |
230
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
242 |
98
156db25ad4b4
Add Statisticssupport also to VerticalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
95
diff
changeset
|
243 /** |
177
08b8b79b30ff
Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
171
diff
changeset
|
244 * @param outputStream |
08b8b79b30ff
Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
171
diff
changeset
|
245 * @param chartResult |
08b8b79b30ff
Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
171
diff
changeset
|
246 * @throws UnsupportedEncodingException |
08b8b79b30ff
Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
171
diff
changeset
|
247 * @throws IOException |
08b8b79b30ff
Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
171
diff
changeset
|
248 * @throws TransitionException |
08b8b79b30ff
Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
171
diff
changeset
|
249 */ |
08b8b79b30ff
Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
171
diff
changeset
|
250 protected void createCSV(OutputStream outputStream, |
08b8b79b30ff
Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
171
diff
changeset
|
251 Collection<Result> chartResult) |
08b8b79b30ff
Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
171
diff
changeset
|
252 throws UnsupportedEncodingException, |
08b8b79b30ff
Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
171
diff
changeset
|
253 IOException, |
08b8b79b30ff
Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
171
diff
changeset
|
254 TransitionException { |
233
2ceb4bf51cba
Added DataCollector which collects data used for exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
232
diff
changeset
|
255 DefaultExport export = new DefaultExport(new DefaultDataCollector( |
2ceb4bf51cba
Added DataCollector which collects data used for exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
232
diff
changeset
|
256 TIMESERIES_CSV_PROFILE_NAMES)); |
230
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
257 |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
258 export.create(TIMESERIES_CSV_PROFILE, outputStream, chartResult); |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
259 } |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
260 |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
261 /** |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
262 * TODO Result is not used at the moment. Change result with correct data. |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
263 */ |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
264 protected void createODV(OutputStream outputStream, Collection result) |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
265 throws IOException, TransitionException { |
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
266 |
238
a157c6042cb4
ODV-export for timeseries completed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
233
diff
changeset
|
267 DefaultExport export = new DefaultExport(new SimpleOdvDataCollector( |
a157c6042cb4
ODV-export for timeseries completed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
233
diff
changeset
|
268 TIMESERIES_ODV_PROFILE_NAMES)); |
230
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
269 |
238
a157c6042cb4
ODV-export for timeseries completed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
233
diff
changeset
|
270 if (result == null) |
a157c6042cb4
ODV-export for timeseries completed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
233
diff
changeset
|
271 log.error("#################### RESULT == NULL #################"); |
230
f68ffbe974a0
Implemented an exporter for odv and csv exports.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
220
diff
changeset
|
272 export.create(TIMESERIES_ODV_PROFILE, outputStream, result); |
177
08b8b79b30ff
Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
171
diff
changeset
|
273 } |
08b8b79b30ff
Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
171
diff
changeset
|
274 |
08b8b79b30ff
Integrated special CSV-Export for HorizontalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
171
diff
changeset
|
275 /** |
98
156db25ad4b4
Add Statisticssupport also to VerticalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
95
diff
changeset
|
276 * @return |
156db25ad4b4
Add Statisticssupport also to VerticalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
95
diff
changeset
|
277 */ |
156db25ad4b4
Add Statisticssupport also to VerticalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
95
diff
changeset
|
278 protected Statistics getStatisticsGenerator() { |
156db25ad4b4
Add Statisticssupport also to VerticalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
95
diff
changeset
|
279 Statistics s = new TimeseriesStatistics(); |
156db25ad4b4
Add Statisticssupport also to VerticalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
95
diff
changeset
|
280 return s; |
156db25ad4b4
Add Statisticssupport also to VerticalProfiles
Tim Englich <tim.englich@intevation.de>
parents:
95
diff
changeset
|
281 } |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
282 |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
283 protected void writeDocument2OutputStream(Document document, OutputStream os) { |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
284 |
95
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
285 try { |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
286 TransformerFactory transformerFactory = TransformerFactory |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
287 .newInstance(); |
95
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
288 Transformer transformer = transformerFactory.newTransformer(); |
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
289 DOMSource source = new DOMSource(document); |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
290 StreamResult result = new StreamResult(os); |
95
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
291 transformer.transform(source, result); |
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
292 } catch (TransformerConfigurationException e) { |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
293 log.error(e, e); |
95
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
294 } catch (TransformerFactoryConfigurationError e) { |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
295 log.error(e, e); |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
296 } catch (TransformerException e) { |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
297 log.error(e, e); |
95
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
298 } |
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
299 } |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
300 |
253
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
301 protected Document writeStatistics2XML( Collection<StatisticSet> statistic) { |
95
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
302 ArtifactXMLUtilities xmlUtilities = new ArtifactXMLUtilities(); |
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
303 Document doc = XMLUtils.newDocument(); |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
304 if (statistic != null) { |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
305 Node statisticResults = xmlUtilities.createArtifactElement(doc, |
253
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
306 "statistics"); |
95
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
307 doc.appendChild(statisticResults); |
253
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
308 Iterator<StatisticSet> it = statistic.iterator(); |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
309 while (it.hasNext()) { |
253
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
310 StatisticSet set = it.next(); |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
311 Element setElement = xmlUtilities.createArtifactElement(doc, |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
312 "statistic"); |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
313 setElement.setAttribute("name", set.getName()); |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
314 |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
315 Iterator<Statistic> sit = set.getStatistics().iterator(); |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
316 while (sit.hasNext()){ |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
317 Statistic s = sit.next(); |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
318 Element result = xmlUtilities.createArtifactElement(doc, |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
319 "statistic-value"); |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
320 result.setAttribute("name", s.getKey()); |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
321 result.setAttribute("value", s.getStringValue()); |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
322 setElement.appendChild(result); |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
323 } |
07650fc6014c
Put a name to each Statistic group which is similar to the name of the
Tim Englich <tim.englich@intevation.de>
parents:
247
diff
changeset
|
324 statisticResults.appendChild(setElement); |
95
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
325 } |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
326 |
95
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
327 } |
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
328 return doc; |
13402ac8d8fe
Put the Statisticscalulation to the Outmethod of the OutputTransition.
Tim Englich <tim.englich@intevation.de>
parents:
91
diff
changeset
|
329 } |
68
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
330 |
207
d87347142702
Store the Results of an Artifact not in the Artifact but in an ehcache instance. issue3
Tim Englich <tim.englich@intevation.de>
parents:
179
diff
changeset
|
331 protected String getSelectedFeatureName(String uuid) { |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
332 Collection<KeyValueDescibeData> values = this |
207
d87347142702
Store the Results of an Artifact not in the Artifact but in an ehcache instance. issue3
Tim Englich <tim.englich@intevation.de>
parents:
179
diff
changeset
|
333 .getCollection(featureValuesName, uuid); |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
334 if (values != null) { |
86
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
335 Iterator<KeyValueDescibeData> it = values.iterator(); |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
336 while (it.hasNext()) { |
86
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
337 KeyValueDescibeData data = it.next(); |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
338 if (data.isSelected()) { |
86
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
339 return data.getValue(); |
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
340 } |
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
341 } |
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
342 } |
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
343 return null; |
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
344 } |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
345 |
86
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
346 /** |
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
347 * @param outputStream |
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
348 * @param parameters |
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
349 * @param measurements |
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
350 * @param timeSeriesName |
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
351 * @param chartStyle |
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
352 * @param chartLables |
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
353 * @throws IOException |
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
354 * @throws TechnicalChartException |
5d4f5d26bb7a
Some Codecleanup done
Tim Englich <tim.englich@intevation.de>
parents:
82
diff
changeset
|
355 */ |
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:
299
diff
changeset
|
356 protected void createChart( |
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:
299
diff
changeset
|
357 OutputStream outputStream, |
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:
299
diff
changeset
|
358 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:
299
diff
changeset
|
359 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:
299
diff
changeset
|
360 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:
299
diff
changeset
|
361 ChartStyle chartStyle, |
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:
299
diff
changeset
|
362 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:
299
diff
changeset
|
363 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:
299
diff
changeset
|
364 ) |
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:
299
diff
changeset
|
365 throws IOException, TechnicalChartException |
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:
299
diff
changeset
|
366 { |
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:
299
diff
changeset
|
367 log.debug("Create 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:
299
diff
changeset
|
368 Chart 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:
299
diff
changeset
|
369 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:
299
diff
changeset
|
370 null, // 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:
299
diff
changeset
|
371 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:
299
diff
changeset
|
372 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:
299
diff
changeset
|
373 getChartResult(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:
299
diff
changeset
|
374 timeGapDefinitions, |
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:
299
diff
changeset
|
375 null, // 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:
299
diff
changeset
|
376 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:
299
diff
changeset
|
377 ); |
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:
299
diff
changeset
|
378 |
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:
299
diff
changeset
|
379 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:
299
diff
changeset
|
380 log.error("Could not initialize 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:
299
diff
changeset
|
381 return; |
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:
299
diff
changeset
|
382 } |
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:
299
diff
changeset
|
383 |
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:
299
diff
changeset
|
384 // TODO generic format |
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:
299
diff
changeset
|
385 Dimension dim = chartStyle.getChartSize(); |
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:
299
diff
changeset
|
386 String format = "PNG"; |
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:
299
diff
changeset
|
387 int width = new Double(dim.getWidth()).intValue(); |
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:
299
diff
changeset
|
388 int height = new Double(dim.getHeight()).intValue(); |
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:
299
diff
changeset
|
389 |
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:
299
diff
changeset
|
390 log.debug("export chart as " + format + " in " + width + "x" + height); |
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:
299
diff
changeset
|
391 ImageIO.write(chart.exportPNG(width, height), format, outputStream); |
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:
299
diff
changeset
|
392 } |
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:
299
diff
changeset
|
393 |
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:
299
diff
changeset
|
394 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:
299
diff
changeset
|
395 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:
299
diff
changeset
|
396 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:
299
diff
changeset
|
397 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:
299
diff
changeset
|
398 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:
299
diff
changeset
|
399 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:
299
diff
changeset
|
400 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:
299
diff
changeset
|
401 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:
299
diff
changeset
|
402 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:
299
diff
changeset
|
403 ) { |
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:
299
diff
changeset
|
404 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:
299
diff
changeset
|
405 |
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:
299
diff
changeset
|
406 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:
299
diff
changeset
|
407 log.info("Try to get timeseries 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:
299
diff
changeset
|
408 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:
299
diff
changeset
|
409 } |
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:
299
diff
changeset
|
410 |
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:
299
diff
changeset
|
411 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:
299
diff
changeset
|
412 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:
299
diff
changeset
|
413 |
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:
299
diff
changeset
|
414 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:
299
diff
changeset
|
415 chart = new TimeSeriesChart( |
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:
299
diff
changeset
|
416 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:
299
diff
changeset
|
417 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:
299
diff
changeset
|
418 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:
299
diff
changeset
|
419 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:
299
diff
changeset
|
420 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:
299
diff
changeset
|
421 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:
299
diff
changeset
|
422 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:
299
diff
changeset
|
423 ); |
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:
299
diff
changeset
|
424 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:
299
diff
changeset
|
425 |
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:
299
diff
changeset
|
426 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:
299
diff
changeset
|
427 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:
299
diff
changeset
|
428 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:
299
diff
changeset
|
429 } |
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:
299
diff
changeset
|
430 |
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:
299
diff
changeset
|
431 return chart; |
68
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
432 } |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
433 |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
434 protected ChartStyle creatStyle(int witdh, int height) { |
68
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
435 // TODO Konfigurierbar machen |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
436 de.intevation.gnv.chart.Insets lInsets = new de.intevation.gnv.chart.Insets( |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
437 5d, 5d, 5d, 5d); |
68
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
438 Dimension lChartSize = new Dimension(witdh, height); |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
439 return new ChartStyle(Color.white, new Color(230, 230, 230), |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
440 Color.white, Color.white, true, true, lInsets, lChartSize); |
68
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
441 } |
178
9bcf315f57e4
Added Name of FIS to the Title of Charts
Tim Englich <tim.englich@intevation.de>
parents:
177
diff
changeset
|
442 |
9bcf315f57e4
Added Name of FIS to the Title of Charts
Tim Englich <tim.englich@intevation.de>
parents:
177
diff
changeset
|
443 protected String getFisName(PreferredLocale[] preferredLocales){ |
9bcf315f57e4
Added Name of FIS to the Title of Charts
Tim Englich <tim.englich@intevation.de>
parents:
177
diff
changeset
|
444 String returnValue = ""; |
9bcf315f57e4
Added Name of FIS to the Title of Charts
Tim Englich <tim.englich@intevation.de>
parents:
177
diff
changeset
|
445 InputData inputData = this.inputData.get("fisname"); |
9bcf315f57e4
Added Name of FIS to the Title of Charts
Tim Englich <tim.englich@intevation.de>
parents:
177
diff
changeset
|
446 if (inputData != null){ |
9bcf315f57e4
Added Name of FIS to the Title of Charts
Tim Englich <tim.englich@intevation.de>
parents:
177
diff
changeset
|
447 returnValue = RessourceFactory.getInstance() |
9bcf315f57e4
Added Name of FIS to the Title of Charts
Tim Englich <tim.englich@intevation.de>
parents:
177
diff
changeset
|
448 .getRessource(preferredLocales, |
9bcf315f57e4
Added Name of FIS to the Title of Charts
Tim Englich <tim.englich@intevation.de>
parents:
177
diff
changeset
|
449 inputData.getValue(), |
9bcf315f57e4
Added Name of FIS to the Title of Charts
Tim Englich <tim.englich@intevation.de>
parents:
177
diff
changeset
|
450 inputData.getValue()); |
9bcf315f57e4
Added Name of FIS to the Title of Charts
Tim Englich <tim.englich@intevation.de>
parents:
177
diff
changeset
|
451 } |
9bcf315f57e4
Added Name of FIS to the Title of Charts
Tim Englich <tim.englich@intevation.de>
parents:
177
diff
changeset
|
452 return returnValue; |
9bcf315f57e4
Added Name of FIS to the Title of Charts
Tim Englich <tim.englich@intevation.de>
parents:
177
diff
changeset
|
453 } |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
454 |
207
d87347142702
Store the Results of an Artifact not in the Artifact but in an ehcache instance. issue3
Tim Englich <tim.englich@intevation.de>
parents:
179
diff
changeset
|
455 protected Collection<KeyValueDescibeData> getParameters(String uuid) { |
d87347142702
Store the Results of an Artifact not in the Artifact but in an ehcache instance. issue3
Tim Englich <tim.englich@intevation.de>
parents:
179
diff
changeset
|
456 return this.getCollection(parameterValuesName, uuid); |
64
5db77e0a8594
Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
457 } |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
458 |
207
d87347142702
Store the Results of an Artifact not in the Artifact but in an ehcache instance. issue3
Tim Englich <tim.englich@intevation.de>
parents:
179
diff
changeset
|
459 protected Collection<KeyValueDescibeData> getMeasurements(String uuid) { |
d87347142702
Store the Results of an Artifact not in the Artifact but in an ehcache instance. issue3
Tim Englich <tim.englich@intevation.de>
parents:
179
diff
changeset
|
460 return this.getCollection(measuremenValueName, uuid); |
119 | 461 } |
207
d87347142702
Store the Results of an Artifact not in the Artifact but in an ehcache instance. issue3
Tim Englich <tim.englich@intevation.de>
parents:
179
diff
changeset
|
462 protected Collection<KeyValueDescibeData> getDates(String uuid) { |
d87347142702
Store the Results of an Artifact not in the Artifact but in an ehcache instance. issue3
Tim Englich <tim.englich@intevation.de>
parents:
179
diff
changeset
|
463 return this.getCollection(dateValueName,uuid); |
179
f2c76f35da5a
Added missing Class Description Values to the Horizontal Profile Charts
Tim Englich <tim.englich@intevation.de>
parents:
178
diff
changeset
|
464 } |
119 | 465 |
466 @Override | |
467 public void setup(Node configuration) { | |
468 super.setup(configuration); | |
171
7fb9441dd8af
Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents:
119
diff
changeset
|
469 String featureNameValue = Config.getStringXPath(configuration, |
7fb9441dd8af
Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents:
119
diff
changeset
|
470 "value-names/value-name[@name='feature']/@value"); |
7fb9441dd8af
Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents:
119
diff
changeset
|
471 if (featureNameValue != null) { |
119 | 472 this.featureValuesName = featureNameValue; |
473 } | |
171
7fb9441dd8af
Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents:
119
diff
changeset
|
474 String parameterNameValue = Config.getStringXPath(configuration, |
7fb9441dd8af
Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents:
119
diff
changeset
|
475 "value-names/value-name[@name='parameter']/@value"); |
7fb9441dd8af
Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents:
119
diff
changeset
|
476 if (parameterNameValue != null) { |
119 | 477 this.parameterValuesName = parameterNameValue; |
478 } | |
171
7fb9441dd8af
Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents:
119
diff
changeset
|
479 String measurementNameValue = Config.getStringXPath(configuration, |
7fb9441dd8af
Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents:
119
diff
changeset
|
480 "value-names/value-name[@name='measurement']/@value"); |
7fb9441dd8af
Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents:
119
diff
changeset
|
481 if (measurementNameValue != null) { |
119 | 482 this.measuremenValueName = measurementNameValue; |
483 } | |
179
f2c76f35da5a
Added missing Class Description Values to the Horizontal Profile Charts
Tim Englich <tim.englich@intevation.de>
parents:
178
diff
changeset
|
484 |
f2c76f35da5a
Added missing Class Description Values to the Horizontal Profile Charts
Tim Englich <tim.englich@intevation.de>
parents:
178
diff
changeset
|
485 String dateNameValue = Config.getStringXPath(configuration, |
f2c76f35da5a
Added missing Class Description Values to the Horizontal Profile Charts
Tim Englich <tim.englich@intevation.de>
parents:
178
diff
changeset
|
486 "value-names/value-name[@name='date']/@value"); |
f2c76f35da5a
Added missing Class Description Values to the Horizontal Profile Charts
Tim Englich <tim.englich@intevation.de>
parents:
178
diff
changeset
|
487 if (dateNameValue != null) { |
f2c76f35da5a
Added missing Class Description Values to the Horizontal Profile Charts
Tim Englich <tim.englich@intevation.de>
parents:
178
diff
changeset
|
488 this.dateValueName = dateNameValue; |
f2c76f35da5a
Added missing Class Description Values to the Horizontal Profile Charts
Tim Englich <tim.englich@intevation.de>
parents:
178
diff
changeset
|
489 } |
217
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
490 if (timeGapDefinitions == null){ |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
491 Element gapDefinition = (Element)Config.getNodeXPath(configuration, |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
492 "time-gap-definition"); |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
493 synchronized (this.getClass()) { |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
494 if (gapDefinition != null){ |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
495 String link = gapDefinition.getAttribute("xlink:href"); |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
496 if (link != null ){ |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
497 String absolutFileName = Config.replaceConfigDir(link); |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
498 gapDefinition = (Element)new ArtifactXMLUtilities(). |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
499 readConfiguration(absolutFileName); |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
500 } |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
501 |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
502 NodeList gapDefinitions = Config.getNodeSetXPath(gapDefinition, |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
503 "/time-gaps/time-gap"); |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
504 if (gapDefinition != null){ |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
505 timeGapDefinitions = new ArrayList<TimeGap>(gapDefinitions. |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
506 getLength()); |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
507 for (int i = 0; i < gapDefinitions.getLength(); i++){ |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
508 Element gapNode = (Element)gapDefinitions.item(i); |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
509 String unit = gapNode.getAttribute("unit"); |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
510 int key = Integer.parseInt(gapNode.getAttribute("key")); |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
511 int value = Integer.parseInt(gapNode.getAttribute("gap")); |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
512 log.info("Add new Timegap: "+key+" "+value+" "+ unit); |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
513 timeGapDefinitions.add(new DefaultTimeGap(unit, |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
514 key, |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
515 value)); |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
516 } |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
517 } |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
518 |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
519 } |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
520 } |
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
521 } |
82
5eb62df21f9a
Added Support for Vertical Profiles Marnet, STAUN, IMIS
Tim Englich <tim.englich@intevation.de>
parents:
81
diff
changeset
|
522 } |
217
3dcd2b0b456e
Added configurable TimeGap Support to the TimeSeries-Chart-Generation. issu45
Tim Englich <tim.englich@intevation.de>
parents:
207
diff
changeset
|
523 |
82
5eb62df21f9a
Added Support for Vertical Profiles Marnet, STAUN, IMIS
Tim Englich <tim.englich@intevation.de>
parents:
81
diff
changeset
|
524 /** |
5eb62df21f9a
Added Support for Vertical Profiles Marnet, STAUN, IMIS
Tim Englich <tim.englich@intevation.de>
parents:
81
diff
changeset
|
525 * @param collectionName |
5eb62df21f9a
Added Support for Vertical Profiles Marnet, STAUN, IMIS
Tim Englich <tim.englich@intevation.de>
parents:
81
diff
changeset
|
526 * @return |
5eb62df21f9a
Added Support for Vertical Profiles Marnet, STAUN, IMIS
Tim Englich <tim.englich@intevation.de>
parents:
81
diff
changeset
|
527 */ |
5eb62df21f9a
Added Support for Vertical Profiles Marnet, STAUN, IMIS
Tim Englich <tim.englich@intevation.de>
parents:
81
diff
changeset
|
528 protected Collection<KeyValueDescibeData> getCollection( |
207
d87347142702
Store the Results of an Artifact not in the Artifact but in an ehcache instance. issue3
Tim Englich <tim.englich@intevation.de>
parents:
179
diff
changeset
|
529 String collectionName, |
d87347142702
Store the Results of an Artifact not in the Artifact but in an ehcache instance. issue3
Tim Englich <tim.englich@intevation.de>
parents:
179
diff
changeset
|
530 String uuid) { |
d87347142702
Store the Results of an Artifact not in the Artifact but in an ehcache instance. issue3
Tim Englich <tim.englich@intevation.de>
parents:
179
diff
changeset
|
531 Iterator<Object> it = this.getDescibeData(uuid).iterator(); |
117
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
532 while (it.hasNext()) { |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
533 |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
534 Object o = it.next(); |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
535 |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
536 if (o instanceof NamedCollection<?>) { |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
537 NamedCollection<KeyValueDescibeData> nc = (NamedCollection<KeyValueDescibeData>) o; |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
538 if (nc.getName().equals(collectionName)) { |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
539 return nc; |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
540 } |
ef157bd2fa92
LanguageSupport integrated
Tim Englich <tim.englich@intevation.de>
parents:
99
diff
changeset
|
541 } |
68
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
542 } |
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
543 return null; |
d117fd4b82e5
Chartrendering integrated in Timeseries Transition
Tim Englich <tim.englich@intevation.de>
parents:
64
diff
changeset
|
544 } |
64
5db77e0a8594
Integrated Output Methods and Interfacsstructure
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
545 } |