public List<Processor> getProcessors(String type) { List<Processor> res = new ArrayList<>(); Collection<ProcessorDescriptor> all = processors.values(); for (Processor proc : all) { if (type == null || proc.getTypes().contains(type)) { res.add(proc); } } Collections.sort(res); return res; }
public Map<String, ResourcePreProcessor> providePreProcessors() { Map<String, ResourcePreProcessor> map = new HashMap<String, ResourcePreProcessor>(); // extend with runtime service processors registration List<? extends Processor> processors = resolveProcessors(PRE_TYPE); for (Processor p : processors) { Class<?> klass = p.getTargetProcessorClass(); if (klass == null) { // assume alias references a native wro processor continue; } ResourcePreProcessor proc; try { proc = (ResourcePreProcessor) klass.newInstance(); map.put(p.getName(), proc); } catch (ReflectiveOperationException e) { log.error("Caught error when instanciating resource pre processor", e); continue; } } return map; }
protected List<String> resolveProcessorNames(String type) { List<String> res = new ArrayList<String>(); List<Processor> procs = NuxeoConfigurableProvider.resolveProcessors(type); for (Processor proc : procs) { res.add(proc.getName()); } return res; }
@Override public Map<String, ResourcePostProcessor> providePostProcessors() { Map<String, ResourcePostProcessor> map = new HashMap<String, ResourcePostProcessor>(); // extend with runtime service processors registration List<Processor> processors = resolveProcessors(POST_TYPE); for (Processor p : processors) { Class<?> klass = p.getTargetProcessorClass(); if (klass == null) { // assume alias references a native wro processor continue; } ResourcePostProcessor proc; try { proc = (ResourcePostProcessor) klass.newInstance(); map.put(p.getName(), proc); } catch (ReflectiveOperationException e) { log.error("Caught error when instanciating resource post processor", e); continue; } } return map; }