/**
* Create table of ContentTransformers configured in config.
* @param config
*/
public static ConcurrentHashMap<String, ContentPostProcesser> getProcessorTable(GenericConfiguration config) {
GenericConfiguration tconf = null;
/** Needn't be configured, if not set, dont use it */
try {
tconf = (GenericConfiguration) config.get(FILTERCHAIN_KEY);
} catch (NullPointerException ex) {
return null;
}
if (tconf != null) {
ConcurrentHashMap<String, GenericConfiguration> confs = tconf.getSubConfigs();
if (confs != null && confs.size() > 0) {
ConcurrentHashMap<String, ContentPostProcesser> ret
= new ConcurrentHashMap<String, ContentPostProcesser>(confs.size());
int i = 0;
for (Map.Entry<String, GenericConfiguration> e : confs.entrySet()) {
GenericConfiguration c = e.getValue();
String filterchainClass = (String) c.get(FILTERCHAIN_CLASS_KEY);
try {
ContentPostProcesser t = null;
t = (ContentPostProcesser) Class.forName(filterchainClass)
.getConstructor(new Class[] { GenericConfiguration.class }).newInstance(c);