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 }

http://dive4elements.wald.intevation.org