Mercurial > dive4elements > river
annotate 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 |
rev | line source |
---|---|
9252 | 1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde |
2 * Software engineering by | |
3 * Björnsen Beratende Ingenieure GmbH | |
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt | |
5 * | |
6 * This file is Free Software under the GNU AGPL (>=v3) | |
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the | |
8 * documentation coming with Dive4Elements River for details. | |
9 */ | |
10 | |
11 package org.dive4elements.river.artifacts.sinfo.flood_duration; | |
12 | |
13 import java.util.HashSet; | |
14 import java.util.Set; | |
15 | |
16 import org.dive4elements.artifactdatabase.state.Facet; | |
17 import org.dive4elements.artifacts.CallContext; | |
18 import org.dive4elements.river.artifacts.common.AbstractCalculationResult; | |
9259
66b003701546
Added infrastructure height and Q annotation to S-Info flood duration curve chart
mschaefer
parents:
9257
diff
changeset
|
19 import org.dive4elements.river.artifacts.model.FacetTypes; |
9252 | 20 import org.dive4elements.river.exports.DiagramGenerator; |
21 import org.dive4elements.river.exports.DurationCurveGenerator; | |
22 import org.dive4elements.river.exports.process.DefaultProcessor; | |
23 | |
24 /** | |
25 * Processor to generate the facet and data series of a flood duration curve | |
26 * | |
27 * @author Matthias Schäfer | |
28 * | |
29 */ | |
30 public final class FloodDurationCurveProcessor extends DefaultProcessor { | |
31 | |
9259
66b003701546
Added infrastructure height and Q annotation to S-Info flood duration curve chart
mschaefer
parents:
9257
diff
changeset
|
32 private static final String FACET_FLOOD_DURATION_W = FacetTypes.DURATION_W; // "duration_curve.w"; |
9252 | 33 |
9259
66b003701546
Added infrastructure height and Q annotation to S-Info flood duration curve chart
mschaefer
parents:
9257
diff
changeset
|
34 private static final String FACET_FLOOD_DURATION_Q = FacetTypes.DURATION_Q; // "duration_curve.q"; |
9252 | 35 |
9259
66b003701546
Added infrastructure height and Q annotation to S-Info flood duration curve chart
mschaefer
parents:
9257
diff
changeset
|
36 public static final String FACET_FLOOD_DURATION_MAINVALUES_W = "sinfo.mainvalues.w"; |
9257
ef7b65576d4b
Added W and Q main values to S-Info flood duration curve chart
mschaefer
parents:
9252
diff
changeset
|
37 |
9259
66b003701546
Added infrastructure height and Q annotation to S-Info flood duration curve chart
mschaefer
parents:
9257
diff
changeset
|
38 public static final String FACET_FLOOD_DURATION_MAINVALUES_Q = "sinfo.mainvalues.q"; |
66b003701546
Added infrastructure height and Q annotation to S-Info flood duration curve chart
mschaefer
parents:
9257
diff
changeset
|
39 |
66b003701546
Added infrastructure height and Q annotation to S-Info flood duration curve chart
mschaefer
parents:
9257
diff
changeset
|
40 public static final String FACET_FLOOD_DURATION_INFRASTRUCTURE = "infrastructure.wq"; |
9257
ef7b65576d4b
Added W and Q main values to S-Info flood duration curve chart
mschaefer
parents:
9252
diff
changeset
|
41 |
9252 | 42 private static final Set<String> HANDLED_FACET_TYPES = new HashSet<>(); |
43 | |
44 static { | |
45 HANDLED_FACET_TYPES.add(FACET_FLOOD_DURATION_W); | |
46 HANDLED_FACET_TYPES.add(FACET_FLOOD_DURATION_Q); | |
9257
ef7b65576d4b
Added W and Q main values to S-Info flood duration curve chart
mschaefer
parents:
9252
diff
changeset
|
47 HANDLED_FACET_TYPES.add(FACET_FLOOD_DURATION_MAINVALUES_W); |
ef7b65576d4b
Added W and Q main values to S-Info flood duration curve chart
mschaefer
parents:
9252
diff
changeset
|
48 HANDLED_FACET_TYPES.add(FACET_FLOOD_DURATION_MAINVALUES_Q); |
9259
66b003701546
Added infrastructure height and Q annotation to S-Info flood duration curve chart
mschaefer
parents:
9257
diff
changeset
|
49 HANDLED_FACET_TYPES.add(FACET_FLOOD_DURATION_INFRASTRUCTURE); |
9252 | 50 } |
51 | |
52 public static Facet createFloodDurationWCurveFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, | |
53 final int facetIndex, final int resultIndex, final String description) { | |
54 | |
55 return new FloodDurationCurveFacet(FACET_FLOOD_DURATION_W, description); | |
56 } | |
57 | |
58 public static Facet createFloodDurationQCurveFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, | |
59 final int facetIndex, final int resultIndex, final String description) { | |
60 | |
61 return new FloodDurationCurveFacet(FACET_FLOOD_DURATION_Q, description); | |
62 } | |
63 | |
9257
ef7b65576d4b
Added W and Q main values to S-Info flood duration curve chart
mschaefer
parents:
9252
diff
changeset
|
64 public static Facet createMainValuesWFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, |
ef7b65576d4b
Added W and Q main values to S-Info flood duration curve chart
mschaefer
parents:
9252
diff
changeset
|
65 final int facetIndex, final int resultIndex, final String description) { |
ef7b65576d4b
Added W and Q main values to S-Info flood duration curve chart
mschaefer
parents:
9252
diff
changeset
|
66 |
ef7b65576d4b
Added W and Q main values to S-Info flood duration curve chart
mschaefer
parents:
9252
diff
changeset
|
67 return new FloodDurationMainValuesWFacet(FACET_FLOOD_DURATION_MAINVALUES_W, description); |
ef7b65576d4b
Added W and Q main values to S-Info flood duration curve chart
mschaefer
parents:
9252
diff
changeset
|
68 } |
ef7b65576d4b
Added W and Q main values to S-Info flood duration curve chart
mschaefer
parents:
9252
diff
changeset
|
69 |
ef7b65576d4b
Added W and Q main values to S-Info flood duration curve chart
mschaefer
parents:
9252
diff
changeset
|
70 public static Facet createMainValuesQFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, |
ef7b65576d4b
Added W and Q main values to S-Info flood duration curve chart
mschaefer
parents:
9252
diff
changeset
|
71 final int facetIndex, final int resultIndex, final String description) { |
ef7b65576d4b
Added W and Q main values to S-Info flood duration curve chart
mschaefer
parents:
9252
diff
changeset
|
72 |
ef7b65576d4b
Added W and Q main values to S-Info flood duration curve chart
mschaefer
parents:
9252
diff
changeset
|
73 return new FloodDurationMainValuesQFacet(FACET_FLOOD_DURATION_MAINVALUES_Q, description); |
ef7b65576d4b
Added W and Q main values to S-Info flood duration curve chart
mschaefer
parents:
9252
diff
changeset
|
74 } |
ef7b65576d4b
Added W and Q main values to S-Info flood duration curve chart
mschaefer
parents:
9252
diff
changeset
|
75 |
9259
66b003701546
Added infrastructure height and Q annotation to S-Info flood duration curve chart
mschaefer
parents:
9257
diff
changeset
|
76 public static Facet createInfrastructureWFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, |
66b003701546
Added infrastructure height and Q annotation to S-Info flood duration curve chart
mschaefer
parents:
9257
diff
changeset
|
77 final int facetIndex, final int resultIndex, final String description) { |
9252 | 78 |
9259
66b003701546
Added infrastructure height and Q annotation to S-Info flood duration curve chart
mschaefer
parents:
9257
diff
changeset
|
79 return new FloodDurationInfrastructureFacet(FACET_FLOOD_DURATION_INFRASTRUCTURE, description); |
9252 | 80 } |
81 | |
82 @Override | |
83 public final String getAxisLabel(final DiagramGenerator generator) { | |
84 return generator.msg(DurationCurveGenerator.I18N_YAXIS_LABEL_W); | |
85 } | |
86 | |
87 @Override | |
88 public final boolean canHandle(final String facettype) { | |
89 return HANDLED_FACET_TYPES.contains(facettype); | |
90 } | |
91 } |