Mercurial > dive4elements > river
comparison flys-backend/src/main/java/de/intevation/flys/importer/ImportWaterlevel.java @ 5228:8320427ecd5c
ImportWaterlevel*: Remove connection to orm-based waterlevels (WIP).
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Mon, 11 Mar 2013 15:07:19 +0100 |
parents | 1c34acb084ee |
children | 7c0dcc398cc2 |
comparison
equal
deleted
inserted
replaced
5227:a981222b6260 | 5228:8320427ecd5c |
---|---|
10 | 10 |
11 import de.intevation.flys.model.River; | 11 import de.intevation.flys.model.River; |
12 import de.intevation.flys.model.Unit; | 12 import de.intevation.flys.model.Unit; |
13 import de.intevation.flys.model.Waterlevel; | 13 import de.intevation.flys.model.Waterlevel; |
14 | 14 |
15 | 15 /** Model-class in transition: no hibernated representative. */ |
16 public class ImportWaterlevel { | 16 public class ImportWaterlevel { |
17 | 17 |
18 private static final Logger log = Logger.getLogger(ImportWaterlevel.class); | 18 private static final Logger log = Logger.getLogger(ImportWaterlevel.class); |
19 | 19 |
20 private ImportUnit unit; | 20 private ImportUnit unit; |
48 } | 48 } |
49 | 49 |
50 public List<ImportWaterlevelQRange> getQRanges() { | 50 public List<ImportWaterlevelQRange> getQRanges() { |
51 return this.qRanges; | 51 return this.qRanges; |
52 } | 52 } |
53 | |
54 public void storeDependencies(River river) { | |
55 log.info("store dependencies"); | |
56 | |
57 Waterlevel peer = getPeer(river); | |
58 | |
59 if (peer != null) { | |
60 int i = 0; | |
61 | |
62 for (ImportWaterlevelQRange qRange : qRanges) { | |
63 qRange.storeDependencies(peer); | |
64 i++; | |
65 } | |
66 | |
67 log.info("stored " + i + " waterlevel q ranges"); | |
68 } | |
69 } | |
70 | |
71 public Waterlevel getPeer(River river) { | |
72 Unit u = unit != null ? unit.getPeer() : null; | |
73 if (u == null) { | |
74 log.warn("skip invalid waterlevel - no unit set!"); | |
75 return null; | |
76 } | |
77 | |
78 if (peer == null) { | |
79 Session session = ImporterSession.getInstance() | |
80 .getDatabaseSession(); | |
81 Query query = session.createQuery("from Waterlevel where " | |
82 + " river=:river and " + " unit=:unit and " | |
83 + " description=:description"); | |
84 | |
85 query.setParameter("river", river); | |
86 query.setParameter("unit", u); | |
87 query.setParameter("description", description); | |
88 | |
89 List<Waterlevel> wsts = query.list(); | |
90 if (wsts.isEmpty()) { | |
91 peer = new Waterlevel(river, u, description); | |
92 session.save(peer); | |
93 } | |
94 else { | |
95 peer = wsts.get(0); | |
96 } | |
97 } | |
98 | |
99 return peer; | |
100 } | |
101 } | 53 } |
102 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 54 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |