Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/utils/FLYSUtils.java @ 1105:adb52a2005e7
Moved code to extract the river srid defined in the global configuration into FLYSUtils.
flys-artifacts/trunk@2608 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 30 Aug 2011 08:09:52 +0000 |
parents | af73f196eccc |
children | 7398280b11a0 |
comparison
equal
deleted
inserted
replaced
1104:9383a4608d9f | 1105:adb52a2005e7 |
---|---|
1 package de.intevation.flys.utils; | 1 package de.intevation.flys.utils; |
2 | 2 |
3 import java.util.HashMap; | |
4 import java.util.Map; | |
5 | |
6 import javax.xml.xpath.XPathConstants; | |
7 | |
8 import org.w3c.dom.Document; | |
9 | |
3 import gnu.trove.TDoubleArrayList; | 10 import gnu.trove.TDoubleArrayList; |
11 | |
12 import de.intevation.artifacts.common.utils.Config; | |
13 import de.intevation.artifacts.common.utils.XMLUtils; | |
4 | 14 |
5 import de.intevation.flys.artifacts.FLYSArtifact; | 15 import de.intevation.flys.artifacts.FLYSArtifact; |
6 import de.intevation.flys.artifacts.model.RiverFactory; | 16 import de.intevation.flys.artifacts.model.RiverFactory; |
7 import de.intevation.flys.model.River; | 17 import de.intevation.flys.model.River; |
8 | 18 |
9 public class FLYSUtils { | 19 public class FLYSUtils { |
10 | 20 |
11 public static enum KM_MODE { RANGE, LOCATIONS, NONE }; | 21 public static enum KM_MODE { RANGE, LOCATIONS, NONE }; |
22 | |
23 public static final String XPATH_RIVER_PROJECTION = | |
24 "/artifact-database/floodmap/river[@name=$name]/srid/@value"; | |
12 | 25 |
13 | 26 |
14 private FLYSUtils() { | 27 private FLYSUtils() { |
15 } | 28 } |
16 | 29 |
113 | 126 |
114 return (sRiver != null) | 127 return (sRiver != null) |
115 ? RiverFactory.getRiver(sRiver) | 128 ? RiverFactory.getRiver(sRiver) |
116 : null; | 129 : null; |
117 } | 130 } |
131 | |
132 | |
133 /** | |
134 * Extracts the SRID defined in the global configuration for the river | |
135 * specified in <i>artifact</i>. | |
136 * | |
137 * @param artifact The FLYSArtifact that stores the name of the river. | |
138 * | |
139 * @return the SRID as string (e.g. "31466"). | |
140 */ | |
141 public static String getRiverSrid(FLYSArtifact artifact) { | |
142 String river = artifact.getDataAsString("river"); | |
143 | |
144 if (river == null || river.length() == 0) { | |
145 return null; | |
146 } | |
147 | |
148 Map<String, String> variables = new HashMap<String, String>(1); | |
149 variables.put("name", river); | |
150 | |
151 Document cfg = Config.getConfig(); | |
152 | |
153 return (String) XMLUtils.xpath( | |
154 cfg, | |
155 XPATH_RIVER_PROJECTION, | |
156 XPathConstants.STRING, | |
157 null, | |
158 variables); | |
159 } | |
118 } | 160 } |
161 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |