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

http://dive4elements.wald.intevation.org