comparison flys-backend/src/main/java/de/intevation/flys/importer/ImportWstColumn.java @ 2357:2e18e12fac11

Added date guesser for WST columns. flys-backend/trunk@3064 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 24 Oct 2011 16:48:21 +0000
parents 04d449f7f0c9
children 99b452967737
comparison
equal deleted inserted replaced
2356:b8e01307c138 2357:2e18e12fac11
1 package de.intevation.flys.importer; 1 package de.intevation.flys.importer;
2 2
3 import de.intevation.flys.model.Wst; 3 import de.intevation.flys.model.Wst;
4 import de.intevation.flys.model.WstColumn; 4 import de.intevation.flys.model.WstColumn;
5 import de.intevation.flys.model.River; 5 import de.intevation.flys.model.River;
6 import de.intevation.flys.model.TimeInterval;
6 7
7 import org.hibernate.Session; 8 import org.hibernate.Session;
8 import org.hibernate.Query; 9 import org.hibernate.Query;
9 10
10 import java.util.List; 11 import java.util.List;
20 21
21 protected ImportWst wst; 22 protected ImportWst wst;
22 protected String name; 23 protected String name;
23 protected String description; 24 protected String description;
24 protected Integer position; 25 protected Integer position;
26
27 protected ImportTimeInterval timeInterval;
25 28
26 protected List<ImportWstColumnQRange> columnQRanges; 29 protected List<ImportWstColumnQRange> columnQRanges;
27 protected List<ImportWstColumnValue> columnValues; 30 protected List<ImportWstColumnValue> columnValues;
28 31
29 protected WstColumn peer; 32 protected WstColumn peer;
99 for (ImportWstColumnValue columnValue: columnValues) { 102 for (ImportWstColumnValue columnValue: columnValues) {
100 columnValue.getPeer(river); 103 columnValue.getPeer(river);
101 } 104 }
102 } 105 }
103 106
107 public ImportTimeInterval getTimeInterval() {
108 return timeInterval;
109 }
110
111 public void setTimeInterval(ImportTimeInterval timeInterval) {
112 this.timeInterval = timeInterval;
113 }
114
104 public WstColumn getPeer(River river) { 115 public WstColumn getPeer(River river) {
105 if (peer == null) { 116 if (peer == null) {
106 Wst w = wst.getPeer(river); 117 Wst w = wst.getPeer(river);
107 Session session = ImporterSession.getInstance().getDatabaseSession(); 118 Session session = ImporterSession.getInstance().getDatabaseSession();
108 Query query = session.createQuery( 119 Query query = session.createQuery(
111 " and position=:position"); 122 " and position=:position");
112 query.setParameter("wst", w); 123 query.setParameter("wst", w);
113 query.setParameter("name", name); 124 query.setParameter("name", name);
114 query.setParameter("description", description); 125 query.setParameter("description", description);
115 query.setParameter("position", position); 126 query.setParameter("position", position);
127
128 TimeInterval ti = timeInterval != null
129 ? timeInterval.getPeer()
130 : null;
131
116 List<WstColumn> columns = query.list(); 132 List<WstColumn> columns = query.list();
117 if (columns.isEmpty()) { 133 if (columns.isEmpty()) {
118 peer = new WstColumn(w, name, description, position, null); 134 peer = new WstColumn(w, name, description, position, ti);
119 session.save(peer); 135 session.save(peer);
120 } 136 }
121 else { 137 else {
122 peer = columns.get(0); 138 peer = columns.get(0);
123 } 139 }

http://dive4elements.wald.intevation.org