Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/services/DynamicMainValuesTimeRangeDeterminationService.java @ 9405:34cd4faf43f4
minMax queries
author | gernotbelger |
---|---|
date | Wed, 15 Aug 2018 14:34:23 +0200 |
parents | bc9a45d2b1fa |
children | 38201f5b0dd9 |
comparison
equal
deleted
inserted
replaced
9404:bc9a45d2b1fa | 9405:34cd4faf43f4 |
---|---|
23 import org.dive4elements.river.artifacts.resources.Resources; | 23 import org.dive4elements.river.artifacts.resources.Resources; |
24 import org.dive4elements.river.artifacts.services.AbstractMainValuesService.MainValuesServiceException; | 24 import org.dive4elements.river.artifacts.services.AbstractMainValuesService.MainValuesServiceException; |
25 import org.dive4elements.river.model.Gauge; | 25 import org.dive4elements.river.model.Gauge; |
26 import org.dive4elements.river.model.River; | 26 import org.dive4elements.river.model.River; |
27 import org.dive4elements.river.model.sinfo.DailyDischargeValue; | 27 import org.dive4elements.river.model.sinfo.DailyDischargeValue; |
28 import org.dive4elements.river.model.sinfo.DailyDischargeValue.MinMax; | |
28 import org.w3c.dom.Document; | 29 import org.w3c.dom.Document; |
29 import org.w3c.dom.Element; | 30 import org.w3c.dom.Element; |
30 import org.w3c.dom.NodeList; | 31 import org.w3c.dom.NodeList; |
31 | 32 |
32 /** | 33 /** |
90 Date min = startTime; | 91 Date min = startTime; |
91 Date max = endTime; | 92 Date max = endTime; |
92 | 93 |
93 for (final Gauge gauge : gauges) { | 94 for (final Gauge gauge : gauges) { |
94 | 95 |
95 final List<DailyDischargeValue> qdvsGlobal = DailyDischargeValue.getGlobalMinMax(gauge); | 96 final Date minGlobalForGauge = DailyDischargeValue.getGlobalMinMax(gauge, MinMax.min); |
96 if (qdvsGlobal == null) { | 97 final Date maxGlobalForGauge = DailyDischargeValue.getGlobalMinMax(gauge, MinMax.max); |
97 | 98 if (minGlobalForGauge == null || maxGlobalForGauge == null) { // der Fall, dass nur eins von beiden null ist, kann eigentlich nciht vorkommen |
98 gaugeResults.add(new GaugeInfoResult.GaugeInfo(getMsg(meta, "bundu.wst_no_data_at_all"), gauge, null, null)); | 99 gaugeResults.add(new GaugeInfoResult.GaugeInfo(getMsg(meta, "bundu.wst_no_data_at_all"), gauge, null, null)); |
99 // TODO : wenn der Workflow abgebrochen werden soll, GlobalErrorMsg setzen, dass mind. ein Pegel überhaupt keine Daten | 100 // TODO : wenn der Workflow abgebrochen werden soll, GlobalErrorMsg setzen, dass mind. ein Pegel überhaupt keine Daten |
100 // hat (der Mechnismus auf Client-Seite ist schon implementiert) | 101 // hat (der Mechnismus auf Client-Seite ist schon implementiert) |
101 | 102 |
102 continue; | 103 continue; |
103 } | 104 } |
104 assert qdvsGlobal.size() == 2; | |
105 final Date minGlobalForGauge = qdvsGlobal.get(0).getDay(); | |
106 final Date maxGlobalForGauge = qdvsGlobal.get(1).getDay(); | |
107 | 105 |
108 if (minGlobalForGauge.getTime() > startTime.getTime()) | 106 if (minGlobalForGauge.getTime() > startTime.getTime()) |
109 min = minGlobalForGauge; | 107 min = minGlobalForGauge; |
110 | 108 |
111 if (maxGlobalForGauge.getTime() < endTime.getTime()) | 109 if (maxGlobalForGauge.getTime() < endTime.getTime()) |