annotate artifacts/src/main/java/org/dive4elements/river/utils/RiverMapfileGenerator.java @ 6332:f5bb53106ae8

Remove createBarriersLayer and createBarriers The generated mapfiles did not work and were just confusing. This looks like historical cruft that was never deleted. The real barrier mapfiles are created in the Floodmap state
author Andre Heinecke <aheinecke@intevation.de>
date Thu, 13 Jun 2013 17:24:56 +0200
parents af13ceeba52a
children 30aecc45d676
rev   line source
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
6 * documentation coming with Dive4Elements River for details.
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5477
diff changeset
9 package org.dive4elements.river.utils;
4654
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
10
4809
8062b571884d Bugs in generated RiverAxis Mapfile fixed. Now the river axes are drawn by the WMS.
Christian Lins <christian.lins@intevation.de>
parents: 4738
diff changeset
11 import com.vividsolutions.jts.geom.Envelope;
5140
18ef819a7c92 Changed river axis from LineString to MultiLineString.
Raimund Renkert <rrenkert@intevation.de>
parents: 4843
diff changeset
12 import com.vividsolutions.jts.geom.MultiLineString;
4809
8062b571884d Bugs in generated RiverAxis Mapfile fixed. Now the river axes are drawn by the WMS.
Christian Lins <christian.lins@intevation.de>
parents: 4738
diff changeset
13
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5477
diff changeset
14 import org.dive4elements.river.artifacts.model.LayerInfo;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5477
diff changeset
15 import org.dive4elements.river.artifacts.model.RiverFactory;
4843
88014b9852d0 Removed obsolete imports and dead code.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4841
diff changeset
16
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5477
diff changeset
17 import org.dive4elements.river.model.River;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5477
diff changeset
18 import org.dive4elements.river.model.RiverAxis;
4654
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
19
4656
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
20 import java.io.File;
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
21 import java.io.FileNotFoundException;
4843
88014b9852d0 Removed obsolete imports and dead code.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4841
diff changeset
22
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents: 4656
diff changeset
23 import java.util.ArrayList;
4654
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
24 import java.util.List;
4843
88014b9852d0 Removed obsolete imports and dead code.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4841
diff changeset
25
4841
ad0990a82ab8 Insert db connection into riveraxis map files.
Raimund Renkert <rrenkert@intevation.de>
parents: 4809
diff changeset
26 import java.util.regex.Pattern;
4654
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
27
4656
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
28 import org.apache.log4j.Logger;
4843
88014b9852d0 Removed obsolete imports and dead code.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4841
diff changeset
29
4656
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
30 import org.apache.velocity.Template;
5181
9d36ddf7dbd3 Change IllegalArgumentException to HibernateException.
Raimund Renkert <rrenkert@intevation.de>
parents: 5173
diff changeset
31 import org.hibernate.HibernateException;
4656
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
32
4654
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
33 public class RiverMapfileGenerator extends MapfileGenerator {
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
34
4703
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
35 public static final String XPATH_RIVERMAP_RIVER_PROJECTION =
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
36 "/artifact-database/rivermap/river[@name=$name]/srid/@value";
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
37
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
38 public static final String XPATH_RIVERMAP_SHAPEFILE_DIR =
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
39 "/artifact-database/rivermap/shapefile-path/@value";
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
40
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
41 public static final String XPATH_RIVERMAP_VELOCITY_LOGFILE =
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
42 "/artifact-database/rivermap/velocity/logfile/@path";
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
43
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
44 public static final String XPATH_RIVERMAP_MAPSERVER_URL =
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
45 "/artifact-database/rivermap/mapserver/server/@path";
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
46
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
47 public static final String XPATH_RIVERMAP_MAPFILE_PATH =
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
48 "/artifact-database/rivermap/mapserver/mapfile/@path";
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
49
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
50 public static final String XPATH_RIVERMAP_MAPFILE_TEMPLATE =
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
51 "/artifact-database/rivermap/mapserver/map-template/@path";
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
52
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
53 public static final String XPATH_RIVERMAP_MAPSERVER_TEMPLATE_PATH =
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
54 "/artifact-database/rivermap/mapserver/templates/@path";
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
55
4841
ad0990a82ab8 Insert db connection into riveraxis map files.
Raimund Renkert <rrenkert@intevation.de>
parents: 4809
diff changeset
56 public static final Pattern DB_URL_PATTERN =
ad0990a82ab8 Insert db connection into riveraxis map files.
Raimund Renkert <rrenkert@intevation.de>
parents: 4809
diff changeset
57 Pattern.compile("(.*)\\/\\/(.*):([0-9]+)\\/([a-zA-Z]+)");
ad0990a82ab8 Insert db connection into riveraxis map files.
Raimund Renkert <rrenkert@intevation.de>
parents: 4809
diff changeset
58
ad0990a82ab8 Insert db connection into riveraxis map files.
Raimund Renkert <rrenkert@intevation.de>
parents: 4809
diff changeset
59 public static final Pattern DB_PSQL_URL_PATTERN =
ad0990a82ab8 Insert db connection into riveraxis map files.
Raimund Renkert <rrenkert@intevation.de>
parents: 4809
diff changeset
60 Pattern.compile("(.*)\\/\\/(.*):([0-9]+)\\/([a-zA-Z0-9]+)");
ad0990a82ab8 Insert db connection into riveraxis map files.
Raimund Renkert <rrenkert@intevation.de>
parents: 4809
diff changeset
61
4656
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
62 private static Logger logger = Logger.getLogger(RiverMapfileGenerator.class);
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
63
4654
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
64 /**
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
65 * Generate river axis mapfile.
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
66 */
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
67 @Override
4656
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
68 public void generate() {
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents: 4656
diff changeset
69 logger.debug("generate()");
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents: 4656
diff changeset
70
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents: 4656
diff changeset
71 List<River> rivers = RiverFactory.getRivers();
4703
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
72 List<String> riverFiles = new ArrayList<String>();
4654
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
73
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
74 for (River river : rivers) {
4809
8062b571884d Bugs in generated RiverAxis Mapfile fixed. Now the river axes are drawn by the WMS.
Christian Lins <christian.lins@intevation.de>
parents: 4738
diff changeset
75 // We expect that every river has only one RiverAxis.
8062b571884d Bugs in generated RiverAxis Mapfile fixed. Now the river axes are drawn by the WMS.
Christian Lins <christian.lins@intevation.de>
parents: 4738
diff changeset
76 // This is not correct but currently the case here, see
8062b571884d Bugs in generated RiverAxis Mapfile fixed. Now the river axes are drawn by the WMS.
Christian Lins <christian.lins@intevation.de>
parents: 4738
diff changeset
77 // RiverAxis.java.
5170
c1b60f8c3390 Made river mapfile generator more tolerant.
Raimund Renkert <rrenkert@intevation.de>
parents: 5148
diff changeset
78 List<RiverAxis> riverAxis = null;
c1b60f8c3390 Made river mapfile generator more tolerant.
Raimund Renkert <rrenkert@intevation.de>
parents: 5148
diff changeset
79 try {
c1b60f8c3390 Made river mapfile generator more tolerant.
Raimund Renkert <rrenkert@intevation.de>
parents: 5148
diff changeset
80 riverAxis = RiverAxis.getRiverAxis(river.getName());
c1b60f8c3390 Made river mapfile generator more tolerant.
Raimund Renkert <rrenkert@intevation.de>
parents: 5148
diff changeset
81 }
5181
9d36ddf7dbd3 Change IllegalArgumentException to HibernateException.
Raimund Renkert <rrenkert@intevation.de>
parents: 5173
diff changeset
82 catch (HibernateException iae) {
5170
c1b60f8c3390 Made river mapfile generator more tolerant.
Raimund Renkert <rrenkert@intevation.de>
parents: 5148
diff changeset
83 logger.error("No valid riveraxis found for " + river.getName());
c1b60f8c3390 Made river mapfile generator more tolerant.
Raimund Renkert <rrenkert@intevation.de>
parents: 5148
diff changeset
84 continue;
c1b60f8c3390 Made river mapfile generator more tolerant.
Raimund Renkert <rrenkert@intevation.de>
parents: 5148
diff changeset
85 }
c1b60f8c3390 Made river mapfile generator more tolerant.
Raimund Renkert <rrenkert@intevation.de>
parents: 5148
diff changeset
86
4809
8062b571884d Bugs in generated RiverAxis Mapfile fixed. Now the river axes are drawn by the WMS.
Christian Lins <christian.lins@intevation.de>
parents: 4738
diff changeset
87 if (riverAxis == null) {
8062b571884d Bugs in generated RiverAxis Mapfile fixed. Now the river axes are drawn by the WMS.
Christian Lins <christian.lins@intevation.de>
parents: 4738
diff changeset
88 logger.warn("River " + river.getName() + " has no river axis!");
8062b571884d Bugs in generated RiverAxis Mapfile fixed. Now the river axes are drawn by the WMS.
Christian Lins <christian.lins@intevation.de>
parents: 4738
diff changeset
89 continue;
8062b571884d Bugs in generated RiverAxis Mapfile fixed. Now the river axes are drawn by the WMS.
Christian Lins <christian.lins@intevation.de>
parents: 4738
diff changeset
90 }
5170
c1b60f8c3390 Made river mapfile generator more tolerant.
Raimund Renkert <rrenkert@intevation.de>
parents: 5148
diff changeset
91 if (riverAxis.get(0).getGeom() == null) {
c1b60f8c3390 Made river mapfile generator more tolerant.
Raimund Renkert <rrenkert@intevation.de>
parents: 5148
diff changeset
92 logger.warn("River " + river.getName() +
c1b60f8c3390 Made river mapfile generator more tolerant.
Raimund Renkert <rrenkert@intevation.de>
parents: 5148
diff changeset
93 " has no riveraxis geometry!");
c1b60f8c3390 Made river mapfile generator more tolerant.
Raimund Renkert <rrenkert@intevation.de>
parents: 5148
diff changeset
94 continue;
c1b60f8c3390 Made river mapfile generator more tolerant.
Raimund Renkert <rrenkert@intevation.de>
parents: 5148
diff changeset
95 }
5140
18ef819a7c92 Changed river axis from LineString to MultiLineString.
Raimund Renkert <rrenkert@intevation.de>
parents: 4843
diff changeset
96 MultiLineString geom = riverAxis.get(0).getGeom();
4809
8062b571884d Bugs in generated RiverAxis Mapfile fixed. Now the river axes are drawn by the WMS.
Christian Lins <christian.lins@intevation.de>
parents: 4738
diff changeset
97 Envelope extent = geom.getEnvelopeInternal();
8062b571884d Bugs in generated RiverAxis Mapfile fixed. Now the river axes are drawn by the WMS.
Christian Lins <christian.lins@intevation.de>
parents: 4738
diff changeset
98
4703
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
99 createRiverAxisLayer(
4654
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
100 river.getName(),
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
101 river.getId(),
4809
8062b571884d Bugs in generated RiverAxis Mapfile fixed. Now the river axes are drawn by the WMS.
Christian Lins <christian.lins@intevation.de>
parents: 4738
diff changeset
102 Integer.toString(geom.getSRID()),
8062b571884d Bugs in generated RiverAxis Mapfile fixed. Now the river axes are drawn by the WMS.
Christian Lins <christian.lins@intevation.de>
parents: 4738
diff changeset
103 extent.getMinX() + " " +
8062b571884d Bugs in generated RiverAxis Mapfile fixed. Now the river axes are drawn by the WMS.
Christian Lins <christian.lins@intevation.de>
parents: 4738
diff changeset
104 extent.getMinY() + " " +
8062b571884d Bugs in generated RiverAxis Mapfile fixed. Now the river axes are drawn by the WMS.
Christian Lins <christian.lins@intevation.de>
parents: 4738
diff changeset
105 extent.getMaxX() + " " +
8062b571884d Bugs in generated RiverAxis Mapfile fixed. Now the river axes are drawn by the WMS.
Christian Lins <christian.lins@intevation.de>
parents: 4738
diff changeset
106 extent.getMaxY());
8062b571884d Bugs in generated RiverAxis Mapfile fixed. Now the river axes are drawn by the WMS.
Christian Lins <christian.lins@intevation.de>
parents: 4738
diff changeset
107
4703
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
108 riverFiles.add("river-" + river.getName() + ".map");
4654
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
109 }
4703
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
110 writeMapfile(riverFiles);
4654
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
111 }
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
112
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
113 protected void createRiverAxisLayer(String riverName, int riverID, String srid, String extend) {
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
114 LayerInfo layerInfo = new LayerInfo();
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
115 layerInfo.setName(riverName);
4841
ad0990a82ab8 Insert db connection into riveraxis map files.
Raimund Renkert <rrenkert@intevation.de>
parents: 4809
diff changeset
116 layerInfo.setConnection(MapUtils.getConnection());
ad0990a82ab8 Insert db connection into riveraxis map files.
Raimund Renkert <rrenkert@intevation.de>
parents: 4809
diff changeset
117 layerInfo.setConnectionType(MapUtils.getConnectionType());
4654
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
118 layerInfo.setSrid(srid);
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
119 layerInfo.setExtent(extend);
4738
d93748043cbc Little work on the RiverMapfileGenerator.
Christian Lins <christian.lins@intevation.de>
parents: 4703
diff changeset
120 layerInfo.setType("line");
5304
ffa5eaad3a7b Fix river_axes maps when using oracle.
Andre Heinecke <aheinecke@intevation.de>
parents: 5181
diff changeset
121 // FIXME: Use templates for that
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
122 if (RiverUtils.isUsingOracle()) {
5304
ffa5eaad3a7b Fix river_axes maps when using oracle.
Andre Heinecke <aheinecke@intevation.de>
parents: 5181
diff changeset
123 layerInfo.setData("geom FROM river_axes USING SRID " + srid);
ffa5eaad3a7b Fix river_axes maps when using oracle.
Andre Heinecke <aheinecke@intevation.de>
parents: 5181
diff changeset
124 } else {
ffa5eaad3a7b Fix river_axes maps when using oracle.
Andre Heinecke <aheinecke@intevation.de>
parents: 5181
diff changeset
125 layerInfo.setData("geom FROM river_axes");
ffa5eaad3a7b Fix river_axes maps when using oracle.
Andre Heinecke <aheinecke@intevation.de>
parents: 5181
diff changeset
126 }
5477
ae60bb7b8085 Add proper handling of multiple river_axes for datacage and rivermapfile
Andre Heinecke <aheinecke@intevation.de>
parents: 5309
diff changeset
127 layerInfo.setFilter("river_id = " + riverID + " and kind_id = 1");
4738
d93748043cbc Little work on the RiverMapfileGenerator.
Christian Lins <christian.lins@intevation.de>
parents: 4703
diff changeset
128 layerInfo.setTitle(riverName + " RiverAxis");
4656
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
129
4703
38ec171544de Work on rivers.map Generator.
Christian Lins <christian.lins@intevation.de>
parents: 4702
diff changeset
130 File layerFile = new File("river-" + riverName + ".map");
4738
d93748043cbc Little work on the RiverMapfileGenerator.
Christian Lins <christian.lins@intevation.de>
parents: 4703
diff changeset
131 Template template = getTemplateByName("riveraxis-layer.vm");
4656
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
132 if (template == null) {
4738
d93748043cbc Little work on the RiverMapfileGenerator.
Christian Lins <christian.lins@intevation.de>
parents: 4703
diff changeset
133 logger.warn("Template riveraxis-layer.vm not found.");
4656
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
134 return;
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
135 }
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
136
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
137 try {
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
138 writeLayer(layerInfo, layerFile, template);
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
139 }
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
140 catch (FileNotFoundException e) {
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
141 logger.warn(e.getLocalizedMessage(), e);
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
142 }
4654
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
143 }
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
144
4656
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
145 @Override
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
146 protected String getVelocityLogfile() {
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
147 return RiverUtils.getXPathString(XPATH_RIVERMAP_VELOCITY_LOGFILE);
4656
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
148 }
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
149
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
150 @Override
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
151 protected String getMapserverTemplatePath() {
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
152 return RiverUtils.getXPathString(XPATH_RIVERMAP_MAPSERVER_TEMPLATE_PATH);
4656
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
153 }
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
154
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
155 @Override
5309
b55975761708 Changed visiblitiy of some methods. TODO: A lot of refactoring.
Raimund Renkert <rrenkert@intevation.de>
parents: 5304
diff changeset
156 public String getMapserverUrl() {
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
157 return RiverUtils.getXPathString(XPATH_RIVERMAP_MAPSERVER_URL);
4656
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
158 }
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
159
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
160 @Override
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
161 protected String getMapfilePath() {
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
162 return RiverUtils.getXPathString(XPATH_RIVERMAP_MAPFILE_PATH);
4656
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
163 }
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
164
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
165 @Override
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
166 protected String getMapfileTemplate() {
5865
73da40528cf2 River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
167 return RiverUtils.getXPathString(XPATH_RIVERMAP_MAPFILE_TEMPLATE);
4656
442fbb290fa8 Introduce river mapfile generation (WARNING: Changes in config xml files required!).
Christian Lins <christian.lins@intevation.de>
parents: 4654
diff changeset
168 }
4654
861c47e0a8a0 Refactor Mapserver mapfile generation.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
169 }

http://dive4elements.wald.intevation.org