annotate gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java @ 863:1afa4f5d4190

Removed duplicated mapfile path configurations and replaced absolute path definitions with relative ones (issue218, issue220). gnv-artifacts/trunk@1001 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 27 Apr 2010 12:52:37 +0000
parents 05bf8534a35a
children 732cea65cee7
rev   line source
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
1 package de.intevation.gnv.artifacts.context;
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
2
779
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
3 import de.intevation.artifactdatabase.Config;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
4 import de.intevation.artifactdatabase.XMLUtils;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
5
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
6 import de.intevation.artifacts.ArtifactContextFactory;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
7
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
8 import de.intevation.gnv.artifacts.cache.CacheFactory;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
9
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
10 import de.intevation.gnv.chart.XMLChartTheme;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
11
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
12 import de.intevation.gnv.geobackend.base.connectionpool.ConnectionPoolFactory;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
13
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
14 import de.intevation.gnv.geobackend.base.query.container.QueryContainerFactory;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
15
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
16 import de.intevation.gnv.geobackend.base.query.container.exception.QueryContainerException;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
17
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
18 import de.intevation.gnv.raster.Filter;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
19 import de.intevation.gnv.raster.Palette;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
20 import de.intevation.gnv.raster.PaletteManager;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
21
521
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
22 import java.awt.Color;
779
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
23 import java.awt.Dimension;
521
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
24 import java.awt.Paint;
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
25
779
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
26 import java.io.File;
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
27 import java.io.FileInputStream;
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
28 import java.io.FileNotFoundException;
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
29 import java.io.IOException;
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
30 import java.io.InputStream;
369
77cd3a2bc381 Fixed file-leak bug and sourced xml parsing out to XMLUtils of artifactdatabase.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 358
diff changeset
31
438
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
32 import java.util.ArrayList;
444
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
33 import java.util.Collections;
779
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
34 import java.util.HashMap;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
35 import java.util.Properties;
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
36
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
37 import org.apache.log4j.Logger;
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
38
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
39 import org.w3c.dom.Document;
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
40 import org.w3c.dom.Element;
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
41 import org.w3c.dom.NodeList;
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
42
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
43 /**
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
44 * This factory class is used to create new GNVArtfactContext objects,
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
45 * initialize required components and put them into the created context object
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
46 * for being available in the application.
803
feae2f9d6c6f Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 791
diff changeset
47 *
780
c4156275c1e1 Bring @author javadoc tags in form '@author <a href="john.doe@example.com">John Doe</a>'
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 779
diff changeset
48 * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
c4156275c1e1 Bring @author javadoc tags in form '@author <a href="john.doe@example.com">John Doe</a>'
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 779
diff changeset
49 * @author <a href="mailto:iweinzierl@intevation.de">Ingo Weinzierl</a>
c4156275c1e1 Bring @author javadoc tags in form '@author <a href="john.doe@example.com">John Doe</a>'
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 779
diff changeset
50 * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a>
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
51 */
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
52 public class GNVArtifactContextFactory implements ArtifactContextFactory {
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
53 /**
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
54 * the logger, used to log exceptions and additonaly information
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
55 */
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
56 private static Logger log = Logger.getLogger(GNVArtifactContext.class);
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 99
diff changeset
57
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
58 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
59 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
60 */
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 646
diff changeset
61 public static final String XPATH_GEOBACKEND_CONFIGURATION =
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
62 "artifact-database/geo-backend/backend-configuration";
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 99
diff changeset
63
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
64 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
65 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
66 */
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 646
diff changeset
67 public static final String XPATH_GEOBACKEND_QUERYCONFIGURATION =
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
68 "artifact-database/geo-backend/query-configuration";
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 99
diff changeset
69
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 646
diff changeset
70 private final static String CACHECONFIGNODEPATH =
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
71 "/artifact-database/ehcache/configuration";
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 99
diff changeset
72
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 646
diff changeset
73 private final static String CHARTCONFIGNODEPATH =
442
52e031261eaa Create a new 'gnv' section in config file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 438
diff changeset
74 "/artifact-database/gnv/charttemplate/configuration";
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
75
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
76 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
77 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
78 */
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
79 public final static String PALETTES_PATH =
442
52e031261eaa Create a new 'gnv' section in config file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 438
diff changeset
80 "/artifact-database/gnv/palettes";
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
81
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
82 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
83 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
84 */
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
85 public final static String PALETTE_ITEMS =
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
86 "palette";
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
87
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
88 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
89 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
90 */
443
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
91 public final static String HORIZONTAL_CROSS_SECTION_PROFILE_SAMPLES =
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
92 "/artifact-database/gnv/horizontal-cross-section-profile/samples/@number";
358
2f7a28f211c7 Fetch ChartTheme from CallContext instead of creating it each time before creating a chart.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
93
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
94 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
95 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
96 */
474
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
97 public final static String HORIZONTAL_CROSS_SECTION_GROUND_INTERPOLATION =
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
98 "/artifact-database/gnv/horizontal-cross-section/ground/@interpolation";
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
99
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
100 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
101 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
102 */
468
7ba4c7222265 Added ij-Index determination for horizontal-cross-sections.
Tim Englich <tim.englich@intevation.de>
parents: 463
diff changeset
103 public final static String HORIZONTAL_CROSS_SECTION_SAMPLES =
7ba4c7222265 Added ij-Index determination for horizontal-cross-sections.
Tim Englich <tim.englich@intevation.de>
parents: 463
diff changeset
104 "/artifact-database/gnv/horizontal-cross-section/samples/@number";
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 646
diff changeset
105
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
106 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
107 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
108 */
593
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
109 public final static String HORIZONTAL_CROSS_SECTION_EXTRAPOLATION_ROUNDS =
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
110 "/artifact-database/gnv/horizontal-cross-section/extrapolation/@rounds";
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 646
diff changeset
111
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
112 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
113 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
114 */
472
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
115 public final static String HORIZONTAL_CROSS_SECTION_RESULT_SHAPEFILE_PATH =
625
40ead2d2a08d Restructured configuration, removed duplicated entry and store config information in MapfileGenerator to avoid reading config file every time while updating mapfile.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 593
diff changeset
116 "/artifact-database/gnv/shapefile-directory/@path";
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 646
diff changeset
117
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
118 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
119 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
120 */
444
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
121 public final static String VERTICAL_CROSS_SECTION_SAMPLES =
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
122 "/artifact-database/gnv/vertical-cross-section/samples";
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
123
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
124 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
125 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
126 */
444
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
127 public final static String VERTICAL_CROSS_SECTION_FILTERS =
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
128 "/artifact-database/gnv/vertical-cross-section/filters/filter";
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
129
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
130 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
131 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
132 */
463
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
133 public final static String VERTICAL_CROSS_SECTION_GROUND_INTERPOLATION =
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
134 "/artifact-database/gnv/vertical-cross-section/ground/@interpolation";
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
135
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
136 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
137 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
138 */
521
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
139 public final static String VERTICAL_CROSS_SECTION_GROUND_FILL_COLOR =
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
140 "/artifact-database/gnv/vertical-cross-section/ground/@fill-color";
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
141
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
142 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
143 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
144 */
646
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
145 public final static String XPATH_MAPSERVER_PATH =
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
146 "/artifact-database/mapserver/server/@path";
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
147
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
148 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
149 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
150 */
646
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
151 public final static String XPATH_MAP_PATH =
863
1afa4f5d4190 Removed duplicated mapfile path configurations and replaced absolute path definitions with relative ones (issue218, issue220).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 836
diff changeset
152 "/artifact-database/gnv/map-generator/mapfile/@path";
646
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
153
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
154 /**
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
155 * Constructor
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
156 */
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
157 public GNVArtifactContextFactory() {
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
158 super();
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
159 log.debug("GNVArtifactContextFactory.Constructor");
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
160 }
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
161
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
162 /**
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
163 * Create a new {@link GNVArtifactContext} object and initialize all
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
164 * components required by the application.
803
feae2f9d6c6f Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 791
diff changeset
165 *
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
166 * @param config
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
167 * @return GNVArtifactContext
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
168 * @see de.intevation.artifacts.ArtifactContextFactory#createArtifactContext(org.w3c.dom.Document)
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
169 */
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
170 public Object createArtifactContext(Document config) {
358
2f7a28f211c7 Fetch ChartTheme from CallContext instead of creating it each time before creating a chart.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
171 GNVArtifactContext returnValue = null;
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
172 try {
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
173 log.debug("GNVArtifactContextFactory.createArtifactContext");
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
174 log.info("Initialisation of the Geo-BackendConnectionPool");
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 99
diff changeset
175 String backendConfigurationFile = Config.getStringXPath(config,
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 99
diff changeset
176 XPATH_GEOBACKEND_CONFIGURATION);
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
177 backendConfigurationFile = Config.replaceConfigDir(
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
178 backendConfigurationFile);
630
a72ecacccc91 Changed cache initialization so that we can use GNV without using a cache.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 625
diff changeset
179
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
180 Properties properties = getProperties(backendConfigurationFile);
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
181 ConnectionPoolFactory cpf = ConnectionPoolFactory.getInstance();
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
182 cpf.initializeConnectionPool(properties);
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 99
diff changeset
183
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
184 log.info("Initialisation of the QueryContainer");
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 99
diff changeset
185 String queryConfigurationFile = Config.getStringXPath(config,
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 99
diff changeset
186 XPATH_GEOBACKEND_QUERYCONFIGURATION);
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
187 queryConfigurationFile = Config.replaceConfigDir(
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
188 queryConfigurationFile);
630
a72ecacccc91 Changed cache initialization so that we can use GNV without using a cache.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 625
diff changeset
189
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
190 Properties queryProperties = getProperties(queryConfigurationFile);
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
191 QueryContainerFactory qcf = QueryContainerFactory.getInstance();
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
192 qcf.initializeQueryContainer(queryProperties);
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 99
diff changeset
193
630
a72ecacccc91 Changed cache initialization so that we can use GNV without using a cache.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 625
diff changeset
194 configureCache(config);
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 99
diff changeset
195
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
196 returnValue = new GNVArtifactContext(config);
358
2f7a28f211c7 Fetch ChartTheme from CallContext instead of creating it each time before creating a chart.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 203
diff changeset
197
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
198 configurePalettes(config, returnValue);
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
199
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
200 configureChartTemplate(config, returnValue);
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
201
443
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
202 configureHorizontalCrossSectionProfile(config, returnValue);
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
203
468
7ba4c7222265 Added ij-Index determination for horizontal-cross-sections.
Tim Englich <tim.englich@intevation.de>
parents: 463
diff changeset
204 configureHorizontalCrossSection(config,returnValue);
7ba4c7222265 Added ij-Index determination for horizontal-cross-sections.
Tim Englich <tim.englich@intevation.de>
parents: 463
diff changeset
205
444
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
206 configureVerticalCrossSection(config, returnValue);
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
207
646
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
208 configureMapserver(config, returnValue);
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
209
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
210 } catch (FileNotFoundException e) {
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 99
diff changeset
211 log.error(e, e);
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
212 } catch (IOException e) {
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 99
diff changeset
213 log.error(e, e);
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 99
diff changeset
214 } catch (QueryContainerException e) {
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 99
diff changeset
215 log.error(e, e);
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
216 }
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
217 return returnValue;
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
218 }
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
219
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
220 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
221 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
222 * @param config
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
223 * @param context
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
224 */
444
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
225 protected void configureVerticalCrossSection(
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
226 Document config,
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
227 GNVArtifactContext context
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
228 ) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
229 log.info("configuration of vertical cross section");
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
230 configureVerticalCrossSectionSamples(config, context);
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
231 configureVerticalCrossSectionFilters(config, context);
463
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
232 configureVerticalCrossSectionGroundInterpolation(config, context);
521
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
233 configureVerticalCrossSectionGroundFillColor(config, context);
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
234 }
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
235
630
a72ecacccc91 Changed cache initialization so that we can use GNV without using a cache.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 625
diff changeset
236
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
237 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
238 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
239 * @param config
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
240 */
630
a72ecacccc91 Changed cache initialization so that we can use GNV without using a cache.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 625
diff changeset
241 protected void configureCache(Document config) {
a72ecacccc91 Changed cache initialization so that we can use GNV without using a cache.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 625
diff changeset
242 String cacheConfigurationFile = Config.getStringXPath(
a72ecacccc91 Changed cache initialization so that we can use GNV without using a cache.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 625
diff changeset
243 config, CACHECONFIGNODEPATH);
a72ecacccc91 Changed cache initialization so that we can use GNV without using a cache.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 625
diff changeset
244
a72ecacccc91 Changed cache initialization so that we can use GNV without using a cache.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 625
diff changeset
245 if (cacheConfigurationFile != null
a72ecacccc91 Changed cache initialization so that we can use GNV without using a cache.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 625
diff changeset
246 && !cacheConfigurationFile.equals(""))
a72ecacccc91 Changed cache initialization so that we can use GNV without using a cache.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 625
diff changeset
247 {
a72ecacccc91 Changed cache initialization so that we can use GNV without using a cache.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 625
diff changeset
248 log.info("Initialisation of the Cache");
a72ecacccc91 Changed cache initialization so that we can use GNV without using a cache.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 625
diff changeset
249 cacheConfigurationFile = Config.replaceConfigDir(
a72ecacccc91 Changed cache initialization so that we can use GNV without using a cache.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 625
diff changeset
250 cacheConfigurationFile);
a72ecacccc91 Changed cache initialization so that we can use GNV without using a cache.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 625
diff changeset
251
a72ecacccc91 Changed cache initialization so that we can use GNV without using a cache.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 625
diff changeset
252 CacheFactory cf = CacheFactory.getInstance();
a72ecacccc91 Changed cache initialization so that we can use GNV without using a cache.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 625
diff changeset
253 cf.initializeCache(cacheConfigurationFile);
a72ecacccc91 Changed cache initialization so that we can use GNV without using a cache.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 625
diff changeset
254 }
a72ecacccc91 Changed cache initialization so that we can use GNV without using a cache.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 625
diff changeset
255 }
a72ecacccc91 Changed cache initialization so that we can use GNV without using a cache.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 625
diff changeset
256
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
257 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
258 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
259 * @param config
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
260 * @param context
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
261 */
521
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
262 protected void configureVerticalCrossSectionGroundFillColor(
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
263 Document config,
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
264 GNVArtifactContext context
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
265 ) {
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
266 log.info("configuration of vertical cross section ground fill color");
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
267
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
268 String fillColor = Config.getStringXPath(
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
269 config,
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
270 VERTICAL_CROSS_SECTION_GROUND_FILL_COLOR);
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
271
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
272 Paint fill =
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
273 GNVArtifactContext.DEFAULT_VERTICAL_CROSS_SECTION_GROUND_FILL;
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
274
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
275 if (fillColor != null
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
276 && (fillColor = fillColor.trim()).length() != 0) {
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
277 try {
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
278 Color color = Color.decode(fillColor);
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
279 log.info("ground fill color: #" +
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
280 Integer.toHexString(color.getRGB()));
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
281 fill = color;
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
282 }
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
283 catch (NumberFormatException nfe) {
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
284 log.error("'" + fillColor + "' is not a valid color");
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
285 }
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
286 }
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
287
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
288 context.put(
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
289 GNVArtifactContext
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
290 .VERTICAL_CROSS_SECTION_GROUND_FILL_KEY,
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
291 fill);
463
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
292 }
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
293
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
294 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
295 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
296 * @param config
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
297 * @param context
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
298 */
463
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
299 protected void configureVerticalCrossSectionGroundInterpolation(
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
300 Document config,
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
301 GNVArtifactContext context
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
302 ) {
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
303 log.info("configuration of vertical cross section ground interpolation");
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
304 String interpolation = Config.getStringXPath(
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
305 config,
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
306 VERTICAL_CROSS_SECTION_GROUND_INTERPOLATION);
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
307
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 646
diff changeset
308 if (interpolation == null
463
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
309 || (interpolation = interpolation.trim()).length() == 0) {
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
310 interpolation = GNVArtifactContext
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
311 .DEFAULT_VERTICAL_CROSS_SECTION_GROUND_INTERPOLATION;
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
312 }
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
313
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
314 log.info("ground interpolation: " + interpolation);
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
315
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
316 context.put(
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
317 GNVArtifactContext
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
318 .VERTICAL_CROSS_SECTION_GROUND_INTERPOLATION_KEY,
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
319 interpolation);
444
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
320 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
321
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
322 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
323 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
324 * @param config
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
325 * @param context
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
326 */
444
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
327 protected void configureVerticalCrossSectionFilters(
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
328 Document config,
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
329 GNVArtifactContext context
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
330 ) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
331 log.info("configuration of vertical cross section filters");
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
332
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
333 NodeList filters = Config.getNodeSetXPath(
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
334 VERTICAL_CROSS_SECTION_FILTERS);
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
335
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
336 ArrayList<Filter.Factory> filterFactories =
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
337 new ArrayList<Filter.Factory>();
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
338
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
339 if (filters == null) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
340 log.warn("no filters found");
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
341 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
342 else {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
343 for (int i = 0, N = filters.getLength(); i < N; ++i) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
344 Element filterElement = (Element)filters.item(i);
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
345 String factoryName = filterElement.getAttribute("factory");
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
346 if ((factoryName = factoryName.trim()).length() > 0) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
347 try {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
348 Class clazz = Class.forName(factoryName);
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
349 Filter.Factory filterFactory =
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
350 (Filter.Factory)clazz.newInstance();
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
351 filterFactories.add(filterFactory);
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
352 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
353 catch (ClassNotFoundException cnfe) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
354 log.error("filter class not found", cnfe);
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
355 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
356 catch (InstantiationException ie) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
357 log.error("cannot instantiate filter factory", ie);
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
358 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
359 catch (IllegalAccessException iae) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
360 log.error("cannot access filter factory", iae);
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
361 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
362 catch (ClassCastException cce) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
363 log.error("not a filter factory class", cce);
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
364 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
365 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
366 else {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
367 log.error("No factory name given");
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
368 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
369 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
370 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
371
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
372 log.info("number of filters: " + filterFactories.size());
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
373
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
374 context.put(
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
375 GNVArtifactContext.VERTICAL_CROSS_SECTION_FILTER_FACTORIES_KEY,
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
376 Collections.unmodifiableList(filterFactories));
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
377 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
378
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
379 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
380 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
381 * @param config
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
382 * @param context
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
383 */
444
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
384 protected void configureVerticalCrossSectionSamples(
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
385 Document config,
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
386 GNVArtifactContext context
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
387 ) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
388 log.info("configuration of vertical cross section samples");
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
389
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
390 Element samples = (Element)Config.getNodeXPath(
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
391 VERTICAL_CROSS_SECTION_SAMPLES);
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
392
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
393 Dimension sampleSize = new Dimension(
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
394 GNVArtifactContext.DEFAULT_VERTICAL_CROSS_SECTION_SAMPLES);
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
395
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
396 if (samples == null) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
397 log.warn("no samples found");
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
398 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
399 else {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
400 String widthString = samples.getAttribute("width");
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
401 if ((widthString = widthString.trim()).length() > 0) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
402 try {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
403 sampleSize.width = Math.max(1, Integer.parseInt(widthString));
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
404 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
405 catch (NumberFormatException nfe) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
406 log.error("invalid value for width: '" + widthString + "'");
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
407 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
408 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
409 String heightString = samples.getAttribute("height");
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
410 if ((heightString = heightString.trim()).length() > 0) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
411 try {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
412 sampleSize.height = Math.max(1, Integer.parseInt(heightString));
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
413 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
414 catch (NumberFormatException nfe) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
415 log.error("invalid value for height: '" + heightString + "'");
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
416 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
417 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
418 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 646
diff changeset
419 log.info("samples (width x height): " +
444
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
420 sampleSize.width + " x " + sampleSize.height);
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
421
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
422 context.put(
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
423 GNVArtifactContext.VERTICAL_CROSS_SECTION_SAMPLES_KEY,
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
424 sampleSize);
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
425
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
426 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
427
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
428 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
429 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
430 * @param config
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
431 * @param context
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
432 */
443
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
433 protected void configureHorizontalCrossSectionProfile(
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
434 Document config,
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
435 GNVArtifactContext context
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
436 )
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
437 {
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
438 log.info("configuration of horizontal cross section profile");
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
439
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
440 String numSamples = Config.getStringXPath(
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
441 config,
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
442 HORIZONTAL_CROSS_SECTION_PROFILE_SAMPLES);
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
443
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
444 Integer samples =
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
445 GNVArtifactContext.DEFAULT_HORIZONTAL_CROSS_SECTION_PROFILE_SAMPLES;
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
446
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
447 if (numSamples == null) {
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
448 log.warn("No number of samples found.");
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
449 }
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
450 else {
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
451 try {
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
452 samples = Integer.valueOf(numSamples);
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
453 }
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
454 catch (NumberFormatException nfe) {
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
455 log.warn("Invalid integer for number of samples");
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
456 }
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
457 }
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
458
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
459 log.info("# horizontal cross section profile samples: " + samples);
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
460
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
461 context.put(
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
462 GNVArtifactContext.HORIZONTAL_CROSS_SECTION_PROFILE_SAMPLES_KEY,
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
463 samples);
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
464 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 646
diff changeset
465
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
466 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
467 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
468 * @param config
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
469 * @param context
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
470 */
468
7ba4c7222265 Added ij-Index determination for horizontal-cross-sections.
Tim Englich <tim.englich@intevation.de>
parents: 463
diff changeset
471 protected void configureHorizontalCrossSection(
472
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
472 Document config,
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
473 GNVArtifactContext context
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
474 ) {
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
475 log.info("configuration of horizontal cross section");
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
476
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
477 configureHorizontalCrossSectionSamples(config, context);
593
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
478 configureHorizontalCrossSectionExtrapolation(config, context);
472
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
479 configureHorizontalCrossSectionResultShapeFilePath(config, context);
474
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
480 configureHorizontalCrossSectionGroundInterpolation(config, context);
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
481 }
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
482
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
483 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
484 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
485 * @param config
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
486 * @param context
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
487 */
593
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
488 protected void configureHorizontalCrossSectionExtrapolation(
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
489 Document config,
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
490 GNVArtifactContext context
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
491 )
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
492 {
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
493 log.info(
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
494 "configuration of horizontal cross section extrapolation");
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
495
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
496 String extrapolationRoundsValue = Config.getStringXPath(
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
497 config,
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
498 HORIZONTAL_CROSS_SECTION_EXTRAPOLATION_ROUNDS);
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
499
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
500 Integer extrapolationRounds =
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
501 GNVArtifactContext.DEFAULT_HORIZONTAL_CROSS_SECTION_EXTRAPOLATION_ROUNDS;
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
502
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
503 if (extrapolationRoundsValue != null
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
504 && (extrapolationRoundsValue = extrapolationRoundsValue.trim()).length() > 0
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
505 ) {
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
506 try {
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
507 extrapolationRounds =
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
508 Integer.valueOf(extrapolationRoundsValue);
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
509 }
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
510 catch (NumberFormatException nfe) {
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
511 log.error(
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
512 "'" + extrapolationRoundsValue + "' is not a valid integer");
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
513 }
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
514 }
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
515
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
516 log.info("extrapolation rounds: " + extrapolationRounds);
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
517
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
518 context.put(
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
519 GNVArtifactContext
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
520 .HORIZONTAL_CROSS_SECTION_EXTRAPOLATION_ROUNDS_KEY,
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
521 extrapolationRounds);
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
522 }
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
523
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
524 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
525 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
526 * @param config
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
527 * @param context
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
528 */
474
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
529 protected void configureHorizontalCrossSectionGroundInterpolation(
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
530 Document config,
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
531 GNVArtifactContext context
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
532 )
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
533 {
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
534 log.info(
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
535 "configuration of horizontal cross section ground interpolation");
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
536
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
537 String interpolation = Config.getStringXPath(
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
538 config,
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
539 HORIZONTAL_CROSS_SECTION_GROUND_INTERPOLATION);
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
540
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 646
diff changeset
541 if (interpolation == null
474
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
542 || (interpolation = interpolation.trim()).length() == 0) {
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
543 interpolation = GNVArtifactContext
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
544 .DEFAULT_HORIZONTAL_CROSS_SECTION_GROUND_INTERPOLATION;
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
545 }
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
546
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
547 log.info("ground interpolation: " + interpolation);
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
548
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
549 context.put(
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
550 GNVArtifactContext
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
551 .HORIZONTAL_CROSS_SECTION_GROUND_INTERPOLATION_KEY,
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
552 interpolation);
472
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
553 }
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
554
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
555 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
556 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
557 * @param config
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
558 * @param context
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
559 */
472
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
560 protected void configureHorizontalCrossSectionResultShapeFilePath(
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
561 Document config,
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
562 GNVArtifactContext context
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
563 )
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
564 {
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
565 log.info(
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
566 "configuration of horizontal cross section result shape file path");
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
567
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 646
diff changeset
568 File dir =
472
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
569 GNVArtifactContext.
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
570 DEFAULT_HORIZONTAL_CROSS_SECTION_PROFILE_SHAPEFILE_PATH;
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
571
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
572 String path = Config.getStringXPath(
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
573 config,
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
574 HORIZONTAL_CROSS_SECTION_RESULT_SHAPEFILE_PATH);
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
575
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
576 if (path != null && (path = path.trim()).length() > 0) {
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
577 dir = new File(Config.replaceConfigDir(path));
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
578 }
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
579 else {
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
580 log.warn("No 'result-shapefile-directory' given");
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
581 }
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
582
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 646
diff changeset
583 log.info("writing shape files to '"
472
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
584 + dir.getAbsolutePath() + "'");
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
585
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
586 context.put(
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
587 GNVArtifactContext
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
588 .HORIZONTAL_CROSS_SECTION_RESULT_SHAPEFILE_PATH_KEY,
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
589 dir);
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
590 }
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
591
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
592 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
593 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
594 * @param config
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
595 * @param context
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
596 */
472
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
597 protected void configureHorizontalCrossSectionSamples(
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
598 Document config,
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
599 GNVArtifactContext context
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
600 )
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
601 {
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
602 log.info("configuration of horizontal cross section samples");
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
603 String numSamples = Config.getStringXPath(
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
604 config,
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
605 HORIZONTAL_CROSS_SECTION_SAMPLES);
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
606
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
607 Integer samples =
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
608 GNVArtifactContext.DEFAULT_HORIZONTAL_CROSS_SECTION_SAMPLES;
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
609
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
610 if (numSamples == null) {
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
611 log.warn("No number of samples found.");
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
612 }
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
613 else {
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
614 try {
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
615 samples = Integer.valueOf(numSamples);
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
616 }
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
617 catch (NumberFormatException nfe) {
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
618 log.warn("Invalid integer for number of samples");
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
619 }
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
620 }
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
621
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
622 log.info("# horizontal cross section profile samples: " + samples);
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
623
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
624 context.put(
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
625 GNVArtifactContext.HORIZONTAL_CROSS_SECTION_SAMPLES_KEY,
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
626 samples);
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
627 }
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
628
443
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
629
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
630 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
631 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
632 * @param config
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
633 * @param context
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
634 */
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
635 protected void configureChartTemplate(
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
636 Document config,
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
637 GNVArtifactContext context
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
638 ) {
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
639 log.info("Initialisation of chart template");
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
640 String chartConfigFile = Config.getStringXPath(
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
641 config, CHARTCONFIGNODEPATH
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
642 );
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
643
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
644 XMLChartTheme theme = new XMLChartTheme("XMLChartTheme");
443
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
645
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
646 if (chartConfigFile == null) {
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
647 log.warn("no configuration file for chart template found");
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
648 }
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
649 else {
443
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
650 chartConfigFile = Config.replaceConfigDir(chartConfigFile);
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
651 log.debug("Parse xml configuration of " + chartConfigFile);
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
652
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
653 Document tmpl = XMLUtils.parseDocument(new File(chartConfigFile));
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
654 if (tmpl != null) {
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
655 theme.applyXMLConfiguration(tmpl);
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
656 }
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
657 else {
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
658 log.error(
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
659 "Cannot load chart template from '" +
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
660 chartConfigFile + "'");
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
661 }
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
662 }
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
663
443
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
664 context.put(GNVArtifactContext.CHART_TEMPLATE_KEY, theme);
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
665 }
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
666
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
667 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
668 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
669 * @param config
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
670 * @param context
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
671 */
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
672 protected void configurePalettes(
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
673 Document config,
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
674 GNVArtifactContext context
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
675 ) {
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
676 log.info("configure palettes");
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
677
438
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
678 HashMap<Integer, PaletteManager> palettes = new HashMap();
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
679
442
52e031261eaa Create a new 'gnv' section in config file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 438
diff changeset
680 Element node = (Element)Config.getNodeXPath(config, PALETTES_PATH);
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
681
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
682 if (node == null) {
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
683 log.error("No palettes found");
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
684 }
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
685 else {
442
52e031261eaa Create a new 'gnv' section in config file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 438
diff changeset
686 NodeList pals = node.getElementsByTagName(PALETTE_ITEMS);
52e031261eaa Create a new 'gnv' section in config file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 438
diff changeset
687 for (int i = 0, N = pals==null?0:pals.getLength(); i < N; ++i) {
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
688 Element pal = (Element)pals.item(i);
438
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
689 String name = pal.getAttribute("name");
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
690 String description = pal.getAttribute("description");
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
691 String filename = pal.getAttribute("file");
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
692 String parameterIds = pal.getAttribute("parameter-ids");
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
693
438
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
694 if (name == null || (name = name.trim()).length() == 0) {
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
695 log.error("Palette has no 'name' attribute.");
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
696 }
438
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
697 else if (filename == null
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
698 || (filename = filename.trim()).length() == 0) {
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
699 log.error("Palette '" + name + "' has no 'file' attribute.");
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
700 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 646
diff changeset
701 else if (parameterIds == null
438
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
702 || (parameterIds = parameterIds.trim()).length() == 0) {
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
703 log.error("no parameter ids given for '" + name + "'");
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
704 }
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
705 else {
438
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
706 ArrayList<Integer> ids = new ArrayList<Integer>();
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
707 for (String idString: parameterIds.split("[\t ,]+")) {
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
708 try {
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
709 ids.add(Integer.valueOf(idString));
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
710 }
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
711 catch (NumberFormatException nfe) {
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
712 log.error(
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
713 "parameter id '" + idString + "' is integer");
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
714 }
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
715 }
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
716 filename = Config.replaceConfigDir(filename);
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
717 Document document = XMLUtils.parseDocument(
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
718 new File(filename));
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
719 if (document == null) {
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
720 log.error("Cannot load palette file '" +
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
721 filename + "'");
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
722 }
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
723 else {
438
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
724 PaletteManager manager = new PaletteManager(
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
725 name,
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
726 description,
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
727 new Palette(document));
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
728 for (Integer id: ids) {
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
729 palettes.put(id, manager);
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
730 }
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
731 }
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
732 }
438
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
733 } // for all palettes
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
734 }
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
735
443
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
736 context.put(GNVArtifactContext.PALETTES_KEY, palettes);
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
737 }
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
738
646
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
739
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
740 /**
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
741 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
742 * @param config
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
743 * @param context
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
744 */
646
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
745 protected void configureMapserver(
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
746 Document config,
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
747 GNVArtifactContext context
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
748 ) {
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
749 log.info("read configuration of mapserver.");
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
750
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
751 String serverPath = (String) Config.getStringXPath(
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
752 config, XPATH_MAPSERVER_PATH);
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
753
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
754 String mapPath = (String) Config.getStringXPath(
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
755 config, XPATH_MAP_PATH);
863
1afa4f5d4190 Removed duplicated mapfile path configurations and replaced absolute path definitions with relative ones (issue218, issue220).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 836
diff changeset
756 mapPath = Config.replaceConfigDir(mapPath);
646
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
757
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
758 if (serverPath != null && mapPath != null) {
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
759 context.put(GNVArtifactContext.MAPSERVER_SERVER_PATH_KEY,serverPath);
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
760 context.put(GNVArtifactContext.MAPSERVER_MAP_PATH_KEY, mapPath);
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
761 }
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
762 }
c8749d83d9b6 Added a configuration section for mapserver relevant stuff. Moved source to write meta files out to an own helper class named MetaWriter.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 630
diff changeset
763
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
764 /**
791
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
765 * Read some properties from config file specified by <code>filePath</code>.
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
766 *
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
767 * @param filePath Path to a cofig file.
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
768 * @return Properties contained in <code>filePath</code>.
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
769 * @throws FileNotFoundException if file specified by filePath is not
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
770 * existing.
23877dd69444 Added javadoc in Context package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
771 * @throws IOException if an error occured while reading from file.
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
772 */
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
773 private Properties getProperties(String filePath)
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
774 throws FileNotFoundException, IOException
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
775 {
172
b5e55f460f0b Closed small file descriptor leak in loading SQL properties file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
776 InputStream inputStream = null;
b5e55f460f0b Closed small file descriptor leak in loading SQL properties file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
777 try {
b5e55f460f0b Closed small file descriptor leak in loading SQL properties file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
778 inputStream = new FileInputStream(filePath);
b5e55f460f0b Closed small file descriptor leak in loading SQL properties file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
779 Properties properties = new Properties();
b5e55f460f0b Closed small file descriptor leak in loading SQL properties file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
780 properties.load(inputStream);
b5e55f460f0b Closed small file descriptor leak in loading SQL properties file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
781 return properties;
b5e55f460f0b Closed small file descriptor leak in loading SQL properties file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
782 }
b5e55f460f0b Closed small file descriptor leak in loading SQL properties file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
783 finally {
b5e55f460f0b Closed small file descriptor leak in loading SQL properties file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
784 if (inputStream != null) {
b5e55f460f0b Closed small file descriptor leak in loading SQL properties file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
785 try { inputStream.close(); }
b5e55f460f0b Closed small file descriptor leak in loading SQL properties file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
786 catch (IOException ioe) {}
b5e55f460f0b Closed small file descriptor leak in loading SQL properties file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
787 }
b5e55f460f0b Closed small file descriptor leak in loading SQL properties file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
788 }
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
789 }
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
790 }
836
05bf8534a35a Using unix line endings only.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 803
diff changeset
791 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org