annotate flys-backend/src/main/java/de/intevation/flys/importer/ImportSedimentYieldValue.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 75446c47ef77
children
rev   line source
2838
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.importer;
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
3 import java.util.List;
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
4
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5 import org.hibernate.Session;
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6 import org.hibernate.Query;
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
8 import de.intevation.flys.model.SedimentYield;
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
9 import de.intevation.flys.model.SedimentYieldValue;
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 public class ImportSedimentYieldValue {
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14 private Double station;
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 private Double value;
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17 private SedimentYieldValue peer;
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 public ImportSedimentYieldValue(Double station, Double value) {
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 this.station = station;
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 this.value = value;
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 }
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26 public void storeDependencies(SedimentYield sedimentYield) {
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27 getPeer(sedimentYield);
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28 }
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 public SedimentYieldValue getPeer(SedimentYield sedimentYield) {
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 if (peer == null) {
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 Session session = ImporterSession.getInstance().getDatabaseSession();
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 Query query = session.createQuery(
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 "from SedimentYieldValue where " +
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 " sedimentYield=:sedimentYield and " +
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 " station=:station and " +
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 " value=:value"
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 );
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 query.setParameter("sedimentYield", sedimentYield);
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42 query.setParameter("station", station);
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43 query.setParameter("value", value);
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 List<SedimentYieldValue> values = query.list();
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46 if (values.isEmpty()) {
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 peer = new SedimentYieldValue(sedimentYield, station, value);
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 session.save(peer);
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 }
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 else {
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 peer = values.get(0);
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52 }
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53 }
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55 return peer;
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 }
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57 }
75446c47ef77 Added new importer classes for importing sediment yield data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org