annotate backend/src/main/java/org/dive4elements/river/model/BedHeight.java @ 9447:3f4215ddd6b4

Changed bundu bzws soundings selection to single select, added bed height query variant for field bed heights
author mschaefer
date Wed, 22 Aug 2018 09:00:54 +0200
parents c08d5cfa4981
children 299c1c61d8ef
rev   line source
5844
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5992
4c3ccf2b0304 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5844
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5844
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5992
4c3ccf2b0304 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5844
diff changeset
6 * documentation coming with Dive4Elements River for details.
5844
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5829
18619c1e7c2a Repaired internal references.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5828
diff changeset
9 package org.dive4elements.river.model;
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import java.io.Serializable;
9246
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
12 import java.util.ArrayList;
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 import java.util.List;
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
15 import javax.persistence.Column;
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 import javax.persistence.Entity;
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
17 import javax.persistence.GeneratedValue;
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
18 import javax.persistence.GenerationType;
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 import javax.persistence.Id;
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
20 import javax.persistence.JoinColumn;
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
21 import javax.persistence.OneToMany;
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
22 import javax.persistence.OneToOne;
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 import javax.persistence.SequenceGenerator;
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
24 import javax.persistence.Table;
2872
bcfdaa3a5bfc Added functions to BedHeightSingle and BedHeightEpoch to get instances from db by id or river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2809
diff changeset
25
5829
18619c1e7c2a Repaired internal references.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5828
diff changeset
26 import org.dive4elements.river.backend.SessionHolder;
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
27 import org.hibernate.Query;
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
28 import org.hibernate.Session;
2872
bcfdaa3a5bfc Added functions to BedHeightSingle and BedHeightEpoch to get instances from db by id or river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2809
diff changeset
29
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 @Entity
8560
6fcf4717605f Meta-data on sounding width associated to bed heights is redundant to real data associated to values.
"Tom Gottfried <tom@intevation.de>"
parents: 5992
diff changeset
31 @Table(name = "bed_height")
6fcf4717605f Meta-data on sounding width associated to bed heights is redundant to real data associated to values.
"Tom Gottfried <tom@intevation.de>"
parents: 5992
diff changeset
32 public class BedHeight implements Serializable {
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 private Integer id;
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 private Integer year;
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 private String evaluationBy;
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 private String description;
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 private River river;
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41
9074
766890addcb2 state To client communication;
gernotbelger
parents: 9038
diff changeset
42 private BedHeightType type;
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 private LocationSystem locationSystem;
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 private ElevationModel curElevationModel;
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 private ElevationModel oldElevationModel;
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 private Range range;
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
52 private String sounding_width_info;
9038
4c5eeaff554c Database column "comment" renamed to "notes" (restrictions in Oracle)
mschaefer
parents: 8975
diff changeset
53 private String notes;
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
54
8560
6fcf4717605f Meta-data on sounding width associated to bed heights is redundant to real data associated to values.
"Tom Gottfried <tom@intevation.de>"
parents: 5992
diff changeset
55 private List<BedHeightValue> values;
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56
8560
6fcf4717605f Meta-data on sounding width associated to bed heights is redundant to real data associated to values.
"Tom Gottfried <tom@intevation.de>"
parents: 5992
diff changeset
57 public BedHeight() {
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
60 public BedHeight(final River river, final Integer year, final BedHeightType type, final LocationSystem locationSystem,
9074
766890addcb2 state To client communication;
gernotbelger
parents: 9038
diff changeset
61 final ElevationModel curElevationModel, final Range range) {
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
62 this(river, year, type, locationSystem, curElevationModel, null, range, null, null, null, null);
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
65 public BedHeight(final River river, final Integer year, final BedHeightType type, final LocationSystem locationSystem,
9038
4c5eeaff554c Database column "comment" renamed to "notes" (restrictions in Oracle)
mschaefer
parents: 8975
diff changeset
66 final ElevationModel curElevationModel, final ElevationModel oldElevationModel, final Range range, final String evaluationBy,
4c5eeaff554c Database column "comment" renamed to "notes" (restrictions in Oracle)
mschaefer
parents: 8975
diff changeset
67 final String description, final String sounding_width_info, final String notes) {
9074
766890addcb2 state To client communication;
gernotbelger
parents: 9038
diff changeset
68 this.river = river;
766890addcb2 state To client communication;
gernotbelger
parents: 9038
diff changeset
69 this.year = year;
766890addcb2 state To client communication;
gernotbelger
parents: 9038
diff changeset
70 this.type = type;
766890addcb2 state To client communication;
gernotbelger
parents: 9038
diff changeset
71 this.locationSystem = locationSystem;
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72 this.curElevationModel = curElevationModel;
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 this.oldElevationModel = oldElevationModel;
9074
766890addcb2 state To client communication;
gernotbelger
parents: 9038
diff changeset
74 this.range = range;
766890addcb2 state To client communication;
gernotbelger
parents: 9038
diff changeset
75 this.evaluationBy = evaluationBy;
766890addcb2 state To client communication;
gernotbelger
parents: 9038
diff changeset
76 this.description = description;
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
77 this.sounding_width_info = sounding_width_info;
9038
4c5eeaff554c Database column "comment" renamed to "notes" (restrictions in Oracle)
mschaefer
parents: 8975
diff changeset
78 this.notes = notes;
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81 @Id
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
82 @SequenceGenerator(name = "SEQUENCE_BED_HEIGHT_ID_SEQ", sequenceName = "BED_HEIGHT_ID_SEQ", allocationSize = 1)
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
83 @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQUENCE_BED_HEIGHT_ID_SEQ")
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84 @Column(name = "id")
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85 public Integer getId() {
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
86 return this.id;
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
89 public void setId(final Integer id) {
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90 this.id = id;
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93 @OneToOne
8842
ff27548d078c Whitespace cosmetics.
Tom Gottfried <tom@intevation.de>
parents: 8560
diff changeset
94 @JoinColumn(name = "river_id")
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95 public River getRiver() {
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
96 return this.river;
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
97 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
98
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
99 public void setRiver(final River river) {
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100 this.river = river;
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
102
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
103 @Column(name = "year")
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
104 public Integer getYear() {
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
105 return this.year;
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
106 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
107
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
108 public void setYear(final Integer year) {
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
109 this.year = year;
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
110 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
111
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
112 @OneToOne
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
113 @JoinColumn(name = "type_id")
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
114 public BedHeightType getType() {
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
115 return this.type;
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
116 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
117
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
118 public void setType(final BedHeightType type) {
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
119 this.type = type;
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
120 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
121
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
122 @OneToOne
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
123 @JoinColumn(name = "location_system_id")
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
124 public LocationSystem getLocationSystem() {
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
125 return this.locationSystem;
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
126 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
127
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
128 public void setLocationSystem(final LocationSystem locationSystem) {
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
129 this.locationSystem = locationSystem;
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
130 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
131
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
132 @OneToOne
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133 @JoinColumn(name = "cur_elevation_model_id")
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
134 public ElevationModel getCurElevationModel() {
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
135 return this.curElevationModel;
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
136 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
137
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
138 public void setCurElevationModel(final ElevationModel curElevationModel) {
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
139 this.curElevationModel = curElevationModel;
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
140 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
141
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
142 @OneToOne
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
143 @JoinColumn(name = "old_elevation_model_id")
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
144 public ElevationModel getOldElevationModel() {
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
145 return this.oldElevationModel;
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
146 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
147
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
148 public void setOldElevationModel(final ElevationModel oldElevationModel) {
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
149 this.oldElevationModel = oldElevationModel;
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
150 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
151
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
152 @OneToOne
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
153 @JoinColumn(name = "range_id")
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
154 public Range getRange() {
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
155 return this.range;
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
156 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
157
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
158 public void setRange(final Range range) {
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
159 this.range = range;
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
160 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
161
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
162 @Column(name = "evaluation_by")
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
163 public String getEvaluationBy() {
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
164 return this.evaluationBy;
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
165 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
166
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
167 public void setEvaluationBy(final String evaluationBy) {
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
168 this.evaluationBy = evaluationBy;
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
169 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
170
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
171 @Column(name = "description")
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
172 public String getDescription() {
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
173 return this.description;
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
174 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
175
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
176 public void setDescription(final String description) {
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
177 this.description = description;
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
178 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
179
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
180 @Column(name = "sounding_width_info")
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
181 public String getSoundingWidthInfo() {
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
182 return this.sounding_width_info;
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
183 }
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
184
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
185 public void setSoundingWidthInfo(final String sounding_width_info) {
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
186 this.sounding_width_info = sounding_width_info;
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
187 }
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
188
9038
4c5eeaff554c Database column "comment" renamed to "notes" (restrictions in Oracle)
mschaefer
parents: 8975
diff changeset
189 @Column(name = "notes")
4c5eeaff554c Database column "comment" renamed to "notes" (restrictions in Oracle)
mschaefer
parents: 8975
diff changeset
190 public String getNotes() {
4c5eeaff554c Database column "comment" renamed to "notes" (restrictions in Oracle)
mschaefer
parents: 8975
diff changeset
191 return this.notes;
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
192 }
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
193
9038
4c5eeaff554c Database column "comment" renamed to "notes" (restrictions in Oracle)
mschaefer
parents: 8975
diff changeset
194 public void setNotes(final String notes) {
4c5eeaff554c Database column "comment" renamed to "notes" (restrictions in Oracle)
mschaefer
parents: 8975
diff changeset
195 this.notes = notes;
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
196 }
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
197
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
198 @OneToMany
8560
6fcf4717605f Meta-data on sounding width associated to bed heights is redundant to real data associated to values.
"Tom Gottfried <tom@intevation.de>"
parents: 5992
diff changeset
199 @JoinColumn(name = "bed_height_id")
6fcf4717605f Meta-data on sounding width associated to bed heights is redundant to real data associated to values.
"Tom Gottfried <tom@intevation.de>"
parents: 5992
diff changeset
200 public List<BedHeightValue> getValues() {
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
201 return this.values;
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
202 }
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
203
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
204 public void setValues(final List<BedHeightValue> values) {
2809
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
205 this.values = values;
f283212966e8 Finished work on MINFO bed heights (single).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
206 }
2872
bcfdaa3a5bfc Added functions to BedHeightSingle and BedHeightEpoch to get instances from db by id or river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2809
diff changeset
207
9074
766890addcb2 state To client communication;
gernotbelger
parents: 9038
diff changeset
208 public static List<BedHeight> getBedHeights(final River river, final double kmLo, final double kmHi) {
9447
3f4215ddd6b4 Changed bundu bzws soundings selection to single select, added bed height query variant for field bed heights
mschaefer
parents: 9246
diff changeset
209 return getBedHeights(river, kmLo, kmHi, false);
3f4215ddd6b4 Changed bundu bzws soundings selection to single select, added bed height query variant for field bed heights
mschaefer
parents: 9246
diff changeset
210 }
3f4215ddd6b4 Changed bundu bzws soundings selection to single select, added bed height query variant for field bed heights
mschaefer
parents: 9246
diff changeset
211
3f4215ddd6b4 Changed bundu bzws soundings selection to single select, added bed height query variant for field bed heights
mschaefer
parents: 9246
diff changeset
212 /**
3f4215ddd6b4 Changed bundu bzws soundings selection to single select, added bed height query variant for field bed heights
mschaefer
parents: 9246
diff changeset
213 * Fetch the soundings with values in a river km range, optionally only those that also have field 01 etc. values
3f4215ddd6b4 Changed bundu bzws soundings selection to single select, added bed height query variant for field bed heights
mschaefer
parents: 9246
diff changeset
214 */
3f4215ddd6b4 Changed bundu bzws soundings selection to single select, added bed height query variant for field bed heights
mschaefer
parents: 9246
diff changeset
215 public static List<BedHeight> getBedHeights(final River river, final double startKm, final double endKm, final boolean withHeightFieldsOnly) {
3f4215ddd6b4 Changed bundu bzws soundings selection to single select, added bed height query variant for field bed heights
mschaefer
parents: 9246
diff changeset
216
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
217 final Session session = SessionHolder.HOLDER.get();
2872
bcfdaa3a5bfc Added functions to BedHeightSingle and BedHeightEpoch to get instances from db by id or river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2809
diff changeset
218
9447
3f4215ddd6b4 Changed bundu bzws soundings selection to single select, added bed height query variant for field bed heights
mschaefer
parents: 9246
diff changeset
219 final String fieldsClause = withHeightFieldsOnly ? " AND (height01 IS NOT NULL)" : "";
3f4215ddd6b4 Changed bundu bzws soundings selection to single select, added bed height query variant for field bed heights
mschaefer
parents: 9246
diff changeset
220 final Query query = session.createQuery("FROM BedHeight"
3f4215ddd6b4 Changed bundu bzws soundings selection to single select, added bed height query variant for field bed heights
mschaefer
parents: 9246
diff changeset
221 + " WHERE (river=:river)"
3f4215ddd6b4 Changed bundu bzws soundings selection to single select, added bed height query variant for field bed heights
mschaefer
parents: 9246
diff changeset
222 + " AND (id IN (SELECT bedHeight.id FROM BedHeightValue"
3f4215ddd6b4 Changed bundu bzws soundings selection to single select, added bed height query variant for field bed heights
mschaefer
parents: 9246
diff changeset
223 + " WHERE (station BETWEEN :kmfrom - 0.0001 AND :kmto + 0.0001)"
3f4215ddd6b4 Changed bundu bzws soundings selection to single select, added bed height query variant for field bed heights
mschaefer
parents: 9246
diff changeset
224 + fieldsClause
3f4215ddd6b4 Changed bundu bzws soundings selection to single select, added bed height query variant for field bed heights
mschaefer
parents: 9246
diff changeset
225 + " GROUP BY bed_height_id))");
2872
bcfdaa3a5bfc Added functions to BedHeightSingle and BedHeightEpoch to get instances from db by id or river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2809
diff changeset
226 query.setParameter("river", river);
9447
3f4215ddd6b4 Changed bundu bzws soundings selection to single select, added bed height query variant for field bed heights
mschaefer
parents: 9246
diff changeset
227 query.setParameter("kmfrom", startKm);
3f4215ddd6b4 Changed bundu bzws soundings selection to single select, added bed height query variant for field bed heights
mschaefer
parents: 9246
diff changeset
228 query.setParameter("kmto", endKm);
2875
444e52222941 Added lower and upper km to functions that return bed height singles and epochs for a given river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2872
diff changeset
229
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
230 final List<BedHeight> singles = query.list();
2875
444e52222941 Added lower and upper km to functions that return bed height singles and epochs for a given river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2872
diff changeset
231
9447
3f4215ddd6b4 Changed bundu bzws soundings selection to single select, added bed height query variant for field bed heights
mschaefer
parents: 9246
diff changeset
232 return ((singles != null) && !singles.isEmpty()) ? singles : null;
2872
bcfdaa3a5bfc Added functions to BedHeightSingle and BedHeightEpoch to get instances from db by id or river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2809
diff changeset
233 }
bcfdaa3a5bfc Added functions to BedHeightSingle and BedHeightEpoch to get instances from db by id or river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2809
diff changeset
234
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
235 public static BedHeight getBedHeightById(final int id) {
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
236 final Session session = SessionHolder.HOLDER.get();
2872
bcfdaa3a5bfc Added functions to BedHeightSingle and BedHeightEpoch to get instances from db by id or river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2809
diff changeset
237
9074
766890addcb2 state To client communication;
gernotbelger
parents: 9038
diff changeset
238 final Query query = session.createQuery("from BedHeight where id=:id");
2872
bcfdaa3a5bfc Added functions to BedHeightSingle and BedHeightEpoch to get instances from db by id or river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2809
diff changeset
239
bcfdaa3a5bfc Added functions to BedHeightSingle and BedHeightEpoch to get instances from db by id or river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2809
diff changeset
240 query.setParameter("id", id);
bcfdaa3a5bfc Added functions to BedHeightSingle and BedHeightEpoch to get instances from db by id or river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2809
diff changeset
241
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
242 final List<BedHeight> singles = query.list();
2872
bcfdaa3a5bfc Added functions to BedHeightSingle and BedHeightEpoch to get instances from db by id or river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2809
diff changeset
243
9098
32dd7e761e4e Fixed condition for Query.list result (checking isEmpty added)
mschaefer
parents: 9089
diff changeset
244 return ((singles != null) && !singles.isEmpty()) ? singles.get(0) : null;
2872
bcfdaa3a5bfc Added functions to BedHeightSingle and BedHeightEpoch to get instances from db by id or river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2809
diff changeset
245 }
8942
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents: 8842
diff changeset
246
9211
aca5a7a57a3a SINFO-TKH: definition der standard sohlhöhen jetzt mit Gültigkeitsstrecke. Definitionsdateien aufgeteilt in eine pro Gewässer.
gernotbelger
parents: 9098
diff changeset
247 public static BedHeight getBedHeightByDescription(final River river, final String description, final double startKm, final double endKm) {
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
248
8942
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents: 8842
diff changeset
249 final Session session = SessionHolder.HOLDER.get();
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
250
9245
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
251 final Query query = session.createQuery("FROM BedHeight" + " WHERE (TRIM(description)=:description) AND river=:river"
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
252 + " AND id IN (SELECT bedHeight.id FROM BedHeightValue" + " WHERE station BETWEEN :kmfrom AND :kmto" + " GROUP BY bedHeight.id)");
9089
02e4a0d983c0 Fixed :bed heights finder did not consider the river correctly
gernotbelger
parents: 9074
diff changeset
253 query.setParameter("river", river);
8942
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents: 8842
diff changeset
254 query.setParameter("description", description);
9218
13b764afb536 Bed height queries extended by km range condition
mschaefer
parents: 9211
diff changeset
255 query.setParameter("kmfrom", startKm);
13b764afb536 Bed height queries extended by km range condition
mschaefer
parents: 9211
diff changeset
256 query.setParameter("kmto", endKm);
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
257
8942
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents: 8842
diff changeset
258 final List<BedHeight> singles = query.list();
8975
a0a0a7f912ab Added new columns bed_height.comment and sounding_width_info; extended the bed height parser for the new meta data and the min/max_height columns
mschaefer
parents: 8942
diff changeset
259
9098
32dd7e761e4e Fixed condition for Query.list result (checking isEmpty added)
mschaefer
parents: 9089
diff changeset
260 return ((singles != null) && !singles.isEmpty()) ? singles.get(0) : null;
8942
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents: 8842
diff changeset
261 }
9245
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
262
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
263 public static List<BedHeight> getBedHeightEpochs(final River river, final double startKm, final double endKm) {
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
264
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
265 final Session session = SessionHolder.HOLDER.get();
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
266 final String description = "epoch";
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
267 final Query query = session.createQuery("FROM BedHeight" + " WHERE lower(description) LIKE :description AND " + "river=:river"
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
268 + " AND id IN (SELECT bedHeight.id FROM BedHeightValue" + " WHERE station BETWEEN :kmfrom AND :kmto" + " GROUP BY bedHeight.id)");
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
269 query.setParameter("river", river);
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
270 query.setParameter("description", "%" + description + "%");
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
271 query.setParameter("kmfrom", startKm);
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
272 query.setParameter("kmto", endKm);
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
273
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
274 final List<BedHeight> singles = query.list();
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
275
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
276 return ((singles != null) && !singles.isEmpty()) ? singles : null;
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
277 }
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
278
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
279 public static List<BedHeight> getBedHeightYear(final River river, final double startKm, final double endKm) {
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
280
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
281 final Session session = SessionHolder.HOLDER.get();
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
282 final String description = "epoch";
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
283 final Query query = session.createQuery("FROM BedHeight" + " WHERE lower(description) NOT LIKE :description AND " + "river=:river"
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
284 + " AND id IN (SELECT bedHeight.id FROM BedHeightValue" + " WHERE station BETWEEN :kmfrom AND :kmto" + " GROUP BY bedHeight.id)");
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
285 query.setParameter("river", river);
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
286 query.setParameter("description", "%" + description + "%");
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
287 query.setParameter("kmfrom", startKm);
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
288 query.setParameter("kmto", endKm);
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
289
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
290 final List<BedHeight> singles = query.list();
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
291
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
292 return ((singles != null) && !singles.isEmpty()) ? singles : null;
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
293 }
9246
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
294
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
295 public static Range getRangeFromBedHeights(final BedHeight bh) {
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
296 final List<Range> ranges = new ArrayList<>();
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
297
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
298 final Session session = SessionHolder.HOLDER.get();
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
299
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
300 final Query query = session.createQuery("FROM Range" + " WHERE id=:range_id)");
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
301 query.setParameter("range_id", bh.getRange().getId());
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
302
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
303 final List<Range> singles = query.list();
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
304
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
305 return ((singles != null) && !singles.isEmpty()) ? singles.get(0) : null;
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
306 }
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
307
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
308 public static List<BedHeight> getBedHeightYearEpoch(final boolean isEpoch, final Integer year, final River river, final double lowerKm,
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
309 final double upperKm) {
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
310
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
311 final Session session = SessionHolder.HOLDER.get();
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
312 final String description = "epoch";
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
313
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
314 final StringBuilder builder = new StringBuilder();
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
315 builder.append("FROM BedHeight");
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
316 if (isEpoch) {
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
317 builder.append(" WHERE lower(description) LIKE :description ");
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
318 } else {
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
319 builder.append(" WHERE lower(description) NOT LIKE :description ");
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
320 }
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
321 builder.append(" AND year =:year");
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
322
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
323 builder.append(
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
324 " AND river=:river AND id IN (SELECT bedHeight.id FROM BedHeightValue WHERE station BETWEEN :kmfrom AND :kmto GROUP BY bedHeight.id )");
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
325 final Query query = session.createQuery(builder.toString());
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
326 query.setParameter("river", river);
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
327 query.setParameter("year", year);
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
328 query.setParameter("description", "%" + description + "%");
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
329 query.setParameter("kmfrom", lowerKm);
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
330 query.setParameter("kmto", upperKm);
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
331
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
332 final List<BedHeight> singles = query.list();
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
333
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
334 return ((singles != null) && !singles.isEmpty()) ? singles : null;
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
335 }
9211
aca5a7a57a3a SINFO-TKH: definition der standard sohlhöhen jetzt mit Gültigkeitsstrecke. Definitionsdateien aufgeteilt in eine pro Gewässer.
gernotbelger
parents: 9098
diff changeset
336 }

http://dive4elements.wald.intevation.org