Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationCurveGenerator.java @ 9265:e5367900dd6d
Small cleanup concerning getPoints
Adding validStations as dataItem to flood duration calculation
Flood duration now km aware
author | gernotbelger |
---|---|
date | Tue, 17 Jul 2018 19:48:28 +0200 |
parents | 66b003701546 |
children | ae9dee74e43e |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationCurveGenerator.java Tue Jul 17 19:48:23 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/flood_duration/FloodDurationCurveGenerator.java Tue Jul 17 19:48:28 2018 +0200 @@ -14,7 +14,6 @@ import org.apache.log4j.Logger; import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; import org.dive4elements.artifacts.CallContext; -import org.dive4elements.river.artifacts.model.CalculationResult; import org.dive4elements.river.artifacts.model.FacetTypes; import org.dive4elements.river.artifacts.model.WQDay; import org.dive4elements.river.exports.IdentifiableNumberAxis; @@ -29,57 +28,51 @@ import org.jfree.data.Range; import org.jfree.data.xy.XYSeries; - /** * An OutGenerator that generates duration curves. * * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ -public class FloodDurationCurveGenerator -extends XYChartGenerator -implements FacetTypes -{ +public class FloodDurationCurveGenerator extends XYChartGenerator implements FacetTypes { public static enum YAXIS { - W(0), - Q(1); + W(0), Q(1); public int idx; + private YAXIS(final int c) { this.idx = c; } } /** Local log. */ - private static Logger log = - Logger.getLogger(FloodDurationCurveGenerator.class); - - public static final String I18N_CHART_TITLE = "sinfo.chart.flood_duration.curve.section.title"; - - public static final String I18N_CHART_SUBTITLE = "chart.duration.curve.subtitle"; + private static Logger log = Logger.getLogger(FloodDurationCurveGenerator.class); - public static final String I18N_XAXIS_LABEL = "sinfo.chart.flood_duration.curve.xaxis.label"; - - public static final String I18N_YAXIS_LABEL_W = "chart.duration.curve.yaxis.label.w"; + private static final String I18N_CHART_TITLE = "sinfo.chart.flood_duration.curve.section.title"; - public static final String I18N_YAXIS_LABEL_Q = "chart.duration.curve.yaxis.label.q"; + private static final String I18N_CHART_SUBTITLE = "chart.duration.curve.subtitle"; - public static final String I18N_CHART_TITLE_DEFAULT = "Dauerlinie"; + private static final String I18N_XAXIS_LABEL = "sinfo.chart.flood_duration.curve.xaxis.label"; - public static final String I18N_XAXIS_LABEL_DEFAULT = "Überflutungsdauer [d/a]"; + private static final String I18N_YAXIS_LABEL_W = "chart.duration.curve.yaxis.label.w"; + private static final String I18N_YAXIS_LABEL_Q = "chart.duration.curve.yaxis.label.q"; + + private static final String I18N_CHART_TITLE_DEFAULT = "Dauerlinie"; + + private static final String I18N_XAXIS_LABEL_DEFAULT = "Überflutungsdauer [d/a]"; public FloodDurationCurveGenerator() { super(); } - /** * Create Axis for given index. + * * @return axis with according internationalized label. */ @Override protected NumberAxis createYAxis(final int index) { final Font labelFont = new Font("Tahoma", Font.BOLD, 14); - final String label = getYAxisLabel(index); + final String label = getYAxisLabel(index); final NumberAxis axis = createNumberAxis(index, label); if (index == YAXIS.W.idx) { @@ -89,41 +82,35 @@ return axis; } - @Override protected String getDefaultChartTitle(final CallContext context) { return msg(I18N_CHART_TITLE, I18N_CHART_TITLE_DEFAULT); } - @Override protected String getDefaultChartSubtitle(final CallContext context) { - final double[] dist = getRange(); + final double[] dist = getRange(); return msg(I18N_CHART_SUBTITLE, "", getRiverName(), dist[0]); } - @Override protected String getDefaultXAxisLabel(final CallContext context) { return msg(I18N_XAXIS_LABEL, I18N_XAXIS_LABEL_DEFAULT); } - @Override protected String getDefaultYAxisLabel(final int index) { String label = "default"; if (index == YAXIS.W.idx) { label = msg(I18N_YAXIS_LABEL_W, I18N_YAXIS_LABEL_W, getRiverUnit()); - } - else if (index == YAXIS.Q.idx) { + } else if (index == YAXIS.Q.idx) { label = msg(I18N_YAXIS_LABEL_Q); } return label; } - @Override protected boolean zoomX(final XYPlot plot, final ValueAxis axis, final Bounds bounds, final Range x) { @@ -134,7 +121,6 @@ return zoomin; } - /** * This method overrides the method in the parent class to set the lower * bounds of the Q axis to 0. This axis should never display negative @@ -152,7 +138,6 @@ return zoomin; } - @Override public void doOut(final ArtifactAndFacet artifactFacet, final ThemeDocument attr, final boolean visible) { @@ -168,10 +153,10 @@ final CallContext context = getContext(); if (name.equals(DURATION_W)) { - doWOut((WQDay) ((CalculationResult) artifactFacet.getData(context)).getData(), artifactFacet, attr, visible); + doWOut((WQDay) (artifactFacet.getData(context)), artifactFacet, attr, visible); } else if (name.equals(DURATION_Q)) { - doQOut((WQDay) ((CalculationResult) artifactFacet.getData(context)).getData(), artifactFacet, attr, visible); + doQOut((WQDay) artifactFacet.getData(context), artifactFacet, attr, visible); } else if (name.equals(FloodDurationCurveProcessor.FACET_FLOOD_DURATION_MAINVALUES_Q) || name.equals(FloodDurationCurveProcessor.FACET_FLOOD_DURATION_MAINVALUES_W)) { @@ -195,7 +180,8 @@ /** * Creates the series for a duration curve's W facet. * - * @param wqdays The WQDay store that contains the Ws. + * @param wqdays + * The WQDay store that contains the Ws. * @param theme */ protected void doWOut(final WQDay wqdays, final ArtifactAndFacet aaf, final ThemeDocument theme, final boolean visible) { @@ -204,7 +190,7 @@ final XYSeries series = new StyledXYSeries(aaf.getFacetDescription(), theme); final int size = wqdays.size(); for (int i = 0; i < size; i++) { - final int day = wqdays.getDay(i); + final int day = wqdays.getDay(i); final double w = wqdays.getW(i); series.add(day, w); } @@ -219,11 +205,11 @@ addAxisSeries(series, YAXIS.W.idx, visible); } - /** * Creates the series for a duration curve's Q facet. * - * @param wqdays The WQDay store that contains the Qs. + * @param wqdays + * The WQDay store that contains the Qs. * @param theme */ protected void doQOut(final WQDay wqdays, final ArtifactAndFacet aaf, final ThemeDocument theme, final boolean visible) { @@ -232,14 +218,13 @@ final XYSeries series = new StyledXYSeries(aaf.getFacetDescription(), theme); final int size = wqdays.size(); for (int i = 0; i < size; i++) { - final int day = wqdays.getDay(i); + final int day = wqdays.getDay(i); final double q = wqdays.getQ(i); series.add(day, q); } addAxisSeries(series, YAXIS.Q.idx, visible); } - @Override protected YAxisWalker getYAxisWalker() { return new YAxisWalker() { @@ -258,5 +243,4 @@ // MainValue-Annotations should be visualized by // a line that goes to the curve itself. -} -// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : +} \ No newline at end of file