Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/exports/GeneratorLookup.java @ 7227:744df5a03337
Use diagram configuration and there processors to define compatible facets in loaded data.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Wed, 02 Oct 2013 19:24:43 +0200 |
parents | 8ab618dda850 |
children | 3f141505077b |
comparison
equal
deleted
inserted
replaced
7226:8ab618dda850 | 7227:744df5a03337 |
---|---|
9 package org.dive4elements.river.exports; | 9 package org.dive4elements.river.exports; |
10 | 10 |
11 import java.util.HashMap; | 11 import java.util.HashMap; |
12 import java.util.Map; | 12 import java.util.Map; |
13 | 13 |
14 import org.apache.log4j.Logger; | |
14 import org.dive4elements.river.utils.Pair; | 15 import org.dive4elements.river.utils.Pair; |
16 import org.dive4elements.river.artifacts.D4EArtifact.FacetFilter; | |
15 | 17 |
16 public class GeneratorLookup | 18 public class GeneratorLookup |
19 implements FacetFilter | |
17 { | 20 { |
21 private static Logger log = Logger.getLogger(GeneratorLookup.class); | |
22 | |
18 private Map<String, Pair<Class<OutGenerator>, Object>> generators; | 23 private Map<String, Pair<Class<OutGenerator>, Object>> generators; |
19 | 24 |
20 public GeneratorLookup() { | 25 public GeneratorLookup() { |
21 generators = new HashMap<String, Pair<Class<OutGenerator>, Object>>(); | 26 generators = new HashMap<String, Pair<Class<OutGenerator>, Object>>(); |
22 } | 27 } |
32 } | 37 } |
33 | 38 |
34 public Pair<Class<OutGenerator>, Object> getGenerator(String outName) { | 39 public Pair<Class<OutGenerator>, Object> getGenerator(String outName) { |
35 return generators.get(outName); | 40 return generators.get(outName); |
36 } | 41 } |
42 | |
43 @Override | |
44 public boolean accept(String outName, String facetName) { | |
45 | |
46 Pair<Class<OutGenerator>, Object> pair = generators.get(outName); | |
47 if (pair == null) { | |
48 return true; | |
49 } | |
50 | |
51 try { | |
52 Class<OutGenerator> clazz = pair.getA(); | |
53 OutGenerator generator = clazz.newInstance(); | |
54 | |
55 return generator instanceof FacetFilter | |
56 ? ((FacetFilter)generator).accept(outName, facetName) | |
57 : true; | |
58 } | |
59 catch (InstantiationException ie) { | |
60 log.error(ie, ie); | |
61 } | |
62 catch (IllegalAccessException iae) { | |
63 log.error(iae, iae); | |
64 } | |
65 return true; | |
66 } | |
37 } | 67 } |
38 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 68 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |