Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java @ 454:2c0c22e0935d
Added names for discharge curves (at gauges).
flys-artifacts/trunk@1950 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 19 May 2011 09:45:29 +0000 |
parents | 0385bcc4229a |
children | e006da5679d2 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java Thu May 19 09:31:47 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java Thu May 19 09:45:29 2011 +0000 @@ -1,6 +1,7 @@ package de.intevation.flys.exports; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; @@ -14,8 +15,10 @@ import de.intevation.artifacts.Artifact; +import de.intevation.flys.model.DischargeTable; import de.intevation.flys.model.Gauge; import de.intevation.flys.model.River; +import de.intevation.flys.model.TimeInterval; import de.intevation.flys.artifacts.FLYSArtifact; import de.intevation.flys.artifacts.model.DischargeTables; @@ -130,10 +133,45 @@ DischargeTables dt = new DischargeTables(river.getName(), gaugeNames); Map<String, double[][]> gaugeValues = dt.getValues(100d); - for (String gauge: gaugeNames) { - double[][] values = gaugeValues.get(gauge); - dataset.addSeries(gauge, values); + for (Gauge gauge: filtered) { + String gaugeName = gauge.getName(); + + double[][] values = gaugeValues.get(gaugeName); + dataset.addSeries(getSeriesName(gauge), values); } } + + + protected String getSeriesName(Gauge gauge) { + List<DischargeTable> dts = gauge.getDischargeTables(); + + for (DischargeTable dt: dts) { + if (dt.getKind() == 0) { + TimeInterval ti = dt.getTimeInterval(); + + Date start = ti.getStartTime(); + Date end = ti.getStopTime(); + + String name = gauge.getName(); + + if (end == null) { + Object[] args = new Object[] { name, start }; + return msg( + "chart.discharge.curve.curve.valid.from", + "", + args); + } + else { + Object[] args = new Object[] { name, start, end }; + return msg( + "chart.discharge.curve.curve.valid.range", + "", + args); + } + } + } + + return gauge.getName(); + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :