comparison backend/src/main/java/org/dive4elements/river/model/Floodplain.java @ 5838:5aa05a7a34b7

Rename modules to more fitting names.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 15:23:37 +0200
parents flys-backend/src/main/java/org/dive4elements/river/model/Floodplain.java@18619c1e7c2a
children 4dd33b86dc61
comparison
equal deleted inserted replaced
5837:d9901a08d0a6 5838:5aa05a7a34b7
1 package org.dive4elements.river.model;
2
3 import java.io.Serializable;
4 import java.util.List;
5
6 import javax.persistence.Column;
7 import javax.persistence.Entity;
8 import javax.persistence.Id;
9 import javax.persistence.JoinColumn;
10 import javax.persistence.OneToOne;
11 import javax.persistence.Table;
12
13 import org.hibernate.Query;
14 import org.hibernate.Session;
15 import org.hibernate.annotations.Type;
16 import org.hibernate.HibernateException;
17
18 import com.vividsolutions.jts.geom.Polygon;
19
20 import org.dive4elements.river.backend.SessionHolder;
21
22
23 @Entity
24 @Table(name = "floodplain")
25 public class Floodplain
26 implements Serializable
27 {
28 private Integer id;
29
30 private FloodplainKind kind;
31
32 private River river;
33
34 private Polygon geom;
35
36 private String name;
37
38
39 public Floodplain() {
40 }
41
42
43 @Id
44 @Column(name = "id")
45 public Integer getId() {
46 return id;
47 }
48
49 public void setId(Integer id) {
50 this.id = id;
51 }
52
53 @OneToOne
54 @JoinColumn(name = "river_id")
55 public River getRiver() {
56 return river;
57 }
58
59 public void setRiver(River river) {
60 this.river = river;
61 }
62
63 @OneToOne
64 @JoinColumn(name = "kind_id")
65 public FloodplainKind getKind() {
66 return kind;
67 }
68
69 public void setKind(FloodplainKind kind) {
70 this.kind = kind;
71 }
72
73 @Column(name = "geom")
74 @Type(type = "org.hibernatespatial.GeometryUserType")
75 public Polygon getGeom() {
76 return geom;
77 }
78
79 public void setGeom(Polygon geom) {
80 this.geom = geom;
81 }
82
83 @Column(name = "name")
84 public String getName() {
85 return name;
86 }
87
88
89 public void setName(String name) {
90 this.name = name;
91 }
92
93 public static List<Floodplain> getFloodplains(String river, String name, int kind)
94 throws HibernateException {
95 Session session = SessionHolder.HOLDER.get();
96 Query query = session.createQuery(
97 "from Floodplain as fp where river.name =:river" +
98 " and kind.id =:kind" +
99 " and fp.name=:name");
100 query.setParameter("river", river);
101 query.setParameter("kind", kind);
102 query.setParameter("name", name);
103
104 List<Floodplain> list = query.list();
105 return list.isEmpty() ? null : list;
106 }
107
108 public static List<Floodplain> getFloodplains(String river, int kind)
109 throws HibernateException {
110 Session session = SessionHolder.HOLDER.get();
111 Query query = session.createQuery(
112 "from Floodplain where river.name =:river AND kind.id =:kind");
113 query.setParameter("river", river);
114 query.setParameter("kind", kind);
115
116 List<Floodplain> list = query.list();
117 return list.isEmpty() ? null : list;
118 }
119
120 public static Floodplain getFloodplain(String river) {
121 Session session = SessionHolder.HOLDER.get();
122
123 // kind_id 0 -> Offical
124 // kind_id 1 -> Misc.
125 Query query = session.createQuery(
126 "from Floodplain where river.name =:river and kind_id=1");
127 query.setParameter("river", river);
128
129 List<Floodplain> result = query.list();
130
131 return result.isEmpty() ? null : result.get(0);
132 }
133 }
134 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org