# HG changeset patch # User gernotbelger # Date 1533141657 -7200 # Node ID 392745cccedefbbca58c2e488187f9e41c759523 # Parent 2aec052d40886d7c2ed5de5223785d0dc507c257 Fixed: waterlevels from database should not get the "Bezugspegel" column in the result output. diff -r 2aec052d4088 -r 392745cccede artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/AbstractTkhCalculationResult.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/AbstractTkhCalculationResult.java Wed Aug 01 18:01:11 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/AbstractTkhCalculationResult.java Wed Aug 01 18:40:57 2018 +0200 @@ -39,6 +39,10 @@ public final boolean hasTkh() { return this.hasTkh; } + + public boolean isShowRefGauges() { + return this.wst.isShowRefGauges(); + } public final double[][] getTkhUpPoints() { diff -r 2aec052d4088 -r 392745cccede artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepth/FlowDepthCalculation.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepth/FlowDepthCalculation.java Wed Aug 01 18:01:11 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepth/FlowDepthCalculation.java Wed Aug 01 18:40:57 2018 +0200 @@ -106,7 +106,7 @@ final RiverInfoProvider riverInfoProvider = infoProvider.forWaterlevel(waterlevel); final int wspYear = waterlevel.getYear(); - final WstInfo wstInfo = new WstInfo(wspLabel, wspYear, riverInfoProvider.getReferenceGauge()); + final WstInfo wstInfo = new WstInfo(wspLabel, wspYear, riverInfoProvider.getReferenceGauge(), waterlevel.isShowRefGauges()); final WaterlevelValuesFinder waterlevelProvider = WaterlevelValuesFinder.fromKms(problems, wstKms); final DischargeValuesFinder dischargeProvider = DischargeValuesFinder.fromKms(wstKms); diff -r 2aec052d4088 -r 392745cccede artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepthdev/FlowDepthDevelopmentCalculation.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepthdev/FlowDepthDevelopmentCalculation.java Wed Aug 01 18:01:11 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepthdev/FlowDepthDevelopmentCalculation.java Wed Aug 01 18:40:57 2018 +0200 @@ -123,8 +123,8 @@ final RiverInfoProvider currentRiverInfoProvider = infoProvider.forWaterlevel(currentWaterlevel); final RiverInfoProvider histRiverInfoProvider = infoProvider.forWaterlevel(historicalWaterlevel); - final WstInfo currentWstInfo = new WstInfo(currentWaterlevel.getName(), currentWstYear, currentRiverInfoProvider.getReferenceGauge()); - final WstInfo historicalWstInfo = new WstInfo(historicalWaterlevel.getName(), historicalWstYear, histRiverInfoProvider.getReferenceGauge()); + final WstInfo currentWstInfo = new WstInfo(currentWaterlevel.getName(), currentWstYear, currentRiverInfoProvider.getReferenceGauge(), true); + final WstInfo historicalWstInfo = new WstInfo(historicalWaterlevel.getName(), historicalWstYear, histRiverInfoProvider.getReferenceGauge(), true); final WKms currentWkms = currentWaterlevel.getWkms(); final WaterlevelValuesFinder currentWstProvider = WaterlevelValuesFinder.fromKms(problems, currentWkms); diff -r 2aec052d4088 -r 392745cccede artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepthminmax/FlowDepthMinMaxCalculation.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepthminmax/FlowDepthMinMaxCalculation.java Wed Aug 01 18:01:11 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepthminmax/FlowDepthMinMaxCalculation.java Wed Aug 01 18:40:57 2018 +0200 @@ -113,7 +113,7 @@ final RiverInfoProvider riverInfoProvider = infoProvider.forWaterlevel(waterlevel); final int wspYear = waterlevel.getYear(); - final WstInfo wstInfo = new WstInfo(waterlevel.getName(), wspYear, riverInfoProvider.getReferenceGauge()); + final WstInfo wstInfo = new WstInfo(waterlevel.getName(), wspYear, riverInfoProvider.getReferenceGauge(), true); final WaterlevelValuesFinder waterlevelProvider = WaterlevelValuesFinder.fromKms(problems, wstKms); final DischargeValuesFinder dischargeProvider = DischargeValuesFinder.fromKms(wstKms); diff -r 2aec052d4088 -r 392745cccede artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/tkhstate/TkhCalculation.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/tkhstate/TkhCalculation.java Wed Aug 01 18:01:11 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/tkhstate/TkhCalculation.java Wed Aug 01 18:40:57 2018 +0200 @@ -153,13 +153,13 @@ final int wspYear = -1; // Remark: showAllGauges only true for Fixierungsanalyse, false for WInfo, so false here as well final boolean showAllGauges = false; - final WaterlevelData waterlevel = new WaterlevelData(wkms, wspYear, showAllGauges); + final WaterlevelData waterlevel = new WaterlevelData(wkms, wspYear, showAllGauges, true); final RiverInfoProvider riverInfoProvider = riverInfo.forWaterlevel(waterlevel); final String waterlevelLabel = descBuilder.getDesc(wkms); - final WstInfo wstInfo = new WstInfo(waterlevelLabel, wspYear, riverInfoProvider.getReferenceGauge()); + final WstInfo wstInfo = new WstInfo(waterlevelLabel, wspYear, riverInfoProvider.getReferenceGauge(), true); /* build tkh calculators per bedheight */ final Map calculatorsByRanges = buildCalculators(calcRange, wkms, bedHeights, problems, riverInfoProvider, waterlevelLabel); diff -r 2aec052d4088 -r 392745cccede artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/util/WstInfo.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/util/WstInfo.java Wed Aug 01 18:01:11 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/util/WstInfo.java Wed Aug 01 18:40:57 2018 +0200 @@ -24,10 +24,13 @@ private final String gauge; - public WstInfo(final String label, final int year, final String refGauge) { + private boolean showRefGauges; + + public WstInfo(final String label, final int year, final String refGauge, boolean showRefGauges) { this.label = label; this.year = year; this.gauge = refGauge; + this.showRefGauges = showRefGauges; } public String getLabel() { @@ -41,4 +44,8 @@ public String getGauge() { return this.gauge; } + + public boolean isShowRefGauges() { + return this.showRefGauges; + } } \ No newline at end of file diff -r 2aec052d4088 -r 392745cccede artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelData.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelData.java Wed Aug 01 18:01:11 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelData.java Wed Aug 01 18:40:57 2018 +0200 @@ -29,19 +29,18 @@ /** If true, tabular export will show gauges for every station, else only for the first gauge */ private final boolean showAllGauges; - public WaterlevelData(final WKms wkms, final int year) { - this(wkms, year, false); + private boolean showRefGauges; + + public WaterlevelData(final WKms wkms, final int year, final boolean showAllGauges, boolean showRefGauges) { + this(wkms.getName(), wkms, year, showAllGauges, showRefGauges); } - public WaterlevelData(final WKms wkms, final int year, final boolean showAllGauges) { - this(wkms.getName(), wkms, year, showAllGauges); - } - - private WaterlevelData(final String name, final WKms wkms, final int year, final boolean showAllGauges) { + private WaterlevelData(final String name, final WKms wkms, final int year, final boolean showAllGauges, boolean showRefGauges) { this.name = name; this.wkms = wkms; this.year = year; this.showAllGauges = showAllGauges; + this.showRefGauges = showRefGauges; } public WaterlevelData filterByRange(final double from, final double to) { @@ -50,11 +49,11 @@ } final WKms filteredWkms = this.wkms.filteredKms(from, to); - return new WaterlevelData(this.name, filteredWkms, this.year, this.showAllGauges); + return new WaterlevelData(this.name, filteredWkms, this.year, this.showAllGauges ,showRefGauges); } public WaterlevelData withName(final String nameToSet) { - return new WaterlevelData(nameToSet, this.wkms, this.year, this.showAllGauges); + return new WaterlevelData(nameToSet, this.wkms, this.year, this.showAllGauges, showRefGauges); } public String getName() { @@ -68,6 +67,10 @@ public boolean isShowAllGauges() { return this.showAllGauges; } + + public boolean isShowRefGauges() { + return this.showRefGauges; + } public int getYear() { return this.year; diff -r 2aec052d4088 -r 392745cccede artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelFetcher.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelFetcher.java Wed Aug 01 18:01:11 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelFetcher.java Wed Aug 01 18:40:57 2018 +0200 @@ -78,13 +78,11 @@ private WaterlevelData fetchWaterlevelFromArtifact(final CallContext context, final D4EArtifact d4eArtifact, final int idx, final double from, final double to) { - if (d4eArtifact instanceof StaticWKmsArtifact) { + if (d4eArtifact instanceof StaticWKmsArtifact) return fetchStaticWKmsArtifactWaterlevel((StaticWKmsArtifact) d4eArtifact, idx, from, to); - } - if (d4eArtifact instanceof StaticWQKmsArtifact) { + if (d4eArtifact instanceof StaticWQKmsArtifact) return fetchStaticWQKmsArtifactWaterlevel((StaticWQKmsArtifact) d4eArtifact, from, to); - } if (d4eArtifact instanceof WINFOArtifact) return fetchWINFOArtifactWaterlevel(context, (WINFOArtifact) d4eArtifact, idx, from, to); @@ -108,7 +106,7 @@ if (wkms != null) { final int year = fetchStaticWKmsYear(staticWKms); - return new WaterlevelData(wkms, year); + return new WaterlevelData(wkms, year, false, false); } log.error("No WKms from Static artifact for this range."); @@ -123,7 +121,7 @@ if (wkms != null) { final int year = fetchStaticWKmsYear(staticWKms); - return new WaterlevelData(wkms, year); + return new WaterlevelData(wkms, year, false, false); } log.error("No WKms from Static artifact for this range."); @@ -148,7 +146,7 @@ // REAMRK: W_INFO results does not know any 'year' final int year = -1; - return new WaterlevelData(wkms[idx], year).filterByRange(from, to); + return new WaterlevelData(wkms[idx], year, false, true).filterByRange(from, to); } private WaterlevelData fetchFixationArtifactWaterlevel(final CallContext context, final FixationArtifact fixation, final int idx, final double from, @@ -171,7 +169,7 @@ // REMARK: same logic as in WaterlevelExporter final boolean showAllGauges = isFixRealize; - return new WaterlevelData(frR.getWQKms()[idx], year, showAllGauges).filterByRange(from, to); + return new WaterlevelData(frR.getWQKms()[idx], year, showAllGauges, true).filterByRange(from, to); } /**