Mercurial > dive4elements > river
comparison 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 |
comparison
equal
deleted
inserted
replaced
9654:8a2a777a8372 | 9655:1f57381b3bb5 |
---|---|
53 } | 53 } |
54 | 54 |
55 public TkhColumnSeriesImport(final String filename, final TkhSeriesImport parent, final String colName, final File relativeFilePath) { | 55 public TkhColumnSeriesImport(final String filename, final TkhSeriesImport parent, final String colName, final File relativeFilePath) { |
56 super(filename); | 56 super(filename); |
57 this.parent = parent; | 57 this.parent = parent; |
58 this.colName = colName; | 58 final String[] items = (colName == null) ? new String[] {} : colName.split("\\-"); |
59 if (items.length == 2) | |
60 this.colName = items[0].trim() + " - " + items[1].trim(); | |
61 else | |
62 this.colName = colName; | |
59 this.relativeFilePath = relativeFilePath; | 63 this.relativeFilePath = relativeFilePath; |
60 } | 64 } |
61 | 65 |
62 | 66 |
63 /***** METHODS *****/ | 67 /***** METHODS *****/ |
89 @Override | 93 @Override |
90 public Logger getLog() { | 94 public Logger getLog() { |
91 return log; | 95 return log; |
92 } | 96 } |
93 | 97 |
94 @Override | 98 private List<TkhColumn> querySeriesItem(final Session session, final River river) { |
95 public List<TkhColumn> querySeriesItem(final Session session, final River river) { | |
96 final Query query = session.createQuery("FROM TkhColumn WHERE tkh=:parent AND lower(name)=:colname"); | 99 final Query query = session.createQuery("FROM TkhColumn WHERE tkh=:parent AND lower(name)=:colname"); |
97 query.setParameter("parent", this.parent.getPeer(river)); | 100 query.setParameter("parent", this.parent.getPeer(river)); |
98 query.setParameter("colname", this.colName.toLowerCase()); | 101 query.setParameter("colname", this.colName.toLowerCase()); |
99 return query.list(); | 102 return query.list(); |
100 } | 103 } |
101 | 104 |
105 @Override | |
106 public List<TkhColumn> querySeriesItem(final Session session, final River river, final boolean doQueryParent) { | |
107 final Query query = session.createQuery("FROM TkhColumn c INNER JOIN c.tkh s" | |
108 + " WHERE s.river=:river AND lower(s.filename)=:filename AND lower(c.name)=:colname"); | |
109 query.setParameter("river", river); | |
110 query.setParameter("filename", this.filename.toLowerCase()); | |
111 query.setParameter("colname", this.colName.toLowerCase()); | |
112 return query.list(); | |
113 } | |
102 | 114 |
103 @Override | 115 @Override |
104 public TkhColumn createSeriesItem(final River river) { | 116 public TkhColumn createSeriesItem(final River river) { |
105 return new TkhColumn(this.parent.getPeer(river), this.colName); | 117 return new TkhColumn(this.parent.getPeer(river), this.colName); |
106 } | 118 } |