diff artifacts/src/main/java/org/dive4elements/river/artifacts/states/WDifferencesState.java @ 8876:23264d1a528f

Allow access to staticwqkms data; also allow to acces by km range
author gernotbelger
date Thu, 08 Feb 2018 18:47:36 +0100
parents 28df64078f27
children 6b93a2498e06
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/states/WDifferencesState.java	Thu Feb 08 18:46:34 2018 +0100
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/states/WDifferencesState.java	Thu Feb 08 18:47:36 2018 +0100
@@ -25,6 +25,7 @@
 import org.dive4elements.river.artifacts.FixationArtifact;
 import org.dive4elements.river.artifacts.MINFOArtifact;
 import org.dive4elements.river.artifacts.StaticWKmsArtifact;
+import org.dive4elements.river.artifacts.StaticWQKmsArtifact;
 import org.dive4elements.river.artifacts.WINFOArtifact;
 
 import org.dive4elements.river.artifacts.math.WKmsOperation;
@@ -138,6 +139,16 @@
             WKms wkms = staticWKms.getWKms(idx, from, to);
             if (wkms == null) {
                 log.error("No WKms from Static artifact for this range.");
+                // FIXME: why does in error case we return Q's?
+                return new WQKms();
+            }
+            return wkms; /* No need for additional km filtering */
+        } else if (d4eArtifact instanceof StaticWQKmsArtifact) {
+            final StaticWQKmsArtifact staticWKms = (StaticWQKmsArtifact) d4eArtifact;
+            log.debug("WDifferencesState obtain data from StaticWQKms");
+            WQKms wkms = staticWKms.getWQKms(from, to);
+            if (wkms == null) {
+                log.error("No WKms from Static artifact for this range.");
                 return new WQKms();
             }
             return wkms; /* No need for additional km filtering */

http://dive4elements.wald.intevation.org