Mercurial > dive4elements > gnv-client
comparison gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java @ 1063:732cea65cee7
Changed the geo-backend initialization regarding the changes of rev1149. An sql-cache is integrated and enabled now.
gnv-artifacts/trunk@1150 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 03 Jun 2010 16:10:27 +0000 |
parents | 1afa4f5d4190 |
children | 026b936290bc |
comparison
equal
deleted
inserted
replaced
1062:58b4a07db856 | 1063:732cea65cee7 |
---|---|
12 import de.intevation.gnv.geobackend.base.connectionpool.ConnectionPoolFactory; | 12 import de.intevation.gnv.geobackend.base.connectionpool.ConnectionPoolFactory; |
13 | 13 |
14 import de.intevation.gnv.geobackend.base.query.container.QueryContainerFactory; | 14 import de.intevation.gnv.geobackend.base.query.container.QueryContainerFactory; |
15 | 15 |
16 import de.intevation.gnv.geobackend.base.query.container.exception.QueryContainerException; | 16 import de.intevation.gnv.geobackend.base.query.container.exception.QueryContainerException; |
17 | |
18 import de.intevation.gnv.geobackend.config.Configuration; | |
17 | 19 |
18 import de.intevation.gnv.raster.Filter; | 20 import de.intevation.gnv.raster.Filter; |
19 import de.intevation.gnv.raster.Palette; | 21 import de.intevation.gnv.raster.Palette; |
20 import de.intevation.gnv.raster.PaletteManager; | 22 import de.intevation.gnv.raster.PaletteManager; |
21 | 23 |
32 import java.util.ArrayList; | 34 import java.util.ArrayList; |
33 import java.util.Collections; | 35 import java.util.Collections; |
34 import java.util.HashMap; | 36 import java.util.HashMap; |
35 import java.util.Properties; | 37 import java.util.Properties; |
36 | 38 |
39 import javax.xml.xpath.XPathConstants; | |
40 | |
37 import org.apache.log4j.Logger; | 41 import org.apache.log4j.Logger; |
38 | 42 |
39 import org.w3c.dom.Document; | 43 import org.w3c.dom.Document; |
40 import org.w3c.dom.Element; | 44 import org.w3c.dom.Element; |
41 import org.w3c.dom.NodeList; | 45 import org.w3c.dom.NodeList; |
46 import org.w3c.dom.Node; | |
42 | 47 |
43 /** | 48 /** |
44 * This factory class is used to create new GNVArtfactContext objects, | 49 * This factory class is used to create new GNVArtfactContext objects, |
45 * initialize required components and put them into the created context object | 50 * initialize required components and put them into the created context object |
46 * for being available in the application. | 51 * for being available in the application. |
57 | 62 |
58 /** | 63 /** |
59 * | 64 * |
60 */ | 65 */ |
61 public static final String XPATH_GEOBACKEND_CONFIGURATION = | 66 public static final String XPATH_GEOBACKEND_CONFIGURATION = |
62 "artifact-database/geo-backend/backend-configuration"; | 67 "artifact-database/geo-backend"; |
63 | 68 |
64 /** | 69 /** |
65 * | 70 * |
66 */ | 71 */ |
67 public static final String XPATH_GEOBACKEND_QUERYCONFIGURATION = | 72 public static final String XPATH_GEOBACKEND_QUERYCONFIGURATION = |
169 */ | 174 */ |
170 public Object createArtifactContext(Document config) { | 175 public Object createArtifactContext(Document config) { |
171 GNVArtifactContext returnValue = null; | 176 GNVArtifactContext returnValue = null; |
172 try { | 177 try { |
173 log.debug("GNVArtifactContextFactory.createArtifactContext"); | 178 log.debug("GNVArtifactContextFactory.createArtifactContext"); |
174 log.info("Initialisation of the Geo-BackendConnectionPool"); | 179 |
175 String backendConfigurationFile = Config.getStringXPath(config, | 180 configureGeoBackend(config); |
176 XPATH_GEOBACKEND_CONFIGURATION); | |
177 backendConfigurationFile = Config.replaceConfigDir( | |
178 backendConfigurationFile); | |
179 | |
180 Properties properties = getProperties(backendConfigurationFile); | |
181 ConnectionPoolFactory cpf = ConnectionPoolFactory.getInstance(); | |
182 cpf.initializeConnectionPool(properties); | |
183 | |
184 log.info("Initialisation of the QueryContainer"); | |
185 String queryConfigurationFile = Config.getStringXPath(config, | |
186 XPATH_GEOBACKEND_QUERYCONFIGURATION); | |
187 queryConfigurationFile = Config.replaceConfigDir( | |
188 queryConfigurationFile); | |
189 | |
190 Properties queryProperties = getProperties(queryConfigurationFile); | |
191 QueryContainerFactory qcf = QueryContainerFactory.getInstance(); | |
192 qcf.initializeQueryContainer(queryProperties); | |
193 | 181 |
194 configureCache(config); | 182 configureCache(config); |
195 | 183 |
196 returnValue = new GNVArtifactContext(config); | 184 returnValue = new GNVArtifactContext(config); |
197 | 185 |
213 log.error(e, e); | 201 log.error(e, e); |
214 } catch (QueryContainerException e) { | 202 } catch (QueryContainerException e) { |
215 log.error(e, e); | 203 log.error(e, e); |
216 } | 204 } |
217 return returnValue; | 205 return returnValue; |
206 } | |
207 | |
208 protected void configureGeoBackend(Document config) | |
209 throws FileNotFoundException, IOException, QueryContainerException | |
210 { | |
211 Configuration geoConf = Configuration.getInstance(); | |
212 String configDir = Config.getConfigDirectory().getAbsolutePath(); | |
213 geoConf.init(config, configDir, Config.CONFIG_DIR_PLACEHOLDER); | |
218 } | 214 } |
219 | 215 |
220 /** | 216 /** |
221 * | 217 * |
222 * @param config | 218 * @param config |