diff artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/bezugswst/BezugswstCalculation.java @ 9438:d2f5375ede26

Replaced own W and Q facets in bundu bzws by subclass of FixWaterlevelFacet, added annotations and datacage
author mschaefer
date Mon, 20 Aug 2018 16:05:06 +0200
parents 751a3eff6244
children ecadc9ed0ba0
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/bezugswst/BezugswstCalculation.java	Mon Aug 20 15:53:33 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/bezugswst/BezugswstCalculation.java	Mon Aug 20 16:05:06 2018 +0200
@@ -43,10 +43,12 @@
 
     private final CallContext context;
 
+
     public BezugswstCalculation(final CallContext context) {
         this.context = context;
     }
 
+
     /**
      * Calculates the result rows of a bundu bzws workflow
      */
@@ -73,9 +75,11 @@
         bunduartifact.addStringData("wq_isq", "true"); // macht doch Sinn hier, sorry!
         final WinfoArtifactWrapper winfo = new WinfoArtifactWrapper(bunduartifact);
         final RiverInfoProvider riverInfoProvider = RiverInfoProvider.forRange(this.context, river, access.getRange(), true);
-        final WQKms wqkms = calculateWspl(bunduartifact, problems);
-        if (wqkms == null)
+        final FixRealizingResult fixResult = calculateWspl(bunduartifact, problems);
+        if (fixResult == null)
             return new CalculationResult(results, problems);
+
+        final WQKms wqkms = fixResult.getWQKms()[0];
         final WstInfo wstInfo = new WstInfo(wqkms.getName(), 0, riverInfoProvider.getReferenceGauge(), true);
 
         // Fetch the bed heights of the selected sounding
@@ -99,7 +103,7 @@
         final WaterlevelDescriptionBuilder descBuilder = new WaterlevelDescriptionBuilder(winfo, this.context);
         final String qtext = descBuilder.getMetadataQ();
         final BezugswstMainCalculationResult result = new BezugswstMainCalculationResult("bundu-bzws", rows, bedHeightsFinder.getInfo(), wstInfo,
-                access.getFunction(), preprocessing, startYear, endYear, ud, qtext, missingVolFrom, missingVolTo);
+                access.getFunction(), preprocessing, startYear, endYear, ud, qtext, wqkms, missingVolFrom, missingVolTo);
         results.addResult(result, problems);
 
         // // missing volume calculation
@@ -177,7 +181,7 @@
     /**
      * Calculates a w-q-longitudinal section for a river range and Q specified in an artifact
      */
-    private WQKms calculateWspl(final BUNDUArtifact bundu, final Calculation problems) {
+    private FixRealizingResult calculateWspl(final BUNDUArtifact bundu, final Calculation problems) {
 
         final FixRealizingAccess access = new FixRealizingAccess(bundu);
         final FixRealizingCalculation calc = new FixRealizingCalculation(access);
@@ -185,7 +189,6 @@
         final CalculationResult res = calc.calculate();
 
         final FixRealizingResult fixRes = (FixRealizingResult) res.getData();
-        final WQKms[] wqkms = (fixRes != null) ? fixRes.getWQKms() : new WQKms[0];
 
         final List<Problem> problems2 = res.getReport().getProblems();
         if (problems2 != null) {
@@ -193,9 +196,7 @@
                 problems.addProblem(problem);
             }
         }
-        if (wqkms.length >= 1)
-            return wqkms[0];
-        return null;
+        return fixRes;
     }
 
     /**

http://dive4elements.wald.intevation.org