comparison artifacts/src/main/java/org/dive4elements/river/utils/ArtifactMapfileGenerator.java @ 6988:fc2de41ebdb8

flys/issue1485 Better titles for UESK layers.
author Sascha L. Teichmann <teichmann@intevation.de>
date Wed, 11 Sep 2013 13:15:30 +0200
parents d4b9fe13c9b8
children 1f38656b68c4
comparison
equal deleted inserted replaced
6986:e562a9a42495 6988:fc2de41ebdb8
8 8
9 package org.dive4elements.river.utils; 9 package org.dive4elements.river.utils;
10 10
11 import org.dive4elements.artifacts.CallContext; 11 import org.dive4elements.artifacts.CallContext;
12 import org.dive4elements.river.artifacts.D4EArtifact; 12 import org.dive4elements.river.artifacts.D4EArtifact;
13 import org.dive4elements.river.artifacts.access.RiverAccess; 13 import org.dive4elements.river.artifacts.access.RangeAccess;
14 import org.dive4elements.river.artifacts.model.LayerInfo; 14 import org.dive4elements.river.artifacts.model.LayerInfo;
15 import org.dive4elements.river.artifacts.model.map.WMSDBLayerFacet; 15 import org.dive4elements.river.artifacts.model.map.WMSDBLayerFacet;
16 import org.dive4elements.river.artifacts.model.map.WMSLayerFacet; 16 import org.dive4elements.river.artifacts.model.map.WMSLayerFacet;
17 import org.dive4elements.river.artifacts.model.map.WSPLGENLayerFacet; 17 import org.dive4elements.river.artifacts.model.map.WSPLGENLayerFacet;
18 import org.dive4elements.river.artifacts.resources.Resources; 18 import org.dive4elements.river.artifacts.resources.Resources;
31 31
32 public class ArtifactMapfileGenerator extends MapfileGenerator { 32 public class ArtifactMapfileGenerator extends MapfileGenerator {
33 33
34 private static Logger logger = Logger.getLogger(ArtifactMapfileGenerator.class); 34 private static Logger logger = Logger.getLogger(ArtifactMapfileGenerator.class);
35 35
36 public static final String FLOODMAP_UESK_KEY =
37 "floodmap.uesk";
38
39 public static final String FLOODMAP_UESK_DEF =
40 "Floodmap: {0}-km {1,number,####} - {2,number,####} - {3}";
41
36 @Override 42 @Override
37 protected String getVelocityLogfile() { 43 protected String getVelocityLogfile() {
38 return RiverUtils.getXPathString(RiverUtils.XPATH_FLOODMAP_VELOCITY_LOGFILE); 44 return RiverUtils.getXPathString(RiverUtils.XPATH_FLOODMAP_VELOCITY_LOGFILE);
39 } 45 }
40 46
76 CallContext context 82 CallContext context
77 ) throws FileNotFoundException, IOException 83 ) throws FileNotFoundException, IOException
78 { 84 {
79 logger.debug("createUeskLayer"); 85 logger.debug("createUeskLayer");
80 86
87 String identifier = flys.identifier();
88
89 RangeAccess access = new RangeAccess(flys);
90
81 LayerInfo layerinfo = new LayerInfo(); 91 LayerInfo layerinfo = new LayerInfo();
82 layerinfo.setName(MS_WSPLGEN_PREFIX + flys.identifier()); 92 layerinfo.setName(MS_WSPLGEN_PREFIX + identifier);
83 layerinfo.setType("POLYGON"); 93 layerinfo.setType("POLYGON");
84 layerinfo.setDirectory(flys.identifier()); 94 layerinfo.setDirectory(identifier);
85 layerinfo.setData(WSPLGEN_RESULT_SHAPE); 95 layerinfo.setData(WSPLGEN_RESULT_SHAPE);
86 layerinfo.setTitle(Resources.getMsg(Resources.getLocale(context.getMeta()), 96
87 "floodmap.uesk", 97 String river = access.getRiver();
88 "Floodmap")); 98
99 double from = access.hasFrom() ? access.getFrom() : 0d;
100 double to = access.hasTo() ? access.getTo() : 0d;
101
102 String title = Resources.format(
103 context.getMeta(),
104 FLOODMAP_UESK_KEY,
105 FLOODMAP_UESK_DEF,
106 river,
107 from, to,
108 identifier);
109
110 layerinfo.setTitle(title);
111
89 layerinfo.setStyle(style); 112 layerinfo.setStyle(style);
90 RiverAccess access = new RiverAccess(flys);
91 String river = access.getRiver();
92 layerinfo.setSrid(RiverUtils.getRiverDGMSrid(river)); 113 layerinfo.setSrid(RiverUtils.getRiverDGMSrid(river));
93 114
94 String name = MS_LAYER_PREFIX + wms.getName(); 115 String name = MS_LAYER_PREFIX + wms.getName();
95 116
96 Template template = getTemplateByName(WSPLGEN_LAYER_TEMPLATE); 117 Template template = getTemplateByName(WSPLGEN_LAYER_TEMPLATE);
98 logger.warn("Template '" + WSPLGEN_LAYER_TEMPLATE + "' found."); 119 logger.warn("Template '" + WSPLGEN_LAYER_TEMPLATE + "' found.");
99 return; 120 return;
100 } 121 }
101 122
102 try { 123 try {
103 File dir = new File(getShapefileBaseDir(), flys.identifier()); 124 File dir = new File(getShapefileBaseDir(), identifier);
104 writeLayer(layerinfo, new File(dir, name), template); 125 writeLayer(layerinfo, new File(dir, name), template);
105 } 126 }
106 catch (FileNotFoundException fnfe) { 127 catch (FileNotFoundException fnfe) {
107 logger.error(fnfe, fnfe); 128 logger.error(fnfe, fnfe);
108 logger.warn("Unable to write layer: " + name); 129 logger.warn("Unable to write layer: " + name);
228 logger.warn("Unable to write layer: " + name); 249 logger.warn("Unable to write layer: " + name);
229 } 250 }
230 } 251 }
231 252
232 @Override 253 @Override
233 protected String getMapfilePath() { 254 protected String getMapfilePath() {
234 return RiverUtils.getXPathString(RiverUtils.XPATH_FLOODMAP_MAPFILE_PATH); 255 return RiverUtils.getXPathString(RiverUtils.XPATH_FLOODMAP_MAPFILE_PATH);
235 } 256 }
236 257
237 @Override 258 @Override
238 protected String getMapfileTemplate() { 259 protected String getMapfileTemplate() {
239 return RiverUtils.getXPathString(RiverUtils.XPATH_FLOODMAP_MAPFILE_TEMPLATE); 260 return RiverUtils.getXPathString(RiverUtils.XPATH_FLOODMAP_MAPFILE_TEMPLATE);
240 } 261 }
241
242 } 262 }

http://dive4elements.wald.intevation.org