Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/context/RiverContextFactory.java @ 8254:c87c87544cc6
Made call context injectors a list of comma separated classes.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Wed, 10 Sep 2014 12:42:39 +0200 |
parents | 9667900536b6 |
children | c57b0400ac98 |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/context/RiverContextFactory.java Wed Sep 10 10:02:46 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/context/RiverContextFactory.java Wed Sep 10 12:42:39 2014 +0200 @@ -352,10 +352,10 @@ for (int i = 0; i < num; i++) { Element item = (Element)outGenerators.item(i); - String names = item.getAttribute("names").trim(); - String clazz = item.getAttribute("class").trim(); - String converter = item.getAttribute("converter").trim(); - String injector = item.getAttribute("injector").trim(); + String names = item.getAttribute("names").trim(); + String clazz = item.getAttribute("class").trim(); + String converter = item.getAttribute("converter").trim(); + String injectors = item.getAttribute("injectors").trim(); if (names.isEmpty() || clazz.isEmpty()) { continue; @@ -391,28 +391,32 @@ } } - ContextInjector ci = null; + List<ContextInjector> cis = null; - if (!injector.isEmpty()) { - try { - ci = (ContextInjector)Class.forName(injector) - .newInstance(); - ci.setup(item); - } - catch (ClassNotFoundException cnfe) { - log.error(cnfe, cnfe); - } - catch (InstantiationException ie) { - log.error(ie); - } - catch (IllegalAccessException iae) { - log.error(iae); + if (!injectors.isEmpty()) { + cis = new ArrayList<ContextInjector>(); + for (String injector: injectors.split("[\\s,]+")) { + try { + ContextInjector ci = (ContextInjector)Class.forName(injector) + .newInstance(); + ci.setup(item); + cis.add(ci); + } + catch (ClassNotFoundException cnfe) { + log.error(cnfe, cnfe); + } + catch (InstantiationException ie) { + log.error(ie); + } + catch (IllegalAccessException iae) { + log.error(iae); + } } } - for (String key: names.split("[\\s,]")) { + for (String key: names.split("[\\s,]+")) { if (!(key = key.trim()).isEmpty()) { - generators.putGenerator(key, generatorClass, cfg, ci); + generators.putGenerator(key, generatorClass, cfg, cis); idx++; } }