diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationState.java @ 9205:3dae6b78e1da

inundationDuration/floodDuration multiple columns+chartLines refactoring
author gernotbelger
date Mon, 02 Jul 2018 19:01:09 +0200
parents b4402594213b
children 0fc9c82e744e
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationState.java	Mon Jul 02 17:40:39 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationState.java	Mon Jul 02 19:01:09 2018 +0200
@@ -76,24 +76,31 @@
 
         final FloodDurationCalculationResults results = (FloodDurationCalculationResults) res.getData();
         final List<FloodDurationCalculationResult> resultList = results.getResults();
-        int index = 0;
+        int resultIndex = 0;
+        int themeCount = 0;
         for (final FloodDurationCalculationResult result : resultList) {
 
-            facets.add(FloodDurationProcessor.createFloodDurationFacet(context, hash, this.id, result, index));
-            for (int j = 0; j <= 2; j++) {
-                if (result.getMainValueLabel(j) != null)
-                    facets.add(FloodDurationProcessor.createMainValueDurationFacet(context, hash, this.id, result, j));
-            }
-            facets.add(FloodHeightProcessor.createFloodHeightFacet(context, hash, this.id, result, index));
-            for (int j = 0; j <= 2; j++) {
-                if (result.getMainValueLabel(j) != null)
-                    facets.add(FloodHeightProcessor.createMainValueHeightFacet(context, hash, this.id, result, j));
+            facets.add(FloodDurationProcessor.createFloodDurationFacet(context, hash, this.id, result, resultIndex));
+
+            final int waterlevelCount = result.getWaterlevelCount();
+
+            facets.add(FloodHeightProcessor.createFloodHeightFacet(context, hash, this.id, result, resultIndex));
+
+            for (int j = 0; j < waterlevelCount; j++) {
+
+                final String waterlevelLabel = result.getMainValueLabel(j);
+                // FIXME: use label as label for theme
+
+                facets.add(FloodDurationProcessor.createMainValueDurationFacet(context, hash, this.id, result, themeCount, resultIndex, j));
+                facets.add(FloodHeightProcessor.createMainValueHeightFacet(context, hash, this.id, result, themeCount, resultIndex, j));
+
+                themeCount++;
             }
 
             facets.add(new DataFacet(FacetTypes.CSV, "CSV data", ComputeType.ADVANCE, hash, this.id));
             facets.add(new DataFacet(FacetTypes.PDF, "PDF data", ComputeType.ADVANCE, hash, this.id));
 
-            index++;
+            resultIndex++;
         }
 
         final Calculation report = res.getReport();

http://dive4elements.wald.intevation.org