comparison artifacts/src/main/java/org/dive4elements/river/exports/process/DischargeProcessor.java @ 6905:1b35b2ddfc28

Artifacts: Introduce ThemeDocument & make stuff compileable again. THIS BREAKS THE SYSTEM! TODO: Move ThemeUtils into ThemeDocument.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 22 Aug 2013 23:31:38 +0200
parents ebe7dfffacc4
children 695a5f6599b4
comparison
equal deleted inserted replaced
6904:d710bd3df387 6905:1b35b2ddfc28
11 import java.util.ArrayList; 11 import java.util.ArrayList;
12 import java.util.List; 12 import java.util.List;
13 13
14 import org.apache.log4j.Logger; 14 import org.apache.log4j.Logger;
15 import org.jfree.data.xy.XYSeries; 15 import org.jfree.data.xy.XYSeries;
16 import org.w3c.dom.Document;
17 16
18 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; 17 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
19 import org.dive4elements.artifacts.CallContext; 18 import org.dive4elements.artifacts.CallContext;
20 import org.dive4elements.river.artifacts.model.FacetTypes; 19 import org.dive4elements.river.artifacts.model.FacetTypes;
21 import org.dive4elements.river.artifacts.model.WQKms; 20 import org.dive4elements.river.artifacts.model.WQKms;
22 import org.dive4elements.river.exports.DischargeCurveGenerator; 21 import org.dive4elements.river.exports.DischargeCurveGenerator;
23 import org.dive4elements.river.exports.StyledSeriesBuilder;
24 import org.dive4elements.river.exports.XYChartGenerator; 22 import org.dive4elements.river.exports.XYChartGenerator;
25 import org.dive4elements.river.jfree.CollisionFreeXYTextAnnotation; 23 import org.dive4elements.river.jfree.CollisionFreeXYTextAnnotation;
26 import org.dive4elements.river.jfree.RiverAnnotation; 24 import org.dive4elements.river.jfree.RiverAnnotation;
27 import org.dive4elements.river.jfree.StyledXYSeries; 25 import org.dive4elements.river.jfree.StyledXYSeries;
28 import org.dive4elements.river.utils.ThemeUtil; 26 import org.dive4elements.river.themes.ThemeDocument;
29 27
30 import org.jfree.chart.annotations.XYTextAnnotation; 28 import org.jfree.chart.annotations.XYTextAnnotation;
31 29
32 30
33 /** Helper for data handling in discharge diagrams. */ 31 /** Helper for data handling in discharge diagrams. */
58 /** Process data, add it to plot. */ 56 /** Process data, add it to plot. */
59 @Override 57 @Override
60 public void doOut( 58 public void doOut(
61 XYChartGenerator generator, 59 XYChartGenerator generator,
62 ArtifactAndFacet aandf, 60 ArtifactAndFacet aandf,
63 Document theme, 61 ThemeDocument theme,
64 boolean visible, 62 boolean visible,
65 int index 63 int index
66 ) { 64 ) {
67 CallContext context = generator.getCallContext(); 65 CallContext context = generator.getCallContext();
68 Object data = aandf.getData(context); 66 Object data = aandf.getData(context);
110 108
111 /** Handle WQKms data by finding w/q values at given km. */ 109 /** Handle WQKms data by finding w/q values at given km. */
112 protected void doWQKmsPointOut(XYChartGenerator generator, 110 protected void doWQKmsPointOut(XYChartGenerator generator,
113 WQKms wqkms, 111 WQKms wqkms,
114 ArtifactAndFacet aandf, 112 ArtifactAndFacet aandf,
115 Document theme, 113 ThemeDocument theme,
116 boolean visible, 114 boolean visible,
117 int axidx 115 int axidx
118 ) { 116 ) {
119 String title = aandf.getFacetDescription(); 117 String title = aandf.getFacetDescription();
120 XYSeries series = new StyledXYSeries( 118 XYSeries series = new StyledXYSeries(
125 123
126 for (int i = 0 ; i< kms.length; i++) { 124 for (int i = 0 ; i< kms.length; i++) {
127 if (Math.abs(kms[i] - getKm()) <= KM_EPSILON) { 125 if (Math.abs(kms[i] - getKm()) <= KM_EPSILON) {
128 series.add(wqkms.getQ(i), wqkms.getW(i)); 126 series.add(wqkms.getQ(i), wqkms.getW(i));
129 generator.addAxisSeries(series, axidx, visible); 127 generator.addAxisSeries(series, axidx, visible);
130 if(visible && ThemeUtil.parseShowPointLabel(theme)) { 128 if(visible && theme.parseShowPointLabel()) {
131 List<XYTextAnnotation> textAnnos = new ArrayList<XYTextAnnotation>(); 129 List<XYTextAnnotation> textAnnos = new ArrayList<XYTextAnnotation>();
132 XYTextAnnotation anno = new CollisionFreeXYTextAnnotation( 130 XYTextAnnotation anno = new CollisionFreeXYTextAnnotation(
133 title, 131 title,
134 wqkms.getQ(i), 132 wqkms.getQ(i),
135 // TODO add a percentage to the extend of W axis 133 // TODO add a percentage to the extend of W axis

http://dive4elements.wald.intevation.org