comparison artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelFetcher.java @ 8946:5d5d482da3e9

Implementing SINFO - FlowDepthMinMax calculation
author gernotbelger
date Tue, 13 Mar 2018 18:49:33 +0100
parents a536e1aacf0f
children 86650594f051
comparison
equal deleted inserted replaced
8945:4a6b6a3c279c 8946:5d5d482da3e9
17 import org.dive4elements.river.artifacts.FixationArtifact; 17 import org.dive4elements.river.artifacts.FixationArtifact;
18 import org.dive4elements.river.artifacts.StaticWKmsArtifact; 18 import org.dive4elements.river.artifacts.StaticWKmsArtifact;
19 import org.dive4elements.river.artifacts.StaticWQKmsArtifact; 19 import org.dive4elements.river.artifacts.StaticWQKmsArtifact;
20 import org.dive4elements.river.artifacts.WINFOArtifact; 20 import org.dive4elements.river.artifacts.WINFOArtifact;
21 import org.dive4elements.river.artifacts.access.FixRealizingAccess; 21 import org.dive4elements.river.artifacts.access.FixRealizingAccess;
22 import org.dive4elements.river.artifacts.model.Calculation;
22 import org.dive4elements.river.artifacts.model.CalculationResult; 23 import org.dive4elements.river.artifacts.model.CalculationResult;
23 import org.dive4elements.river.artifacts.model.Segment; 24 import org.dive4elements.river.artifacts.model.Segment;
24 import org.dive4elements.river.artifacts.model.WKms; 25 import org.dive4elements.river.artifacts.model.WKms;
25 import org.dive4elements.river.artifacts.model.WQKms; 26 import org.dive4elements.river.artifacts.model.WQKms;
26 import org.dive4elements.river.artifacts.model.fixings.FixRealizingCalculationExtended; 27 import org.dive4elements.river.artifacts.model.fixings.FixRealizingCalculationExtended;
37 */ 38 */
38 public class WaterlevelFetcher { 39 public class WaterlevelFetcher {
39 private static Logger log = Logger.getLogger(WaterlevelFetcher.class); 40 private static Logger log = Logger.getLogger(WaterlevelFetcher.class);
40 41
41 public WaterlevelData findWaterlevel(final CallContext context, final String mingle, final double from, 42 public WaterlevelData findWaterlevel(final CallContext context, final String mingle, final double from,
42 final double to) { 43 final double to, final Calculation problems) {
43 44
44 final String[] def = mingle.split(";"); 45 final String[] def = mingle.split(";");
45 final String uuid = def[0]; 46 final String uuid = def[0];
46 final String name = def[1]; 47 final String name = def[1];
47 final int idx = Integer.parseInt(def[2]); 48 final int idx = Integer.parseInt(def[2]);
48 final D4EArtifact d4eArtifact = RiverUtils.getArtifact(uuid, context); 49 final D4EArtifact d4eArtifact = RiverUtils.getArtifact(uuid, context);
49 50
50 final WaterlevelData data = fetchWaterlevelFromArtifact(context, d4eArtifact, idx, from, to); 51 final WaterlevelData data = fetchWaterlevelFromArtifact(context, d4eArtifact, idx, from, to);
51 return data.withName(name); 52 if (data != null)
53 return data.withName(name);
54
55 problems.addProblem("waterlevelfetcher.missing'", mingle);
56 return null;
52 } 57 }
53 58
54 private WaterlevelData fetchWaterlevelFromArtifact(final CallContext context, final D4EArtifact d4eArtifact, 59 private WaterlevelData fetchWaterlevelFromArtifact(final CallContext context, final D4EArtifact d4eArtifact,
55 final int idx, final double from, final double to) { 60 final int idx, final double from, final double to) {
56 if (d4eArtifact == null) { 61 if (d4eArtifact == null) {

http://dive4elements.wald.intevation.org