comparison artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepth/TkhProcessor.java @ 8886:cc86b0f9b3c3

SINFO-FlowDepth - work on tkh themes
author gernotbelger
date Wed, 14 Feb 2018 18:10:53 +0100
parents 7a8c12706834
children
comparison
equal deleted inserted replaced
8885:e5f688820951 8886:cc86b0f9b3c3
10 10
11 package org.dive4elements.river.artifacts.sinfo.flowdepth; 11 package org.dive4elements.river.artifacts.sinfo.flowdepth;
12 12
13 import java.util.HashSet; 13 import java.util.HashSet;
14 import java.util.Set; 14 import java.util.Set;
15
16 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
17 import org.dive4elements.artifacts.CallContext;
18 import org.dive4elements.river.exports.DiagramGenerator;
19 import org.dive4elements.river.exports.StyledSeriesBuilder;
20 import org.dive4elements.river.jfree.StyledAreaSeriesCollection;
21 import org.dive4elements.river.jfree.StyledXYSeries;
22 import org.dive4elements.river.themes.ThemeDocument;
15 23
16 public final class TkhProcessor extends AbstractSInfoProcessor { 24 public final class TkhProcessor extends AbstractSInfoProcessor {
17 25
18 static String FACET_TKH = "sinfo_flow_depth.tkh"; 26 static String FACET_TKH = "sinfo_flow_depth.tkh";
19 27
28 public TkhProcessor() { 36 public TkhProcessor() {
29 super(I18N_AXIS_LABEL, HANDLED_FACET_TYPES); 37 super(I18N_AXIS_LABEL, HANDLED_FACET_TYPES);
30 } 38 }
31 39
32 @Override 40 @Override
33 protected double[][] generatePoints(final FlowDepthCalculationResult data, final String facetName) { 41 protected String generateSeries(final DiagramGenerator generator, final ArtifactAndFacet bundle, final ThemeDocument theme, final boolean visible) {
34 if (FACET_TKH.contentEquals(facetName)) 42 final CallContext context = generator.getCallContext();
35 return data.getTkhPoints();
36 43
37 return super.generatePoints(data, facetName); 44 final String facetName = bundle.getFacetName();
45 final FlowDepthCalculationResult data = (FlowDepthCalculationResult) bundle.getData(context);
46 if (data == null) {
47 // Check has been here before so we keep it for security reasons
48 // this should never happen though.
49 throw new IllegalStateException("Data is null for facet: " + facetName);
50 }
51
52 final StyledXYSeries seriesUp = new StyledXYSeries(bundle.getFacetDescription(), theme);
53 final double[][] pointsUp = data.getTkhUpPoints();
54 StyledSeriesBuilder.addPoints(seriesUp, pointsUp, true);
55
56 // REMARK: we add " " because the description is misused as id, which must be unique.
57 final StyledXYSeries seriesDown = new StyledXYSeries(bundle.getFacetDescription() + " ", theme);
58 final double[][] pointsDown = data.getTkhDownPoints();
59 StyledSeriesBuilder.addPoints(seriesDown, pointsDown, true);
60
61 final StyledAreaSeriesCollection area = new StyledAreaSeriesCollection(theme);
62 area.setMode(StyledAreaSeriesCollection.FILL_MODE.BETWEEN);
63 area.addSeries(seriesUp);
64 area.addSeries(seriesDown);
65
66 generator.addAreaSeries(area, getAxisName(), visible);
67
68 return null;
38 } 69 }
39 } 70 }

http://dive4elements.wald.intevation.org