annotate flys-backend/src/main/java/de/intevation/flys/model/Floodplain.java @ 5242:88e3473a3846 2.9.12

Add kind handling for floodplains and crossectiontracks getFloodplain / getCrossection now return only the "current" one 1 is current 0 is misc
author Andre Heinecke <aheinecke@intevation.de>
date Tue, 12 Mar 2013 11:29:10 +0100
parents e9b0fd1de89d
children 23d8f2700b38
rev   line source
1237
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.model;
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
3 import java.io.Serializable;
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
4 import java.util.List;
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6 import javax.persistence.Column;
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7 import javax.persistence.Entity;
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
8 import javax.persistence.Id;
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
9 import javax.persistence.JoinColumn;
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10 import javax.persistence.OneToOne;
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import javax.persistence.Table;
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 import org.hibernate.Query;
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14 import org.hibernate.Session;
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 import org.hibernate.annotations.Type;
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16
2361
e9b0fd1de89d Made flys-backend compatible with oracle spatial.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1237
diff changeset
17 import com.vividsolutions.jts.geom.Polygon;
1237
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 import de.intevation.flys.backend.SessionHolder;
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 @Entity
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 @Table(name = "floodplain")
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 public class Floodplain
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25 implements Serializable
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26 {
5242
88e3473a3846 Add kind handling for floodplains and crossectiontracks
Andre Heinecke <aheinecke@intevation.de>
parents: 2361
diff changeset
27 private Integer id;
1237
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28
5242
88e3473a3846 Add kind handling for floodplains and crossectiontracks
Andre Heinecke <aheinecke@intevation.de>
parents: 2361
diff changeset
29 private FloodplainKind kind;
1237
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30
5242
88e3473a3846 Add kind handling for floodplains and crossectiontracks
Andre Heinecke <aheinecke@intevation.de>
parents: 2361
diff changeset
31 private River river;
88e3473a3846 Add kind handling for floodplains and crossectiontracks
Andre Heinecke <aheinecke@intevation.de>
parents: 2361
diff changeset
32
88e3473a3846 Add kind handling for floodplains and crossectiontracks
Andre Heinecke <aheinecke@intevation.de>
parents: 2361
diff changeset
33 private Polygon geom;
1237
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 public Floodplain() {
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 }
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 @Id
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 @Column(name = "id")
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42 public Integer getId() {
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 return id;
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 }
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 public void setId(Integer id) {
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 this.id = id;
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 }
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 @OneToOne
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 @JoinColumn(name = "river_id")
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52 public River getRiver() {
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53 return river;
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54 }
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 public void setRiver(River river) {
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57 this.river = river;
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 }
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59
5242
88e3473a3846 Add kind handling for floodplains and crossectiontracks
Andre Heinecke <aheinecke@intevation.de>
parents: 2361
diff changeset
60 @OneToOne
88e3473a3846 Add kind handling for floodplains and crossectiontracks
Andre Heinecke <aheinecke@intevation.de>
parents: 2361
diff changeset
61 @JoinColumn(name = "kind_id")
88e3473a3846 Add kind handling for floodplains and crossectiontracks
Andre Heinecke <aheinecke@intevation.de>
parents: 2361
diff changeset
62 public FloodplainKind getKind() {
88e3473a3846 Add kind handling for floodplains and crossectiontracks
Andre Heinecke <aheinecke@intevation.de>
parents: 2361
diff changeset
63 return kind;
88e3473a3846 Add kind handling for floodplains and crossectiontracks
Andre Heinecke <aheinecke@intevation.de>
parents: 2361
diff changeset
64 }
88e3473a3846 Add kind handling for floodplains and crossectiontracks
Andre Heinecke <aheinecke@intevation.de>
parents: 2361
diff changeset
65
88e3473a3846 Add kind handling for floodplains and crossectiontracks
Andre Heinecke <aheinecke@intevation.de>
parents: 2361
diff changeset
66 public void setKind(FloodplainKind kind) {
88e3473a3846 Add kind handling for floodplains and crossectiontracks
Andre Heinecke <aheinecke@intevation.de>
parents: 2361
diff changeset
67 this.kind = kind;
88e3473a3846 Add kind handling for floodplains and crossectiontracks
Andre Heinecke <aheinecke@intevation.de>
parents: 2361
diff changeset
68 }
88e3473a3846 Add kind handling for floodplains and crossectiontracks
Andre Heinecke <aheinecke@intevation.de>
parents: 2361
diff changeset
69
1237
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70 @Column(name = "geom")
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71 @Type(type = "org.hibernatespatial.GeometryUserType")
2361
e9b0fd1de89d Made flys-backend compatible with oracle spatial.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1237
diff changeset
72 public Polygon getGeom() {
1237
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 return geom;
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74 }
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75
2361
e9b0fd1de89d Made flys-backend compatible with oracle spatial.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1237
diff changeset
76 public void setGeom(Polygon geom) {
1237
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 this.geom = geom;
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78 }
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81 public static Floodplain getFloodplain(String river) {
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82 Session session = SessionHolder.HOLDER.get();
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83
5242
88e3473a3846 Add kind handling for floodplains and crossectiontracks
Andre Heinecke <aheinecke@intevation.de>
parents: 2361
diff changeset
84 // kind_id 0 -> Offical
88e3473a3846 Add kind handling for floodplains and crossectiontracks
Andre Heinecke <aheinecke@intevation.de>
parents: 2361
diff changeset
85 // kind_id 1 -> Misc.
1237
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86 Query query = session.createQuery(
5242
88e3473a3846 Add kind handling for floodplains and crossectiontracks
Andre Heinecke <aheinecke@intevation.de>
parents: 2361
diff changeset
87 "from Floodplain where river.name =:river and kind_id=1");
1237
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88 query.setParameter("river", river);
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90 List<Floodplain> result = query.list();
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92 return result.isEmpty() ? null : result.get(0);
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93 }
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94 }
774dff3ee546 Added relation and hibernate classes for floodplains (german 'Talaue').
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org