comparison backend/src/main/java/org/dive4elements/river/model/River.java @ 9527:7c8d62867876

Cleanup of MainWstValue code. Cache qPositions once determined.
author gernotbelger
date Tue, 02 Oct 2018 13:25:52 +0200
parents 50416a0df385
children d9fda7af24ca
comparison
equal deleted inserted replaced
9526:51212d40ff56 9527:7c8d62867876
12 import java.math.BigDecimal; 12 import java.math.BigDecimal;
13 import java.math.MathContext; 13 import java.math.MathContext;
14 import java.util.Comparator; 14 import java.util.Comparator;
15 import java.util.List; 15 import java.util.List;
16 import java.util.Map; 16 import java.util.Map;
17 import java.util.NavigableMap;
17 import java.util.TreeMap; 18 import java.util.TreeMap;
18 19
19 import javax.persistence.Column; 20 import javax.persistence.Column;
20 import javax.persistence.Entity; 21 import javax.persistence.Entity;
21 import javax.persistence.GeneratedValue; 22 import javax.persistence.GeneratedValue;
425 if (gauge.getName().equalsIgnoreCase(name)) 426 if (gauge.getName().equalsIgnoreCase(name))
426 return gauge; 427 return gauge;
427 } 428 }
428 return null; 429 return null;
429 } 430 }
431
432 public Gauge firstUpstreamGauge() {
433 final List<Gauge> gauges = getGauges();
434
435 final NavigableMap<BigDecimal, Gauge> byKm = new TreeMap<>();
436
437 for (final Gauge gauge : gauges) {
438 final Range range = gauge.getRange();
439 if (range != null) {
440 final BigDecimal a = range.getA();
441 byKm.put(a, gauge);
442 }
443 }
444
445 if (byKm.isEmpty())
446 return null;
447
448 if (kmUp)
449 return byKm.lastEntry().getValue();
450
451 return byKm.firstEntry().getValue();
452 }
430 } 453 }
431 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : 454 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org