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

http://dive4elements.wald.intevation.org