comparison flys-backend/src/main/java/de/intevation/flys/importer/ImportMeasurementStation.java @ 5451:278d8759c92b

Allow null values in measurement_station columns without 'not null' constraints.
author Raimund Renkert <rrenkert@intevation.de>
date Wed, 27 Mar 2013 11:47:56 +0100
parents 4ee97d914501
children 5287440b57b3
comparison
equal deleted inserted replaced
5450:84beabb3897c 5451:278d8759c92b
56 if (peer == null) { 56 if (peer == null) {
57 Gauge gauge = null; 57 Gauge gauge = null;
58 try { 58 try {
59 gauge = getGaugeFromDB(); 59 gauge = getGaugeFromDB();
60 if (gauge == null) { 60 if (gauge == null) {
61 log.warn("Skip measurement station '" + name 61 log.warn("No gauge found for measurement station '" + name
62 + "': unable to find gauge with name '" + this.gauge
63 + "'"); 62 + "'");
64 return null;
65 } 63 }
66 } 64 }
67 catch (Exception e) { 65 catch (Exception e) {
68 log.error("Exception: " + e.getMessage()); 66 log.error("Exception: " + e.getMessage());
69 } 67 }
70 68
71 Range range = this.range.getPeer(river); 69 Range range = this.range.getPeer(river);
72 if (range == null) { 70 if (range == null) {
73 log.warn("Skip measurement station '" + name 71 log.warn("No range found for measurement station'" + name + "'");
74 + "': unable to get range");
75 return null;
76 } 72 }
77 73
78 TimeInterval observationTimerange = this.observationTimerange 74 TimeInterval observationTimerange = this.observationTimerange
79 .getPeer(); 75 .getPeer();
80 if (observationTimerange == null) { 76 if (observationTimerange == null) {
81 log.warn("Skip measurement station '" + name 77 log.warn("No time range found for measurement station '"
82 + "': unable to get time interval for observation time"); 78 + name + "'");
83 return null;
84 } 79 }
85 80
86 Session session = ImporterSession.getInstance() 81 Session session = ImporterSession.getInstance()
87 .getDatabaseSession(); 82 .getDatabaseSession();
88 83
89 org.hibernate.Query query = session 84 org.hibernate.Query query = session
90 .createQuery("FROM MeasurementStation " 85 .createQuery(
91 + " WHERE river=:river AND station=:station"); 86 "FROM MeasurementStation " +
87 "WHERE river=:river" +
88 " AND station=:station " +
89 " AND measurement_type=:measurement_type ");
92 90
93 query.setParameter("river", river); 91 query.setParameter("river", river);
94 query.setParameter("station", station); 92 query.setParameter("station", station);
93 query.setParameter("measurement_type", measurementType);
95 94
96 List<MeasurementStation> stations = query.list(); 95 List<MeasurementStation> stations = query.list();
97 96
98 if (stations.isEmpty()) { 97 if (stations.isEmpty()) {
99 log.info("create new measurement station '" + name + "'"); 98 log.info("create new measurement station '" + name + "'");

http://dive4elements.wald.intevation.org