Mercurial > dive4elements > river
annotate flys-backend/src/main/java/de/intevation/flys/importer/ImportBedHeightEpoch.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 | 3825aad9fb41 |
children | 4ee97d914501 |
rev | line source |
---|---|
2806
33f40b23edd8
Initial checkin for parsing MINFO bed heights.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.importer; |
33f40b23edd8
Initial checkin for parsing MINFO bed heights.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
3949
145b87bcb10a
Some minor bugfixes for MINFO import.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3943
diff
changeset
|
3 import java.sql.SQLException; |
2810
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
4 import java.util.ArrayList; |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
5 import java.util.List; |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
6 |
2806
33f40b23edd8
Initial checkin for parsing MINFO bed heights.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
7 import org.apache.log4j.Logger; |
3949
145b87bcb10a
Some minor bugfixes for MINFO import.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3943
diff
changeset
|
8 import org.hibernate.Query; |
2810
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
9 import org.hibernate.Session; |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
10 import org.hibernate.exception.ConstraintViolationException; |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
11 |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
12 import de.intevation.flys.model.BedHeightEpoch; |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
13 import de.intevation.flys.model.ElevationModel; |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
14 import de.intevation.flys.model.Range; |
2806
33f40b23edd8
Initial checkin for parsing MINFO bed heights.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
15 import de.intevation.flys.model.River; |
2810
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
16 import de.intevation.flys.model.TimeInterval; |
2806
33f40b23edd8
Initial checkin for parsing MINFO bed heights.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 |
33f40b23edd8
Initial checkin for parsing MINFO bed heights.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
18 |
3957
3825aad9fb41
Documentation (d o c u m e n t a t i o n).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3949
diff
changeset
|
19 /** Import Bed Height Data, 'epoch' type from csv file. */ |
3943
a5b003595d6c
Store minfo values into database only if their peer has been successfully stored.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3662
diff
changeset
|
20 public class ImportBedHeightEpoch implements ImportBedHeight { |
a5b003595d6c
Store minfo values into database only if their peer has been successfully stored.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3662
diff
changeset
|
21 |
3957
3825aad9fb41
Documentation (d o c u m e n t a t i o n).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3949
diff
changeset
|
22 /** Private logger. */ |
2806
33f40b23edd8
Initial checkin for parsing MINFO bed heights.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
23 private static Logger log = Logger.getLogger(ImportBedHeightEpoch.class); |
33f40b23edd8
Initial checkin for parsing MINFO bed heights.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
24 |
2810
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
25 protected String evaluationBy; |
3957
3825aad9fb41
Documentation (d o c u m e n t a t i o n).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3949
diff
changeset
|
26 |
3825aad9fb41
Documentation (d o c u m e n t a t i o n).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3949
diff
changeset
|
27 /** De facto the file name. */ |
2806
33f40b23edd8
Initial checkin for parsing MINFO bed heights.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
28 protected String description; |
33f40b23edd8
Initial checkin for parsing MINFO bed heights.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
29 |
3943
a5b003595d6c
Store minfo values into database only if their peer has been successfully stored.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3662
diff
changeset
|
30 protected ImportTimeInterval timeInterval; |
a5b003595d6c
Store minfo values into database only if their peer has been successfully stored.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3662
diff
changeset
|
31 protected ImportRange range; |
2810
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
32 protected ImportElevationModel curElevationModel; |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
33 protected ImportElevationModel oldElevationModel; |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
34 |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
35 protected List<ImportBedHeightEpochValue> values; |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
36 |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
37 protected BedHeightEpoch peer; |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
38 |
2806
33f40b23edd8
Initial checkin for parsing MINFO bed heights.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 public ImportBedHeightEpoch(String description) { |
33f40b23edd8
Initial checkin for parsing MINFO bed heights.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 this.description = description; |
3943
a5b003595d6c
Store minfo values into database only if their peer has been successfully stored.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3662
diff
changeset
|
41 this.values = new ArrayList<ImportBedHeightEpochValue>(); |
2806
33f40b23edd8
Initial checkin for parsing MINFO bed heights.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 } |
33f40b23edd8
Initial checkin for parsing MINFO bed heights.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
43 |
33f40b23edd8
Initial checkin for parsing MINFO bed heights.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
44 public String getDescription() { |
33f40b23edd8
Initial checkin for parsing MINFO bed heights.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
45 return description; |
33f40b23edd8
Initial checkin for parsing MINFO bed heights.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
46 } |
33f40b23edd8
Initial checkin for parsing MINFO bed heights.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 |
2811
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
48 public int getValueCount() { |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
49 return values.size(); |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
50 } |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
51 |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
52 public void setTimeInterval(ImportTimeInterval timeInterval) { |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
53 this.timeInterval = timeInterval; |
2810
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
54 } |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
55 |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
56 public void setEvaluationBy(String evaluationBy) { |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
57 this.evaluationBy = evaluationBy; |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
58 } |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
59 |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
60 public void setDescription(String description) { |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
61 this.description = description; |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
62 } |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
63 |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
64 public void setRange(ImportRange range) { |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
65 this.range = range; |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
66 } |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
67 |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
68 public void setCurElevationModel(ImportElevationModel curElevationModel) { |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
69 this.curElevationModel = curElevationModel; |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
70 } |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
71 |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
72 public void setOldElevationModel(ImportElevationModel oldElevationModel) { |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
73 this.oldElevationModel = oldElevationModel; |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
74 } |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
75 |
3957
3825aad9fb41
Documentation (d o c u m e n t a t i o n).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3949
diff
changeset
|
76 /** Does nothing. */ |
2811
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
77 public void setYear(int year) { |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
78 // do nothing |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
79 } |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
80 |
3957
3825aad9fb41
Documentation (d o c u m e n t a t i o n).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3949
diff
changeset
|
81 /** Does nothing. */ |
2811
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
82 public void setSoundingWidth(int soundingWidth) { |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
83 // do nothing |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
84 } |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
85 |
3957
3825aad9fb41
Documentation (d o c u m e n t a t i o n).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3949
diff
changeset
|
86 |
3825aad9fb41
Documentation (d o c u m e n t a t i o n).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3949
diff
changeset
|
87 /** Does nothing. */ |
2811
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
88 public void setLocationSystem(ImportLocationSystem locationSystem) { |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
89 // do nothing |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
90 } |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
91 |
3957
3825aad9fb41
Documentation (d o c u m e n t a t i o n).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3949
diff
changeset
|
92 |
3825aad9fb41
Documentation (d o c u m e n t a t i o n).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3949
diff
changeset
|
93 /** Does nothing. */ |
2811
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
94 public void setType(ImportBedHeightType type) { |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
95 // do nothing |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
96 } |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
97 |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
98 @Override |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
99 public void addValue(ImportBedHeightValue value) { |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
100 values.add((ImportBedHeightEpochValue) value); |
2810
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
101 } |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
102 |
2811
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
103 @Override |
3943
a5b003595d6c
Store minfo values into database only if their peer has been successfully stored.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3662
diff
changeset
|
104 public void storeDependencies(River river) throws SQLException, |
a5b003595d6c
Store minfo values into database only if their peer has been successfully stored.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3662
diff
changeset
|
105 ConstraintViolationException { |
2806
33f40b23edd8
Initial checkin for parsing MINFO bed heights.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
106 log.info("Store dependencies for epoch: '" + getDescription() + "'"); |
2810
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
107 |
3949
145b87bcb10a
Some minor bugfixes for MINFO import.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3943
diff
changeset
|
108 BedHeightEpoch peer = getPeer(river); |
145b87bcb10a
Some minor bugfixes for MINFO import.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3943
diff
changeset
|
109 |
2810
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
110 if (curElevationModel != null) { |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
111 curElevationModel.storeDependencies(); |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
112 } |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
113 |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
114 if (oldElevationModel != null) { |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
115 oldElevationModel.storeDependencies(); |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
116 } |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
117 |
3943
a5b003595d6c
Store minfo values into database only if their peer has been successfully stored.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3662
diff
changeset
|
118 if (peer != null) { |
a5b003595d6c
Store minfo values into database only if their peer has been successfully stored.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3662
diff
changeset
|
119 log.debug("store values now..."); |
2810
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
120 |
3943
a5b003595d6c
Store minfo values into database only if their peer has been successfully stored.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3662
diff
changeset
|
121 for (ImportBedHeightEpochValue value : values) { |
a5b003595d6c
Store minfo values into database only if their peer has been successfully stored.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3662
diff
changeset
|
122 value.storeDependencies(peer); |
a5b003595d6c
Store minfo values into database only if their peer has been successfully stored.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3662
diff
changeset
|
123 } |
2810
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
124 } |
2811
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
125 |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
126 Session session = ImporterSession.getInstance().getDatabaseSession(); |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
127 session.flush(); |
2810
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
128 } |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
129 |
3957
3825aad9fb41
Documentation (d o c u m e n t a t i o n).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3949
diff
changeset
|
130 /** |
3825aad9fb41
Documentation (d o c u m e n t a t i o n).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3949
diff
changeset
|
131 * Asserts all dependent entities (ElevationModel, TimeInterval, Range, |
3825aad9fb41
Documentation (d o c u m e n t a t i o n).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3949
diff
changeset
|
132 * BedHeighEpoch) are in db and returns bound (either newly created or |
3825aad9fb41
Documentation (d o c u m e n t a t i o n).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3949
diff
changeset
|
133 * freshly fetched) BedHeightEpoch. |
3825aad9fb41
Documentation (d o c u m e n t a t i o n).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3949
diff
changeset
|
134 */ |
2811
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
135 @Override |
2810
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
136 public BedHeightEpoch getPeer(River river) { |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
137 if (peer == null) { |
3949
145b87bcb10a
Some minor bugfixes for MINFO import.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3943
diff
changeset
|
138 ElevationModel theCurModel = null; |
145b87bcb10a
Some minor bugfixes for MINFO import.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3943
diff
changeset
|
139 if (curElevationModel != null) { |
145b87bcb10a
Some minor bugfixes for MINFO import.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3943
diff
changeset
|
140 curElevationModel.storeDependencies(); |
145b87bcb10a
Some minor bugfixes for MINFO import.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3943
diff
changeset
|
141 theCurModel = curElevationModel.getPeer(); |
145b87bcb10a
Some minor bugfixes for MINFO import.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3943
diff
changeset
|
142 } |
2810
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
143 |
2811
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
144 if (theCurModel == null) { |
3662
0d27d02b1208
backend: Completed the error messages of the importer.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2811
diff
changeset
|
145 log.warn("BHE: Skip file - invalid current elevation model."); |
2811
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
146 return null; |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
147 } |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
148 |
3949
145b87bcb10a
Some minor bugfixes for MINFO import.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3943
diff
changeset
|
149 TimeInterval theTime = null; |
145b87bcb10a
Some minor bugfixes for MINFO import.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3943
diff
changeset
|
150 if (timeInterval != null) { |
145b87bcb10a
Some minor bugfixes for MINFO import.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3943
diff
changeset
|
151 theTime = timeInterval.getPeer(); |
145b87bcb10a
Some minor bugfixes for MINFO import.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3943
diff
changeset
|
152 } |
2810
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
153 |
2811
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
154 if (theTime == null) { |
3662
0d27d02b1208
backend: Completed the error messages of the importer.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2811
diff
changeset
|
155 log.warn("BHE: Skip file - invalid time range."); |
2811
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
156 return null; |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
157 } |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
158 |
2810
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
159 Range theRange = range != null ? range.getPeer(river) : null; |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
160 |
2811
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
161 if (theRange == null) { |
3662
0d27d02b1208
backend: Completed the error messages of the importer.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2811
diff
changeset
|
162 log.warn("BHE: Skip file - invalid km range."); |
2810
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
163 return null; |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
164 } |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
165 |
3943
a5b003595d6c
Store minfo values into database only if their peer has been successfully stored.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3662
diff
changeset
|
166 Session session = ImporterSession.getInstance() |
a5b003595d6c
Store minfo values into database only if their peer has been successfully stored.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3662
diff
changeset
|
167 .getDatabaseSession(); |
2810
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
168 |
3943
a5b003595d6c
Store minfo values into database only if their peer has been successfully stored.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3662
diff
changeset
|
169 Query query = session.createQuery("from BedHeightEpoch where " |
a5b003595d6c
Store minfo values into database only if their peer has been successfully stored.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3662
diff
changeset
|
170 + " river=:river and " + " timeInterval=:timeInterval and " |
a5b003595d6c
Store minfo values into database only if their peer has been successfully stored.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3662
diff
changeset
|
171 + " curElevationModel=:curElevationModel and " |
a5b003595d6c
Store minfo values into database only if their peer has been successfully stored.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3662
diff
changeset
|
172 + " range=:range and " + " evaluationBy=:evaluationBy and " |
a5b003595d6c
Store minfo values into database only if their peer has been successfully stored.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3662
diff
changeset
|
173 + " description=:description"); |
2810
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
174 |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
175 query.setParameter("river", river); |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
176 query.setParameter("timeInterval", theTime); |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
177 query.setParameter("curElevationModel", theCurModel); |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
178 query.setParameter("range", theRange); |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
179 query.setParameter("evaluationBy", evaluationBy); |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
180 query.setParameter("description", description); |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
181 |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
182 List<BedHeightEpoch> bedHeights = query.list(); |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
183 |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
184 if (bedHeights.isEmpty()) { |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
185 log.info("Create new BedHeightEpoch DB instance."); |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
186 |
3943
a5b003595d6c
Store minfo values into database only if their peer has been successfully stored.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3662
diff
changeset
|
187 peer = new BedHeightEpoch(river, theTime, theRange, |
2810
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
188 theCurModel, |
3943
a5b003595d6c
Store minfo values into database only if their peer has been successfully stored.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3662
diff
changeset
|
189 oldElevationModel != null ? oldElevationModel.getPeer() |
a5b003595d6c
Store minfo values into database only if their peer has been successfully stored.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3662
diff
changeset
|
190 : null, evaluationBy, description); |
2811
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
191 |
8926571e47fb
Finished importing MINFO bed heights (single and epoch).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2810
diff
changeset
|
192 session.save(peer); |
2810
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
193 } |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
194 else { |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
195 peer = bedHeights.get(0); |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
196 } |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
197 } |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
198 |
04eeb45df27b
Implemented model classes and importer classes for bed height epochs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2806
diff
changeset
|
199 return peer; |
2806
33f40b23edd8
Initial checkin for parsing MINFO bed heights.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
200 } |
33f40b23edd8
Initial checkin for parsing MINFO bed heights.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
201 } |
33f40b23edd8
Initial checkin for parsing MINFO bed heights.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
202 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |