Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/DischargeTablesOverview.java @ 5379:61bf64b102bc mapgenfix
Merge with default branch
author | Christian Lins <christian.lins@intevation.de> |
---|---|
date | Fri, 22 Mar 2013 11:25:54 +0100 |
parents | 02f6741f80d4 |
children | 2fe120e1e4df |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/DischargeTablesOverview.java Wed Mar 06 14:14:15 2013 +0100 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/DischargeTablesOverview.java Fri Mar 22 11:25:54 2013 +0100 @@ -13,6 +13,7 @@ import org.hibernate.Session; import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; +import org.jfree.chart.plot.Marker; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.plot.XYPlot; import org.jfree.data.xy.XYSeries; @@ -24,14 +25,17 @@ import de.intevation.artifacts.CallMeta; import de.intevation.artifacts.GlobalContext; import de.intevation.flys.artifacts.model.DischargeTables; +import de.intevation.flys.artifacts.model.GaugeRange; import de.intevation.flys.artifacts.model.GaugesFactory; import de.intevation.flys.artifacts.resources.Resources; import de.intevation.flys.backend.SessionHolder; import de.intevation.flys.model.DischargeTable; import de.intevation.flys.model.Gauge; +import de.intevation.flys.model.MainValue; import de.intevation.flys.model.TimeInterval; +/** Generate Discharge Table chart. */ public class DischargeTablesOverview extends AbstractChartService { private static final Logger log = Logger @@ -123,6 +127,11 @@ plot.setDomainGridlinesVisible(true); plot.setRangeGridlinesVisible(true); + applyMainValueMarkers( + plot, + gauge, + callMeta); + return chart; } @@ -148,6 +157,36 @@ return series; } + + /** Add domain markers to plot that indicate mainvalues. */ + protected static void applyMainValueMarkers( + XYPlot plot, + Gauge gauge, + CallMeta meta + ) { + String river = gauge.getRiver().getName(); + double km = gauge.getStation().doubleValue(); + + // Get Gauge s mainvalues. + List<MainValue> mainValues = gauge.getMainValues(); + for (MainValue mainValue : mainValues) { + if (mainValue.getMainValue().getType().getName().equals("Q")) { + // Its a Q main value. + Marker m = FixingsKMChartService.createQSectorMarker( + mainValue.getValue().doubleValue(), + mainValue.getMainValue().getName()); + plot.addDomainMarker(m); + } + else if (mainValue.getMainValue().getType().getName().equals("W")) { + // Its a W main value. + Marker m = FixingsKMChartService.createQSectorMarker( + mainValue.getValue().doubleValue(), + mainValue.getMainValue().getName()); + plot.addRangeMarker(m); + } + } + } + protected String createSeriesTitle(CallMeta callMeta, DischargeTable dt) throws IllegalArgumentException { TimeInterval timeInterval = dt.getTimeInterval(); @@ -259,3 +298,4 @@ return dts; } } +// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :