diff 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
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelFetcher.java	Tue Mar 13 09:55:53 2018 +0100
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelFetcher.java	Tue Mar 13 18:49:33 2018 +0100
@@ -19,6 +19,7 @@
 import org.dive4elements.river.artifacts.StaticWQKmsArtifact;
 import org.dive4elements.river.artifacts.WINFOArtifact;
 import org.dive4elements.river.artifacts.access.FixRealizingAccess;
+import org.dive4elements.river.artifacts.model.Calculation;
 import org.dive4elements.river.artifacts.model.CalculationResult;
 import org.dive4elements.river.artifacts.model.Segment;
 import org.dive4elements.river.artifacts.model.WKms;
@@ -39,7 +40,7 @@
     private static Logger log = Logger.getLogger(WaterlevelFetcher.class);
 
     public WaterlevelData findWaterlevel(final CallContext context, final String mingle, final double from,
-            final double to) {
+            final double to, final Calculation problems) {
 
         final String[] def = mingle.split(";");
         final String uuid = def[0];
@@ -48,7 +49,11 @@
         final D4EArtifact d4eArtifact = RiverUtils.getArtifact(uuid, context);
 
         final WaterlevelData data = fetchWaterlevelFromArtifact(context, d4eArtifact, idx, from, to);
-        return data.withName(name);
+        if (data != null)
+            return data.withName(name);
+
+        problems.addProblem("waterlevelfetcher.missing'", mingle);
+        return null;
     }
 
     private WaterlevelData fetchWaterlevelFromArtifact(final CallContext context, final D4EArtifact d4eArtifact,

http://dive4elements.wald.intevation.org