Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/utils/RiverMapfileGenerator.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 | 861c47e0a8a0 |
children | 13abfb1bcb75 |
comparison
equal
deleted
inserted
replaced
4655:cd44d28d0fbc | 4656:442fbb290fa8 |
---|---|
2 | 2 |
3 import de.intevation.flys.artifacts.model.LayerInfo; | 3 import de.intevation.flys.artifacts.model.LayerInfo; |
4 import de.intevation.flys.artifacts.model.RiverFactory; | 4 import de.intevation.flys.artifacts.model.RiverFactory; |
5 import de.intevation.flys.model.River; | 5 import de.intevation.flys.model.River; |
6 | 6 |
7 import java.io.File; | |
8 import java.io.FileNotFoundException; | |
7 import java.util.List; | 9 import java.util.List; |
8 | 10 |
11 import org.apache.log4j.Logger; | |
12 import org.apache.velocity.Template; | |
13 | |
9 public class RiverMapfileGenerator extends MapfileGenerator { | 14 public class RiverMapfileGenerator extends MapfileGenerator { |
15 | |
16 private static Logger logger = Logger.getLogger(RiverMapfileGenerator.class); | |
10 | 17 |
11 /** | 18 /** |
12 * Generate river axis mapfile. | 19 * Generate river axis mapfile. |
13 */ | 20 */ |
14 @Override | 21 @Override |
15 protected void generate() { | 22 public void generate() { |
16 List<River> rivers = RiverFactory.getRivers(); | 23 List<River> rivers = RiverFactory.getRivers(); |
17 | 24 |
18 for (River river : rivers) { | 25 for (River river : rivers) { |
19 createRiverAxisLayer( | 26 createRiverAxisLayer( |
20 river.getName(), | 27 river.getName(), |
27 protected void createRiverAxisLayer(String riverName, int riverID, String srid, String extend) { | 34 protected void createRiverAxisLayer(String riverName, int riverID, String srid, String extend) { |
28 LayerInfo layerInfo = new LayerInfo(); | 35 LayerInfo layerInfo = new LayerInfo(); |
29 layerInfo.setName(riverName); | 36 layerInfo.setName(riverName); |
30 layerInfo.setSrid(srid); | 37 layerInfo.setSrid(srid); |
31 layerInfo.setExtent(extend); | 38 layerInfo.setExtent(extend); |
39 | |
40 File layerFile = new File(getMapfilePath()); | |
41 Template template = getTemplateByName(DB_LAYER_TEMPLATE); | |
42 if (template == null) { | |
43 logger.warn("Template '" + DB_LAYER_TEMPLATE + "' found."); | |
44 return; | |
45 } | |
46 | |
47 try { | |
48 writeLayer(layerInfo, layerFile, template); | |
49 } | |
50 catch (FileNotFoundException e) { | |
51 logger.warn(e.getLocalizedMessage(), e); | |
52 } | |
32 } | 53 } |
33 | 54 |
55 @Override | |
56 protected String getVelocityLogfile() { | |
57 return FLYSUtils.getXPathString(FLYSUtils.XPATH_RIVERMAP_VELOCITY_LOGFILE); | |
58 } | |
59 | |
60 @Override | |
61 protected String getMapserverTemplatePath() { | |
62 return FLYSUtils.getXPathString(FLYSUtils.XPATH_RIVERMAP_MAPSERVER_TEMPLATE_PATH); | |
63 } | |
64 | |
65 @Override | |
66 protected String getMapserverUrl() { | |
67 return FLYSUtils.getXPathString(FLYSUtils.XPATH_RIVERMAP_MAPSERVER_URL); | |
68 } | |
69 | |
70 @Override | |
71 protected String getMapfilePath() { | |
72 return FLYSUtils.getXPathString(FLYSUtils.XPATH_RIVERMAP_MAPFILE_PATH); | |
73 } | |
74 | |
75 @Override | |
76 protected String getMapfileTemplate() { | |
77 return FLYSUtils.getXPathString(FLYSUtils.XPATH_RIVERMAP_MAPFILE_TEMPLATE); | |
78 } | |
34 } | 79 } |