Mercurial > dive4elements > river
view artifacts/src/main/java/org/dive4elements/river/artifacts/context/RiverContext.java @ 6925:972ec1f6cf58
WQKmsInterpolArtifact: Add different facet if wst has only 'fake' Qs.
Minor refactoring.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Mon, 26 Aug 2013 15:35:39 +0200 |
parents | af13ceeba52a |
children | 5c6fd2c010dd |
line wrap: on
line source
/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde * Software engineering by Intevation GmbH * * This file is Free Software under the GNU AGPL (>=v3) * and comes with ABSOLUTELY NO WARRANTY! Check out the * documentation coming with Dive4Elements River for details. */ package org.dive4elements.river.artifacts.context; import java.util.Map; import org.apache.log4j.Logger; import org.w3c.dom.Document; import org.dive4elements.artifactdatabase.DefaultArtifactContext; import org.dive4elements.artifacts.CallContext; import org.dive4elements.river.exports.OutGenerator; /** * This class is used to store application wide information in a global context. * * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public class RiverContext extends DefaultArtifactContext { /** The logger used in this class. */ private static Logger logger = Logger.getLogger(RiverContext.class); /** The key that is used to store the StateEngine in the context. */ public static final String ARTIFACT_KEY = "artifact"; /** The key that is used to store the TransitionEngine in the context. */ public static final String TRANSITION_ENGINE_KEY = "artifact.transition.engine"; /** The key that is used to store the StateEngine in the context. */ public static final String STATE_ENGINE_KEY = "artifact.state.engine"; /** The key that is used to store the Map of OutGenerator classes in the * context. */ public static final String OUTGENERATORS_KEY = "flys.export.outgenerators"; /** The key that is used to store the map of themes in the context. */ public static final String THEMES = "flys.themes.map"; /** The key that is used to store a map of theme mappings in the context. */ public static final String THEME_MAPPING = "flys.themes.mapping.map"; /** The key that is used to store a map of WMS urls for each river. */ public static final String RIVER_WMS = "flys.floodmap.river.wms"; /** The key that is used to store an instance of Scheduler in the context.*/ public static final String SCHEDULER = "flys.wsplgen.scheduler"; /** Key to store the configured modules in the context. */ public static final String MODULES = "flys.modules"; /** * The default constructor. */ public RiverContext() { super(); } /** * A constructor with a config document. */ public RiverContext(Document config) { super(config); } /** * Returns the OutGenerator for a specified <i>type</i>. * * @param name The name of the output type. * @param type Defines the type of the desired OutGenerator. * * @return Instance of an OutGenerator for specified <i>type</i>. */ public static OutGenerator getOutGenerator( CallContext context, String name, String type) { RiverContext flysContext = context instanceof RiverContext ? (RiverContext) context : (RiverContext) context.globalContext(); Map<String, Class> generators = (Map<String, Class>) flysContext.get(RiverContext.OUTGENERATORS_KEY); if (generators == null) { return null; } Class clazz = generators.get(name); try { return clazz != null ? (OutGenerator) clazz.newInstance() : null; } catch (InstantiationException ie) { logger.error(ie, ie); } catch (IllegalAccessException iae) { logger.error(iae, iae); } return null; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :