Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/context/RiverContext.java @ 8219:9667900536b6
Added context injector to generators.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Mon, 08 Sep 2014 13:17:49 +0200 |
parents | e4606eae8ea5 |
children | 1d3d61c8f596 |
comparison
equal
deleted
inserted
replaced
8218:ed8c1a0b4cfb | 8219:9667900536b6 |
---|---|
14 | 14 |
15 import org.dive4elements.artifactdatabase.DefaultArtifactContext; | 15 import org.dive4elements.artifactdatabase.DefaultArtifactContext; |
16 import org.dive4elements.artifacts.CallContext; | 16 import org.dive4elements.artifacts.CallContext; |
17 import org.dive4elements.river.exports.GeneratorLookup; | 17 import org.dive4elements.river.exports.GeneratorLookup; |
18 import org.dive4elements.river.exports.OutGenerator; | 18 import org.dive4elements.river.exports.OutGenerator; |
19 import org.dive4elements.river.utils.Pair; | |
20 | 19 |
21 | 20 |
22 /** | 21 /** |
23 * This class is used to store application wide information in a global context. | 22 * This class is used to store application wide information in a global context. |
24 * | 23 * |
107 | 106 |
108 if (generators == null) { | 107 if (generators == null) { |
109 return null; | 108 return null; |
110 } | 109 } |
111 | 110 |
112 Pair<Class<OutGenerator>, Object> pair = generators.getGenerator(name); | 111 GeneratorLookup.Item item = generators.getGenerator(name); |
113 | 112 |
114 if (pair == null) { | 113 if (item == null) { |
115 log.warn("No generator class found for " + name); | 114 log.warn("No generator class found for " + name); |
116 return null; | 115 return null; |
117 } | 116 } |
118 | 117 |
119 try { | 118 try { |
120 Class<OutGenerator> clazz = pair.getA(); | 119 Class<OutGenerator> clazz = item.getGenerator(); |
121 OutGenerator generator = clazz.newInstance(); | 120 OutGenerator generator = clazz.newInstance(); |
122 generator.setup(pair.getB()); | 121 generator.setup(item.getContext()); |
123 return generator; | 122 return generator; |
124 } | 123 } |
125 catch (InstantiationException ie) { | 124 catch (InstantiationException ie) { |
126 log.error(ie, ie); | 125 log.error(ie, ie); |
127 } | 126 } |