comparison artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationCurveProcessor.java @ 9259:66b003701546

Added infrastructure height and Q annotation to S-Info flood duration curve chart
author mschaefer
date Mon, 16 Jul 2018 08:43:07 +0200
parents ef7b65576d4b
children f318359b81a2
comparison
equal deleted inserted replaced
9258:d950c6055102 9259:66b003701546
11 package org.dive4elements.river.artifacts.sinfo.flood_duration; 11 package org.dive4elements.river.artifacts.sinfo.flood_duration;
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;
17 import org.dive4elements.artifactdatabase.state.Facet; 16 import org.dive4elements.artifactdatabase.state.Facet;
18 import org.dive4elements.artifacts.CallContext; 17 import org.dive4elements.artifacts.CallContext;
19 import org.dive4elements.river.artifacts.common.AbstractCalculationResult; 18 import org.dive4elements.river.artifacts.common.AbstractCalculationResult;
19 import org.dive4elements.river.artifacts.model.FacetTypes;
20 import org.dive4elements.river.exports.DiagramGenerator; 20 import org.dive4elements.river.exports.DiagramGenerator;
21 import org.dive4elements.river.exports.DurationCurveGenerator; 21 import org.dive4elements.river.exports.DurationCurveGenerator;
22 import org.dive4elements.river.exports.XYChartGenerator;
23 import org.dive4elements.river.exports.process.DefaultProcessor; 22 import org.dive4elements.river.exports.process.DefaultProcessor;
24 import org.dive4elements.river.themes.ThemeDocument;
25 23
26 /** 24 /**
27 * Processor to generate the facet and data series of a flood duration curve 25 * Processor to generate the facet and data series of a flood duration curve
28 * 26 *
29 * @author Matthias Schäfer 27 * @author Matthias Schäfer
30 * 28 *
31 */ 29 */
32 public final class FloodDurationCurveProcessor extends DefaultProcessor { 30 public final class FloodDurationCurveProcessor extends DefaultProcessor {
33 31
34 private static final String FACET_FLOOD_DURATION_W = "duration_curve.w"; 32 private static final String FACET_FLOOD_DURATION_W = FacetTypes.DURATION_W; // "duration_curve.w";
35 33
36 private static final String FACET_FLOOD_DURATION_Q = "duration_curve.q"; 34 private static final String FACET_FLOOD_DURATION_Q = FacetTypes.DURATION_Q; // "duration_curve.q";
37 35
38 private static final String FACET_FLOOD_DURATION_MAINVALUES_W = "mainvalues.w"; 36 public static final String FACET_FLOOD_DURATION_MAINVALUES_W = "sinfo.mainvalues.w";
39 37
40 private static final String FACET_FLOOD_DURATION_MAINVALUES_Q = "mainvalues.q"; 38 public static final String FACET_FLOOD_DURATION_MAINVALUES_Q = "sinfo.mainvalues.q";
39
40 public static final String FACET_FLOOD_DURATION_INFRASTRUCTURE = "infrastructure.wq";
41 41
42 private static final Set<String> HANDLED_FACET_TYPES = new HashSet<>(); 42 private static final Set<String> HANDLED_FACET_TYPES = new HashSet<>();
43 43
44 static { 44 static {
45 HANDLED_FACET_TYPES.add(FACET_FLOOD_DURATION_W); 45 HANDLED_FACET_TYPES.add(FACET_FLOOD_DURATION_W);
46 HANDLED_FACET_TYPES.add(FACET_FLOOD_DURATION_Q); 46 HANDLED_FACET_TYPES.add(FACET_FLOOD_DURATION_Q);
47 HANDLED_FACET_TYPES.add(FACET_FLOOD_DURATION_MAINVALUES_W); 47 HANDLED_FACET_TYPES.add(FACET_FLOOD_DURATION_MAINVALUES_W);
48 HANDLED_FACET_TYPES.add(FACET_FLOOD_DURATION_MAINVALUES_Q); 48 HANDLED_FACET_TYPES.add(FACET_FLOOD_DURATION_MAINVALUES_Q);
49 HANDLED_FACET_TYPES.add(FACET_FLOOD_DURATION_INFRASTRUCTURE);
49 } 50 }
50 51
51 public static Facet createFloodDurationWCurveFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, 52 public static Facet createFloodDurationWCurveFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result,
52 final int facetIndex, final int resultIndex, final String description) { 53 final int facetIndex, final int resultIndex, final String description) {
53 54
70 final int facetIndex, final int resultIndex, final String description) { 71 final int facetIndex, final int resultIndex, final String description) {
71 72
72 return new FloodDurationMainValuesQFacet(FACET_FLOOD_DURATION_MAINVALUES_Q, description); 73 return new FloodDurationMainValuesQFacet(FACET_FLOOD_DURATION_MAINVALUES_Q, description);
73 } 74 }
74 75
75 /** 76 public static Facet createInfrastructureWFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result,
76 * Processes data to generate a chart. 77 final int facetIndex, final int resultIndex, final String description) {
77 */
78 @Override
79 public void doOut(final XYChartGenerator generator, final ArtifactAndFacet bundle, final ThemeDocument theme, final boolean visible, final int index) {
80 78
79 return new FloodDurationInfrastructureFacet(FACET_FLOOD_DURATION_INFRASTRUCTURE, description);
81 } 80 }
82 81
83 @Override 82 @Override
84 public final String getAxisLabel(final DiagramGenerator generator) { 83 public final String getAxisLabel(final DiagramGenerator generator) {
85 return generator.msg(DurationCurveGenerator.I18N_YAXIS_LABEL_W); 84 return generator.msg(DurationCurveGenerator.I18N_YAXIS_LABEL_W);

http://dive4elements.wald.intevation.org