annotate flys-backend/src/main/java/de/intevation/flys/model/CrossSectionTrack.java @ 5818:a4ff4167be1e

Request feature info on all layers and show it as html if the server does not return valid gml. Non queryable layers produce an error message when the request fails. This is good enough
author Andre Heinecke <aheinecke@intevation.de>
date Wed, 24 Apr 2013 17:33:27 +0200
parents c8e74e5e828c
children
rev   line source
1230
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.model;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
3 import java.io.Serializable;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
4 import java.math.BigDecimal;
1235
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
5 import java.util.List;
1230
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7 import javax.persistence.Column;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
8 import javax.persistence.Entity;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
9 import javax.persistence.Id;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10 import javax.persistence.JoinColumn;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import javax.persistence.OneToOne;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 import javax.persistence.Table;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13
1235
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
14 import org.hibernate.Query;
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
15 import org.hibernate.Session;
1230
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 import org.hibernate.annotations.Type;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18 import com.vividsolutions.jts.geom.LineString;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19
1235
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
20 import de.intevation.flys.backend.SessionHolder;
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
21
1230
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 @Entity
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 @Table(name = "cross_section_tracks")
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25 public class CrossSectionTrack
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26 implements Serializable
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27 {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28 private Integer id;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29 private River river;
3330
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
30 private String name;
1230
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 private LineString geom;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 private BigDecimal km;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 private BigDecimal z;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 public CrossSectionTrack() {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 }
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 @Id
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 @Column(name = "id")
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 public Integer getId() {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42 return id;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 }
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 public void setId(Integer id) {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 this.id = id;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 }
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 @OneToOne
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52 @JoinColumn(name = "river_id")
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53 public River getRiver() {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54 return river;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55 }
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 public void setRiver(River river) {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59 this.river = river;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 }
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62
3330
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
63 @Column(name = "name")
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
64 public String getName() {
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
65 return name;
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
66 }
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
67
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
68
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
69 public void setName(String name) {
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
70 this.name = name;
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
71 }
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
72
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
73
1230
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74 @Column(name = "geom")
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75 @Type(type = "org.hibernatespatial.GeometryUserType")
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76 public LineString getGeom() {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 return geom;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78 }
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81 public void setGeom(LineString geom) {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82 this.geom = geom;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83 }
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86 @Column(name = "km")
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87 public BigDecimal getKm() {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88 return km;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89 }
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92 public void setKm(BigDecimal km) {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93 this.km = km;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94 }
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
96
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
97 @Column(name = "z")
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
98 public BigDecimal getZ() {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99 return z;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100 }
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
102
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
103 public void setZ(BigDecimal z) {
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
104 this.z = z;
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
105 }
1235
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
106
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
107
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
108 public static List<CrossSectionTrack> getCrossSectionTrack(
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
109 String river)
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
110 {
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
111 Session session = SessionHolder.HOLDER.get();
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
112
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
113 Query query = session.createQuery(
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
114 "from CrossSectionTrack where river.name =:river");
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
115 query.setParameter("river", river);
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
116
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
117 return query.list();
47ce1fab8464 Added a static function that returns all CrossSectionTracks of a specific river.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1230
diff changeset
118 }
2341
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
119
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
120
3330
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
121 public static List<CrossSectionTrack> getCrossSectionTrack(
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
122 String river,
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
123 String name
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
124 ) {
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
125 Session session = SessionHolder.HOLDER.get();
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
126
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
127 Query query = session.createQuery(
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
128 "from CrossSectionTrack as cst " +
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
129 " where river.name =:river" +
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
130 " and cst.name=:name");
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
131 query.setParameter("river", river);
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
132 query.setParameter("name", name);
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
133
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
134 return query.list();
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
135 }
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
136
5465
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
137 public static List<CrossSectionTrack> getCrossSectionTrack(
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
138 String river,
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
139 int kind_id
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
140 ) {
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
141 Session session = SessionHolder.HOLDER.get();
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
142
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
143 Query query = session.createQuery(
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
144 "from CrossSectionTrack as cst " +
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
145 " where river.name =:river" +
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
146 " and kind_id=:kind_id");
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
147 query.setParameter("river", river);
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
148 query.setParameter("kind_id", kind_id);
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
149
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
150 return query.list();
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
151 }
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
152
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
153 public static List<CrossSectionTrack> getCrossSectionTrack(
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
154 String river,
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
155 String name,
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
156 int kind_id
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
157 ) {
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
158 Session session = SessionHolder.HOLDER.get();
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
159
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
160 Query query = session.createQuery(
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
161 "from CrossSectionTrack as cst " +
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
162 " where river.name =:river" +
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
163 " and cst.name=:name" +
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
164 " and kind_id=:kind_id");
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
165 query.setParameter("river", river);
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
166 query.setParameter("name", name);
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
167 query.setParameter("kind_id", kind_id);
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
168
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
169 return query.list();
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
170 }
c8e74e5e828c Add crosssection track accessors that filter by kind and by kind and name
Andre Heinecke <aheinecke@intevation.de>
parents: 5242
diff changeset
171
3330
d42249d91f47 Added missing 'name' property and a new function to retrieve CrossSectionTracks.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2341
diff changeset
172
2341
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
173 /**
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
174 * Returns the nearest CrossSectionTrack of <i>river</i> to a given
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
175 * <i>km</i>.
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
176 *
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
177 * @param river The name of a river.
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
178 * @param km The kilometer value.
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
179 *
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
180 * @return the nearest CrossSectionTrack to <i>km</i> of river <i>river</i>.
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
181 */
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
182 public static CrossSectionTrack getCrossSectionTrack(
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
183 String river,
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
184 double km
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
185 ) {
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
186 Session session = SessionHolder.HOLDER.get();
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
187
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
188 Query query = session.createQuery(
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
189 "from CrossSectionTrack where river.name =:river " +
5242
88e3473a3846 Add kind handling for floodplains and crossectiontracks
Andre Heinecke <aheinecke@intevation.de>
parents: 3330
diff changeset
190 "and kind_id = 1 " +
2341
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
191 "order by abs( km - :mykm)");
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
192 query.setParameter("river", river);
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
193 query.setParameter("mykm", new BigDecimal(km));
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
194
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
195 List<CrossSectionTrack> cst = query.list();
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
196
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
197 return cst != null && !cst.isEmpty() ? cst.get(0) : null;
8e2fe935ddf1 Added function to retrieve nearest CrossSectionTrack to a given kilometer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1235
diff changeset
198 }
1230
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
199 }
e2deda3b77a7 Introduced support for FLYS spatial data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
200 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org