Mercurial > dive4elements > river
comparison flys-backend/src/main/java/de/intevation/flys/importer/ImportWstQRange.java @ 201:3169b559ca3c
Build models for wsts, wst columns and q ranges and store them in the backend.
flys-backend/trunk@1549 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 23 Mar 2011 15:22:32 +0000 |
parents | a33c065b95eb |
children | 67fd63e4ef66 |
comparison
equal
deleted
inserted
replaced
200:88048d4f6e4d | 201:3169b559ca3c |
---|---|
1 package de.intevation.flys.importer; | 1 package de.intevation.flys.importer; |
2 | 2 |
3 import java.math.BigDecimal; | |
4 | |
3 import de.intevation.flys.model.WstQRange; | 5 import de.intevation.flys.model.WstQRange; |
6 import de.intevation.flys.model.River; | |
7 import de.intevation.flys.model.Range; | |
8 | |
9 import org.hibernate.Session; | |
10 import org.hibernate.Query; | |
11 | |
12 import java.util.List; | |
4 | 13 |
5 public class ImportWstQRange | 14 public class ImportWstQRange |
6 { | 15 { |
16 protected ImportRange range; | |
17 protected BigDecimal q; | |
18 | |
7 protected WstQRange peer; | 19 protected WstQRange peer; |
8 | 20 |
9 public ImportWstQRange() { | 21 public ImportWstQRange() { |
10 } | 22 } |
11 | 23 |
12 public WstQRange getPeer() { | 24 public ImportWstQRange( |
25 ImportRange range, | |
26 BigDecimal q | |
27 ) { | |
28 this.range = range; | |
29 this.q = q; | |
30 } | |
31 | |
32 public ImportRange getRange() { | |
33 return range; | |
34 } | |
35 | |
36 public void setRange(ImportRange range) { | |
37 this.range = range; | |
38 } | |
39 | |
40 public BigDecimal getQ() { | |
41 return q; | |
42 } | |
43 | |
44 public void setQ(BigDecimal q) { | |
45 this.q = q; | |
46 } | |
47 | |
48 public WstQRange getPeer(River river) { | |
13 if (peer == null) { | 49 if (peer == null) { |
14 // TODO: Implement me! | 50 Range r = range.getPeer(river); |
51 Session session = Importer.sessionHolder.get(); | |
52 Query query = session.createQuery( | |
53 "from WstQRange where " + | |
54 "range=:range and q=:q"); | |
55 query.setParameter("range", r); | |
56 query.setParameter("q", q); | |
57 List<WstQRange> wstQRanges = query.list(); | |
58 if (wstQRanges.isEmpty()) { | |
59 peer = new WstQRange(r, q); | |
60 session.save(peer); | |
61 } | |
62 else { | |
63 peer = wstQRanges.get(0); | |
64 } | |
15 } | 65 } |
16 return peer; | 66 return peer; |
17 } | 67 } |
18 } | 68 } |
19 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 69 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |