Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java @ 696:708b270dfd30 facets-slt
OutGenerators use now facets to fetch necessary data.
flys-artifacts/branches/facets-slt@2140 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 17 Jun 2011 09:19:43 +0000 |
parents | 45cd58a2a2bb |
children | eab5e5089d77 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java Thu Jun 16 14:31:41 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/DurationCurveGenerator.java Fri Jun 17 09:19:43 2011 +0000 @@ -18,9 +18,8 @@ import de.intevation.artifactdatabase.state.Facet; -import de.intevation.flys.model.River; - -import de.intevation.flys.artifacts.WINFOArtifact; +import de.intevation.flys.artifacts.FLYSArtifact; +import de.intevation.flys.artifacts.model.FacetTypes; import de.intevation.flys.artifacts.model.WQDay; import de.intevation.flys.artifacts.resources.Resources; @@ -30,11 +29,10 @@ * * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ -public class DurationCurveGenerator extends XYChartGenerator { - - public static final String I18N_DURATION_W = "chart.duration.curve.curve.w"; - public static final String I18N_DURATION_Q = "chart.duration.curve.curve.q"; - +public class DurationCurveGenerator +extends XYChartGenerator +implements FacetTypes +{ private static Logger logger = Logger.getLogger(DurationCurveGenerator.class); @@ -45,11 +43,11 @@ protected XYSeriesCollection q; - public static final String DURATION_CURVE_W = - "duration_curve.w"; + public static final String I18N_DURATION_W = + "chart.duration.curve.curve.w"; - public static final String DURATION_CURVE_Q = - "duration_curve.q"; + public static final String I18N_DURATION_Q = + "chart.duration.curve.curve.q"; public static final String I18N_CHART_TITLE = "chart.duration.curve.title"; @@ -161,7 +159,7 @@ @Override public void doOut(Artifact artifact, Facet facet, Document attr) { - String name = facet.getName(); + String name = facet != null ? facet.getName() : null; logger.debug("DurationCurveGenerator.doOut: " + name); @@ -170,14 +168,14 @@ return; } - WINFOArtifact winfo = (WINFOArtifact) artifact; - River river = winfo.getRiver(); + FLYSArtifact flys = (FLYSArtifact) artifact; + Facet f = flys.getNativeFacet(facet); - if (name.equals(DURATION_CURVE_W)) { - doWOut(getDurationCurveData(artifact), river.getName()); + if (name.equals(DURATION_W)) { + doWOut((WQDay) f.getData(artifact, context)); } - else if (name.equals(DURATION_CURVE_Q)) { - doQOut(getDurationCurveData(artifact), river.getName()); + else if (name.equals(DURATION_Q)) { + doQOut((WQDay) f.getData(artifact, context)); } else { logger.warn("Unknown facet name: " + name); @@ -192,12 +190,12 @@ * @param wqdays The WQDay store that contains the Ws. * @param river The name of the river. */ - protected void doWOut(WQDay wqdays, String river) { + protected void doWOut(WQDay wqdays) { logger.debug("DurationCurveGenerator.doWOut"); // TODO find the correct series name XYSeries series = new XYSeries( - getSeriesName(river, DURATION_CURVE_W)); + getSeriesName(getRiverName(), DURATION_W)); int size = wqdays.size(); for (int i = 0; i < size; i++) { @@ -217,12 +215,12 @@ * @param wqdays The WQDay store that contains the Qs. * @param river The name of the river. */ - protected void doQOut(WQDay wqdays, String river) { + protected void doQOut(WQDay wqdays) { logger.debug("DurationCurveGenerator.doQOut"); // TODO find the correct series name XYSeries series = new XYSeries( - getSeriesName(river, DURATION_CURVE_Q)); + getSeriesName(getRiverName(), DURATION_Q)); int size = wqdays.size(); for (int i = 0; i < size; i++) { @@ -236,20 +234,6 @@ } - /** - * Returns the computed data for a duration curve based on the artifact's - * computation method. - * - * @param artifact The WINFO artifact. - * - * @return the computed data for a duration curve's W and Q facet. - */ - protected WQDay getDurationCurveData(Artifact artifact) { - WINFOArtifact winfoArtifact = (WINFOArtifact) artifact; - return winfoArtifact.getDurationCurveData(); - } - - protected String getSeriesName(String river, String type) { Object[] args = new Object[] { river }; @@ -257,14 +241,14 @@ logger.warn("No duration curve type given."); return "n/a"; } - else if (type.equals(DURATION_CURVE_W)) { + else if (type.equals(DURATION_W)) { return Resources.getMsg( context.getMeta(), I18N_DURATION_W, "W", args); } - else if (type.equals(DURATION_CURVE_Q)) { + else if (type.equals(DURATION_Q)) { return Resources.getMsg( context.getMeta(), I18N_DURATION_Q,