Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/QSectorArtifact.java @ 4604:488db475613d
Add methods to hide and show the manage projects button of the header
It should be possible to show the manage projects button only if the ProjectList
is hidden. Therefore add methods to allow to show and hide the button.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Fri, 30 Nov 2012 10:00:39 +0100 |
parents | a2735a4bf75e |
children |
line wrap: on
line source
package de.intevation.flys.artifacts; import java.util.ArrayList; import java.util.List; import org.apache.log4j.Logger; import org.w3c.dom.Document; import de.intevation.artifactdatabase.state.Facet; import de.intevation.artifacts.Artifact; import de.intevation.artifacts.ArtifactFactory; import de.intevation.artifacts.CallMeta; import de.intevation.artifacts.CallContext; import de.intevation.flys.artifacts.model.GaugeFinder; import de.intevation.flys.artifacts.model.GaugeFinderFactory; import de.intevation.flys.artifacts.model.GaugeRange; import de.intevation.flys.artifacts.model.NamedDouble; import de.intevation.flys.artifacts.services.FixingsKMChartService; import de.intevation.flys.artifacts.states.DefaultState; import de.intevation.flys.artifacts.resources.Resources; /** * Artifact to produce sector markers. */ public class QSectorArtifact extends StaticFLYSArtifact { /** The logger for this class. */ private static Logger logger = Logger.getLogger(QSectorArtifact.class); /** The name of the artifact. */ public static final String ARTIFACT_NAME = "qsector"; /** * Trivial Constructor. */ public QSectorArtifact() { logger.debug("QSectorArtifact.QSectorArtifact()"); } /** * Gets called from factory, to set things up. */ @Override public void setup( String identifier, ArtifactFactory factory, Object context, CallMeta callMeta, Document data) { logger.debug("QSectorArtifact.setup"); super.setup(identifier, factory, context, callMeta, data); initialize(null, context, callMeta); } /** Return the name of this artifact. */ public String getName() { return ARTIFACT_NAME; } /** Get list of NamedDouble s (QSectors). */ public Object getQSectors(double km, CallContext context) { String river = getDataAsString("river"); List<NamedDouble> qsectors = new ArrayList<NamedDouble>(); GaugeFinderFactory ggf = GaugeFinderFactory.getInstance(); GaugeFinder gf = ggf.getGaugeFinder(river); if (gf == null) { logger.warn("No gauge finder found for river '" + river + "'"); return null; } GaugeRange gr = gf.find(km); if (gr == null) { logger.debug("No gauge range found for km " + km + " on river " + river + "."); return null; } if (logger.isDebugEnabled()) { logger.debug(gr); } for (int i = 0; i < FixingsKMChartService.I18N_Q_SECTOR_BOARDERS.length; ++i) { String key = FixingsKMChartService.I18N_Q_SECTOR_BOARDERS[i]; String def = FixingsKMChartService.DEFAULT_Q_SECTOR_BORDERS[i]; String label = Resources.getMsg(context.getMeta(), key, def); qsectors.add(new NamedDouble(label, gr.getSectorBorder(i))); } return qsectors; } /** Setup state and facet. */ @Override protected void initialize(Artifact artifact, Object context, CallMeta meta) { logger.debug("QSectorArtifact.initialize"); List<Facet> fs = new ArrayList<Facet>(); FLYSArtifact flys = (FLYSArtifact) artifact; importData(flys, "river"); DefaultState state = (DefaultState) getCurrentState(context); state.computeInit(this, hash(), context, meta, fs); if (!fs.isEmpty()) { logger.debug("Facets to add in QSectorArtifact.initialize ."); addFacets(getCurrentStateId(), fs); } else { logger.debug("No facets to add in QSectorArtifact.initialize (" + state.getID() + ")."); } } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :