diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java @ 3204:19ce06eb56c3

FixA: Only emit analysis period / discharge sectors which really contain data. flys-artifacts/trunk@4821 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 28 Jun 2012 13:07:27 +0000
parents d7b0f52d6d04
children
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java	Thu Jun 28 08:16:20 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java	Thu Jun 28 13:07:27 2012 +0000
@@ -29,6 +29,21 @@
         this.analysisPeriods = analysisPeriods;
     }
 
+    public int getUsedSectorsInAnalysisPeriods() {
+        int result = 0;
+        for (KMIndex.Entry<AnalysisPeriod []> entry: analysisPeriods) {
+            for (AnalysisPeriod period: entry.getValue()) {
+                for (int i = 0; i < 4; ++i) {
+                    result |= period.getQSectorAverage(i) != null
+                        ? (1 << i)
+                        : 0;
+                }
+                // XXX: Stop early on result == ~(~0 << 4)) ?
+            }
+        }
+        return result;
+    }
+
     public Parameters getParameters() {
         return parameters;
     }

http://dive4elements.wald.intevation.org