Mercurial > dive4elements > river
comparison flys-backend/src/main/java/org/dive4elements/river/model/DGM.java @ 5828:dfb26b03b179
Moved directories to org.dive4elements.river
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 25 Apr 2013 11:53:11 +0200 |
parents | flys-backend/src/main/java/de/intevation/flys/model/DGM.java@908848b74d7e |
children | 18619c1e7c2a |
comparison
equal
deleted
inserted
replaced
5827:e308d4ecd35a | 5828:dfb26b03b179 |
---|---|
1 package de.intevation.flys.model; | |
2 | |
3 import java.io.Serializable; | |
4 import java.util.List; | |
5 import java.math.BigDecimal; | |
6 | |
7 import javax.persistence.Column; | |
8 import javax.persistence.Entity; | |
9 import javax.persistence.GeneratedValue; | |
10 import javax.persistence.GenerationType; | |
11 import javax.persistence.Id; | |
12 import javax.persistence.JoinColumn; | |
13 import javax.persistence.OneToOne; | |
14 import javax.persistence.Table; | |
15 import javax.persistence.SequenceGenerator; | |
16 | |
17 import org.hibernate.Session; | |
18 import org.hibernate.Query; | |
19 | |
20 import de.intevation.flys.backend.SessionHolder; | |
21 | |
22 | |
23 @Entity | |
24 @Table(name = "dem") | |
25 public class DGM implements Serializable { | |
26 | |
27 private Integer id; | |
28 private Integer srid; | |
29 | |
30 private River river; | |
31 | |
32 private Range range; | |
33 private TimeInterval time_interval; | |
34 | |
35 private String path; | |
36 | |
37 | |
38 public DGM() { | |
39 } | |
40 | |
41 | |
42 public void setId(Integer id) { | |
43 this.id = id; | |
44 } | |
45 | |
46 @Id | |
47 @SequenceGenerator( | |
48 name = "SEQUENCE_DEM_ID_SEQ", | |
49 sequenceName = "DEM_ID_SEQ", | |
50 allocationSize = 1) | |
51 @GeneratedValue( | |
52 strategy = GenerationType.SEQUENCE, | |
53 generator = "SEQUENCE_DEM_ID_SEQ") | |
54 @Column(name = "id") | |
55 public Integer getId() { | |
56 return id; | |
57 } | |
58 | |
59 public void setRiver(River river) { | |
60 this.river = river; | |
61 } | |
62 | |
63 @OneToOne | |
64 @JoinColumn(name = "river_id") | |
65 public River getRiver() { | |
66 return river; | |
67 } | |
68 | |
69 public void setPath(String path) { | |
70 this.path = path; | |
71 } | |
72 | |
73 @Column(name = "path") | |
74 public String getPath() { | |
75 return path; | |
76 } | |
77 | |
78 public void setSrid(int srid) { | |
79 this.srid = srid; | |
80 } | |
81 | |
82 @Column(name = "srid") | |
83 public int getSrid() { | |
84 return srid; | |
85 } | |
86 | |
87 public static DGM getDGM(int id) { | |
88 Session session = SessionHolder.HOLDER.get(); | |
89 | |
90 Query query = session.createQuery( | |
91 "from DGM where Id =:id"); | |
92 query.setParameter("id", id); | |
93 | |
94 List<DGM> result = query.list(); | |
95 | |
96 return result.isEmpty() ? null : result.get(0); | |
97 } | |
98 | |
99 | |
100 public static DGM getDGM(String river, double lower, double upper) { | |
101 Session session = SessionHolder.HOLDER.get(); | |
102 | |
103 Query query = session.createQuery( | |
104 "from DGM where river.name =:river and " + | |
105 "range.a <=:lower and range.b >=:lower and " + | |
106 "range.a <=:upper and range.b >=:upper"); | |
107 query.setParameter("river", river); | |
108 query.setParameter("lower", new BigDecimal(lower)); | |
109 query.setParameter("upper", new BigDecimal(upper)); | |
110 | |
111 List<DGM> result = query.list(); | |
112 | |
113 return result.isEmpty() ? null : result.get(0); | |
114 } | |
115 | |
116 @OneToOne | |
117 @JoinColumn(name = "range_id") | |
118 public Range getRange() { | |
119 return range; | |
120 } | |
121 | |
122 public void setRange(Range range) { | |
123 this.range = range; | |
124 } | |
125 | |
126 @OneToOne | |
127 @JoinColumn(name = "time_interval_id") | |
128 public TimeInterval getTimeInterval() { | |
129 return time_interval; | |
130 } | |
131 | |
132 public void setTimeInterval(TimeInterval time_interval) { | |
133 this.time_interval = time_interval; | |
134 } | |
135 | |
136 | |
137 } | |
138 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |