comparison flys-backend/src/main/java/de/intevation/flys/importer/ImportWaterlevelValue.java @ 2843:6a9f45697f81

Added importer classes used for MINFO specific waterlevel import. flys-backend/trunk@4282 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 20 Apr 2012 08:16:39 +0000
parents
children a65b5b0ade6f
comparison
equal deleted inserted replaced
2842:0d55b7722fae 2843:6a9f45697f81
1 package de.intevation.flys.importer;
2
3 import java.util.List;
4
5 import org.hibernate.Session;
6 import org.hibernate.Query;
7
8 import de.intevation.flys.model.WaterlevelQRange;
9 import de.intevation.flys.model.WaterlevelValue;
10
11
12 public class ImportWaterlevelValue {
13
14 private Double station;
15 private Double w;
16
17 private WaterlevelValue peer;
18
19
20 public ImportWaterlevelValue(Double station, Double w) {
21 this.station = station;
22 this.w = w;
23 }
24
25
26 public void storeDependencies(WaterlevelQRange qRange) {
27 getPeer(qRange);
28 }
29
30
31 public WaterlevelValue getPeer(WaterlevelQRange qRange) {
32 if (peer == null) {
33 Session session = ImporterSession.getInstance().getDatabaseSession();
34 Query query = session.createQuery(
35 "from WaterlevelValue where " +
36 " qRange=:qRange and " +
37 " station=:station and " +
38 " w=:w"
39 );
40
41 query.setParameter("qRange", qRange);
42 query.setParameter("station", station);
43 query.setParameter("w", w);
44
45 List<WaterlevelValue> values = query.list();
46
47 if (values.isEmpty()) {
48 peer = new WaterlevelValue(qRange, station, w);
49 session.save(peer);
50 }
51 else {
52 peer = values.get(0);
53 }
54 }
55
56 return peer;
57 }
58 }
59 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org