Mercurial > dive4elements > river
comparison flys-backend/src/main/java/de/intevation/flys/importer/ImportWaterlevelDifference.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 | a5b003595d6c |
children | 7c0dcc398cc2 |
comparison
equal
deleted
inserted
replaced
5227:a981222b6260 | 5228:8320427ecd5c |
---|---|
12 | 12 |
13 import de.intevation.flys.model.River; | 13 import de.intevation.flys.model.River; |
14 import de.intevation.flys.model.Unit; | 14 import de.intevation.flys.model.Unit; |
15 import de.intevation.flys.model.WaterlevelDifference; | 15 import de.intevation.flys.model.WaterlevelDifference; |
16 | 16 |
17 | 17 /** |
18 * This Model class does not have a representive hibernated version, | |
19 * as it is in transition to be remoed. | |
20 */ | |
18 public class ImportWaterlevelDifference { | 21 public class ImportWaterlevelDifference { |
19 | 22 |
20 private static final Logger log = Logger | 23 private static final Logger log = Logger |
21 .getLogger(ImportWaterlevelDifference.class); | 24 .getLogger(ImportWaterlevelDifference.class); |
22 | 25 |
36 | 39 |
37 public void setUnit(ImportUnit unit) { | 40 public void setUnit(ImportUnit unit) { |
38 this.unit = unit; | 41 this.unit = unit; |
39 } | 42 } |
40 | 43 |
44 public ImportUnit getUnit() { | |
45 return unit; | |
46 } | |
47 | |
48 public String getDescription() { | |
49 return description; | |
50 } | |
51 | |
52 public List<ImportWaterlevelDifferenceColumn> getColumns() { | |
53 return columns; | |
54 } | |
55 | |
41 public void addValue(ImportWaterlevelDifferenceColumn column) { | 56 public void addValue(ImportWaterlevelDifferenceColumn column) { |
42 this.columns.add(column); | 57 this.columns.add(column); |
43 } | 58 } |
44 | |
45 public void storeDependencies(River river) throws SQLException, | |
46 ConstraintViolationException { | |
47 log.info("store dependencies"); | |
48 | |
49 WaterlevelDifference peer = getPeer(river); | |
50 | |
51 if (peer != null) { | |
52 int i = 0; | |
53 | |
54 for (ImportWaterlevelDifferenceColumn column : columns) { | |
55 column.storeDependencies(peer); | |
56 i++; | |
57 } | |
58 | |
59 log.info("stored " + i + " waterlevel difference columns"); | |
60 } | |
61 } | |
62 | |
63 public WaterlevelDifference getPeer(River river) { | |
64 Unit u = unit != null ? unit.getPeer() : null; | |
65 if (u == null) { | |
66 log.warn("IWD: skip invalid waterlevel difference - no unit set!"); | |
67 return null; | |
68 } | |
69 | |
70 if (peer == null) { | |
71 Session session = ImporterSession.getInstance() | |
72 .getDatabaseSession(); | |
73 Query query = session | |
74 .createQuery("from WaterlevelDifference where " | |
75 + " river=:river and " + " unit=:unit and " | |
76 + " description=:description"); | |
77 | |
78 query.setParameter("river", river); | |
79 query.setParameter("unit", u); | |
80 query.setParameter("description", description); | |
81 | |
82 List<WaterlevelDifference> diffs = query.list(); | |
83 if (diffs.isEmpty()) { | |
84 peer = new WaterlevelDifference(river, u, description); | |
85 session.save(peer); | |
86 } | |
87 else { | |
88 peer = diffs.get(0); | |
89 } | |
90 } | |
91 | |
92 return peer; | |
93 } | |
94 } | 59 } |
95 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 60 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |