Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java @ 3603:d2ae58f6730d
FixA: Use the column cache to establish a consistent index scheme.
flys-artifacts/trunk@5229 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 22 Aug 2012 10:51:29 +0000 |
parents | b5eec54bd4a2 |
children | 2382b26079ac |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java Wed Aug 22 10:18:00 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixCalculation.java Wed Aug 22 10:51:29 2012 +0000 @@ -82,13 +82,15 @@ protected Fixing.Column meta; protected FixingsColumn data; + protected int index; public Column() { } - public Column(Fixing.Column meta, FixingsColumn data) { - this.meta = meta; - this.data = data; + public Column(Fixing.Column meta, FixingsColumn data, int index) { + this.meta = meta; + this.data = data; + this.index = index; } public Date getDate() { @@ -99,6 +101,10 @@ return meta.getDescription(); } + public int getIndex() { + return index; + } + public boolean getQW( double km, double [] qs, @@ -136,7 +142,7 @@ .getInstance() .getColumnData(meta); if (data != null) { - column = new Column(meta, data); + column = new Column(meta, data, columns.size()); columns.put(key, column); } } @@ -234,8 +240,10 @@ return new IdsFilter(events); } - protected List<Column> getEventColumns(FixingsOverview overview) { - + protected List<Column> getEventColumns( + FixingsOverview overview, + ColumnCache cc + ) { FixingsColumnFactory fcf = FixingsColumnFactory.getInstance(); Filter filter = createFilter(); @@ -246,23 +254,26 @@ for (Fixing.Column meta: metas) { - FixingsColumn data = fcf.getColumnData(meta); + Column data = cc.getColumn(meta); if (data == null) { addProblem("fix.cannot.load.data"); } else { - columns.add(new Column(meta, data)); + columns.add(data); } } return columns; } - protected FitResult doFitting(FixingsOverview overview, Function func) { - + protected FitResult doFitting( + FixingsOverview overview, + ColumnCache cc, + Function func + ) { boolean debug = log.isDebugEnabled(); - final List<Column> eventColumns = getEventColumns(overview); + final List<Column> eventColumns = getEventColumns(overview, cc); if (eventColumns.size() < 2) { addProblem("fix.too.less.data.columns");