# HG changeset patch # User Ingo Weinzierl # Date 1328269522 0 # Node ID 7335c526befd32ce24689d7b658cbb083c204314 # Parent d70a04cad84d95fd084d085ae43448be35a263d0 Added an error report for historical discharge curves. flys-artifacts/trunk@3893 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r d70a04cad84d -r 7335c526befd flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Fri Feb 03 10:45:12 2012 +0000 +++ b/flys-artifacts/ChangeLog Fri Feb 03 11:45:22 2012 +0000 @@ -1,3 +1,24 @@ +2012-02-03 Ingo Weinzierl + + * doc/conf/artifacts/winfo.xml: Registered a ReportFacet for historical + discharge curve report. + + * doc/conf/conf.xml: Registered a ReportGenerator for historical discharge + curves. + + * src/main/java/de/intevation/flys/artifacts/model/Calculation6.java: Add + problems if we were not able to find a Q for a given W. + + * src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeComputeState.java: + Generate a ReportFacet if there were problems during calculcation. + + * src/main/resources/messages.properties, + src/main/resources/messages_de_DE.properties, + src/main/resources/messages_en.properties, + src/main/resources/messages_de.properties: Added error messages for the + case that we were not able to find a Q for a given W while calculating + historical discharge curve data. + 2012-02-03 Ingo Weinzierl * src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveGenerator.java: diff -r d70a04cad84d -r 7335c526befd flys-artifacts/doc/conf/artifacts/winfo.xml --- a/flys-artifacts/doc/conf/artifacts/winfo.xml Fri Feb 03 10:45:12 2012 +0000 +++ b/flys-artifacts/doc/conf/artifacts/winfo.xml Fri Feb 03 11:45:22 2012 +0000 @@ -489,7 +489,7 @@ - + diff -r d70a04cad84d -r 7335c526befd flys-artifacts/doc/conf/conf.xml --- a/flys-artifacts/doc/conf/conf.xml Fri Feb 03 10:45:12 2012 +0000 +++ b/flys-artifacts/doc/conf/conf.xml Fri Feb 03 11:45:22 2012 +0000 @@ -186,6 +186,7 @@ de.intevation.flys.exports.ReportGenerator de.intevation.flys.exports.ReportGenerator de.intevation.flys.exports.ReportGenerator + de.intevation.flys.exports.ReportGenerator de.intevation.flys.exports.ATExporter diff -r d70a04cad84d -r 7335c526befd flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation6.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation6.java Fri Feb 03 10:45:12 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation6.java Fri Feb 03 11:45:22 2012 +0000 @@ -122,12 +122,15 @@ for (double value: values) { logger.debug("Prepare data for value: " + value); - String name = mode == MODE_W ? "W=" + value : "Q=" + value; - WQTimerange wqt = new WQTimerange(name); + String name = mode == MODE_W ? "W=" + value : "Q=" + value; + WQTimerange wqt = null; for (DischargeTable dt: dts) { TimeInterval ti = dt.getTimeInterval(); + Date start = ti.getStartTime(); + Date end = ti.getStopTime(); + Timerange t = new Timerange(ti.getStartTime(),ti.getStopTime()); double w; double q; @@ -135,6 +138,12 @@ if (mode == MODE_W) { w = value; q = findValueForW(dt, w); + + if (Double.isNaN(q)) { + logger.warn("Cannot find Q for W: " + w); + addProblem("cannot.find.hist.q.for.w", w, start, end); + continue; + } } else { q = value; @@ -145,10 +154,16 @@ logger.debug("Q=" + q + " | W=" + w); } + if (wqt == null) { + wqt = new WQTimerange(name); + } + wqt.add(w, q, t); } - wqts.add(wqt); + if (wqt != null) { + wqts.add(wqt); + } } return (WQTimerange[]) wqts.toArray(new WQTimerange[wqts.size()]); diff -r d70a04cad84d -r 7335c526befd flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeComputeState.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeComputeState.java Fri Feb 03 10:45:12 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeComputeState.java Fri Feb 03 11:45:22 2012 +0000 @@ -18,6 +18,7 @@ import de.intevation.flys.artifacts.model.CalculationResult; import de.intevation.flys.artifacts.model.FacetTypes; import de.intevation.flys.artifacts.model.HistoricalDischargeFacet; +import de.intevation.flys.artifacts.model.ReportFacet; import de.intevation.flys.artifacts.model.WQTimerange; @@ -73,6 +74,10 @@ prepareFacets(facets, data); + if (res.getReport().hasProblems()) { + facets.add(new ReportFacet(ComputeType.ADVANCE, hash, id)); + } + return res; } diff -r d70a04cad84d -r 7335c526befd flys-artifacts/src/main/resources/messages.properties --- a/flys-artifacts/src/main/resources/messages.properties Fri Feb 03 10:45:12 2012 +0000 +++ b/flys-artifacts/src/main/resources/messages.properties Fri Feb 03 11:45:22 2012 +0000 @@ -157,6 +157,7 @@ cannot.create.wq.relation = Cannot create W/Q relation. cannot.create.index.q.relation = Cannot create index/Q relation. relating.w.w.failed = Relating W with W failed. +cannot.find.hist.q.for.w = Cannot find Q for W = {0,number,#.##} in timerange {1, date} - {2, date} no.river.selected = No river selected. no.gauge.selected = No gauge selected. diff -r d70a04cad84d -r 7335c526befd flys-artifacts/src/main/resources/messages_de.properties --- a/flys-artifacts/src/main/resources/messages_de.properties Fri Feb 03 10:45:12 2012 +0000 +++ b/flys-artifacts/src/main/resources/messages_de.properties Fri Feb 03 11:45:22 2012 +0000 @@ -157,6 +157,7 @@ cannot.create.wq.relation = W/Q-Beziehung konnte nicht ermittelt werden. cannot.create.index.q.relation = Spaltenindex/Q-Beziehung konnte nicht erstellt werden. relating.w.w.failed = Relating W with W failed. +cannot.find.hist.q.for.w = Konnte zu W = {0,number,#.##} im Zeitraum ({1,date} - {2,date}) kein Abfluss ermitteln. no.river.selected = Kein Gew\u00e4sser ausgew\u00e4hlt. no.gauge.selected = Kein Pegel ausgew\u00e4hlt. diff -r d70a04cad84d -r 7335c526befd flys-artifacts/src/main/resources/messages_de_DE.properties --- a/flys-artifacts/src/main/resources/messages_de_DE.properties Fri Feb 03 10:45:12 2012 +0000 +++ b/flys-artifacts/src/main/resources/messages_de_DE.properties Fri Feb 03 11:45:22 2012 +0000 @@ -157,6 +157,7 @@ cannot.create.wq.relation = W/Q-Beziehung konnte nicht ermittelt werden. cannot.create.index.q.relation = Spaltenindex/Q-Beziehung konnte nicht erstellt werden. relating.w.w.failed = Relating W with W failed. +cannot.find.hist.q.for.w = Konnte zu W = {0,number,#.##} im Zeitraum ({1,date} - {2,date}) kein Abfluss ermitteln. no.river.selected = Kein Gew\u00e4sser ausgew\u00e4hlt. no.gauge.selected = Kein Pegel ausgew\u00e4hlt. diff -r d70a04cad84d -r 7335c526befd flys-artifacts/src/main/resources/messages_en.properties --- a/flys-artifacts/src/main/resources/messages_en.properties Fri Feb 03 10:45:12 2012 +0000 +++ b/flys-artifacts/src/main/resources/messages_en.properties Fri Feb 03 11:45:22 2012 +0000 @@ -153,6 +153,7 @@ cannot.create.wq.relation = Cannot create W/Q relation. cannot.create.index.q.relation = Cannot create index/Q relation. relating.w.w.failed = Relating W with W failed. +cannot.find.hist.q.for.w = Cannot find Q for W = {0,number,#.##} in timerange {1, date} - {2, date} no.river.selected = No river selected. no.gauge.selected = No gauge selected.