Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/exports/GeneratorLookup.java @ 7228:3f141505077b
Global facet filtering with bound to out: The DiagramAttributes implements the FacetFilter and not the Generators.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Wed, 02 Oct 2013 23:11:59 +0200 |
parents | 744df5a03337 |
children | 9667900536b6 |
comparison
equal
deleted
inserted
replaced
7227:744df5a03337 | 7228:3f141505077b |
---|---|
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; | |
15 import org.dive4elements.river.utils.Pair; | 14 import org.dive4elements.river.utils.Pair; |
16 import org.dive4elements.river.artifacts.D4EArtifact.FacetFilter; | 15 import org.dive4elements.river.artifacts.D4EArtifact.FacetFilter; |
17 | 16 |
18 public class GeneratorLookup | 17 public class GeneratorLookup |
19 implements FacetFilter | 18 implements FacetFilter |
20 { | 19 { |
21 private static Logger log = Logger.getLogger(GeneratorLookup.class); | |
22 | |
23 private Map<String, Pair<Class<OutGenerator>, Object>> generators; | 20 private Map<String, Pair<Class<OutGenerator>, Object>> generators; |
24 | 21 |
25 public GeneratorLookup() { | 22 public GeneratorLookup() { |
26 generators = new HashMap<String, Pair<Class<OutGenerator>, Object>>(); | 23 generators = new HashMap<String, Pair<Class<OutGenerator>, Object>>(); |
27 } | 24 } |
46 Pair<Class<OutGenerator>, Object> pair = generators.get(outName); | 43 Pair<Class<OutGenerator>, Object> pair = generators.get(outName); |
47 if (pair == null) { | 44 if (pair == null) { |
48 return true; | 45 return true; |
49 } | 46 } |
50 | 47 |
51 try { | 48 Object ff = pair.getB(); |
52 Class<OutGenerator> clazz = pair.getA(); | 49 return ff instanceof FacetFilter |
53 OutGenerator generator = clazz.newInstance(); | 50 ? ((FacetFilter)ff).accept(outName, facetName) |
54 | 51 : true; |
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 } | 52 } |
67 } | 53 } |
68 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 54 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |