Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java @ 4656:442fbb290fa8
Introduce river mapfile generation (WARNING: Changes in config xml files required!).
On startup the RiverMapfileGeneratorStarter is called by the server app.
The starter invokes a call to RiverMapfileGenerator.generate() which
reads all available rivers from the database and generates
layers for each river (in theory...uncompleted) in a
river.map file.
The old MapfileGenerator which generates layers that have
artifact dependencies is now in ArtifactMapfileGenerator.
author | Christian Lins <christian.lins@intevation.de> |
---|---|
date | Tue, 11 Dec 2012 15:24:24 +0100 |
parents | e29f368c09ba |
children | b26465581abf |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java Tue Dec 11 09:44:04 2012 +0100 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/context/FLYSContextFactory.java Tue Dec 11 15:24:24 2012 +0100 @@ -1,5 +1,22 @@ package de.intevation.flys.artifacts.context; +import de.intevation.artifactdatabase.state.State; +import de.intevation.artifactdatabase.state.StateEngine; +import de.intevation.artifactdatabase.transition.Transition; +import de.intevation.artifactdatabase.transition.TransitionEngine; +import de.intevation.artifacts.ArtifactContextFactory; +import de.intevation.artifacts.GlobalContext; +import de.intevation.artifacts.common.utils.Config; +import de.intevation.artifacts.common.utils.XMLUtils; +import de.intevation.flys.artifacts.model.Module; +import de.intevation.flys.artifacts.model.ZoomScale; +import de.intevation.flys.artifacts.states.StateFactory; +import de.intevation.flys.artifacts.transitions.TransitionFactory; +import de.intevation.flys.themes.Theme; +import de.intevation.flys.themes.ThemeFactory; +import de.intevation.flys.themes.ThemeGroup; +import de.intevation.flys.themes.ThemeMapping; + import java.io.File; import java.util.ArrayList; import java.util.HashMap; @@ -9,32 +26,11 @@ import javax.xml.xpath.XPathConstants; import org.apache.log4j.Logger; - import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; -import de.intevation.artifacts.ArtifactContextFactory; -import de.intevation.artifacts.GlobalContext; - -import de.intevation.artifacts.common.utils.XMLUtils; -import de.intevation.artifacts.common.utils.Config; - -import de.intevation.artifactdatabase.state.State; -import de.intevation.artifactdatabase.state.StateEngine; -import de.intevation.artifactdatabase.transition.Transition; -import de.intevation.artifactdatabase.transition.TransitionEngine; - -import de.intevation.flys.artifacts.model.Module; -import de.intevation.flys.artifacts.model.ZoomScale; -import de.intevation.flys.artifacts.states.StateFactory; -import de.intevation.flys.artifacts.transitions.TransitionFactory; -import de.intevation.flys.themes.Theme; -import de.intevation.flys.themes.ThemeGroup; -import de.intevation.flys.themes.ThemeFactory; -import de.intevation.flys.themes.ThemeMapping; - /** * The ArtifactContextFactory is used to initialize basic components and put @@ -94,6 +90,7 @@ * @param config The artifact server configuration. * @return a FLYSArtifactContext. */ + @Override public GlobalContext createArtifactContext(Document config) { FLYSContext context = new FLYSContext(config); @@ -102,7 +99,7 @@ configureOutGenerators(config, context); configureThemes(config, context); configureThemesMappings(config, context); - configureRiverWMS(config, context); + configureFloodmapWMS(config, context); configureModules(config, context); configureZoomScales(config, context); @@ -110,7 +107,7 @@ } - private void configureZoomScales(Document config, FLYSContext context) { + protected void configureZoomScales(Document config, FLYSContext context) { NodeList list = (NodeList)XMLUtils.xpath( config, XPATH_ZOOM_SCALES, @@ -278,7 +275,7 @@ * @param context the FLYSContext. */ protected void configureOutGenerators(Document config, FLYSContext context){ - Map<String, Class> generators = new HashMap<String, Class>(); + Map<String, Class<?>> generators = new HashMap<String, Class<?>>(); NodeList outGenerators = (NodeList) XMLUtils.xpath( config, @@ -451,7 +448,13 @@ } - protected void configureRiverWMS(Document cfg, FLYSContext context) { + /** + * Reads configured floodmap river WMSs from floodmap.xml and + * loads them into the given FLYSContext. + * @param cfg + * @param context + */ + protected void configureFloodmapWMS(Document cfg, FLYSContext context) { Map<String, String> riverWMS = new HashMap<String, String>(); NodeList rivers = (NodeList) XMLUtils.xpath(