annotate backend/src/main/java/org/dive4elements/river/model/RiverAxisKm.java @ 7162:4683bdf77ff9

Handle flow velocity measurements in the FlowVelocity processor
author Andre Heinecke <aheinecke@intevation.de>
date Thu, 26 Sep 2013 10:38:21 +0200
parents 4c3ccf2b0304
children 3955ecc1a516
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;
2360
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import java.io.Serializable;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 import java.math.BigDecimal;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 import java.util.List;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 import javax.persistence.Column;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 import javax.persistence.Entity;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17 import javax.persistence.Id;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18 import javax.persistence.JoinColumn;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 import javax.persistence.OneToOne;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 import javax.persistence.Table;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 import org.hibernate.Session;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 import org.hibernate.Query;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 import org.hibernate.annotations.Type;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26 import com.vividsolutions.jts.geom.Point;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27
5829
18619c1e7c2a Repaired internal references.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5828
diff changeset
28 import org.dive4elements.river.backend.SessionHolder;
2360
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 @Entity
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 @Table(name = "river_axes_km")
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 public class RiverAxisKm
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 implements Serializable
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 {
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 private Integer id;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 private River river;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 private BigDecimal km;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 private Point geom;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42 public RiverAxisKm() {
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 }
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 @Id
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 @Column(name = "id")
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 public Integer getId() {
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 return id;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 }
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53 public void setId(Integer id) {
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54 this.id = id;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55 }
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 @OneToOne
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59 @JoinColumn(name = "river_id")
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 public River getRiver() {
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 return river;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62 }
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65 public void setRiver(River river) {
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66 this.river = river;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67 }
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70 @Column(name = "km")
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71 public BigDecimal getKm() {
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72 return km;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 }
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76 public void setKm(BigDecimal km) {
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 this.km = km;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78 }
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81 @Column(name = "geom")
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82 @Type(type = "org.hibernatespatial.GeometryUserType")
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83 public Point getGeom() {
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84 return geom;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85 }
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88 public void setGeom(Point geom) {
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89 this.geom = geom;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90 }
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93 /**
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94 * Returns a list of RiverAxisKm objects for a given river.
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95 *
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
96 * @param riverid The ID of a river in the database.
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
97 *
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
98 * @return a list of RiverAxisKm objects.
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99 */
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100 public static List<RiverAxisKm> getRiverAxisKms(int riverid) {
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101 Session session = SessionHolder.HOLDER.get();
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
102
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
103 Query query = session.createQuery(
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
104 "from RiverAxisKm where river.id =:riverid");
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
105 query.setParameter("riverid", riverid);
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
106
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
107 List<RiverAxisKm> list = query.list();
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
108
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
109 return list;
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
110 }
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
111 }
9df06b88c079 Added model class for relation 'river_axes_km'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
112 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org