annotate artifacts/src/main/java/org/dive4elements/river/utils/ArtifactMapfileGenerator.java @ 9801:1d7a72a50183 3.2.x tip

Assume Compose V2, consistently
author Tom Gottfried <tom@intevation.de>
date Thu, 23 Nov 2023 10:14:13 +0100
parents 308a0d822d18
children
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: 5867
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: 5867
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: 5309
diff changeset
9 package org.dive4elements.river.utils;
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
10
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5309
diff changeset
11 import org.dive4elements.artifacts.CallContext;
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
12 import org.dive4elements.river.artifacts.D4EArtifact;
7055
1f38656b68c4 DGM SRIds are now fetched from database instead of configuration.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6988
diff changeset
13 import org.dive4elements.river.artifacts.access.DGMAccess;
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5309
diff changeset
14 import org.dive4elements.river.artifacts.model.LayerInfo;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5309
diff changeset
15 import org.dive4elements.river.artifacts.model.map.WMSDBLayerFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5309
diff changeset
16 import org.dive4elements.river.artifacts.model.map.WMSLayerFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5309
diff changeset
17 import org.dive4elements.river.artifacts.model.map.WSPLGENLayerFacet;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5309
diff changeset
18 import org.dive4elements.river.artifacts.resources.Resources;
6834
d4b9fe13c9b8 Add missing import in ArtifactMapfileGenerator
Christian Lins <christian.lins@intevation.de>
parents: 6833
diff changeset
19 import org.dive4elements.river.artifacts.states.FloodMapState;
6831
8c7433b8656d Backed out changeset 74a437805e2a
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6826
diff changeset
20
8c7433b8656d Backed out changeset 74a437805e2a
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6826
diff changeset
21 import java.io.File;
8c7433b8656d Backed out changeset 74a437805e2a
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6826
diff changeset
22 import java.io.FileNotFoundException;
8c7433b8656d Backed out changeset 74a437805e2a
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6826
diff changeset
23 import java.io.IOException;
8c7433b8656d Backed out changeset 74a437805e2a
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6826
diff changeset
24 import java.util.List;
8c7433b8656d Backed out changeset 74a437805e2a
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6826
diff changeset
25
9726
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8856
diff changeset
26 import org.apache.logging.log4j.Logger;
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8856
diff changeset
27 import org.apache.logging.log4j.LogManager;
6831
8c7433b8656d Backed out changeset 74a437805e2a
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6826
diff changeset
28 import org.apache.velocity.Template;
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
29 import org.geotools.data.shapefile.ShpFiles;
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
30 import org.geotools.data.shapefile.shp.ShapefileHeader;
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
31 import org.geotools.data.shapefile.shp.ShapefileReader;
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
32
8816
f5e126739c36 min and max must not be equal in LAYER EXTENT in mapfile.
Tom Gottfried <tom@intevation.de>
parents: 8746
diff changeset
33 import com.vividsolutions.jts.geom.Envelope;
f5e126739c36 min and max must not be equal in LAYER EXTENT in mapfile.
Tom Gottfried <tom@intevation.de>
parents: 8746
diff changeset
34
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
35 public class ArtifactMapfileGenerator extends MapfileGenerator {
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
36
9726
0a5239a1e46e Upgrade to Log4j 2
Tom Gottfried <tom@intevation.de>
parents: 8856
diff changeset
37 private static Logger log = LogManager.getLogger(
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8816
diff changeset
38 ArtifactMapfileGenerator.class);
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
39
9751
308a0d822d18 Keep configuration and data in distinct directories
Tom Gottfried <tom@intevation.de>
parents: 9738
diff changeset
40 private static final String XPATH_FLOODMAP_VELOCITY_LOGFILE =
308a0d822d18 Keep configuration and data in distinct directories
Tom Gottfried <tom@intevation.de>
parents: 9738
diff changeset
41 "/artifact-database/floodmap/velocity/logfile/@path";
308a0d822d18 Keep configuration and data in distinct directories
Tom Gottfried <tom@intevation.de>
parents: 9738
diff changeset
42
308a0d822d18 Keep configuration and data in distinct directories
Tom Gottfried <tom@intevation.de>
parents: 9738
diff changeset
43 private static final String XPATH_FLOODMAP_MAPFILE_TEMPLATE =
308a0d822d18 Keep configuration and data in distinct directories
Tom Gottfried <tom@intevation.de>
parents: 9738
diff changeset
44 "/artifact-database/floodmap/map-template/@path";
308a0d822d18 Keep configuration and data in distinct directories
Tom Gottfried <tom@intevation.de>
parents: 9738
diff changeset
45
308a0d822d18 Keep configuration and data in distinct directories
Tom Gottfried <tom@intevation.de>
parents: 9738
diff changeset
46 private static final String XPATH_FLOODMAP_MAPFILE_PATH =
308a0d822d18 Keep configuration and data in distinct directories
Tom Gottfried <tom@intevation.de>
parents: 9738
diff changeset
47 "/artifact-database/floodmap/mapfile/@path";
308a0d822d18 Keep configuration and data in distinct directories
Tom Gottfried <tom@intevation.de>
parents: 9738
diff changeset
48
6988
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
49 public static final String FLOODMAP_UESK_KEY =
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
50 "floodmap.uesk";
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
51
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
52 public static final String FLOODMAP_UESK_DEF =
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
53 "Floodmap: {0}-km {1,number,####} - {2,number,####} - {3}";
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
54
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
55 @Override
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
56 protected String getVelocityLogfile() {
9751
308a0d822d18 Keep configuration and data in distinct directories
Tom Gottfried <tom@intevation.de>
parents: 9738
diff changeset
57 return RiverUtils.getXPathString(XPATH_FLOODMAP_VELOCITY_LOGFILE);
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
58 }
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
59
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
60 /**
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
61 * Method which starts searching for meta information file and mapfile
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
62 * generation.
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
63 */
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
64 @Override
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
65 public void generate() throws IOException
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
66 {
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
67 File[] userDirs = getUserDirs();
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
68 List<String> layers = parseLayers(userDirs);
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7261
diff changeset
69 log.info("Found " + layers.size() + " layers for user mapfile.");
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
70
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
71 writeMapfile(layers);
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
72 }
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
73
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
74 /**
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
75 * Creates a layer file used for Mapserver's mapfile which represents the
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
76 * floodmap.
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
77 *
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
78 * @param flys The D4EArtifact that owns <i>wms</i>.
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
79 * @param wms The WMSLayerFacet that contains information for the layer.
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
80 */
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
81 public void createUeskLayer(
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
82 D4EArtifact flys,
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
83 WSPLGENLayerFacet wms,
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
84 String style,
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
85 CallContext context
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
86 ) throws FileNotFoundException, IOException
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
87 {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7261
diff changeset
88 log.debug("createUeskLayer");
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
89
6988
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
90 String identifier = flys.identifier();
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
91
7055
1f38656b68c4 DGM SRIds are now fetched from database instead of configuration.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6988
diff changeset
92 DGMAccess access = new DGMAccess(flys);
6988
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
93
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
94 LayerInfo layerinfo = new LayerInfo();
6988
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
95 layerinfo.setName(MS_WSPLGEN_PREFIX + identifier);
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
96 layerinfo.setType("POLYGON");
6988
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
97 layerinfo.setDirectory(identifier);
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
98 layerinfo.setData(WSPLGEN_RESULT_SHAPE);
6988
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
99
7261
a56fe3bc6700 Refactoring: Let RiverAccess.getRiver return an River.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7055
diff changeset
100 String river = access.getRiverName();
6988
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
101
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
102 double from = access.hasFrom() ? access.getFrom() : 0d;
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
103 double to = access.hasTo() ? access.getTo() : 0d;
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
104
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
105 String title = Resources.format(
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
106 context.getMeta(),
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
107 FLOODMAP_UESK_KEY,
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
108 FLOODMAP_UESK_DEF,
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
109 river,
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
110 from, to,
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
111 identifier);
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
112
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
113 layerinfo.setTitle(title);
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
114
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
115 layerinfo.setStyle(style);
7055
1f38656b68c4 DGM SRIds are now fetched from database instead of configuration.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6988
diff changeset
116 layerinfo.setSrid(String.valueOf(access.getDGM().getSrid()));
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
117
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
118 String name = MS_LAYER_PREFIX + wms.getName();
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
119
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
120 Template template = getTemplateByName(WSPLGEN_LAYER_TEMPLATE);
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
121 if (template == null) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7261
diff changeset
122 log.warn("Template '" + WSPLGEN_LAYER_TEMPLATE + "' found.");
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
123 return;
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
124 }
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
125
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
126 try {
6988
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
127 File dir = new File(getShapefileBaseDir(), identifier);
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
128 writeLayer(layerinfo, new File(dir, name), template);
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
129 }
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
130 catch (FileNotFoundException fnfe) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7261
diff changeset
131 log.error(fnfe, fnfe);
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7261
diff changeset
132 log.warn("Unable to write layer: " + name);
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
133 }
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
134 }
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
135
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
136
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
137 /**
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
138 * Creates a layer file used for Mapserver's mapfile which represents the
6332
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
139 * shape files uploaded by the user.
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
140 *
5867
59ff03ff48f1 River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5865
diff changeset
141 * @param flys The D4EArtifact that owns <i>wms</i>.
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
142 * @param wms The WMSLayerFacet that contains information for the layer.
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
143 */
6332
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
144 public void createUserShapeLayer(D4EArtifact flys, WMSLayerFacet wms)
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
145 throws FileNotFoundException, IOException
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
146 {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7261
diff changeset
147 log.debug("createUserShapeLayer");
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
148
6332
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
149 String uuid = flys.identifier();
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
150 File dir = new File(getShapefileBaseDir(), uuid);
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
151 File test = new File(dir, WSPLGEN_USER_SHAPE);
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
152
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
153 if (!test.exists() || !test.canRead()) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7261
diff changeset
154 log.debug("No user layer existing.");
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
155 return;
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
156 }
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
157
6332
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
158 File userShape = new File(dir, WSPLGEN_USER_SHAPE);
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
159 ShpFiles sf = new ShpFiles(userShape);
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
160 ShapefileReader sfr = new ShapefileReader(sf, true, false, null);
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
161 ShapefileHeader sfh = sfr.getHeader();
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
162
6833
20f98087664d (issue657) Prevent errornous recreation of usershape mapfile fragment.
Christian Lins <christian.lins@intevation.de>
parents: 6831
diff changeset
163 String group = MS_USERSHAPE_PREFIX + uuid;
6332
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
164 String groupTitle = "I18N_USER_SHAPE_TITLE";
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
165
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
166 LayerInfo info = new LayerInfo();
6833
20f98087664d (issue657) Prevent errornous recreation of usershape mapfile fragment.
Christian Lins <christian.lins@intevation.de>
parents: 6831
diff changeset
167 info.setName(MS_LAYER_PREFIX + FloodMapState.WSPLGEN_USER_RGD + uuid);
6332
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
168 if (sfh.getShapeType().isLineType()) {
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
169 info.setType("LINE");
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
170 }
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
171 else if (sfh.getShapeType().isPolygonType()) {
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
172 info.setType("POLYGON");
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
173 }
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
174 else {
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
175 return;
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
176 }
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
177 info.setDirectory(uuid);
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
178 info.setData(WSPLGEN_USER_SHAPE);
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
179 info.setTitle("I18N_USER_SHAPE");
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
180 info.setGroup(group);
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
181 info.setGroupTitle(groupTitle);
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
182 info.setSrid(wms.getSrid());
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
183
6833
20f98087664d (issue657) Prevent errornous recreation of usershape mapfile fragment.
Christian Lins <christian.lins@intevation.de>
parents: 6831
diff changeset
184 //String nameUser = MS_LAYER_PREFIX + wms.getName();
20f98087664d (issue657) Prevent errornous recreation of usershape mapfile fragment.
Christian Lins <christian.lins@intevation.de>
parents: 6831
diff changeset
185 // TODO: This rewrites the user-rgd mapfile fragment generated by
20f98087664d (issue657) Prevent errornous recreation of usershape mapfile fragment.
Christian Lins <christian.lins@intevation.de>
parents: 6831
diff changeset
186 // HWSBarrierState. Otherwise we would have to fragments with same
20f98087664d (issue657) Prevent errornous recreation of usershape mapfile fragment.
Christian Lins <christian.lins@intevation.de>
parents: 6831
diff changeset
187 // layer name. Should be refactored...
20f98087664d (issue657) Prevent errornous recreation of usershape mapfile fragment.
Christian Lins <christian.lins@intevation.de>
parents: 6831
diff changeset
188 String nameUser = MS_LAYER_PREFIX + "user-rgd";
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
189
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
190 Template tpl = getTemplateByName(SHP_LAYER_TEMPLATE);
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
191 if (tpl == null) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7261
diff changeset
192 log.warn("Template '" + SHP_LAYER_TEMPLATE + "' found.");
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
193 return;
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
194 }
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
195
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
196 try {
6332
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
197 writeLayer(info, new File(dir, nameUser), tpl);
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
198 }
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
199 catch (FileNotFoundException fnfe) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7261
diff changeset
200 log.error(fnfe, fnfe);
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7261
diff changeset
201 log.warn("Unable to write layer: " + nameUser);
6332
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
202 }
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
203
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
204 }
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
205
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
206
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
207 /**
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
208 * Creates a layer file used for Mapserver's mapfile which represents
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
209 * geometries from database.
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
210 *
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
211 * @param flys The D4EArtifact that owns <i>wms</i>.
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
212 * @param wms The WMSLayerFacet that contains information for the layer.
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
213 */
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
214 public void createDatabaseLayer(
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
215 D4EArtifact flys,
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
216 WMSDBLayerFacet wms,
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
217 String style
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
218 )
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
219 throws FileNotFoundException, IOException
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
220 {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7261
diff changeset
221 log.debug("createDatabaseLayer");
6332
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
222
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
223 LayerInfo layerinfo = new LayerInfo();
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
224 layerinfo.setName(wms.getName() + "-" + flys.identifier());
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
225 layerinfo.setType(wms.getGeometryType());
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
226 layerinfo.setFilter(wms.getFilter());
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
227 layerinfo.setData(wms.getData());
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
228 layerinfo.setTitle(wms.getDescription());
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
229 layerinfo.setStyle(style);
8816
f5e126739c36 min and max must not be equal in LAYER EXTENT in mapfile.
Tom Gottfried <tom@intevation.de>
parents: 8746
diff changeset
230
f5e126739c36 min and max must not be equal in LAYER EXTENT in mapfile.
Tom Gottfried <tom@intevation.de>
parents: 8746
diff changeset
231 Envelope env = wms.getExtent();
f5e126739c36 min and max must not be equal in LAYER EXTENT in mapfile.
Tom Gottfried <tom@intevation.de>
parents: 8746
diff changeset
232 if (env != null) {
f5e126739c36 min and max must not be equal in LAYER EXTENT in mapfile.
Tom Gottfried <tom@intevation.de>
parents: 8746
diff changeset
233 if (env.getArea() <= 0) {
f5e126739c36 min and max must not be equal in LAYER EXTENT in mapfile.
Tom Gottfried <tom@intevation.de>
parents: 8746
diff changeset
234 /* For MapServer min and max must not be equal. EXTENT has no
f5e126739c36 min and max must not be equal in LAYER EXTENT in mapfile.
Tom Gottfried <tom@intevation.de>
parents: 8746
diff changeset
235 effect on Layerzoom, thus expand arbitrarily by 1. */
f5e126739c36 min and max must not be equal in LAYER EXTENT in mapfile.
Tom Gottfried <tom@intevation.de>
parents: 8746
diff changeset
236 env.expandBy(1d);
f5e126739c36 min and max must not be equal in LAYER EXTENT in mapfile.
Tom Gottfried <tom@intevation.de>
parents: 8746
diff changeset
237 }
f5e126739c36 min and max must not be equal in LAYER EXTENT in mapfile.
Tom Gottfried <tom@intevation.de>
parents: 8746
diff changeset
238 layerinfo.setExtent(GeometryUtils.jtsBoundsToOLBounds(env));
8746
e701ef544ffa Avoid writing defect mapfiles for layers without extent.
Tom Gottfried <tom@intevation.de>
parents: 8202
diff changeset
239 } else {
e701ef544ffa Avoid writing defect mapfiles for layers without extent.
Tom Gottfried <tom@intevation.de>
parents: 8202
diff changeset
240 log.error("Layer without extent. Probably no geometry at all.");
e701ef544ffa Avoid writing defect mapfiles for layers without extent.
Tom Gottfried <tom@intevation.de>
parents: 8202
diff changeset
241 layerinfo.setExtent("0 0 1 1");
6332
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
242 }
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
243 layerinfo.setConnection(wms.getConnection());
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
244 layerinfo.setConnectionType(wms.getConnectionType());
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
245 layerinfo.setLabelItem(wms.getLabelItem());
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
246 layerinfo.setSrid(wms.getSrid());
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
247
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
248 String name = MS_LAYER_PREFIX + wms.getName();
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
249
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
250 Template template = getTemplateByName(DB_LAYER_TEMPLATE);
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
251 if (template == null) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7261
diff changeset
252 log.warn("Template '" + DB_LAYER_TEMPLATE + "' found.");
6332
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
253 return;
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
254 }
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
255
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
256 try {
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
257 File dir = new File(getShapefileBaseDir(), flys.identifier());
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
258 writeLayer(layerinfo, new File(dir, name), template);
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
259 }
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
260 catch (FileNotFoundException fnfe) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7261
diff changeset
261 log.error(fnfe, fnfe);
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7261
diff changeset
262 log.warn("Unable to write layer: " + name);
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
263 }
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
264 }
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
265
6332
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
266 @Override
6988
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
267 protected String getMapfilePath() {
9751
308a0d822d18 Keep configuration and data in distinct directories
Tom Gottfried <tom@intevation.de>
parents: 9738
diff changeset
268 return RiverUtils.getXPathString(RiverUtils.XPATH_MAPFILES_PATH)
308a0d822d18 Keep configuration and data in distinct directories
Tom Gottfried <tom@intevation.de>
parents: 9738
diff changeset
269 + "/" + RiverUtils.getXPathString(XPATH_FLOODMAP_MAPFILE_PATH);
6988
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
270 }
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
271
6332
f5bb53106ae8 Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
272 @Override
6988
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
273 protected String getMapfileTemplate() {
9751
308a0d822d18 Keep configuration and data in distinct directories
Tom Gottfried <tom@intevation.de>
parents: 9738
diff changeset
274 return RiverUtils.getXPathString(XPATH_FLOODMAP_MAPFILE_TEMPLATE);
6988
fc2de41ebdb8 flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 6834
diff changeset
275 }
4702
13abfb1bcb75 Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
276 }

http://dive4elements.wald.intevation.org