comparison artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationState.java @ 9265:e5367900dd6d

Small cleanup concerning getPoints Adding validStations as dataItem to flood duration calculation Flood duration now km aware
author gernotbelger
date Tue, 17 Jul 2018 19:48:28 +0200
parents 66b003701546
children f318359b81a2
comparison
equal deleted inserted replaced
9264:baef46792354 9265:e5367900dd6d
10 10
11 package org.dive4elements.river.artifacts.sinfo.flood_duration; 11 package org.dive4elements.river.artifacts.sinfo.flood_duration;
12 12
13 import java.util.List; 13 import java.util.List;
14 14
15 import org.apache.commons.lang.StringUtils;
15 import org.dive4elements.artifactdatabase.state.Facet; 16 import org.dive4elements.artifactdatabase.state.Facet;
16 import org.dive4elements.artifacts.CallContext; 17 import org.dive4elements.artifacts.CallContext;
17 import org.dive4elements.river.artifacts.ChartArtifact; 18 import org.dive4elements.river.artifacts.ChartArtifact;
18 import org.dive4elements.river.artifacts.D4EArtifact; 19 import org.dive4elements.river.artifacts.D4EArtifact;
19 import org.dive4elements.river.artifacts.model.Calculation; 20 import org.dive4elements.river.artifacts.model.Calculation;
29 30
30 /** 31 /**
31 * Last state of the S-Info flood duration workflow that calculates and outputs the result 32 * Last state of the S-Info flood duration workflow that calculates and outputs the result
32 */ 33 */
33 public class FloodDurationState extends DefaultState { 34 public class FloodDurationState extends DefaultState {
34
35 /// ** The log that is used in this state. */
36 // private static Logger log = Logger.getLogger(FloodDurationState.class);
37 35
38 private static final long serialVersionUID = 1L; 36 private static final long serialVersionUID = 1L;
39 37
40 /** 38 /**
41 * From this state can only be continued trivially. 39 * From this state can only be continued trivially.
76 if (facets == null) 74 if (facets == null)
77 return res; 75 return res;
78 76
79 final FloodDurationCalculationResults results = (FloodDurationCalculationResults) res.getData(); 77 final FloodDurationCalculationResults results = (FloodDurationCalculationResults) res.getData();
80 final List<FloodDurationCalculationResult> resultList = results.getResults(); 78 final List<FloodDurationCalculationResult> resultList = results.getResults();
79
81 int resultIndex = 0; 80 int resultIndex = 0;
82 int themeCount = 0; 81 int themeCount = 0;
83 for (final FloodDurationCalculationResult result : resultList) { 82 for (final FloodDurationCalculationResult result : resultList) {
83
84 if (resultIndex == 0) {
85 /* we only have one result, but safety first... */
86
87 /* Setting the valid stations as data to the state, so the NaviChartOutputTab knows what are the valid stations */
88 final List<Double> validDurationChartKilometers = result.getValidDurationChartKilometers();
89 final String validKilometerString = StringUtils.join(validDurationChartKilometers, ',');
90 sinfo.addStringData("validStations", validKilometerString);
91 }
84 92
85 final FloodDurationAccess access = new FloodDurationAccess(sinfo); 93 final FloodDurationAccess access = new FloodDurationAccess(sinfo);
86 if ((access.getRiverside() == RiversideChoiceKey.LEFT) || (access.getRiverside() == RiversideChoiceKey.BOTH)) 94 if ((access.getRiverside() == RiversideChoiceKey.LEFT) || (access.getRiverside() == RiversideChoiceKey.BOTH))
87 facets.add(FloodDurationProcessor.createFloodDurationFacet(context, hash, this.id, result, 0, resultIndex)); 95 facets.add(FloodDurationProcessor.createFloodDurationFacet(context, hash, this.id, result, 0, resultIndex));
88 if ((access.getRiverside() == RiversideChoiceKey.RIGHT) || (access.getRiverside() == RiversideChoiceKey.BOTH)) 96 if ((access.getRiverside() == RiversideChoiceKey.RIGHT) || (access.getRiverside() == RiversideChoiceKey.BOTH))

http://dive4elements.wald.intevation.org