annotate backend/src/main/java/org/dive4elements/river/importer/ImportHYKFormation.java @ 9650:a2a42a6bac6b

Importer (s/u-info) extensions: outer try/catch for parse and log of line no, catching parsing exception if not enough value fields, parsing error and warning log messages with line number, detecting and rejecting duplicate data series, better differentiation between error and warning log messages
author mschaefer
date Mon, 23 Mar 2020 14:57:03 +0100
parents 392bbcd8a88b
children
rev   line source
5844
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5992
4c3ccf2b0304 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5844
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5844
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5992
4c3ccf2b0304 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5844
diff changeset
6 * documentation coming with Dive4Elements River for details.
5844
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
4dd33b86dc61 Added header to river backend.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5829
18619c1e7c2a Repaired internal references.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5828
diff changeset
9 package org.dive4elements.river.importer;
1218
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
10
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
11 import java.math.BigDecimal;
1218
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
12 import java.util.ArrayList;
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
13 import java.util.List;
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
14
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
15 import org.dive4elements.river.importer.common.StoreMode;
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
16 import org.dive4elements.river.model.HYKEntry;
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
17 import org.dive4elements.river.model.HYKFormation;
1218
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
18 import org.hibernate.Query;
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
19 import org.hibernate.Session;
1218
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
20
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
21 public class ImportHYKFormation
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
22 {
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
23 protected int formationNum;
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
24 protected ImportHYKEntry entry;
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
25 protected BigDecimal top;
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
26 protected BigDecimal bottom;
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
27 protected BigDecimal distanceVL;
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
28 protected BigDecimal distanceHF;
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
29 protected BigDecimal distanceVR;
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
30
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
31 protected List<ImportHYKFlowZone> zones;
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
32
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
33 protected StoreMode storeMode;
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
34
1218
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
35 protected HYKFormation peer;
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
36
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
37 public ImportHYKFormation() {
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
38 this.zones = new ArrayList<>();
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
39 this.storeMode = StoreMode.NONE;
1218
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
40 }
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
41
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
42 public ImportHYKFormation(
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
43 final int formationNum,
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
44 final ImportHYKEntry entry,
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
45 final BigDecimal top,
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
46 final BigDecimal bottom,
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
47 final BigDecimal distanceVL,
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
48 final BigDecimal distanceHF,
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
49 final BigDecimal distanceVR
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
50 ) {
1218
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
51 this();
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
52 this.formationNum = formationNum;
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
53 this.entry = entry;
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
54 this.top = top;
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
55 this.bottom = bottom;
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
56 this.distanceVL = distanceVL;
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
57 this.distanceHF = distanceHF;
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
58 this.distanceVR = distanceVR;
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
59 }
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
60
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
61 public void addFlowZone(final ImportHYKFlowZone zone) {
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
62 this.zones.add(zone);
1218
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
63 zone.setFormation(this);
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
64 }
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
65
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
66 public int getFormationNum() {
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
67 return this.formationNum;
1218
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
68 }
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
69
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
70 public void setFormationNum(final int formationNum) {
1218
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
71 this.formationNum = formationNum;
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
72 }
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
73
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
74 public ImportHYKEntry getEntry() {
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
75 return this.entry;
1218
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
76 }
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
77
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
78 public void setEntry(final ImportHYKEntry entry) {
1218
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
79 this.entry = entry;
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
80 }
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
81
1224
ca7d461a53f1 HYK importer: Various small fixes and some extra logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1221
diff changeset
82 public BigDecimal getTop() {
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
83 return this.top;
1224
ca7d461a53f1 HYK importer: Various small fixes and some extra logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1221
diff changeset
84 }
ca7d461a53f1 HYK importer: Various small fixes and some extra logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1221
diff changeset
85
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
86 public void setTop(final BigDecimal top) {
1224
ca7d461a53f1 HYK importer: Various small fixes and some extra logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1221
diff changeset
87 this.top = top;
ca7d461a53f1 HYK importer: Various small fixes and some extra logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1221
diff changeset
88 }
ca7d461a53f1 HYK importer: Various small fixes and some extra logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1221
diff changeset
89
ca7d461a53f1 HYK importer: Various small fixes and some extra logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1221
diff changeset
90 public BigDecimal getBottom() {
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
91 return this.bottom;
1224
ca7d461a53f1 HYK importer: Various small fixes and some extra logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1221
diff changeset
92 }
ca7d461a53f1 HYK importer: Various small fixes and some extra logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1221
diff changeset
93
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
94 public void setBottom(final BigDecimal bottom) {
1224
ca7d461a53f1 HYK importer: Various small fixes and some extra logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1221
diff changeset
95 this.bottom = bottom;
ca7d461a53f1 HYK importer: Various small fixes and some extra logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1221
diff changeset
96 }
ca7d461a53f1 HYK importer: Various small fixes and some extra logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1221
diff changeset
97
1219
d80997bd94ce HYKParser: Create data structures while parsing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1218
diff changeset
98 public BigDecimal getDistanceVL() {
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
99 return this.distanceVL;
1219
d80997bd94ce HYKParser: Create data structures while parsing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1218
diff changeset
100 }
d80997bd94ce HYKParser: Create data structures while parsing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1218
diff changeset
101
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
102 public void setDistanceVL(final BigDecimal distanceVL) {
1219
d80997bd94ce HYKParser: Create data structures while parsing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1218
diff changeset
103 this.distanceVL = distanceVL;
d80997bd94ce HYKParser: Create data structures while parsing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1218
diff changeset
104 }
d80997bd94ce HYKParser: Create data structures while parsing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1218
diff changeset
105
d80997bd94ce HYKParser: Create data structures while parsing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1218
diff changeset
106 public BigDecimal getDistanceHF() {
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
107 return this.distanceHF;
1219
d80997bd94ce HYKParser: Create data structures while parsing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1218
diff changeset
108 }
d80997bd94ce HYKParser: Create data structures while parsing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1218
diff changeset
109
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
110 public void setDistanceHF(final BigDecimal distanceHF) {
1219
d80997bd94ce HYKParser: Create data structures while parsing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1218
diff changeset
111 this.distanceHF = distanceHF;
d80997bd94ce HYKParser: Create data structures while parsing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1218
diff changeset
112 }
d80997bd94ce HYKParser: Create data structures while parsing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1218
diff changeset
113
d80997bd94ce HYKParser: Create data structures while parsing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1218
diff changeset
114 public BigDecimal getDistanceVR() {
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
115 return this.distanceVR;
1219
d80997bd94ce HYKParser: Create data structures while parsing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1218
diff changeset
116 }
d80997bd94ce HYKParser: Create data structures while parsing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1218
diff changeset
117
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
118 public void setDistanceVR(final BigDecimal distanceVR) {
1219
d80997bd94ce HYKParser: Create data structures while parsing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1218
diff changeset
119 this.distanceVR = distanceVR;
d80997bd94ce HYKParser: Create data structures while parsing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1218
diff changeset
120 }
d80997bd94ce HYKParser: Create data structures while parsing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1218
diff changeset
121
1221
979ff070e368 Store HYK data structures to database. Needs testing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1219
diff changeset
122 public void storeDependencies() {
979ff070e368 Store HYK data structures to database. Needs testing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1219
diff changeset
123 getPeer();
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
124 for (final ImportHYKFlowZone zone: this.zones) {
1221
979ff070e368 Store HYK data structures to database. Needs testing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1219
diff changeset
125 zone.storeDependencies();
979ff070e368 Store HYK data structures to database. Needs testing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1219
diff changeset
126 }
979ff070e368 Store HYK data structures to database. Needs testing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1219
diff changeset
127 }
979ff070e368 Store HYK data structures to database. Needs testing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1219
diff changeset
128
1218
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
129 public HYKFormation getPeer() {
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
130 if (this.peer == null) {
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
131 final HYKEntry e = this.entry.getPeer();
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
132 final Session session = ImporterSession.getInstance()
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
133 .getDatabaseSession();
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
134 List<HYKFormation> formations;
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
135 if (this.entry.storeMode == StoreMode.INSERT)
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
136 formations = null;
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
137 else {
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
138 final Query query = session.createQuery(
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
139 "from HYKFormation where formationNum=:formationNum " +
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
140 "and entry=:entry and top=:top and bottom=:bottom " +
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
141 "and distanceVL=:distanceVL and distanceHF=:distanceHF " +
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
142 "and distanceVR=:distanceVR");
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
143 query.setParameter("formationNum", this.formationNum);
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
144 query.setParameter("entry", e);
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
145 query.setParameter("top", this.top);
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
146 query.setParameter("bottom", this.bottom);
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
147 query.setParameter("distanceVL", this.distanceVL);
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
148 query.setParameter("distanceHF", this.distanceHF);
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
149 query.setParameter("distanceVR", this.distanceVR);
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
150 formations = query.list();
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
151 }
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
152 if ((formations == null) || formations.isEmpty()) {
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
153 this.peer = new HYKFormation(
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
154 this.formationNum, e, this.top, this.bottom,
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
155 this.distanceVL, this.distanceHF, this.distanceVR);
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
156 session.save(this.peer);
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
157 this.storeMode = StoreMode.INSERT;
1218
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
158 }
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
159 else {
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
160 this.peer = formations.get(0);
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
161 this.storeMode = StoreMode.UPDATE;
1218
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
162 }
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
163 }
8986
392bbcd8a88b Database inserts accelerated by suppressing unnecessary database queries for new data series
mschaefer
parents: 5992
diff changeset
164 return this.peer;
1218
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
165 }
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
166 }
00e37d22a589 Added importer models for HYKs.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
167 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org