comparison artifacts/src/main/java/org/dive4elements/river/artifacts/context/RiverContextFactory.java @ 7226:8ab618dda850

Made lookup for generators a class of its own. First step to use it as a compat filter for facets, too.
author Sascha L. Teichmann <teichmann@intevation.de>
date Wed, 02 Oct 2013 18:41:12 +0200
parents 24f153ad1f40
children 744df5a03337
comparison
equal deleted inserted replaced
7225:fa66845c1977 7226:8ab618dda850
37 37
38 import org.dive4elements.river.artifacts.states.StateFactory; 38 import org.dive4elements.river.artifacts.states.StateFactory;
39 39
40 import org.dive4elements.river.artifacts.transitions.TransitionFactory; 40 import org.dive4elements.river.artifacts.transitions.TransitionFactory;
41 41
42 import org.dive4elements.river.exports.GeneratorLookup;
42 import org.dive4elements.river.exports.OutGenerator; 43 import org.dive4elements.river.exports.OutGenerator;
43 44
44 import org.dive4elements.river.themes.Theme; 45 import org.dive4elements.river.themes.Theme;
45 import org.dive4elements.river.themes.ThemeFactory; 46 import org.dive4elements.river.themes.ThemeFactory;
46 import org.dive4elements.river.themes.ThemeGroup; 47 import org.dive4elements.river.themes.ThemeGroup;
47 import org.dive4elements.river.themes.ThemeMapping; 48 import org.dive4elements.river.themes.ThemeMapping;
48
49 import org.dive4elements.river.utils.Pair;
50 49
51 import org.w3c.dom.Document; 50 import org.w3c.dom.Document;
52 import org.w3c.dom.Element; 51 import org.w3c.dom.Element;
53 import org.w3c.dom.Node; 52 import org.w3c.dom.Node;
54 import org.w3c.dom.NodeList; 53 import org.w3c.dom.NodeList;
333 return; 332 return;
334 } 333 }
335 334
336 logger.info("Found " + num + " configured output generators."); 335 logger.info("Found " + num + " configured output generators.");
337 336
338 Map<String, Pair<Class<OutGenerator>, Object>> generators = 337 GeneratorLookup generators = new GeneratorLookup();
339 new HashMap<String, Pair<Class<OutGenerator>, Object>>();
340 338
341 int idx = 0; 339 int idx = 0;
342 340
343 for (int i = 0; i < num; i++) { 341 for (int i = 0; i < num; i++) {
344 Element item = (Element)outGenerators.item(i); 342 Element item = (Element)outGenerators.item(i);
379 catch (IllegalAccessException iae) { 377 catch (IllegalAccessException iae) {
380 logger.error(iae); 378 logger.error(iae);
381 } 379 }
382 } 380 }
383 381
384 Pair<Class<OutGenerator>, Object> pair =
385 new Pair<Class<OutGenerator>, Object>(generatorClass, cfg);
386
387 for (String key: names.split("[\\s,]")) { 382 for (String key: names.split("[\\s,]")) {
388 if (!(key = key.trim()).isEmpty()) { 383 if (!(key = key.trim()).isEmpty()) {
389 generators.put(key, pair); 384 generators.putGenerator(key, generatorClass, cfg);
390 idx++; 385 idx++;
391 } 386 }
392 } 387 }
393 } 388 }
394 389

http://dive4elements.wald.intevation.org