Mercurial > dive4elements > river
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 | 26 import org.apache.logging.log4j.Logger; |
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 | 37 private static Logger log = LogManager.getLogger( |
8856 | 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 } |