Пример #1
0
        protected virtual void InitializePipeline(PipelineWrapper pipeline)
        {
            pipeline.CorePipeline = CorePipelineFactory.GetPipeline(pipeline.Name, pipeline.Group);

            var processors = ReflectionService.GetProcessors(pipeline.CorePipeline);

            var argTypes = GetAllProcessorArgTypes(pipeline.CorePipeline);

            if (argTypes.Count > 1)
            {
                for (var i = 0; i < argTypes.Count; i++)
                {
                    pipeline.DiscoveryRoots.Add(new DiscoveryItem($"{Constants.ArgsName}[{i}]", argTypes[i]));
                }
            }
            else
            {
                pipeline.DiscoveryRoots.Add(new DiscoveryItem(Constants.ArgsName, argTypes.First()));
            }

            pipeline.DiscoveryRoots.Add(new DiscoveryItem(Constants.ContextName, typeof(Sitecore.Context)));
            foreach (var processor in processors)
            {
                pipeline.Processors.Add(new ProcessorWrapper(processor, pipeline));
            }
            pipeline.Initialized = true;
        }
Пример #2
0
 protected virtual void RefreshProcessorIndexes(PipelineWrapper pipeline)
 {
     for (var i = 0; i < pipeline.Processors.Count; i++)
     {
         var processor = pipeline.Processors[i];
         if (processor.DebugProcessor != null)
         {
             processor.DebugProcessor.PipelineIndex = i;
         }
     }
 }
Пример #3
0
 public ProcessorWrapper(CoreProcessor coreProcessor, PipelineWrapper pipeline, DebugProcessor debugProcessor = null)
 {
     CoreProcessor  = coreProcessor;
     Pipeline       = pipeline;
     DebugProcessor = debugProcessor;
 }