diff artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelFetcher.java @ 8883:a536e1aacf0f

Further work on SINFO-FlowDepth
author gernotbelger
date Fri, 09 Feb 2018 18:07:22 +0100
parents 6b93a2498e06
children 5d5d482da3e9
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelFetcher.java	Fri Feb 09 16:11:47 2018 +0100
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelFetcher.java	Fri Feb 09 18:07:22 2018 +0100
@@ -23,6 +23,7 @@
 import org.dive4elements.river.artifacts.model.Segment;
 import org.dive4elements.river.artifacts.model.WKms;
 import org.dive4elements.river.artifacts.model.WQKms;
+import org.dive4elements.river.artifacts.model.fixings.FixRealizingCalculationExtended;
 import org.dive4elements.river.artifacts.model.fixings.FixRealizingResult;
 import org.dive4elements.river.artifacts.states.DefaultState.ComputeType;
 import org.dive4elements.river.utils.RiverUtils;
@@ -86,7 +87,11 @@
         final WKms wkms = staticWKms.getWKms(idx, from, to);
 
         if (wkms != null)
-            return new WaterlevelData(wkms);
+        {
+            // FIXME: woher bekommen?: eventuell zusammenhang mit tabelle 'time_intervals'
+            final int year = -1;
+            return new WaterlevelData(wkms, year);
+        }
 
         log.error("No WKms from Static artifact for this range.");
         return null;
@@ -100,7 +105,11 @@
         final WQKms wkms = staticWKms.getWQKms(from, to);
 
         if (wkms != null)
-            return new WaterlevelData(wkms);
+        {
+            // FIXME: woher bekommen?: eventuell zusammenhang mit tabelle 'time_intervals'
+            final int year = -1;
+            return new WaterlevelData(wkms, year);
+        }
 
         log.error("No WKms from Static artifact for this range.");
         return null;
@@ -122,7 +131,9 @@
             return null;
         }
 
-        return new WaterlevelData(wkms[idx]).filterByRange(from, to);
+        // REAMRK: W_INFO results does not know any 'year'
+        final int year = -1;
+        return new WaterlevelData(wkms[idx], year).filterByRange(from, to);
     }
 
     private WaterlevelData fetchFixationArtifactWaterlevel(final CallContext context,
@@ -138,9 +149,13 @@
         final List<Segment> segments = fixAccess.getSegments();
         final boolean isFixRealize = (segments != null && !segments.isEmpty());
 
+        /* ugly but necessary to keep this logic at least a bit inside the FixRealizing stuff */
+        final FixRealizingCalculationExtended calculation = new FixRealizingCalculationExtended(fixAccess);
+        final int year = calculation.determineMeanYear();
+
         // REMARK: same logic as in WaterlevelExporter
         final boolean showAllGauges = isFixRealize;
 
-        return new WaterlevelData(frR.getWQKms()[idx], showAllGauges).filterByRange(from, to);
+        return new WaterlevelData(frR.getWQKms()[idx], year, showAllGauges).filterByRange(from, to);
     }
-}
+}
\ No newline at end of file

http://dive4elements.wald.intevation.org