Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java @ 2089:0da8874bd378
Added initial state to map artifact to be able to advance and step back.
The map artifact overrides describe() to have the complete UI information in the
describe response document.
flys-artifacts/trunk@3613 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Fri, 06 Jan 2012 12:02:10 +0000 |
parents | e0243627ba62 |
children | 024d986b4f5b |
line wrap: on
line source
package de.intevation.flys.artifacts.states; import java.util.List; import org.apache.log4j.Logger; import de.intevation.artifacts.CallContext; import de.intevation.artifactdatabase.state.Facet; import de.intevation.flys.artifacts.FLYSArtifact; import de.intevation.flys.artifacts.WINFOArtifact; import de.intevation.flys.artifacts.model.DurationCurveFacet; import de.intevation.flys.artifacts.model.FacetTypes; import de.intevation.flys.artifacts.model.WQDay; import de.intevation.flys.artifacts.model.DataFacet; import de.intevation.flys.artifacts.model.ReportFacet; import de.intevation.flys.artifacts.model.CalculationResult; import de.intevation.flys.artifacts.resources.Resources; import de.intevation.flys.utils.FLYSUtils; /** * The final state that will be reached after the duration curve calculation * mode has been chosen. * * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public class DurationCurveState extends DefaultState implements FacetTypes { /** The logger that is used in this state. */ private static Logger logger = Logger.getLogger(DurationCurveState.class); public DurationCurveState() { } @Override public Object computeAdvance( FLYSArtifact artifact, String hash, CallContext context, List<Facet> facets, Object old ) { WINFOArtifact winfo = (WINFOArtifact)artifact; CalculationResult res; if (old instanceof CalculationResult) { res = (CalculationResult)old; } else { res = winfo.getDurationCurveData(); } WQDay wqday = (WQDay)res.getData(); if (wqday != null && facets != null) { Object[] args = new Object[] { FLYSUtils.getRiver(winfo).getName() }; String nameW = Resources.getMsg( context.getMeta(), "chart.duration.curve.curve.w", "", args); String nameQ = Resources.getMsg( context.getMeta(), "chart.duration.curve.curve.q", "", args); Facet w = new DurationCurveFacet(DURATION_W, nameW); Facet q = new DurationCurveFacet(DURATION_Q, nameQ); facets.add(w); facets.add(q); facets.add(new DataFacet(CSV, "CSV data")); if (res.getReport().hasProblems()) { facets.add(new ReportFacet()); } } return res; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :