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 :

http://dive4elements.wald.intevation.org