comparison artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/PredefinedTkhProcessor.java @ 9200:6393e05a9610

refactoring on processors
author gernotbelger
date Fri, 29 Jun 2018 16:29:23 +0200
parents a4121ec450d6
children 08f46ccd37ba
comparison
equal deleted inserted replaced
9199:d177121fc95d 9200:6393e05a9610
12 12
13 import java.util.HashSet; 13 import java.util.HashSet;
14 import java.util.Set; 14 import java.util.Set;
15 15
16 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; 16 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
17 import org.dive4elements.artifacts.CallContext;
18 import org.dive4elements.river.exports.DiagramGenerator; 17 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; 18 import org.dive4elements.river.themes.ThemeDocument;
23 19
24 /** 20 /**
25 * Processor to generate a data series for tkh data loaded from the database 21 * Processor to generate a data series for tkh data loaded from the database
26 * 22 *
43 super(I18N_AXIS_LABEL, HANDLED_FACET_TYPES); 39 super(I18N_AXIS_LABEL, HANDLED_FACET_TYPES);
44 } 40 }
45 41
46 @Override 42 @Override
47 protected String generateSeries(final DiagramGenerator generator, final ArtifactAndFacet bundle, final ThemeDocument theme, final boolean visible) { 43 protected String generateSeries(final DiagramGenerator generator, final ArtifactAndFacet bundle, final ThemeDocument theme, final boolean visible) {
48 final CallContext context = generator.getContext(); 44 return buildSeriesForTkh(generator, bundle, theme, visible);
49 45
50 final String facetName = bundle.getFacetName();
51 final AbstractTkhCalculationResult data = (AbstractTkhCalculationResult) bundle.getData(context); // differs from standard!
52 if (data == null) {
53 // Check has been here before so we keep it for security reasons
54 // this should never happen though.
55 throw new IllegalStateException("Data is null for facet: " + facetName);
56 }
57
58 final StyledXYSeries seriesUp = new StyledXYSeries(bundle.getFacetDescription(), theme);
59 final double[][] pointsUp = data.getTkhUpPoints();
60 StyledSeriesBuilder.addPoints(seriesUp, pointsUp, true);
61
62 // REMARK: we add " " because the description is misused as id, which must be unique.
63 final StyledXYSeries seriesDown = new StyledXYSeries(bundle.getFacetDescription() + " ", theme);
64 final double[][] pointsDown = data.getTkhDownPoints();
65 StyledSeriesBuilder.addPoints(seriesDown, pointsDown, true);
66
67 final StyledAreaSeriesCollection area = new StyledAreaSeriesCollection(theme);
68 area.setMode(StyledAreaSeriesCollection.FILL_MODE.BETWEEN);
69 area.addSeries(seriesUp);
70 area.addSeries(seriesDown);
71
72 generator.addAreaSeries(area, getAxisName(), visible);
73
74 return null;
75 } 46 }
76 } 47 }

http://dive4elements.wald.intevation.org