annotate gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java @ 605:e8ebdbc7f1e3

First step of removing the cache blob. The static part of the describe document will be created by using the input data stored at each state. Some TODOs left (see ChangeLog). gnv-artifacts/trunk@671 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 09 Feb 2010 14:27:55 +0000
parents b248531fa20b
children 40ead2d2a08d
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
521
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
3 import java.awt.Color;
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
4 import java.awt.Paint;
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
5
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
6 import java.io.FileInputStream;
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
7 import java.io.FileNotFoundException;
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
8 import java.io.IOException;
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
9 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
10 import java.io.File;
77cd3a2bc381 Fixed file-leak bug and sourced xml parsing out to XMLUtils of artifactdatabase.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 358
diff changeset
11
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
12 import java.util.Properties;
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
13 import java.util.HashMap;
438
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
14 import java.util.ArrayList;
444
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
15 import java.util.Collections;
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
16
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
17 import java.awt.Dimension;
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
18
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
19 import org.apache.log4j.Logger;
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
20
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
21 import org.w3c.dom.Document;
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
22 import org.w3c.dom.Element;
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
23 import org.w3c.dom.NodeList;
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
24
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
25 import de.intevation.gnv.geobackend.base.connectionpool.ConnectionPoolFactory;
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
26
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
27 import de.intevation.gnv.geobackend.base.query.container.QueryContainerFactory;
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
28 import de.intevation.gnv.geobackend.base.query.container.exception.QueryContainerException;
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
29
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
30 import de.intevation.gnv.chart.XMLChartTheme;
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
31
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
32 import de.intevation.gnv.artifacts.cache.CacheFactory;
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
33
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
34 import de.intevation.gnv.raster.Palette;
444
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
35 import de.intevation.gnv.raster.Filter;
438
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
36 import de.intevation.gnv.raster.PaletteManager;
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
37
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
38 import de.intevation.artifacts.ArtifactContextFactory;
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
39
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
40 import de.intevation.artifactdatabase.Config;
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
41 import de.intevation.artifactdatabase.XMLUtils;
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
42
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
43 /**
442
52e031261eaa Create a new 'gnv' section in config file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 438
diff changeset
44 * @author Tim Englich (tim.englich@intevation.de)
52e031261eaa Create a new 'gnv' section in config file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 438
diff changeset
45 * @author Ingo Weinzierl (iweinzierl@intevation.de)
52e031261eaa Create a new 'gnv' section in config file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 438
diff changeset
46 * @author Sascha L. Teichmann (sascha.teichmann@intevation.de)
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
47 */
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
48 public class GNVArtifactContextFactory implements ArtifactContextFactory {
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
49 /**
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
50 * 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
51 */
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
52 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
53
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
54 public static final String XPATH_GEOBACKEND_CONFIGURATION =
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
55 "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
56
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
57 public static final String XPATH_GEOBACKEND_QUERYCONFIGURATION =
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
58 "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
59
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
60 private final static String CACHECONFIGNODEPATH =
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
61 "/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
62
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
63 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
64 "/artifact-database/gnv/charttemplate/configuration";
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
65
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
66 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
67 "/artifact-database/gnv/palettes";
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
68
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
69 public final static String PALETTE_ITEMS =
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
70 "palette";
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
71
443
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
72 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
73 "/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
74
474
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
75 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
76 "/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
77
468
7ba4c7222265 Added ij-Index determination for horizontal-cross-sections.
Tim Englich <tim.englich@intevation.de>
parents: 463
diff changeset
78 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
79 "/artifact-database/gnv/horizontal-cross-section/samples/@number";
7ba4c7222265 Added ij-Index determination for horizontal-cross-sections.
Tim Englich <tim.englich@intevation.de>
parents: 463
diff changeset
80
593
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
81 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
82 "/artifact-database/gnv/horizontal-cross-section/extrapolation/@rounds";
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
83
472
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
84 public final static String 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
85 "/artifact-database/gnv/horizontal-cross-section/result-shapefile-directory/@path";
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
86
444
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
87 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
88 "/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
89
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
90 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
91 "/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
92
463
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
93 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
94 "/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
95
521
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
96 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
97 "/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
98
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
99 /**
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
100 * Constructor
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
101 */
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
102 public GNVArtifactContextFactory() {
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
103 super();
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
104 log.debug("GNVArtifactContextFactory.Constructor");
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
105 }
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
106
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
107 /**
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
108 * @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
109 */
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
110 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
111 GNVArtifactContext returnValue = null;
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
112 try {
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
113 log.debug("GNVArtifactContextFactory.createArtifactContext");
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
114 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
115 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
116 XPATH_GEOBACKEND_CONFIGURATION);
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
117 backendConfigurationFile = Config.replaceConfigDir(
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
118 backendConfigurationFile);
203
226091ed3cbd Added relative locations for further required Configurationfiles . issue59
Tim Englich <tim.englich@intevation.de>
parents: 172
diff changeset
119
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
120 Properties properties = getProperties(backendConfigurationFile);
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
121 ConnectionPoolFactory cpf = ConnectionPoolFactory.getInstance();
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
122 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
123
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
124 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
125 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
126 XPATH_GEOBACKEND_QUERYCONFIGURATION);
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
127 queryConfigurationFile = Config.replaceConfigDir(
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
128 queryConfigurationFile);
203
226091ed3cbd Added relative locations for further required Configurationfiles . issue59
Tim Englich <tim.englich@intevation.de>
parents: 172
diff changeset
129
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
130 Properties queryProperties = getProperties(queryConfigurationFile);
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
131 QueryContainerFactory qcf = QueryContainerFactory.getInstance();
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
132 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
133
99
bb45c5097cb6 ehcache Integration for storing the chartresultvalues
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
134 log.info("Initialisation of the Cache");
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 99
diff changeset
135 String cacheConfigurationFile = Config.getStringXPath(config,
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 99
diff changeset
136 CACHECONFIGNODEPATH);
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
137 cacheConfigurationFile = Config.replaceConfigDir(
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
138 cacheConfigurationFile);
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
139
99
bb45c5097cb6 ehcache Integration for storing the chartresultvalues
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
140 CacheFactory cf = CacheFactory.getInstance();
bb45c5097cb6 ehcache Integration for storing the chartresultvalues
Tim Englich <tim.englich@intevation.de>
parents: 52
diff changeset
141 cf.initializeCache(cacheConfigurationFile);
171
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 99
diff changeset
142
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
143 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
144
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
145 configurePalettes(config, returnValue);
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
146
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
147 configureChartTemplate(config, returnValue);
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
148
443
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
149 configureHorizontalCrossSectionProfile(config, returnValue);
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
150
468
7ba4c7222265 Added ij-Index determination for horizontal-cross-sections.
Tim Englich <tim.englich@intevation.de>
parents: 463
diff changeset
151 configureHorizontalCrossSection(config,returnValue);
7ba4c7222265 Added ij-Index determination for horizontal-cross-sections.
Tim Englich <tim.englich@intevation.de>
parents: 463
diff changeset
152
444
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
153 configureVerticalCrossSection(config, returnValue);
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
154
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
155 } 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
156 log.error(e, e);
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
157 } 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
158 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
159 } catch (QueryContainerException e) {
7fb9441dd8af Format Code to max 80 Chars per Row and Cleanup
Tim Englich <tim.englich@intevation.de>
parents: 99
diff changeset
160 log.error(e, e);
52
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 return returnValue;
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
163 }
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
164
444
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
165 protected void configureVerticalCrossSection(
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
166 Document config,
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
167 GNVArtifactContext context
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
168 ) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
169 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
170 configureVerticalCrossSectionSamples(config, context);
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
171 configureVerticalCrossSectionFilters(config, context);
463
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
172 configureVerticalCrossSectionGroundInterpolation(config, context);
521
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
173 configureVerticalCrossSectionGroundFillColor(config, context);
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
174 }
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
175
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
176 protected void configureVerticalCrossSectionGroundFillColor(
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
177 Document config,
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
178 GNVArtifactContext context
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
179 ) {
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
180 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
181
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
182 String fillColor = Config.getStringXPath(
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
183 config,
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
184 VERTICAL_CROSS_SECTION_GROUND_FILL_COLOR);
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
185
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
186 Paint fill =
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
187 GNVArtifactContext.DEFAULT_VERTICAL_CROSS_SECTION_GROUND_FILL;
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
188
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
189 if (fillColor != null
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
190 && (fillColor = fillColor.trim()).length() != 0) {
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
191 try {
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
192 Color color = Color.decode(fillColor);
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
193 log.info("ground fill color: #" +
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
194 Integer.toHexString(color.getRGB()));
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
195 fill = color;
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
196 }
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
197 catch (NumberFormatException nfe) {
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
198 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
199 }
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
200 }
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
201
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
202 context.put(
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
203 GNVArtifactContext
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
204 .VERTICAL_CROSS_SECTION_GROUND_FILL_KEY,
1bf058f1a2d1 Generate seabed polygon to "Profilschnitte".
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 474
diff changeset
205 fill);
463
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
206 }
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
207
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
208 protected void configureVerticalCrossSectionGroundInterpolation(
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
209 Document config,
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
210 GNVArtifactContext context
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
211 ) {
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
212 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
213 String interpolation = Config.getStringXPath(
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
214 config,
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
215 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
216
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
217 if (interpolation == null
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
218 || (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
219 interpolation = GNVArtifactContext
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
220 .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
221 }
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
222
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
223 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
224
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
225 context.put(
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
226 GNVArtifactContext
07672838fa5f Make ground interpolation for vertical cross section configurable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 444
diff changeset
227 .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
228 interpolation);
444
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
229 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
230
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
231 protected void configureVerticalCrossSectionFilters(
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
232 Document config,
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
233 GNVArtifactContext context
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
234 ) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
235 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
236
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
237 NodeList filters = Config.getNodeSetXPath(
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
238 VERTICAL_CROSS_SECTION_FILTERS);
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
239
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
240 ArrayList<Filter.Factory> filterFactories =
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
241 new ArrayList<Filter.Factory>();
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
242
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
243 if (filters == null) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
244 log.warn("no filters found");
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
245 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
246 else {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
247 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
248 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
249 String factoryName = filterElement.getAttribute("factory");
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
250 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
251 try {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
252 Class clazz = Class.forName(factoryName);
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
253 Filter.Factory filterFactory =
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
254 (Filter.Factory)clazz.newInstance();
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
255 filterFactories.add(filterFactory);
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
256 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
257 catch (ClassNotFoundException cnfe) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
258 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
259 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
260 catch (InstantiationException ie) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
261 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
262 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
263 catch (IllegalAccessException iae) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
264 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
265 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
266 catch (ClassCastException cce) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
267 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
268 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
269 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
270 else {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
271 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
272 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
273 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
274 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
275
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
276 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
277
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
278 context.put(
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
279 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
280 Collections.unmodifiableList(filterFactories));
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
281 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
282
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
283 protected void configureVerticalCrossSectionSamples(
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
284 Document config,
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
285 GNVArtifactContext context
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
286 ) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
287 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
288
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
289 Element samples = (Element)Config.getNodeXPath(
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
290 VERTICAL_CROSS_SECTION_SAMPLES);
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
291
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
292 Dimension sampleSize = new Dimension(
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
293 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
294
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
295 if (samples == null) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
296 log.warn("no samples found");
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
297 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
298 else {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
299 String widthString = samples.getAttribute("width");
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
300 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
301 try {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
302 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
303 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
304 catch (NumberFormatException nfe) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
305 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
306 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
307 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
308 String heightString = samples.getAttribute("height");
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
309 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
310 try {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
311 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
312 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
313 catch (NumberFormatException nfe) {
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
314 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
315 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
316 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
317 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
318 log.info("samples (width x height): " +
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
319 sampleSize.width + " x " + sampleSize.height);
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 context.put(
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
322 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
323 sampleSize);
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
324
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
325 }
85f48e287fb3 Added configuration for vertical cross sections ("Profilschnitte")
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 443
diff changeset
326
443
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
327 protected void configureHorizontalCrossSectionProfile(
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
328 Document config,
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
329 GNVArtifactContext context
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
330 )
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
331 {
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
332 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
333
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
334 String numSamples = Config.getStringXPath(
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
335 config,
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
336 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
337
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
338 Integer samples =
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
339 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
340
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
341 if (numSamples == null) {
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
342 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
343 }
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
344 else {
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
345 try {
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
346 samples = Integer.valueOf(numSamples);
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
347 }
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
348 catch (NumberFormatException nfe) {
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
349 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
350 }
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
351 }
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
352
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
353 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
354
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
355 context.put(
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
356 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
357 samples);
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
358 }
468
7ba4c7222265 Added ij-Index determination for horizontal-cross-sections.
Tim Englich <tim.englich@intevation.de>
parents: 463
diff changeset
359
7ba4c7222265 Added ij-Index determination for horizontal-cross-sections.
Tim Englich <tim.englich@intevation.de>
parents: 463
diff changeset
360 protected void configureHorizontalCrossSection(
472
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
361 Document config,
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
362 GNVArtifactContext context
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
363 ) {
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
364 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
365
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
366 configureHorizontalCrossSectionSamples(config, context);
593
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
367 configureHorizontalCrossSectionExtrapolation(config, context);
472
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
368 configureHorizontalCrossSectionResultShapeFilePath(config, context);
474
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
369 configureHorizontalCrossSectionGroundInterpolation(config, context);
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
370 }
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
371
593
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
372 protected void configureHorizontalCrossSectionExtrapolation(
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
373 Document config,
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
374 GNVArtifactContext context
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
375 )
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
376 {
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
377 log.info(
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
378 "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
379
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
380 String extrapolationRoundsValue = Config.getStringXPath(
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
381 config,
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
382 HORIZONTAL_CROSS_SECTION_EXTRAPOLATION_ROUNDS);
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
383
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
384 Integer extrapolationRounds =
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
385 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
386
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
387 if (extrapolationRoundsValue != null
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
388 && (extrapolationRoundsValue = extrapolationRoundsValue.trim()).length() > 0
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
389 ) {
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
390 try {
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
391 extrapolationRounds =
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
392 Integer.valueOf(extrapolationRoundsValue);
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
393 }
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
394 catch (NumberFormatException nfe) {
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
395 log.error(
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
396 "'" + 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
397 }
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
398 }
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
399
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
400 log.info("extrapolation rounds: " + extrapolationRounds);
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
401
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
402 context.put(
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
403 GNVArtifactContext
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
404 .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
405 extrapolationRounds);
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
406 }
b248531fa20b Added experimental support for extrapolation in "Horizontalschnitte"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 521
diff changeset
407
474
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
408 protected void configureHorizontalCrossSectionGroundInterpolation(
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
409 Document config,
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
410 GNVArtifactContext context
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
411 )
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
412 {
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
413 log.info(
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
414 "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
415
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
416 String interpolation = Config.getStringXPath(
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
417 config,
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
418 HORIZONTAL_CROSS_SECTION_GROUND_INTERPOLATION);
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
419
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
420 if (interpolation == null
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
421 || (interpolation = interpolation.trim()).length() == 0) {
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
422 interpolation = GNVArtifactContext
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
423 .DEFAULT_HORIZONTAL_CROSS_SECTION_GROUND_INTERPOLATION;
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
424 }
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
425
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
426 log.info("ground interpolation: " + interpolation);
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
427
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
428 context.put(
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
429 GNVArtifactContext
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
430 .HORIZONTAL_CROSS_SECTION_GROUND_INTERPOLATION_KEY,
ab29e4ff2fda Added area interpolation needed for "Horizontalschnitt"
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 472
diff changeset
431 interpolation);
472
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
432 }
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
433
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
434 protected void configureHorizontalCrossSectionResultShapeFilePath(
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
435 Document config,
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
436 GNVArtifactContext context
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
437 )
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
438 {
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
439 log.info(
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
440 "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
441
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
442 File dir =
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
443 GNVArtifactContext.
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
444 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
445
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
446 String path = Config.getStringXPath(
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
447 config,
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
448 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
449
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
450 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
451 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
452 }
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
453 else {
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
454 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
455 }
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
456
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
457 log.info("writing shape files to '"
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
458 + dir.getAbsolutePath() + "'");
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
459
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
460 context.put(
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
461 GNVArtifactContext
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
462 .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
463 dir);
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
464 }
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
465
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
466 protected void configureHorizontalCrossSectionSamples(
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
467 Document config,
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
468 GNVArtifactContext context
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
469 )
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
470 {
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
471 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
472 String numSamples = Config.getStringXPath(
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
473 config,
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
474 HORIZONTAL_CROSS_SECTION_SAMPLES);
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
475
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
476 Integer samples =
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
477 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
478
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
479 if (numSamples == null) {
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
480 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
481 }
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
482 else {
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
483 try {
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
484 samples = Integer.valueOf(numSamples);
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
485 }
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
486 catch (NumberFormatException nfe) {
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
487 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
488 }
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
489 }
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
490
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
491 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
492
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
493 context.put(
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
494 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
495 samples);
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
496 }
d6a100d5f74a Added configuration of directory of "Horizontalschnitt" shape files.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 468
diff changeset
497
443
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
498
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
499 protected void configureChartTemplate(
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
500 Document config,
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
501 GNVArtifactContext context
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
502 ) {
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
503 log.info("Initialisation of chart template");
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
504 String chartConfigFile = Config.getStringXPath(
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
505 config, CHARTCONFIGNODEPATH
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
506 );
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
507
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
508 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
509
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
510 if (chartConfigFile == null) {
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
511 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
512 }
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
513 else {
443
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
514 chartConfigFile = Config.replaceConfigDir(chartConfigFile);
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
515 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
516
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
517 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
518 if (tmpl != null) {
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
519 theme.applyXMLConfiguration(tmpl);
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
520 }
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
521 else {
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
522 log.error(
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
523 "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
524 chartConfigFile + "'");
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
525 }
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
526 }
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
527
443
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
528 context.put(GNVArtifactContext.CHART_TEMPLATE_KEY, theme);
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
529 }
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
530
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
531 protected void configurePalettes(
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
532 Document config,
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
533 GNVArtifactContext context
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
534 ) {
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
535 log.info("configure palettes");
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
536
438
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
537 HashMap<Integer, PaletteManager> palettes = new HashMap();
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
538
442
52e031261eaa Create a new 'gnv' section in config file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 438
diff changeset
539 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
540
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
541 if (node == null) {
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
542 log.error("No palettes found");
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
543 }
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
544 else {
442
52e031261eaa Create a new 'gnv' section in config file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 438
diff changeset
545 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
546 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
547 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
548 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
549 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
550 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
551 String parameterIds = pal.getAttribute("parameter-ids");
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
552
438
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
553 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
554 log.error("Palette has no 'name' attribute.");
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
555 }
438
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
556 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
557 || (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
558 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
559 }
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
560 else if (parameterIds == null
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
561 || (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
562 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
563 }
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
564 else {
438
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
565 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
566 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
567 try {
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
568 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
569 }
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
570 catch (NumberFormatException nfe) {
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
571 log.error(
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
572 "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
573 }
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
574 }
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
575 filename = Config.replaceConfigDir(filename);
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
576 Document document = XMLUtils.parseDocument(
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
577 new File(filename));
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
578 if (document == null) {
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
579 log.error("Cannot load palette file '" +
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
580 filename + "'");
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
581 }
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
582 else {
438
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
583 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
584 name,
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
585 description,
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
586 new Palette(document));
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
587 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
588 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
589 }
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
590 }
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
591 }
438
7399bb8f83ea Added manager to handle several levels of palette subdivsions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 426
diff changeset
592 } // for all palettes
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
593 }
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
594
443
da21c256a0ba "horizontale Schnittprofile" are now configured via conf.xml
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 442
diff changeset
595 context.put(GNVArtifactContext.PALETTES_KEY, palettes);
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
596 }
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
597
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
598 /**
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
599 * @param filePath
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
600 * @return
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
601 * @throws FileNotFoundException
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
602 * @throws IOException
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
603 */
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
604 private Properties getProperties(String filePath)
426
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
605 throws FileNotFoundException, IOException
3a0c0ad113d9 Load palettes from configuration.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 369
diff changeset
606 {
172
b5e55f460f0b Closed small file descriptor leak in loading SQL properties file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
607 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
608 try {
b5e55f460f0b Closed small file descriptor leak in loading SQL properties file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
609 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
610 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
611 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
612 return properties;
b5e55f460f0b Closed small file descriptor leak in loading SQL properties file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
613 }
b5e55f460f0b Closed small file descriptor leak in loading SQL properties file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
614 finally {
b5e55f460f0b Closed small file descriptor leak in loading SQL properties file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
615 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
616 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
617 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
618 }
b5e55f460f0b Closed small file descriptor leak in loading SQL properties file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 171
diff changeset
619 }
52
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
620 }
4d6a82b96059 First Implementation of the GNV-Artifacts
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
621 }

http://dive4elements.wald.intevation.org