use of org.apache.sling.rewriter.ProcessingContext in project sling by apache.
the class RewriterResponse method getProcessor.
/**
* Search the first matching processor
*/
private Processor getProcessor() {
final ProcessingContext processorContext = new ServletProcessingContext(this.request, this, this.getSlingResponse(), this.contentType);
Processor found = null;
final List<ProcessorConfiguration> processorConfigs = this.processorManager.getProcessorConfigurations();
final Iterator<ProcessorConfiguration> i = processorConfigs.iterator();
while (found == null && i.hasNext()) {
final ProcessorConfiguration config = i.next();
if (config.match(processorContext)) {
try {
found = this.processorManager.getProcessor(config, processorContext);
this.request.getRequestProgressTracker().log("Found processor for post processing {0}", config);
} catch (final SlingException se) {
// already processing an error, we ignore this!
if (processorContext.getRequest().getAttribute("javax.servlet.error.status_code") != null) {
this.request.getRequestProgressTracker().log("Ignoring found processor for post processing {0}" + " as an error occured ({1}) during setup while processing another error.", config, se);
} else {
throw se;
}
}
}
}
return found;
}
Aggregations