Mercurial > dive4elements > river
diff backend/src/main/java/org/dive4elements/river/importer/sinfo/importitem/TkhColumnSeriesImport.java @ 9655:1f57381b3bb5
Importer (s/u-info) extensions: uniform formatting of from-to series names,
warning instead of cancelling in case of missing tkh column values,
detecting, logging and skipping columns with wrong unit
author | mschaefer |
---|---|
date | Mon, 23 Mar 2020 15:16:35 +0100 |
parents | 50416a0df385 |
children |
line wrap: on
line diff
--- a/backend/src/main/java/org/dive4elements/river/importer/sinfo/importitem/TkhColumnSeriesImport.java Mon Mar 23 15:10:09 2020 +0100 +++ b/backend/src/main/java/org/dive4elements/river/importer/sinfo/importitem/TkhColumnSeriesImport.java Mon Mar 23 15:16:35 2020 +0100 @@ -55,7 +55,11 @@ public TkhColumnSeriesImport(final String filename, final TkhSeriesImport parent, final String colName, final File relativeFilePath) { super(filename); this.parent = parent; - this.colName = colName; + final String[] items = (colName == null) ? new String[] {} : colName.split("\\-"); + if (items.length == 2) + this.colName = items[0].trim() + " - " + items[1].trim(); + else + this.colName = colName; this.relativeFilePath = relativeFilePath; } @@ -91,14 +95,22 @@ return log; } - @Override - public List<TkhColumn> querySeriesItem(final Session session, final River river) { + private List<TkhColumn> querySeriesItem(final Session session, final River river) { final Query query = session.createQuery("FROM TkhColumn WHERE tkh=:parent AND lower(name)=:colname"); query.setParameter("parent", this.parent.getPeer(river)); query.setParameter("colname", this.colName.toLowerCase()); return query.list(); } + @Override + public List<TkhColumn> querySeriesItem(final Session session, final River river, final boolean doQueryParent) { + final Query query = session.createQuery("FROM TkhColumn c INNER JOIN c.tkh s" + + " WHERE s.river=:river AND lower(s.filename)=:filename AND lower(c.name)=:colname"); + query.setParameter("river", river); + query.setParameter("filename", this.filename.toLowerCase()); + query.setParameter("colname", this.colName.toLowerCase()); + return query.list(); + } @Override public TkhColumn createSeriesItem(final River river) {