comparison flys-client/src/main/java/de/intevation/flys/client/server/MapHelper.java @ 1376:28eb4dfe2cbf

Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map. flys-client/trunk@3096 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 28 Oct 2011 06:12:51 +0000
parents
children e3bd1f412421
comparison
equal deleted inserted replaced
1375:dc715351527f 1376:28eb4dfe2cbf
1 package de.intevation.flys.client.server;
2
3 import org.w3c.dom.Document;
4
5 import org.apache.log4j.Logger;
6
7 import de.intevation.artifacts.common.ArtifactNamespaceContext;
8 import de.intevation.artifacts.common.utils.XMLUtils;
9
10 import de.intevation.flys.client.shared.model.MapConfig;
11
12
13 public class MapHelper {
14
15 private static final Logger logger = Logger.getLogger(MapHelper.class);
16
17
18 public static final String XPATH_SRID =
19 "/art:floodmap/art:srid/text()";
20
21 public static final String XPATH_MAX_EXTENT =
22 "/art:floodmap/art:maxExtent/text()";
23
24 public static final String XPATH_INITIAL_EXTENT =
25 "/art:floodmap/art:initialExtent/text()";
26
27
28 private MapHelper() {
29 }
30
31
32 public static MapConfig parseConfig(Document raw) {
33 logger.debug("MapHelper.parseConfig");
34
35 logger.debug(XMLUtils.toString(raw));
36
37 MapConfig config = new MapConfig();
38
39 setSrid(config, raw);
40 setMaxExtent(config, raw);
41 setInitialExtent(config, raw);
42
43 return config;
44 }
45
46
47 protected static void setSrid(MapConfig config, Document raw) {
48 String srid = (String) XMLUtils.xpathString(
49 raw,
50 XPATH_SRID,
51 ArtifactNamespaceContext.INSTANCE);
52
53 logger.debug("Found srid: '" + srid + "'");
54
55 if (srid != null && srid.length() > 0) {
56 logger.debug("Set srid: '" + srid + "'");
57 config.setSrid(srid);
58 }
59 }
60
61
62 protected static void setMaxExtent(MapConfig config, Document raw) {
63 String maxExtent = (String) XMLUtils.xpathString(
64 raw,
65 XPATH_MAX_EXTENT,
66 ArtifactNamespaceContext.INSTANCE);
67
68 logger.debug("Found max extent: '" + maxExtent + "'");
69
70 if (maxExtent != null && maxExtent.length() > 0) {
71 logger.debug("Set max extent: '" + maxExtent + "'");
72 config.setMaxExtent(maxExtent);
73 }
74 }
75
76
77 protected static void setInitialExtent(MapConfig config, Document raw) {
78 String initialExtent = (String) XMLUtils.xpathString(
79 raw,
80 XPATH_INITIAL_EXTENT,
81 ArtifactNamespaceContext.INSTANCE);
82
83 if (initialExtent != null && initialExtent.length() > 0) {
84 logger.debug("Set initial extent: '" + initialExtent + "'");
85 config.setInitialExtent(initialExtent);
86 }
87 }
88 }
89 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org