public virtual PipelineWrapper AddDebugProcessor(string group, string name, int index) { //Create a core processor var config = BaseFactory.GetConfigNode("pipelines/pipelineDebug/processor"); var coreProcessor = new CoreProcessor(); coreProcessor.Initialize(config); //Initialize it so we can add settings var debugProcessor = ReflectionService.InitializeDebugProcessor(coreProcessor); debugProcessor.PipelineGroup = group; debugProcessor.PipelineName = name; debugProcessor.PipelineIndex = index; debugProcessor.Taxonomies = SettingsService.DefaultTaxonomies; //Add it to our simple pipeline var pipeline = GetPipeline(group, name); var processorReference = new ProcessorWrapper(coreProcessor, pipeline, debugProcessor); pipeline.Processors.Insert(index, processorReference); ProcessorMap.Add(debugProcessor.Id, processorReference); //Set the result as the active processors ReflectionService.SetProcessors(pipeline.CorePipeline, pipeline.Processors.Select(wrapper => wrapper.CoreProcessor).ToArray()); RefreshProcessorIndexes(pipeline); return(pipeline); }
/// <summary> /// Processes this instance. /// </summary> /// <param name="pipelineArgs">The pipeline args.</param> public void Process(PipelineArgs pipelineArgs) { CoreProcessor processor = new CoreProcessor(); bool isFakeProcessor = string.IsNullOrEmpty(this.processorDefinition.Type) && string.IsNullOrEmpty(this.processorDefinition.TypeReference); if (!isFakeProcessor) { XmlDocument medium = new XmlDocument(); using (XmlReader reader = this.processorDefinition.ProcessorElement.CreateReader()) { medium.Load(reader); } processor.Initialize(medium.DocumentElement); } EventHandler<RuntimeProcessorCallEventArgs> beforePipelineCalled = BeforePipelineProcessorCalled; if (beforePipelineCalled != null) { beforePipelineCalled(this, new RuntimeProcessorCallEventArgs(this.pipelineName, this.pipelineDomain, this.processorIndex, this.processorDefinition, pipelineArgs)); } if (!isFakeProcessor) { processor.Invoke(new object[] { pipelineArgs }); } EventHandler<RuntimeProcessorCallEventArgs> afterPipelineCalled = AfterPipelineProcessorCalled; if (afterPipelineCalled != null) { afterPipelineCalled(this, new RuntimeProcessorCallEventArgs(this.pipelineName, this.pipelineDomain, this.processorIndex, this.processorDefinition, pipelineArgs)); } }
/// <summary> /// Processes this instance. /// </summary> /// <param name="pipelineArgs">The pipeline args.</param> public void Process(PipelineArgs pipelineArgs) { CoreProcessor processor = new CoreProcessor(); bool isFakeProcessor = string.IsNullOrEmpty(this.processorDefinition.Type) && string.IsNullOrEmpty(this.processorDefinition.TypeReference); if (!isFakeProcessor) { XmlDocument medium = new XmlDocument(); using (XmlReader reader = this.processorDefinition.ProcessorElement.CreateReader()) { medium.Load(reader); } processor.Initialize(medium.DocumentElement); } EventHandler <RuntimeProcessorCallEventArgs> beforePipelineCalled = BeforePipelineProcessorCalled; if (beforePipelineCalled != null) { beforePipelineCalled(this, new RuntimeProcessorCallEventArgs(this.pipelineName, this.pipelineDomain, this.processorIndex, this.processorDefinition, pipelineArgs)); } if (!isFakeProcessor) { processor.Invoke(new object[] { pipelineArgs }); } EventHandler <RuntimeProcessorCallEventArgs> afterPipelineCalled = AfterPipelineProcessorCalled; if (afterPipelineCalled != null) { afterPipelineCalled(this, new RuntimeProcessorCallEventArgs(this.pipelineName, this.pipelineDomain, this.processorIndex, this.processorDefinition, pipelineArgs)); } }