# HG changeset patch # User Felix Wolfsteller # Date 1321368230 0 # Node ID d5e51cc7da230c3c6bacca540f3c1a999eff22d2 # Parent 1cf36ffe69b58a1460053277c1f5db841b93b5ad New method to get interpolator for given wst_ids, also prepopulate arrays with NaNs. flys-artifacts/trunk@3254 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 1cf36ffe69b5 -r d5e51cc7da23 flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Tue Nov 15 14:37:21 2011 +0000 +++ b/flys-artifacts/ChangeLog Tue Nov 15 14:43:50 2011 +0000 @@ -1,3 +1,9 @@ +2011-11-15 Felix Wolfsteller + + * src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java + (getTable): New methods to get WstValueTable for given wst_id. + Prepolate Arrays with NaNs. + 2011-11-15 Felix Wolfsteller * src/main/java/de/intevation/flys/artifacts/model/WKmsFactory.java: diff -r 1cf36ffe69b5 -r d5e51cc7da23 flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java Tue Nov 15 14:37:21 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WstValueTableFactory.java Tue Nov 15 14:43:50 2011 +0000 @@ -1,5 +1,6 @@ package de.intevation.flys.artifacts.model; +import java.util.Arrays; import java.util.List; import java.util.ArrayList; @@ -56,6 +57,23 @@ } + /** + * Get WstValueTable to interpolate values of a given Wst. + */ + public static WstValueTable getTable(int wst_id) { + + /** @TODO cached/uncached */ + + Session session = SessionHolder.HOLDER.get(); + + // Fetch data for one column only. + + WstValueTable.Column [] columns = loadColumns(session, wst_id); + loadQRanges(session, columns, wst_id); + List rows = loadRows(session, wst_id, columns.length); + + return new WstValueTable(columns, rows); + } public static WstValueTable getTable(River river, int kind) { Cache cache = CacheFactory.getCache(WstValueTableCacheKey.CACHE_NAME); @@ -145,6 +163,7 @@ int column = (Integer)result[2]; if (column < lastColumn) { ws = new double[numColumns]; + Arrays.fill(ws, Double.NaN); WstValueTable.Row row = new WstValueTable.Row((Double)result[0], ws); rows.add(row);