Exemple #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;
        }
        /// <summary>
        /// Clears the cache.
        /// </summary>
        private void ClearCache()
        {
            Factory.Reset();
            CorePipelineFactory.ClearCache();

            this.configurationSwitcher.RestoreWorkingConfiguration();
        }
Exemple #3
0
        private string SerializeFieldValue(string value, Item item, Guid fieldId, out FieldSerializationType serializationType)
        {
            serializationType = FieldSerializationType.Default;

            var args = new FieldSerializationPipelineArgs()
            {
                SerializationManager = this,
                Item        = item,
                FieldId     = fieldId,
                ValueNormal = value,
            };

            Field field = item.Fields[ID.Parse(fieldId)];

            if (field != null)
            {
                args.FieldTypeKey = field.TypeKey;
            }

            const string pipelineName = "serialization.serializefieldvalue";

            if (CorePipelineFactory.GetPipeline(pipelineName, string.Empty) != null)
            {
                CorePipeline.Run(pipelineName, args);
                serializationType = args.FieldSerializationType;
            }
            return(args.ValueSerialized ?? value);
        }
        public void Process(GetTranslationArgs args)
        {
            if (!ShouldGenerateEntry(args))
            {
                return;
            }

            if (args.ContentDatabase.Name != Constants.MasterDb)
            {
                string pipelineName = "getTranslation";
                string result       = null;
                if (CorePipelineFactory.GetPipeline(pipelineName, string.Empty) != null)
                {
                    GetTranslationArgs masterArgs = new GetTranslationArgs
                    {
                        Language        = args.Language,
                        Key             = args.Key,
                        Options         = args.Options,
                        DomainName      = args.DomainName,
                        Parameters      = args.Parameters,
                        ContentDatabase = Database.GetDatabase(Constants.MasterDb)
                    };
                    CorePipeline.Run(pipelineName, masterArgs, false);
                }
                args.Result = args.Key;
                return;
            }

            GenerateEntry(args);
        }
Exemple #5
0
        public override CommandState QueryState(CommandContext context)
        {
            Assert.ArgumentNotNull(context, "context");
            if (context.Items.Length != 1)
            {
                return(CommandState.Disabled);
            }

            if (!Settings.Analytics.Enabled)
            {
                return(CommandState.Hidden);
            }

            if (CorePipelineFactory.GetPipeline("getItemPersonalizationVisibility", string.Empty) == null)
            {
                return(base.QueryState(context));
            }

            var args = new GetItemPersonalizationVisibilityArgs(true, context.Items[0]);

            using (new LongRunningOperationWatcher(200, "getItemPersonalizationVisibility", new string[0]))
            {
                CorePipeline.Run("getItemPersonalizationVisibility", args);
            }

            if (!args.Visible)
            {
                return(CommandState.Hidden);
            }

            return(CommandState.Enabled);
        }
Exemple #6
0
 public void Process(PipelineArgs args)
 {
     Assert.ArgumentNotNull(args, "args");
     Task.Run(() =>
     {
         try
         {
             if (DisableItemGeneration?.ToLower() != "true")
             {
                 EnsureDesktopButton();
             }
             if (Factory.GetDatabase("master", false) != null)
             {
                 ScsMainRegistration maintmp = new ScsMainRegistration("", "", "");
                 _registration.RegisterSidekick(maintmp);
                 _registration.RegisterSidekick(maintmp.Controller, maintmp);
                 var pipeline = CorePipelineFactory.GetPipeline("scsRegister", string.Empty);
                 pipeline.Run(new PipelineArgs());
                 RegisterRoutes("scs");
             }
         }catch (Exception e)
         {
             Log.Error("Problem initializing Sidekick.", e, this);
         }
     });
 }
 public void ShouldGetNullIfNoPipelineConfigured()
 {
     // arrange
     using (new Db())
     {
         // act & assert
         CorePipelineFactory.GetPipeline(PipelineName, string.Empty).Should().BeNull();
     }
 }
 public void Process(PipelineArgs args)
 {
     Assert.ArgumentNotNull(args, "args");
     EnsureDesktopButton();
     if (Factory.GetDatabase("master", false) != null)
     {
         RegisterRoutes("scs");
         var pipeline = CorePipelineFactory.GetPipeline("scsRegister", string.Empty);
         pipeline.Run(new PipelineArgs());
     }
 }
Exemple #9
0
        public static void Run(CreateResolverPipelineArgs args)
        {
            if (args == null)
            {
                throw new ArgumentNullException(nameof(args));
            }

            var pipeline = CorePipelineFactory.GetPipeline("createResolver", Constants.GlassMapperPipelineGroupName);

            pipeline.Run(args);
        }
        public void ShouldGetPipelineByName()
        {
            // arrange
            using (var db = new Db())
            {
                db.PipelineWatcher.Expects(PipelineName);

                // act & assert
                CorePipelineFactory.GetPipeline(PipelineName, string.Empty).Should().NotBeNull();
            }
        }
        public virtual ITokenCollection <IToken> GetCollectionFromItem(Item item)
        {
            var args = new GetTokenCollectionTypeArgs()
            {
                CollectionItem = item
            };
            var pipeline = CorePipelineFactory.GetPipeline("getTokenCollection", string.Empty);

            pipeline.Run(args);
            return(args.Collection);
        }
Exemple #12
0
        public static void Run(PostLoadPipelineArgs args)
        {
            if (args == null)
            {
                throw new ArgumentNullException(nameof(args));
            }

            var pipeline = CorePipelineFactory.GetPipeline(PipelineName, string.Empty);

            pipeline.Run(args);
        }
 public void Process(PipelineArgs args)
 {
     Assert.ArgumentNotNull(args, "args");
     EnsureDesktopButton();
     if (Factory.GetDatabase("master", false) != null)
     {
         ScsMainRegistration maintmp = new ScsMainRegistration("", "", "");
         _registration.RegisterSidekick(maintmp);
         _registration.RegisterSidekick(maintmp.Controller, maintmp);
         var pipeline = CorePipelineFactory.GetPipeline("scsRegister", string.Empty);
         pipeline.Run(new PipelineArgs());
         RegisterRoutes("scs");
     }
 }
        protected virtual void Dispose(bool disposing)
        {
            if (this.disposed)
            {
                return;
            }

            if (!disposing)
            {
                return;
            }

            PipelineWatcherProcessor.PipelineRun -= this.PipelineRun;
            CorePipelineFactory.ClearCache();

            this.disposed = true;
        }
Exemple #15
0
        private string DeserializeFieldValue(string value, Item item, Guid fieldId, FieldSerializationType serializationType)
        {
            var args = new FieldSerializationPipelineArgs()
            {
                SerializationManager = this,
                Item                   = item,
                FieldId                = fieldId,
                ValueSerialized        = value,
                FieldSerializationType = serializationType
            };
            const string pipelineName = "serialization.deserializefieldvalue";

            if (CorePipelineFactory.GetPipeline(pipelineName, string.Empty) != null)
            {
                CorePipeline.Run(pipelineName, args);
            }
            return(args.ValueNormal ?? value);
        }
        public ActionResult Execute(ExecuteModel model)
        {
            var collectors         = _scanner.ScanForImplementsInterface <IPropertyCollector>().ToDictionary(x => x.Processor);
            var propertiesWrapper  = _registration.GetScsRegistration <ScsSitecoreResourceManagerRegistration>().GetPropertiesWrapper(model.Template);
            var propertyDictionary = model.Properties.ToDictionary(x => x.Id);

            foreach (var prop in model.Properties)
            {
                if (propertyDictionary[prop.Id].Value == null)
                {
                    continue;
                }
                if (!string.IsNullOrWhiteSpace(prop.Processor) && !collectors[prop.Processor].Validate(prop.Value))
                {
                    return(Content(prop.Name));
                }
                propertyDictionary[prop.Id].Value = ReplaceAllTokens.ReplaceTokens(propertyDictionary[prop.Id].Value, propertyDictionary.ContainsKey, x => propertyDictionary[x].Value);
                if (propertiesWrapper.Targets[model.Target].ContainsKey(prop.Id) && propertiesWrapper.Targets[model.Target][prop.Id] == "???")
                {
                    _savedProps[$"{model.Target}.{prop.Id}", model.Template] = prop.Value;
                }
                if (propertiesWrapper.Properties.ContainsKey(prop.Id) && propertiesWrapper.Properties[prop.Id].Remember)
                {
                    _savedProps[$"{model.Target}.{prop.Id}", model.Template] = prop.Value;
                }
            }
            var args     = new SitecoreResourceManagerArgs(propertyDictionary, propertiesWrapper);
            var pipeline = CorePipelineFactory.GetPipeline("propertyProcessorPreCompiled", string.Empty);

            pipeline.Run(args);
            foreach (string compilePropertyKey in propertiesWrapper.CompiledProperties.Keys)
            {
                args[compilePropertyKey] = ReplaceAllTokens.ReplaceTokens(propertiesWrapper.CompiledProperties[compilePropertyKey], propertyDictionary.ContainsKey, x => propertyDictionary[x].Value);
            }
            pipeline = CorePipelineFactory.GetPipeline("propertyProcessorPostCompiled", string.Empty);
            pipeline.Run(args);
            pipeline = CorePipelineFactory.GetPipeline("SitecoreResourceManager", string.Empty);
            pipeline.Run(args);
            return(ScsJson(args.Output));
        }
 public virtual void Process(ReleaseDbArgs args)
 {
     args.Db.PipelineWatcher.Dispose();
     CorePipelineFactory.ClearCache();
 }