diff artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculationRegionalResult.java @ 9319:c36befc9011c

Salix: Fixed ArrrayoutOfBoundsException; minor cleanup
author gernotbelger
date Fri, 27 Jul 2018 10:18:18 +0200
parents 72b3270e1568
children b3d3c958a594
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculationRegionalResult.java	Thu Jul 26 17:37:23 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculationRegionalResult.java	Fri Jul 27 10:18:18 2018 +0200
@@ -13,6 +13,7 @@
 import java.util.Collection;
 import java.util.List;
 
+import org.apache.commons.lang.StringUtils;
 import org.dive4elements.river.artifacts.common.ExportContextCSV;
 import org.dive4elements.river.artifacts.common.GeneralResultType;
 import org.dive4elements.river.artifacts.common.IExportContext;
@@ -43,8 +44,8 @@
     public String getScenarioLabel(final int i) {
         if ((this.scenarioLabels != null) && (i < this.scenarioLabels.length))
             return this.scenarioLabels[i];
-        else
-            return "";
+
+        return "";
     }
 
     @Override
@@ -63,7 +64,6 @@
     protected void writeCSVResultMetadata(final ExportContextCSV exportContextCSV) {
         writeRegionalEffectsCSVMetadata(exportContextCSV);
         exportContextCSV.writeBlankLine();
-
     }
 
     @Override
@@ -77,8 +77,13 @@
 
             for (final SalixScenario scenario : scenList) {
                 // scenario unused; index wurde ja verworfen, stattdessen 2 spalten
-                lines.add(scenario.getSalixValueFormatted(formatter));
-                lines.add(scenario.getDwsplFormatted());
+                if (scenario == null) {
+                    lines.add(StringUtils.EMPTY);
+                    lines.add(StringUtils.EMPTY);
+                } else {
+                    lines.add(scenario.getSalixValueFormatted(formatter));
+                    lines.add(scenario.getDwsplFormatted());
+                }
             }
         }
         return lines.toArray(new String[lines.size()]);
@@ -106,8 +111,9 @@
             final double station = row.getDoubleValue(GeneralResultType.station);
 
             final List<SalixScenario> scenarios = (List<SalixScenario>) row.getValue(UInfoResultType.customMultiRowColSalixRegionalValue_Dwspl);
-            if (dataIndex <= scenarios.size() - 1) {
-                final double value = scenarios.get(dataIndex).getSalixValue();
+            final SalixScenario salixScenario = scenarios.get(dataIndex);
+            if (salixScenario != null) {
+                final double value = salixScenario.getSalixValue();
                 xPoints.add(station);
                 yPoints.add(value);
             }
@@ -115,31 +121,4 @@
 
         return new double[][] { xPoints.toNativeArray(), yPoints.toNativeArray() };
     }
-
-    // TODO: move to SupraRegionalEffectsResult-Class; remove here
-    // private void writeExtendedRegionalEffectsCSVMetadata(final ExportContextCSV exportContextCSV) {
-    // final String main = "uinfo.export.csv.meta.header.salix.regionalextended";
-    // // "##Überregional wirkende Eingriffe"
-    // exportContextCSV.writeCSVMetaEntry(main);
-    //
-    // writeRegionalCommonCSVMeta(exportContextCSV);
-    // }
-
-    // TODO: move to historical class and delete here
-    // private void writeHistoricalViewCSVMetadata(final ExportContextCSV exportContextCSV) {
-    // final String main = "uinfo.export.csv.meta.header.salix.historical";
-    // // "##Historische Betrachtung"
-    // exportContextCSV.writeCSVMetaEntry(main);
-    //
-    // final String mainSub = "uinfo.export.csv.meta.header.salix";
-    // // "# Szenariotyp: "
-    // exportContextCSV.writeCSVMetaEntry(mainSub + ".szenariotyp");
-    // // "# Teilabschnitt: "
-    // exportContextCSV.writeCSVMetaEntry(mainSub + ".teilabschnitt");
-    //
-    // // "# Art des Zeitraums: "
-    // exportContextCSV.writeCSVMetaEntry(main + ".zeitart");
-    // // "# Historischer Zeitpunkt: "
-    // exportContextCSV.writeCSVMetaEntry(main + ".zeitpunkt");
-    // }
 }
\ No newline at end of file

http://dive4elements.wald.intevation.org