diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationCalculation.java @ 9150:23945061daec

gigantic refactoring: exporter, result, results to support multiple jaspers -> collisions
author gernotbelger
date Thu, 14 Jun 2018 16:56:31 +0200
parents e6b63b2b41b9
children 1614cb14308f
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationCalculation.java	Thu Jun 14 15:12:25 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationCalculation.java	Thu Jun 14 16:56:31 2018 +0200
@@ -18,7 +18,6 @@
 import org.dive4elements.river.artifacts.sinfo.common.RiverInfoProvider;
 import org.dive4elements.river.artifacts.sinfo.tkhstate.WinfoArtifactWrapper;
 import org.dive4elements.river.artifacts.sinfo.util.CalculationUtils;
-import org.dive4elements.river.artifacts.sinfo.util.RiverInfo;
 import org.dive4elements.river.artifacts.sinfo.util.WstInfo;
 import org.dive4elements.river.model.River;
 
@@ -39,7 +38,6 @@
         /* access input data */
         final FloodDurationAccess access = new FloodDurationAccess(sinfo);
         final River river = access.getRiver();
-        final RiverInfo riverInfo = new RiverInfo(river);
 
         final DoubleRange calcRange = access.getRange();
 
@@ -50,15 +48,13 @@
 
         final String calcModeLabel = Resources.getMsg(this.context.getMeta(), sinfo.getCalculationMode().name());
 
+        // TODO: use enum for riverside
         final String riverside = access.getRiverside();
-        final FloodDurationCalculationResults results = new FloodDurationCalculationResults(calcModeLabel, user, riverInfo, calcRange, riverside); // TODO: add
-                                                                                                                                                   // more
+        // more
         // TODO: mis- ups.. re-use WINFO Artifact as in TkhState
         final WinfoArtifactWrapper winfo = new WinfoArtifactWrapper(sinfo);
         // winfo.computeWaterlevelData();
-        final FloodDurationCalculationResult result = calculateResult(calcRange, infoProvider, problems);
-
-        results.addResult(result, problems);
+        final FloodDurationCalculationResults results = calculateResult(calcModeLabel, riverside, calcRange, infoProvider, user, problems);
 
         return new CalculationResult(results, problems);
     }
@@ -66,16 +62,20 @@
     /**
      * Calculates FAKE Flood Duration
      *
+     * @param riverside
+     * @param calcModeLabel
+     * @param user
+     *
      * @param infoProvider
      */
-    private FloodDurationCalculationResult calculateResult(final DoubleRange calcRange, final RiverInfoProvider riverInfoProvider, final Calculation problems) {
+    private FloodDurationCalculationResults calculateResult(final String calcModeLabel, final String riverside, final DoubleRange calcRange,
+            final RiverInfoProvider riverInfoProvider, final String user, final Calculation problems) {
 
-        final FloodDurationCalculator calculator = new FloodDurationCalculator(riverInfoProvider);
+        final FloodDurationCalculator calculator = new FloodDurationCalculator(this.context, riverInfoProvider);
         final String wspLabel = "WSP-Name";// wstKms.getName();
         final int wspYear = 9999; // waterlevel.getYear();
         final WstInfo wstInfo = new WstInfo(wspLabel, wspYear, riverInfoProvider.getReferenceGauge());
         final String label = String.format("%s - %s", wspLabel, " soundingLabel");
-        return calculator.execute(label, wstInfo, calcRange);
+        return calculator.execute(problems, label, wstInfo, calcModeLabel, calcRange, riverside, user);
     }
-
 }
\ No newline at end of file

http://dive4elements.wald.intevation.org