Mercurial > dive4elements > river
annotate backend/src/main/java/org/dive4elements/river/model/sinfo/DailyDischargeValue.java @ 9404:bc9a45d2b1fa
common time range for gauges incl. error messages
author | gernotbelger |
---|---|
date | Wed, 15 Aug 2018 13:59:09 +0200 |
parents | e4a6679b868f |
children | 34cd4faf43f4 |
rev | line source |
---|---|
8971
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
1 /* Copyright (C) 2017 by Bundesanstalt für Gewässerkunde |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
2 * Software engineering by |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
3 * Björnsen Beratende Ingenieure GmbH |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
5 * |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
6 * This file is Free Software under the GNU AGPL (>=v3) |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
8 * documentation coming with Dive4Elements River for details. |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
9 */ |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
10 |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
11 package org.dive4elements.river.model.sinfo; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
12 |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
13 import java.io.Serializable; |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
14 import java.util.ArrayList; |
8971
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
15 import java.util.Date; |
9392
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
16 import java.util.List; |
8971
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
17 |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
18 import javax.persistence.Column; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
19 import javax.persistence.Entity; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
20 import javax.persistence.GeneratedValue; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
21 import javax.persistence.GenerationType; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
22 import javax.persistence.Id; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
23 import javax.persistence.JoinColumn; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
24 import javax.persistence.OneToOne; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
25 import javax.persistence.SequenceGenerator; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
26 import javax.persistence.Table; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
27 |
9392
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
28 import org.dive4elements.river.backend.SessionHolder; |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
29 import org.dive4elements.river.model.Gauge; |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
30 import org.hibernate.Query; |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
31 import org.hibernate.Session; |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
32 |
8971
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
33 /** |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
34 * Hibernate binding for the DB table daily_discharge_values |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
35 * |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
36 * @author Matthias Schäfer |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
37 * |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
38 */ |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
39 @Entity |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
40 @Table(name = "daily_discharge_values") |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
41 public class DailyDischargeValue implements Serializable { |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
42 |
9392
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
43 /***** TYPES *****/ |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
44 |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
45 /** |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
46 * Field to use in a query's order-by clause |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
47 * |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
48 */ |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
49 public enum OrderByField { |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
50 DAY, DISCHARGE; |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
51 } |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
52 |
8971
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
53 /***** FIELDS *****/ |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
54 |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
55 private static final long serialVersionUID = -6192738825193230784L; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
56 |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
57 private Integer id; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
58 |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
59 private DailyDischarge dailyDischarge; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
60 |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
61 private Date day; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
62 |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
63 private Double discharge; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
64 |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
65 /***** CONSTRUCTORS *****/ |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
66 |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
67 public DailyDischargeValue() { |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
68 } |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
69 |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
70 public DailyDischargeValue(final DailyDischarge dailyDischarge, final Date day, final Double discharge) { |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
71 this.dailyDischarge = dailyDischarge; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
72 this.day = day; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
73 this.discharge = discharge; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
74 } |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
75 |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
76 /** |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
77 * Parameter constructor with primitive parameter types |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
78 */ |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
79 public DailyDischargeValue(final DailyDischarge dailyDischarge, final Date day, final double discharge) { |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
80 this(dailyDischarge, day, Double.valueOf(discharge)); |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
81 } |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
82 |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
83 /***** METHODS *****/ |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
84 |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
85 @Id |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
86 @SequenceGenerator(name = "SEQUENCE_DAILY_DISCHARGE_VALUE_ID_SEQ", sequenceName = "DAILY_DISCHARGE_VALUES_ID_SEQ", allocationSize = 1) |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
87 @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQUENCE_DAILY_DISCHARGE_VALUE_ID_SEQ") |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
88 @Column(name = "id") |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
89 public Integer getId() { |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
90 return this.id; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
91 } |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
92 |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
93 public void setId(final Integer id) { |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
94 this.id = id; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
95 } |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
96 |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
97 @OneToOne |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
98 @JoinColumn(name = "daily_discharge_id") |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
99 public DailyDischarge getDailyDischarge() { |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
100 return this.dailyDischarge; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
101 } |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
102 |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
103 public void setDailyDischarge(final DailyDischarge dailyDischarge) { |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
104 this.dailyDischarge = dailyDischarge; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
105 } |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
106 |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
107 @Column(name = "discharge") |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
108 public Double getDischarge() { |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
109 return this.discharge; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
110 } |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
111 |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
112 public void setDischarge(final Double discharge) { |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
113 this.discharge = discharge; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
114 } |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
115 |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
116 @Column(name = "day") |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
117 public Date getDay() { |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
118 return this.day; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
119 } |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
120 |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
121 public void setDay(final Date day) { |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
122 this.day = day; |
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
123 } |
9392
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
124 |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
125 /** |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
126 * Selects from the database the daily discharge values of a gauge and a date range |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
127 */ |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
128 public static List<DailyDischargeValue> getValues(final Gauge gauge, final Date startDate, final Date endDate, final OrderByField orderBy) { |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
129 final Session session = SessionHolder.HOLDER.get(); |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
130 final String orderField = (orderBy == OrderByField.DISCHARGE) ? "discharge" : "day"; |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
131 final Query query = session.createQuery("SELECT v" + " FROM DailyDischargeValue AS v JOIN v.dailyDischarge AS s" |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
132 + " WHERE (s.gauge.id=:gaugeid) AND (v.day BETWEEN :startDate AND :endDate)" + " ORDER BY " + orderField); |
9392
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
133 query.setParameter("gaugeid", gauge.getId()); |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
134 query.setParameter("startDate", startDate); |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
135 query.setParameter("endDate", endDate); |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
136 return query.list(); |
e4a6679b868f
Implemented first approach of bundu dynamic main value calculation
mschaefer
parents:
8971
diff
changeset
|
137 } |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
138 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
139 /** |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
140 * Selects from the database the daily discharge, puts the first and the last into a List (min, max day) |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
141 */ |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
142 public static List<DailyDischargeValue> getGlobalMinMax(final Gauge gauge) { |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
143 final Session session = SessionHolder.HOLDER.get(); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
144 final Query query = session |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
145 .createQuery("SELECT v" + " FROM DailyDischargeValue AS v JOIN v.dailyDischarge AS s" + " WHERE (s.gauge.id=:gaugeid) ORDER BY day"); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
146 query.setParameter("gaugeid", gauge.getId()); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
147 return minMaxFromDbResultHelper(query.list()); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
148 } |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
149 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
150 private static List<DailyDischargeValue> minMaxFromDbResultHelper(final List<DailyDischargeValue> values) { |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
151 if (values != null && values.size() > 1) { |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
152 final List<DailyDischargeValue> newList = new ArrayList<>(); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
153 newList.add(values.get(0)); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
154 newList.add(values.get(values.size() - 1)); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
155 return newList; |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
156 } |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
157 return null; |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
158 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9392
diff
changeset
|
159 } |
8971
50416a0df385
Importer for the Schifffahrt (S-INFO) and Oekologie (U-INFO) files
mschaefer
parents:
diff
changeset
|
160 } |