in src/main/java/org/apache/sling/rewriter/impl/ProcessorManagerImpl.java [379:405]
public Processor getProcessor(ProcessorConfiguration configuration,
ProcessingContext context) {
if ( configuration == null ) {
throw new IllegalArgumentException("Processor configuration is missing.");
}
if ( context == null ) {
throw new IllegalArgumentException("Processor context is missing.");
}
boolean isPipeline = false;
if ( configuration instanceof ProcessorConfigurationImpl ) {
isPipeline = ((ProcessorConfigurationImpl)configuration).isPipeline();
} else {
isPipeline = configuration instanceof PipelineConfiguration;
}
try {
if ( isPipeline ) {
final PipelineImpl pipeline = new PipelineImpl(this.factoryCache);
pipeline.init(context, configuration);
return pipeline;
}
final Processor processor = new ProcessorWrapper(configuration, this.factoryCache);
processor.init(context, configuration);
return processor;
} catch (final IOException ioe) {
throw new SlingException("Unable to setup processor: " + ioe.getMessage(), ioe);
}
}