Mercurial > dive4elements > river
comparison flys-backend/src/main/java/de/intevation/flys/importer/ImportMainValue.java @ 195:8d3533a03e10
Second part of parsing/storing main values. Should be finished now.
flys-backend/trunk@1534 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 21 Mar 2011 15:06:47 +0000 |
parents | |
children | 67fd63e4ef66 |
comparison
equal
deleted
inserted
replaced
194:0f0b98ef9b04 | 195:8d3533a03e10 |
---|---|
1 package de.intevation.flys.importer; | |
2 | |
3 import java.util.List; | |
4 | |
5 import java.math.BigDecimal; | |
6 | |
7 import de.intevation.flys.model.MainValue; | |
8 import de.intevation.flys.model.Gauge; | |
9 import de.intevation.flys.model.River; | |
10 import de.intevation.flys.model.NamedMainValue; | |
11 | |
12 import org.hibernate.Session; | |
13 import org.hibernate.Query; | |
14 | |
15 public class ImportMainValue | |
16 { | |
17 protected ImportGauge gauge; | |
18 protected ImportNamedMainValue mainValue; | |
19 protected BigDecimal value; | |
20 | |
21 protected MainValue peer; | |
22 | |
23 public ImportMainValue() { | |
24 } | |
25 | |
26 public ImportMainValue( | |
27 ImportGauge gauge, | |
28 ImportNamedMainValue mainValue, | |
29 BigDecimal value | |
30 ) { | |
31 this.gauge = gauge; | |
32 this.mainValue = mainValue; | |
33 this.value = value; | |
34 } | |
35 | |
36 public ImportGauge getGauge() { | |
37 return gauge; | |
38 } | |
39 | |
40 public void setGauge(ImportGauge gauge) { | |
41 this.gauge = gauge; | |
42 } | |
43 | |
44 public ImportNamedMainValue getMainValue() { | |
45 return mainValue; | |
46 } | |
47 | |
48 public void setMainValue(ImportNamedMainValue mainValue) { | |
49 this.mainValue = mainValue; | |
50 } | |
51 | |
52 public BigDecimal getValue() { | |
53 return value; | |
54 } | |
55 | |
56 public void setValue(BigDecimal value) { | |
57 this.value = value; | |
58 } | |
59 | |
60 public MainValue getPeer(River river) { | |
61 if (peer == null) { | |
62 Session session = Importer.sessionHolder.get(); | |
63 Query query = session.createQuery("from MainValue where " | |
64 + "gauge.id=:gauge_id and mainValue.id=:name_id " | |
65 + "and value=:value"); | |
66 Gauge g = gauge.getPeer(river); | |
67 NamedMainValue n = mainValue.getPeer(); | |
68 query.setParameter("gauge_id", g.getId()); | |
69 query.setParameter("name_id", n.getId()); | |
70 query.setParameter("value", value); | |
71 List<MainValue> values = query.list(); | |
72 if (values.isEmpty()) { | |
73 peer = new MainValue(g, n, value, null); | |
74 session.save(peer); | |
75 } | |
76 else { | |
77 peer = values.get(0); | |
78 } | |
79 } | |
80 return peer; | |
81 } | |
82 } | |
83 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |