annotate backend/src/main/java/org/dive4elements/river/model/GaugeLocation.java @ 5844:4dd33b86dc61

Added header to river backend.
author Sascha L. Teichmann <teichmann@intevation.de>
date Fri, 26 Apr 2013 08:25:41 +0200
parents 5aa05a7a34b7
children 4c3ccf2b0304
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 *
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
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
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
6 * documentation coming with Dive4Elements River for details.
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;
2869
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
3320
8f905390c10d Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2869
diff changeset
11 import com.vividsolutions.jts.geom.Point;
8f905390c10d Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2869
diff changeset
12
5829
18619c1e7c2a Repaired internal references.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5828
diff changeset
13 import org.dive4elements.river.backend.SessionHolder;
3320
8f905390c10d Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2869
diff changeset
14
2869
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 import java.io.Serializable;
3320
8f905390c10d Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2869
diff changeset
16
2869
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17 import java.util.List;
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 import javax.persistence.Column;
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 import javax.persistence.Entity;
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 import javax.persistence.Id;
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 import javax.persistence.JoinColumn;
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 import javax.persistence.OneToOne;
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 import javax.persistence.Table;
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25
3320
8f905390c10d Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2869
diff changeset
26 import org.hibernate.Query;
2869
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27 import org.hibernate.Session;
3320
8f905390c10d Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2869
diff changeset
28
2869
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29 import org.hibernate.annotations.Type;
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 @Entity
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 @Table(name = "gauge_location")
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 public class GaugeLocation
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 implements Serializable
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 {
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 private Integer id;
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 private River river;
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 private String name;
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 private Point geom;
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 public GaugeLocation() {
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 }
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 @Id
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 @Column(name = "id")
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 public Integer getId() {
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 return id;
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 }
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54 public void setId(Integer id) {
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55 this.id = id;
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 }
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59 @OneToOne
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 @JoinColumn(name = "river_id")
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 public River getRiver() {
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62 return river;
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63 }
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66 public void setRiver(River river) {
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67 this.river = river;
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68 }
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71 @Column(name = "name")
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72 public String getName() {
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 return name;
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74 }
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 public void setName(String name) {
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78 this.name = name;
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79 }
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82 @Column(name = "geom")
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83 @Type(type = "org.hibernatespatial.GeometryUserType")
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84 public Point getGeom() {
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85 return geom;
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86 }
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89 public void setGeom(Point geom) {
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90 this.geom = geom;
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91 }
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94 /**
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95 * Returns a list of RiverAxisKm objects for a given river.
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
96 *
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
97 * @param riverid The ID of a river in the database.
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
98 *
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99 * @return a list of RiverAxisKm objects.
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100 */
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101 public static List<GaugeLocation> getGaugeLocations(int riverid, String name) {
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
102 Session session = SessionHolder.HOLDER.get();
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
103
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
104 Query query = session.createQuery(
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
105 "from GaugeLocation where river.id =:riverid and name=:name");
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
106 query.setParameter("riverid", riverid);
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
107 query.setParameter("name", name);
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
108
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
109 List<GaugeLocation> list = query.list();
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
110
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
111 return list;
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
112 }
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
113 }
e29781310140 Added new model class GaugeLocation for storing locations of gauges.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
114 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org