annotate backend/src/main/java/org/dive4elements/river/model/BedHeight.java @ 9246:c08d5cfa4981

some hibernate queries on bedheigts for salix
author gernotbelger
date Thu, 12 Jul 2018 11:15:42 +0200
parents f5cff8708531
children 3f4215ddd6b4
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) {
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
209 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
210
9245
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
211 final Query query = session.createQuery("from BedHeight" + " where river=:river" + " and id in (select bedHeight.id from BedHeightValue"
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
212 + " where station between :kmfrom and :kmto" + " group by bedHeight.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
213
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
214 query.setParameter("river", river);
9218
13b764afb536 Bed height queries extended by km range condition
mschaefer
parents: 9211
diff changeset
215 query.setParameter("kmfrom", kmLo);
13b764afb536 Bed height queries extended by km range condition
mschaefer
parents: 9211
diff changeset
216 query.setParameter("kmto", kmHi);
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
217
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
218 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
219
9219
8642a76f22be Fixed getBedHeights (removed the obsolete km filtering loop)
mschaefer
parents: 9218
diff changeset
220 return singles;
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
221 }
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
222
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
223 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
224 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
225
9074
766890addcb2 state To client communication;
gernotbelger
parents: 9038
diff changeset
226 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
227
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
228 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
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();
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
231
9098
32dd7e761e4e Fixed condition for Query.list result (checking isEmpty added)
mschaefer
parents: 9089
diff changeset
232 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
233 }
8942
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents: 8842
diff changeset
234
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
235 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
236
8942
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents: 8842
diff changeset
237 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
238
9245
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
239 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
240 + " 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
241 query.setParameter("river", river);
8942
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents: 8842
diff changeset
242 query.setParameter("description", description);
9218
13b764afb536 Bed height queries extended by km range condition
mschaefer
parents: 9211
diff changeset
243 query.setParameter("kmfrom", startKm);
13b764afb536 Bed height queries extended by km range condition
mschaefer
parents: 9211
diff changeset
244 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
245
8942
11bf13cf0463 Minor changes to tkh calculation. Loading default bed heights form config file.
gernotbelger
parents: 8842
diff changeset
246 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
247
9098
32dd7e761e4e Fixed condition for Query.list result (checking isEmpty added)
mschaefer
parents: 9089
diff changeset
248 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
249 }
9245
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
250
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
251 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
252
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
253 final Session session = SessionHolder.HOLDER.get();
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
254 final String description = "epoch";
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
255 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
256 + " 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
257 query.setParameter("river", river);
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
258 query.setParameter("description", "%" + description + "%");
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
259 query.setParameter("kmfrom", startKm);
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
260 query.setParameter("kmto", endKm);
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
261
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
262 final List<BedHeight> singles = query.list();
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
263
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
264 return ((singles != null) && !singles.isEmpty()) ? singles : null;
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
265 }
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
266
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
267 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
268
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
269 final Session session = SessionHolder.HOLDER.get();
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
270 final String description = "epoch";
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
271 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
272 + " 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
273 query.setParameter("river", river);
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
274 query.setParameter("description", "%" + description + "%");
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
275 query.setParameter("kmfrom", startKm);
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
276 query.setParameter("kmto", endKm);
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
277
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
278 final List<BedHeight> singles = query.list();
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
279
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
280 return ((singles != null) && !singles.isEmpty()) ? singles : null;
f5cff8708531 bedheight datasource for salix.historical
gernotbelger
parents: 9219
diff changeset
281 }
9246
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
282
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
283 public static Range getRangeFromBedHeights(final BedHeight bh) {
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
284 final List<Range> ranges = new ArrayList<>();
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
285
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
286 final Session session = SessionHolder.HOLDER.get();
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
287
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
288 final Query query = session.createQuery("FROM Range" + " WHERE id=:range_id)");
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
289 query.setParameter("range_id", bh.getRange().getId());
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
290
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
291 final List<Range> singles = query.list();
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
292
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
293 return ((singles != null) && !singles.isEmpty()) ? singles.get(0) : null;
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
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
296 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
297 final double upperKm) {
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
298
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
299 final Session session = SessionHolder.HOLDER.get();
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
300 final String description = "epoch";
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
301
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
302 final StringBuilder builder = new StringBuilder();
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
303 builder.append("FROM BedHeight");
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
304 if (isEpoch) {
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
305 builder.append(" WHERE lower(description) LIKE :description ");
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
306 } else {
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
307 builder.append(" WHERE lower(description) NOT LIKE :description ");
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
308 }
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
309 builder.append(" AND year =:year");
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 builder.append(
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
312 " 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
313 final Query query = session.createQuery(builder.toString());
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
314 query.setParameter("river", river);
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
315 query.setParameter("year", year);
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
316 query.setParameter("description", "%" + description + "%");
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
317 query.setParameter("kmfrom", lowerKm);
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
318 query.setParameter("kmto", upperKm);
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
319
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
320 final List<BedHeight> singles = query.list();
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
321
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
322 return ((singles != null) && !singles.isEmpty()) ? singles : null;
c08d5cfa4981 some hibernate queries on bedheigts for salix
gernotbelger
parents: 9245
diff changeset
323 }
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
324 }

http://dive4elements.wald.intevation.org