Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/exports/process/QOutProcessor.java @ 7075:253d80af5b7f generator-refactoring
More Processor refactoring
- Unify aandf aaf and bundle variable names to bundle
- Factor out diagram inversion code
- Add function with new signature to BedDiffYear and QOut processors
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Fri, 20 Sep 2013 16:25:43 +0200 |
parents | 1011a40ee79c |
children | 3c4efd4b2c19 |
comparison
equal
deleted
inserted
replaced
7074:a2abd87c0d3b | 7075:253d80af5b7f |
---|---|
17 import org.dive4elements.river.artifacts.model.WKms; | 17 import org.dive4elements.river.artifacts.model.WKms; |
18 import org.dive4elements.river.artifacts.model.WQKms; | 18 import org.dive4elements.river.artifacts.model.WQKms; |
19 | 19 |
20 import org.dive4elements.river.exports.StyledSeriesBuilder; | 20 import org.dive4elements.river.exports.StyledSeriesBuilder; |
21 import org.dive4elements.river.exports.XYChartGenerator; | 21 import org.dive4elements.river.exports.XYChartGenerator; |
22 import org.dive4elements.river.exports.DiagramGenerator; | |
22 import org.dive4elements.river.jfree.StyledXYSeries; | 23 import org.dive4elements.river.jfree.StyledXYSeries; |
23 import org.dive4elements.river.themes.ThemeDocument; | 24 import org.dive4elements.river.themes.ThemeDocument; |
24 import org.dive4elements.river.utils.DataUtil; | 25 import org.dive4elements.river.utils.DataUtil; |
25 | 26 |
26 /** | 27 /** |
34 private static final Logger logger = | 35 private static final Logger logger = |
35 Logger.getLogger(QOutProcessor.class); | 36 Logger.getLogger(QOutProcessor.class); |
36 | 37 |
37 @Override | 38 @Override |
38 public void doOut( | 39 public void doOut( |
40 DiagramGenerator generator, | |
41 ArtifactAndFacet bundle, | |
42 ThemeDocument theme, | |
43 boolean visible) { | |
44 CallContext context = generator.getCallContext(); | |
45 WQKms wqkms = (WQKms) bundle.getData(context); | |
46 | |
47 XYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme); | |
48 | |
49 StyledSeriesBuilder.addStepPointsKmQ(series, wqkms); | |
50 | |
51 generator.addAxisSeries(series, axisName, visible); | |
52 | |
53 generator.handleLTRWaterFlowInversion(wqkms); | |
54 } | |
55 | |
56 @Override | |
57 public void doOut( | |
39 XYChartGenerator generator, | 58 XYChartGenerator generator, |
40 ArtifactAndFacet aaf, | 59 ArtifactAndFacet bundle, |
41 ThemeDocument theme, | 60 ThemeDocument theme, |
42 boolean visible, | 61 boolean visible, |
43 int index) | 62 int index) |
44 { | 63 { |
45 CallContext context = generator.getCallContext(); | 64 CallContext context = generator.getCallContext(); |
46 WQKms wqkms = (WQKms) aaf.getData(context); | 65 WQKms wqkms = (WQKms) bundle.getData(context); |
47 | 66 |
48 doQOut(generator, wqkms, aaf, theme, visible, index); | 67 XYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme); |
68 | |
69 StyledSeriesBuilder.addStepPointsKmQ(series, wqkms); | |
70 | |
71 generator.addAxisSeries(series, index, visible); | |
72 | |
73 invertAxis(generator, wqkms); | |
49 } | 74 } |
50 | 75 |
51 /** | 76 /** |
52 * Returns true if facettype is q-type. | 77 * Returns true if facettype is q-type. |
53 */ | 78 */ |
61 || facetType.equals(FacetTypes.LONGITUDINAL_Q) | 86 || facetType.equals(FacetTypes.LONGITUDINAL_Q) |
62 || facetType.equals(FacetTypes.DISCHARGE_LONGITUDINAL_Q)) { | 87 || facetType.equals(FacetTypes.DISCHARGE_LONGITUDINAL_Q)) { |
63 return true; | 88 return true; |
64 } | 89 } |
65 return false; | 90 return false; |
66 } | |
67 | |
68 | |
69 /** | |
70 * Process the output for Q facets in a longitudinal section curve. | |
71 * | |
72 * @param generator Generator to use. | |
73 * @param wqkms An array of WQKms values. | |
74 * @param aandf The facet and artifact. This facet does NOT support any data objects. Use | |
75 * D4EArtifact.getNativeFacet() instead to retrieve a Facet which supports | |
76 * data. | |
77 * @param theme The theme that contains styling information. | |
78 * @param visible The visibility of the curve. | |
79 * @param index Axis index to add data to. | |
80 */ | |
81 protected void doQOut( | |
82 XYChartGenerator generator, | |
83 WQKms wqkms, | |
84 ArtifactAndFacet aaf, | |
85 ThemeDocument theme, | |
86 boolean visible, | |
87 int index | |
88 ) { | |
89 logger.debug("QProcessor.doOut"); | |
90 | |
91 XYSeries series = new StyledXYSeries(aaf.getFacetDescription(), theme); | |
92 | |
93 StyledSeriesBuilder.addStepPointsKmQ(series, wqkms); | |
94 | |
95 generator.addAxisSeries(series, index, visible); | |
96 | |
97 invertAxis(generator, wqkms); | |
98 } | 91 } |
99 | 92 |
100 /** | 93 /** |
101 * This method determines - taking JFreeCharts auto x value ordering into | 94 * This method determines - taking JFreeCharts auto x value ordering into |
102 * account - if the x axis need to be inverted. Waterlines in these charts | 95 * account - if the x axis need to be inverted. Waterlines in these charts |