changeset 9362:392745cccede

Fixed: waterlevels from database should not get the "Bezugspegel" column in the result output.
author gernotbelger
date Wed, 01 Aug 2018 18:40:57 +0200
parents 2aec052d4088
children 0274c7444b2d
files artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/AbstractTkhCalculationResult.java artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepth/FlowDepthCalculation.java artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepthdev/FlowDepthDevelopmentCalculation.java artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flowdepthminmax/FlowDepthMinMaxCalculation.java artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/tkhstate/TkhCalculation.java artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/util/WstInfo.java artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelData.java artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelFetcher.java
diffstat 8 files changed, 36 insertions(+), 24 deletions(-) [+]
line wrap: on
line diff
--- 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() {
 
--- 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);
--- 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);
--- 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);
--- 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<NumberRange, TkhCalculator> calculatorsByRanges = buildCalculators(calcRange, wkms, bedHeights, problems, riverInfoProvider, waterlevelLabel);
--- 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
--- 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 <code>true</code>, 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;
--- 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);
     }
 
     /**

http://dive4elements.wald.intevation.org