Mercurial > dive4elements > river
annotate flys-backend/src/main/java/de/intevation/flys/importer/ImportFlowVelocityMeasurementValue.java @ 4198:1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
The new tables define listener interfaces (clicked lower or upper icon) to listen to user clicks.
In addition to this, there is an enum ClickMode with NONE, SINGLE and RANGE options, which allows to
specifiy, which icons are displayed in the tables. NONE means no icon for user clicks, SINGLE has 1
icon, RANGE 2 icons for lower and upper.
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 22 Oct 2012 13:31:25 +0200 |
parents | ac5bd90697c1 |
children | 4ee97d914501 |
rev | line source |
---|---|
2831
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.importer; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
3 import java.math.BigDecimal; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
4 import java.sql.SQLException; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
5 import java.util.Date; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
6 import java.util.List; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
7 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
8 import org.apache.log4j.Logger; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
9 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 import org.hibernate.Session; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
11 import org.hibernate.Query; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
12 import org.hibernate.exception.ConstraintViolationException; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
14 import de.intevation.flys.model.FlowVelocityMeasurement; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
15 import de.intevation.flys.model.FlowVelocityMeasurementValue; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
16 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
18 public class ImportFlowVelocityMeasurementValue { |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
19 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
20 private static final Logger log = |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
21 Logger.getLogger(ImportFlowVelocityMeasurementValue.class); |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
23 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
24 private Date datetime; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
25 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
26 private String description; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
27 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
28 private BigDecimal station; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
29 private BigDecimal w; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
30 private BigDecimal q; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
31 private BigDecimal v; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
32 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
33 private FlowVelocityMeasurementValue peer; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
34 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
36 public ImportFlowVelocityMeasurementValue( |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 Date datetime, |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 BigDecimal station, |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 BigDecimal w, |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 BigDecimal q, |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 BigDecimal v, |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 String description |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
43 ) { |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
44 this.datetime = datetime; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
45 this.station = station; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
46 this.w = w; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 this.q = q; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
48 this.v = v; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
49 this.description = description; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 } |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
51 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
52 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
53 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 public void storeDependencies(FlowVelocityMeasurement measurement) |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
55 throws SQLException, ConstraintViolationException |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
56 { |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
57 log.debug("store dependencies"); |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
58 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
59 getPeer(measurement); |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
60 } |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
61 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
62 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
63 public FlowVelocityMeasurementValue getPeer(FlowVelocityMeasurement m) { |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
64 if (peer == null) { |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
65 Session session = ImporterSession.getInstance().getDatabaseSession(); |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
66 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
67 Query query = session.createQuery( |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
68 "from FlowVelocityMeasurementValue where " + |
2832
ac5bd90697c1
Added new parser for flow velocity measurements and fixed some smaller bugs while importing flow velocity data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2831
diff
changeset
|
69 " measurement=:measurement and " + |
ac5bd90697c1
Added new parser for flow velocity measurements and fixed some smaller bugs while importing flow velocity data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2831
diff
changeset
|
70 " station=:station and " + |
ac5bd90697c1
Added new parser for flow velocity measurements and fixed some smaller bugs while importing flow velocity data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2831
diff
changeset
|
71 " datetime=:datetime" |
2831
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
72 ); |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
73 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
74 query.setParameter("measurement", m); |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
75 query.setParameter("station", station); |
2832
ac5bd90697c1
Added new parser for flow velocity measurements and fixed some smaller bugs while importing flow velocity data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2831
diff
changeset
|
76 query.setParameter("datetime", datetime); |
2831
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
77 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
78 List<FlowVelocityMeasurementValue> values = query.list(); |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
79 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
80 if (values.isEmpty()) { |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
81 peer = new FlowVelocityMeasurementValue( |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
82 m, |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
83 datetime, |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
84 station, |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
85 w, |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
86 q, |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
87 v, |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
88 description); |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
89 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
90 session.save(peer); |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
91 } |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
92 else { |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
93 peer = values.get(0); |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
94 } |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
95 } |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
96 |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
97 return peer; |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
98 } |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
99 } |
8fe9c6584b93
Added importer classes used during the import process of flow velocity measurements.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
100 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |