Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/utils/ArtifactMapfileGenerator.java @ 8755:30b1ddadf275
(issue1801) Unify reference gauge finding code
The basic way as described in the method comment of the
determineRefGauge method is now used in the WINFOArtifact,
MainValuesService and RiverUtils.getGauge method.
RiverUtils.getGauge previously just returned the first
gauge found. While this is now a behavior change I believe
that it is always more correct then the undeterministic
behavior of the previous implmenentation.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Wed, 24 Jun 2015 14:07:26 +0200 |
parents | e701ef544ffa |
children | f5e126739c36 |
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 |
8c7433b8656d
Backed out changeset 74a437805e2a
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6826
diff
changeset
|
26 import org.apache.log4j.Logger; |
8c7433b8656d
Backed out changeset 74a437805e2a
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6826
diff
changeset
|
27 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
|
28 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
|
29 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
|
30 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
|
31 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
32 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
|
33 |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
34 private static Logger log = Logger.getLogger(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
|
35 |
6988
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
36 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
|
37 "floodmap.uesk"; |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
38 |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
39 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
|
40 "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
|
41 |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
42 @Override |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
43 protected String getVelocityLogfile() { |
5865
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
44 return RiverUtils.getXPathString(RiverUtils.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
|
45 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
46 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
47 @Override |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
48 protected String getMapserverTemplatePath() { |
5865
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
49 return RiverUtils.getXPathString(RiverUtils.XPATH_FLOODMAP_MAPSERVER_TEMPLATE_PATH); |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
50 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
51 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
52 @Override |
5309
b55975761708
Changed visiblitiy of some methods. TODO: A lot of refactoring.
Raimund Renkert <rrenkert@intevation.de>
parents:
4994
diff
changeset
|
53 public String getMapserverUrl() { |
5865
73da40528cf2
River artifacts: Renamed FLYSUtils to RiverUtils.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
54 return RiverUtils.getXPathString(RiverUtils.XPATH_FLOODMAP_MAPSERVER_URL); |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
55 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
56 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
57 /** |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
58 * 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
|
59 * generation. |
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 @Override |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
62 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
|
63 { |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
64 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
|
65 List<String> layers = parseLayers(userDirs); |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
66 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
|
67 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
68 writeMapfile(layers); |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
69 } |
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 /** |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
72 * 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
|
73 * floodmap. |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
74 * |
5867
59ff03ff48f1
River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5865
diff
changeset
|
75 * @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
|
76 * @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
|
77 */ |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
78 public void createUeskLayer( |
5867
59ff03ff48f1
River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5865
diff
changeset
|
79 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
|
80 WSPLGENLayerFacet wms, |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
81 String style, |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
82 CallContext context |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
83 ) 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
|
84 { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
85 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
|
86 |
6988
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
87 String identifier = flys.identifier(); |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
88 |
7055
1f38656b68c4
DGM SRIds are now fetched from database instead of configuration.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6988
diff
changeset
|
89 DGMAccess access = new DGMAccess(flys); |
6988
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
90 |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
91 LayerInfo layerinfo = new LayerInfo(); |
6988
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
92 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
|
93 layerinfo.setType("POLYGON"); |
6988
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
94 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
|
95 layerinfo.setData(WSPLGEN_RESULT_SHAPE); |
6988
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
96 |
7261
a56fe3bc6700
Refactoring: Let RiverAccess.getRiver return an River.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7055
diff
changeset
|
97 String river = access.getRiverName(); |
6988
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
98 |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
99 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
|
100 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
|
101 |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
102 String title = Resources.format( |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
103 context.getMeta(), |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
104 FLOODMAP_UESK_KEY, |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
105 FLOODMAP_UESK_DEF, |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
106 river, |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
107 from, to, |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
108 identifier); |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
109 |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
110 layerinfo.setTitle(title); |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
111 |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
112 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
|
113 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
|
114 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
115 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
|
116 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
117 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
|
118 if (template == null) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
119 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
|
120 return; |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
121 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
122 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
123 try { |
6988
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
124 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
|
125 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
|
126 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
127 catch (FileNotFoundException fnfe) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
128 log.error(fnfe, fnfe); |
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
129 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
|
130 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
131 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
132 |
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 * 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
|
136 * 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
|
137 * |
5867
59ff03ff48f1
River artifacts: Renamed FLYSArtifact(Collection) to D4EArtifact(Collection).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5865
diff
changeset
|
138 * @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
|
139 * @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
|
140 */ |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
141 public void createUserShapeLayer(D4EArtifact flys, WMSLayerFacet wms) |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
142 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
|
143 { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
144 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
|
145 |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
146 String uuid = flys.identifier(); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
147 File dir = new File(getShapefileBaseDir(), uuid); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
148 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
|
149 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
150 if (!test.exists() || !test.canRead()) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
151 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
|
152 return; |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
153 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
154 |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
155 File userShape = new File(dir, WSPLGEN_USER_SHAPE); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
156 ShpFiles sf = new ShpFiles(userShape); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
157 ShapefileReader sfr = new ShapefileReader(sf, true, false, null); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
158 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
|
159 |
6833
20f98087664d
(issue657) Prevent errornous recreation of usershape mapfile fragment.
Christian Lins <christian.lins@intevation.de>
parents:
6831
diff
changeset
|
160 String group = MS_USERSHAPE_PREFIX + uuid; |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
161 String groupTitle = "I18N_USER_SHAPE_TITLE"; |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
162 |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
163 LayerInfo info = new LayerInfo(); |
6833
20f98087664d
(issue657) Prevent errornous recreation of usershape mapfile fragment.
Christian Lins <christian.lins@intevation.de>
parents:
6831
diff
changeset
|
164 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
|
165 if (sfh.getShapeType().isLineType()) { |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
166 info.setType("LINE"); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
167 } |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
168 else if (sfh.getShapeType().isPolygonType()) { |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
169 info.setType("POLYGON"); |
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 { |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
172 return; |
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 info.setDirectory(uuid); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
175 info.setData(WSPLGEN_USER_SHAPE); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
176 info.setTitle("I18N_USER_SHAPE"); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
177 info.setGroup(group); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
178 info.setGroupTitle(groupTitle); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
179 info.setSrid(wms.getSrid()); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
180 |
6833
20f98087664d
(issue657) Prevent errornous recreation of usershape mapfile fragment.
Christian Lins <christian.lins@intevation.de>
parents:
6831
diff
changeset
|
181 //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
|
182 // 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
|
183 // 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
|
184 // layer name. Should be refactored... |
20f98087664d
(issue657) Prevent errornous recreation of usershape mapfile fragment.
Christian Lins <christian.lins@intevation.de>
parents:
6831
diff
changeset
|
185 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
|
186 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
187 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
|
188 if (tpl == null) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
189 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
|
190 return; |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
191 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
192 |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
193 try { |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
194 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
|
195 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
196 catch (FileNotFoundException fnfe) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
197 log.error(fnfe, fnfe); |
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
198 log.warn("Unable to write layer: " + nameUser); |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
199 } |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
200 |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
201 } |
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 * 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
|
206 * geometries from database. |
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 * @param flys The D4EArtifact that owns <i>wms</i>. |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
209 * @param wms The WMSLayerFacet that contains information for the layer. |
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 public void createDatabaseLayer( |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
212 D4EArtifact flys, |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
213 WMSDBLayerFacet wms, |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
214 String style |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
215 ) |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
216 throws FileNotFoundException, IOException |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
217 { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
218 log.debug("createDatabaseLayer"); |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
219 |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
220 LayerInfo layerinfo = new LayerInfo(); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
221 layerinfo.setName(wms.getName() + "-" + flys.identifier()); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
222 layerinfo.setType(wms.getGeometryType()); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
223 layerinfo.setFilter(wms.getFilter()); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
224 layerinfo.setData(wms.getData()); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
225 layerinfo.setTitle(wms.getDescription()); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
226 layerinfo.setStyle(style); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
227 if(wms.getExtent() != null) { |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
228 layerinfo.setExtent(GeometryUtils.jtsBoundsToOLBounds(wms.getExtent())); |
8746
e701ef544ffa
Avoid writing defect mapfiles for layers without extent.
Tom Gottfried <tom@intevation.de>
parents:
8202
diff
changeset
|
229 } else { |
e701ef544ffa
Avoid writing defect mapfiles for layers without extent.
Tom Gottfried <tom@intevation.de>
parents:
8202
diff
changeset
|
230 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
|
231 layerinfo.setExtent("0 0 1 1"); |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
232 } |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
233 layerinfo.setConnection(wms.getConnection()); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
234 layerinfo.setConnectionType(wms.getConnectionType()); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
235 layerinfo.setLabelItem(wms.getLabelItem()); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
236 layerinfo.setSrid(wms.getSrid()); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
237 |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
238 String name = MS_LAYER_PREFIX + wms.getName(); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
239 |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
240 Template template = getTemplateByName(DB_LAYER_TEMPLATE); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
241 if (template == null) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
242 log.warn("Template '" + DB_LAYER_TEMPLATE + "' found."); |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
243 return; |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
244 } |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
245 |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
246 try { |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
247 File dir = new File(getShapefileBaseDir(), flys.identifier()); |
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
248 writeLayer(layerinfo, new File(dir, name), template); |
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 catch (FileNotFoundException fnfe) { |
8202
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
251 log.error(fnfe, fnfe); |
e4606eae8ea5
sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7261
diff
changeset
|
252 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
|
253 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
254 } |
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
255 |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
256 @Override |
6988
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
257 protected String getMapfilePath() { |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
258 return RiverUtils.getXPathString(RiverUtils.XPATH_FLOODMAP_MAPFILE_PATH); |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
259 } |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
260 |
6332
f5bb53106ae8
Remove createBarriersLayer and createBarriers
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
261 @Override |
6988
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
262 protected String getMapfileTemplate() { |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
263 return RiverUtils.getXPathString(RiverUtils.XPATH_FLOODMAP_MAPFILE_TEMPLATE); |
fc2de41ebdb8
flys/issue1485 Better titles for UESK layers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6834
diff
changeset
|
264 } |
4702
13abfb1bcb75
Fix typo in class names and correct file path in floodmap.xml.
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
265 } |