Mercurial > dive4elements > river
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)) |