comparison flys-artifacts/src/main/java/de/intevation/flys/utils/FLYSUtils.java @ 4656:442fbb290fa8

Introduce river mapfile generation (WARNING: Changes in config xml files required!). On startup the RiverMapfileGeneratorStarter is called by the server app. The starter invokes a call to RiverMapfileGenerator.generate() which reads all available rivers from the database and generates layers for each river (in theory...uncompleted) in a river.map file. The old MapfileGenerator which generates layers that have artifact dependencies is now in ArtifactMapfileGenerator.
author Christian Lins <christian.lins@intevation.de>
date Tue, 11 Dec 2012 15:24:24 +0100
parents c04db3178d09
children 38ec171544de
comparison
equal deleted inserted replaced
4655:cd44d28d0fbc 4656:442fbb290fa8
68 public static enum WQ_INPUT { ADAPTED, SINGLE, RANGE, NONE }; 68 public static enum WQ_INPUT { ADAPTED, SINGLE, RANGE, NONE };
69 69
70 public static final Pattern NUMBERS_PATTERN = 70 public static final Pattern NUMBERS_PATTERN =
71 Pattern.compile("\\D*(\\d++.\\d*)\\D*"); 71 Pattern.compile("\\D*(\\d++.\\d*)\\D*");
72 72
73 public static final String XPATH_RIVER_PROJECTION = 73 public static final String XPATH_FLOODMAP_RIVER_PROJECTION =
74 "/artifact-database/floodmap/river[@name=$name]/srid/@value"; 74 "/artifact-database/floodmap/river[@name=$name]/srid/@value";
75 75
76 public static final String XPATH_SHAPEFILE_DIR = 76 public static final String XPATH_FLOODMAP_SHAPEFILE_DIR =
77 "/artifact-database/floodmap/shapefile-path/@value"; 77 "/artifact-database/floodmap/shapefile-path/@value";
78 78
79 public static final String XPATH_VELOCITY_LOGFILE = 79 public static final String XPATH_FLOODMAP_VELOCITY_LOGFILE =
80 "/artifact-database/floodmap/velocity/logfile/@path"; 80 "/artifact-database/floodmap/velocity/logfile/@path";
81 81
82 public static final String XPATH_MAPSERVER_URL = 82 public static final String XPATH_FLOODMAP_MAPSERVER_URL =
83 "/artifact-database/floodmap/mapserver/server/@path"; 83 "/artifact-database/floodmap/mapserver/server/@path";
84 84
85 public static final String XPATH_MAPFILE_PATH = 85 public static final String XPATH_FLOODMAP_MAPFILE_PATH =
86 "/artifact-database/floodmap/mapserver/mapfile/@path"; 86 "/artifact-database/floodmap/mapserver/mapfile/@path";
87 87
88 public static final String XPATH_MAPFILE_TEMPLATE = 88 public static final String XPATH_FLOODMAP_MAPFILE_TEMPLATE =
89 "/artifact-database/floodmap/mapserver/map-template/@path"; 89 "/artifact-database/floodmap/mapserver/map-template/@path";
90 90
91 public static final String XPATH_MAPSERVER_TEMPLATE_PATH = 91 public static final String XPATH_FLOODMAP_MAPSERVER_TEMPLATE_PATH =
92 "/artifact-database/floodmap/mapserver/templates/@path"; 92 "/artifact-database/floodmap/mapserver/templates/@path";
93
94 public static final String XPATH_RIVERMAP_RIVER_PROJECTION =
95 "/artifact-database/rivermap/river[@name=$name]/srid/@value";
96
97 public static final String XPATH_RIVERMAP_SHAPEFILE_DIR =
98 "/artifact-database/rivermap/shapefile-path/@value";
99
100 public static final String XPATH_RIVERMAP_VELOCITY_LOGFILE =
101 "/artifact-database/rivermap/velocity/logfile/@path";
102
103 public static final String XPATH_RIVERMAP_MAPSERVER_URL =
104 "/artifact-database/rivermap/mapserver/server/@path";
105
106 public static final String XPATH_RIVERMAP_MAPFILE_PATH =
107 "/artifact-database/rivermap/mapserver/mapfile/@path";
108
109 public static final String XPATH_RIVERMAP_MAPFILE_TEMPLATE =
110 "/artifact-database/rivermap/mapserver/map-template/@path";
111
112 public static final String XPATH_RIVERMAP_MAPSERVER_TEMPLATE_PATH =
113 "/artifact-database/rivermap/mapserver/templates/@path";
93 114
94 115
95 private FLYSUtils() { 116 private FLYSUtils() {
96 } 117 }
97 118
346 for (String l: tmp) { 367 for (String l: tmp) {
347 try { 368 try {
348 locations.add(Double.parseDouble(l)); 369 locations.add(Double.parseDouble(l));
349 } 370 }
350 catch (NumberFormatException nfe) { 371 catch (NumberFormatException nfe) {
372 logger.debug(nfe.getLocalizedMessage(), nfe);
351 } 373 }
352 } 374 }
353 375
354 locations.sort(); 376 locations.sort();
355 377
450 472
451 Document cfg = Config.getConfig(); 473 Document cfg = Config.getConfig();
452 474
453 return (String) XMLUtils.xpath( 475 return (String) XMLUtils.xpath(
454 cfg, 476 cfg,
455 XPATH_RIVER_PROJECTION, 477 XPATH_FLOODMAP_RIVER_PROJECTION,
456 XPathConstants.STRING, 478 XPathConstants.STRING,
457 null, 479 null,
458 variables); 480 variables);
459 } 481 }
460 482
692 * @param artifactId The UUID of an artifact. 714 * @param artifactId The UUID of an artifact.
693 * 715 *
694 * @return the URL of the user wms. 716 * @return the URL of the user wms.
695 */ 717 */
696 public static String getUserWMSUrl(String artifactId) { 718 public static String getUserWMSUrl(String artifactId) {
697 String url = getXPathString(XPATH_MAPSERVER_URL); 719 String url = getXPathString(XPATH_FLOODMAP_MAPSERVER_URL);
698 url = url.endsWith("/") ? url + "user-wms" : url + "/" + "user-wms"; 720 url = url.endsWith("/") ? url + "user-wms" : url + "/" + "user-wms";
699 721
700 return url; 722 return url;
701 } 723 }
702 724

http://dive4elements.wald.intevation.org