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 :

http://dive4elements.wald.intevation.org