Mercurial > dive4elements > river
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; } /**