comparison artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationProcessor.java @ 9620:26e113e8224f

Nachtrag Pos. 20: flood duration calculation for multiple infrastructure groups/types, local class FloodDurationCalculationResult.Infrastructure renamed and extracted into own class
author mschaefer
date Thu, 10 Oct 2019 17:11:54 +0200
parents f8308db94634
children
comparison
equal deleted inserted replaced
9619:63bbd5e45839 9620:26e113e8224f
18 import org.dive4elements.artifacts.CallContext; 18 import org.dive4elements.artifacts.CallContext;
19 import org.dive4elements.river.artifacts.common.AbstractCalculationResult; 19 import org.dive4elements.river.artifacts.common.AbstractCalculationResult;
20 import org.dive4elements.river.artifacts.common.AbstractProcessor; 20 import org.dive4elements.river.artifacts.common.AbstractProcessor;
21 import org.dive4elements.river.artifacts.resources.Resources; 21 import org.dive4elements.river.artifacts.resources.Resources;
22 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType; 22 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType;
23 import org.dive4elements.river.artifacts.sinfo.flood_duration.FloodDurationCalculationResult.Infrastructure;
24 import org.dive4elements.river.artifacts.sinfo.flood_duration.FloodDurationCalculationResult.ValueGetter; 23 import org.dive4elements.river.artifacts.sinfo.flood_duration.FloodDurationCalculationResult.ValueGetter;
25 import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; 24 import org.dive4elements.river.artifacts.states.DefaultState.ComputeType;
26 import org.dive4elements.river.exports.DiagramGenerator; 25 import org.dive4elements.river.exports.DiagramGenerator;
27 import org.dive4elements.river.model.Attribute.AttributeKey; 26 import org.dive4elements.river.model.Attribute.AttributeKey;
28 import org.dive4elements.river.themes.ThemeDocument; 27 import org.dive4elements.river.themes.ThemeDocument;
56 public FloodDurationProcessor() { 55 public FloodDurationProcessor() {
57 super(I18N_AXIS_LABEL, HANDLED_FACET_TYPES); 56 super(I18N_AXIS_LABEL, HANDLED_FACET_TYPES);
58 } 57 }
59 58
60 public static Facet createFloodDurationFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, 59 public static Facet createFloodDurationFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result,
61 final int facetIndex, final int resultIndex, final Infrastructure infrastructure) { 60 final int facetIndex, final int resultIndex, final FloodDurationInfrastructureChoice infrastructure) {
62 61
63 final String description = infrastructure.getFloodDurationLabel(context); 62 final String description = infrastructure.getFloodDurationLabel(context);
64 final String facetName = infrastructure.getRiverside() == AttributeKey.LEFT ? FACET_FLOOD_DURATION_LEFT : FACET_FLOOD_DURATION_RIGHT; 63 final String facetName = infrastructure.getRiverside() == AttributeKey.LEFT ? FACET_FLOOD_DURATION_LEFT : FACET_FLOOD_DURATION_RIGHT;
65 return new InfrastructureResultFacet(facetIndex, resultIndex, facetName, description, I18N_AXIS_LABEL, id, hash, infrastructure); 64 return new InfrastructureResultFacet(facetIndex, resultIndex, facetName, description, I18N_AXIS_LABEL, id, hash, infrastructure);
66 } 65 }
108 107
109 private String buildInfrastructureSeries(final DiagramGenerator generator, final ArtifactAndFacet bundle, final ThemeDocument theme, 108 private String buildInfrastructureSeries(final DiagramGenerator generator, final ArtifactAndFacet bundle, final ThemeDocument theme,
110 final boolean visible) { 109 final boolean visible) {
111 110
112 final InfrastructureResultFacet infFacet = (InfrastructureResultFacet) bundle.getFacet(); 111 final InfrastructureResultFacet infFacet = (InfrastructureResultFacet) bundle.getFacet();
113 final Infrastructure infrastructure = infFacet.getInfrastructure(); 112 final FloodDurationInfrastructureChoice infrastructure = infFacet.getInfrastructure();
114 113
115 final FloodDurationCalculationResult data = (FloodDurationCalculationResult) getResult(generator, bundle); 114 final FloodDurationCalculationResult data = (FloodDurationCalculationResult) getResult(generator, bundle);
116 115
117 final double[][] points = data.getInfrastructurePoints(SInfoResultType.floodDuration, infrastructure); 116 final double[][] points = data.getInfrastructurePoints(SInfoResultType.floodDuration, infrastructure);
118 117

http://dive4elements.wald.intevation.org