Mercurial > dive4elements > river
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 : |