annotate flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionGenerator.java @ 696:708b270dfd30 facets-slt

OutGenerators use now facets to fetch necessary data. flys-artifacts/branches/facets-slt@2140 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 17 Jun 2011 09:19:43 +0000
parents 45cd58a2a2bb
children 035c0095b427
rev   line source
403
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.exports;
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
420
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
3 import java.awt.Color;
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
4
403
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5 import org.apache.log4j.Logger;
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6
420
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
7 import org.jfree.chart.JFreeChart;
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
8 import org.jfree.chart.plot.XYPlot;
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
9 import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
403
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10 import org.jfree.data.xy.XYSeries;
420
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
11 import org.jfree.data.xy.XYSeriesCollection;
403
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 import org.w3c.dom.Document;
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 import de.intevation.artifacts.Artifact;
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16
695
45cd58a2a2bb OutGenerators doOut() takes a facet object now instead of just its name.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 686
diff changeset
17 import de.intevation.artifactdatabase.state.Facet;
45cd58a2a2bb OutGenerators doOut() takes a facet object now instead of just its name.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 686
diff changeset
18
696
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
19 import de.intevation.flys.artifacts.FLYSArtifact;
403
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 import de.intevation.flys.artifacts.model.WQCKms;
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 import de.intevation.flys.artifacts.model.WQKms;
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 /**
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25 * An OutGenerator that generates discharge longitudinal section curves.
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26 *
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28 */
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29 public class DischargeLongitudinalSectionGenerator
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 extends LongitudinalSectionGenerator
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 {
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 private static Logger logger =
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 Logger.getLogger(DischargeLongitudinalSectionGenerator.class);
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35
420
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
36 /** The storage for the corrected W series to be drawn in this chart.*/
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
37 protected XYSeriesCollection cw;
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
38
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
39
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
40 public DischargeLongitudinalSectionGenerator() {
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
41 super();
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
42
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
43 this.cw = new XYSeriesCollection();
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
44 }
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
45
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
46
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
47 public void addDatasets(JFreeChart chart) {
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
48 super.addDatasets(chart);
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
49
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
50 XYPlot plot = (XYPlot) chart.getPlot();
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
51
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
52 plot.setDataset(2, cw);
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
53 }
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
54
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
55
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
56 protected void adjustPlot(XYPlot plot) {
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
57 super.adjustPlot(plot);
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
58
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
59 // TODO REMOVE THIS CODE, IF WE HAVE INTRODUCED THEMES!
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
60 XYLineAndShapeRenderer rw = (XYLineAndShapeRenderer)
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
61 plot.getRendererForDataset(w);
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
62
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
63 XYLineAndShapeRenderer rcw = null;
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
64 try {
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
65 rcw = (XYLineAndShapeRenderer) rw.clone();
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
66 }
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
67 catch (Exception e) {
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
68 logger.error(e, e);
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
69 }
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
70
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
71 int cwNum = cw.getSeriesCount();
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
72
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
73 for (int i = 0; i < cwNum; i++) {
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
74 rcw.setSeriesPaint(i, Color.RED);
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
75 }
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
76
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
77 plot.setRenderer(2, rcw);
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
78 }
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
79
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
80
686
3dc61e00385e Merged with trunk and introduced hashing of computed values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 450
diff changeset
81 protected void adjustAxes(XYPlot plot) {
3dc61e00385e Merged with trunk and introduced hashing of computed values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 450
diff changeset
82 super.adjustAxes(plot);
3dc61e00385e Merged with trunk and introduced hashing of computed values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 450
diff changeset
83
3dc61e00385e Merged with trunk and introduced hashing of computed values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 450
diff changeset
84 plot.mapDatasetToRangeAxis(2, 1);
3dc61e00385e Merged with trunk and introduced hashing of computed values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 450
diff changeset
85 }
3dc61e00385e Merged with trunk and introduced hashing of computed values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 450
diff changeset
86
3dc61e00385e Merged with trunk and introduced hashing of computed values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 450
diff changeset
87
403
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89 @Override
695
45cd58a2a2bb OutGenerators doOut() takes a facet object now instead of just its name.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 686
diff changeset
90 public void doOut(Artifact artifact, Facet facet, Document attr) {
403
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91 logger.debug("DischargeLongitudinalSectionGenerator.doOut");
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92
696
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
93 String name = facet != null ? facet.getName() : null;
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
94
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
95 FLYSArtifact flys = (FLYSArtifact) artifact;
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
96 Facet f = flys.getNativeFacet(facet);
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
97
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
98 if (name != null && name.equals(DISCHARGE_LONGITUDINAL_W)) {
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
99 doWOut((WQKms) f.getData(artifact, context));
403
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100 }
696
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
101 else if (name != null && name.equals(DISCHARGE_LONGITUDINAL_Q)) {
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
102 doQOut((WQKms) f.getData(artifact, context));
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
103 }
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
104 else if (name != null && name.equals(DISCHARGE_LONGITUDINAL_C)) {
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
105 doCorrectedWOut((WQCKms) f.getData(artifact, context));
403
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
106 }
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
107 else {
696
708b270dfd30 OutGenerators use now facets to fetch necessary data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 695
diff changeset
108 logger.warn("Unknown facet name: " + name);
403
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
109 return;
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
110 }
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
111 }
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
112
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
113
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
114 /**
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
115 * Adds a new series for the corrected W curve.
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
116 *
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
117 * @param wqckms The object that contains the corrected W values.
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
118 */
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
119 protected void doCorrectedWOut(WQCKms wqckms) {
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
120 logger.debug("DischargeLongitudinalSectionGenerator.doCorrectedWOut");
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
121
450
c8bb38115290 Enabled the discharge longitudinal section to be exported as WST.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 420
diff changeset
122 XYSeries series = new XYSeries(getSeriesNameForCorrected(wqckms, "W"));
403
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
123
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
124 double[] target = new double[4];
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
125 int size = wqckms.size();
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
126
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
127 for (int i = 0; i < size; i++) {
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
128 target = wqckms.get(i, target);
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
129
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
130 series.add(target[2], target[3]);
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
131 }
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
132
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133 if (series.getItemCount() > 0) {
420
a0afdda4d4b9 ISSUE-47 Adjusted the line color of W, Q and corrected W curves (temporarilly).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 403
diff changeset
134 cw.addSeries(series);
403
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
135 }
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
136 }
450
c8bb38115290 Enabled the discharge longitudinal section to be exported as WST.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 420
diff changeset
137
c8bb38115290 Enabled the discharge longitudinal section to be exported as WST.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 420
diff changeset
138
c8bb38115290 Enabled the discharge longitudinal section to be exported as WST.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 420
diff changeset
139 protected String getSeriesNameForCorrected(WQKms wqkms, String mode) {
c8bb38115290 Enabled the discharge longitudinal section to be exported as WST.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 420
diff changeset
140 String name = wqkms.getName();
c8bb38115290 Enabled the discharge longitudinal section to be exported as WST.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 420
diff changeset
141
c8bb38115290 Enabled the discharge longitudinal section to be exported as WST.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 420
diff changeset
142 name = name.replace(
c8bb38115290 Enabled the discharge longitudinal section to be exported as WST.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 420
diff changeset
143 "Benutzerdefiniert",
c8bb38115290 Enabled the discharge longitudinal section to be exported as WST.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 420
diff changeset
144 "Benutzerdefiniert [korrigiert]");
c8bb38115290 Enabled the discharge longitudinal section to be exported as WST.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 420
diff changeset
145
c8bb38115290 Enabled the discharge longitudinal section to be exported as WST.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 420
diff changeset
146 String prefix = name != null && name.indexOf(mode) >= 0 ? null : mode;
c8bb38115290 Enabled the discharge longitudinal section to be exported as WST.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 420
diff changeset
147
c8bb38115290 Enabled the discharge longitudinal section to be exported as WST.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 420
diff changeset
148 return prefix != null && prefix.length() > 0
c8bb38115290 Enabled the discharge longitudinal section to be exported as WST.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 420
diff changeset
149 ? prefix + "(" + name +")"
c8bb38115290 Enabled the discharge longitudinal section to be exported as WST.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 420
diff changeset
150 : name;
c8bb38115290 Enabled the discharge longitudinal section to be exported as WST.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 420
diff changeset
151 }
403
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
152 }
1ed48e2ddc1b Added an OutGenerator to create discharge longitudinal section charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
153 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org