Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DurationCurveState.java @ 5462:f2371f3aaf03
Show top level folder icons only if node has no factory
If you have an empty folder the folder icon is still shown.
This makes it possible to add functional "Top Level" entries
in the Datacage
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Tue, 26 Mar 2013 18:29:13 +0100 |
parents | 7887112c37cc |
children |
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.access.RangeAccess; import de.intevation.flys.artifacts.FLYSArtifact; import de.intevation.flys.artifacts.WINFOArtifact; import de.intevation.flys.artifacts.ChartArtifact; 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.EmptyFacet; 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 ) { if (artifact instanceof WINFOArtifact) { 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) { RangeAccess rangeAccess = new RangeAccess(winfo, context); // Create an i18ed name for a (w or q) duration curve facet. Object[] args = new Object[] { FLYSUtils.getRiver(winfo).getName(), rangeAccess.getLocations()[0] }; 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")); facets.add(new DataFacet(PDF, "PDF data")); if (res.getReport().hasProblems()) { facets.add(new ReportFacet()); } } return res; } else if (artifact instanceof ChartArtifact) { ChartArtifact chart = (ChartArtifact)artifact; facets.add(new EmptyFacet()); return null; } return null; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :