public TreePublishHandler(IRequiredPublishFieldsResolver requiredPublishFieldsResolver, IPublisherOperationService publisherOpsService, IDataStoreFactory dataStoreFactory, IRepositoryFactory<IMediaRepository> mediaRepositoryFactory, IRepositoryFactory<IItemIndexRepository> targetIndexRepositoryFactory, IRepositoryFactory<IItemRepository> itemRepositoryFactory, IRepositoryFactory<IItemRelationshipRepository> itemRelationshipRepoFactory, IRepositoryFactory<IItemNodeRepository> itemNodeRepositoryFactory, IRepositoryFactory<ITemplateGraphRepository> templateGraphRepositoryFactory, IRepositoryFactory<IIndexableItemRepository> indexablePublishTargetRepositoryFactory, IRepositoryFactory<IWorkflowStateRepository> workflowRepositoryFactory, IRepositoryFactory<ITestableContentRepository> testableContentRepositoryFactory, IRepositoryFactory<IManifestRepository> manifestRepositoryFactory, IRepositoryFactory<IPublishExclusionsRepository> publishExclusionsRepositoryFactory, IPromotionCoordinator promoterCoordinator, IEventRegistry eventRegistry, ILoggerFactory loggerFactory, IApplicationLifetime applicationLifetime, IConfiguration config) : this(requiredPublishFieldsResolver, publisherOpsService, dataStoreFactory, mediaRepositoryFactory, targetIndexRepositoryFactory, itemRepositoryFactory, itemRelationshipRepoFactory, itemNodeRepositoryFactory, templateGraphRepositoryFactory, indexablePublishTargetRepositoryFactory, workflowRepositoryFactory, testableContentRepositoryFactory, manifestRepositoryFactory, publishExclusionsRepositoryFactory, promoterCoordinator, eventRegistry, loggerFactory, applicationLifetime, SitecoreConfigurationExtensions.As<PublishJobHandlerOptions>(config)) { }
/// <summary> /// Creates a new instance of Incremental Publish Handler /// </summary> public IncrementalPublishHandler(IRequiredPublishFieldsResolver requiredPublishFieldsResolver, IPublisherOperationService publisherOpsService, IDataStoreFactory dataStoreFactory, IRepositoryFactory <IMediaRepository> mediaRepositoryFactory, IRepositoryFactory <IItemIndexRepository> targetIndexRepositoryFactory, IRepositoryFactory <IItemRepository> itemRepositoryFactory, IRepositoryFactory <IItemRelationshipRepository> itemRelationshipRepoFactory, IRepositoryFactory <IItemNodeRepository> itemNodeRepositoryFactory, IRepositoryFactory <ITemplateGraphRepository> templateGraphRepositoryFactory, IRepositoryFactory <IIndexableItemRepository> indexablePublishTargetRepositoryFactory, IRepositoryFactory <IWorkflowStateRepository> workflowRepositoryFactory, IRepositoryFactory <ITestableContentRepository> testableContentRepositoryFactory, IRepositoryFactory <IManifestRepository> manifestRepositoryFactory, IRepositoryFactory <IPublishExclusionsRepository> publishExclusionsRepositoryFactory, IPromotionCoordinator promoterCoordinator, IEventRegistry eventRegistry, ILoggerFactory loggerFactory, IApplicationLifetime applicationLifetime, IConfiguration config) : this(requiredPublishFieldsResolver, publisherOpsService, dataStoreFactory, mediaRepositoryFactory, targetIndexRepositoryFactory, itemRepositoryFactory, itemRelationshipRepoFactory, itemNodeRepositoryFactory, templateGraphRepositoryFactory, indexablePublishTargetRepositoryFactory, workflowRepositoryFactory, testableContentRepositoryFactory, manifestRepositoryFactory, publishExclusionsRepositoryFactory, promoterCoordinator, eventRegistry, loggerFactory, applicationLifetime, SitecoreConfigurationExtensions.As <PublishJobHandlerOptions>(config)) { }
public TreePublishHandler(IRequiredPublishFieldsResolver requiredPublishFieldsResolver, IPublisherOperationService publisherOpsService, IDataStoreFactory dataStoreFactory, IRepositoryFactory <IMediaRepository> mediaRepositoryFactory, IRepositoryFactory <IItemIndexRepository> targetIndexRepositoryFactory, IRepositoryFactory <IItemRepository> itemRepositoryFactory, IRepositoryFactory <IItemRelationshipRepository> itemRelationshipRepoFactory, IRepositoryFactory <IItemNodeRepository> itemNodeRepositoryFactory, IRepositoryFactory <ITemplateGraphRepository> templateGraphRepositoryFactory, IRepositoryFactory <IIndexableItemRepository> indexablePublishTargetRepositoryFactory, IRepositoryFactory <IWorkflowStateRepository> workflowRepositoryFactory, IRepositoryFactory <ITestableContentRepository> testableContentRepositoryFactory, IRepositoryFactory <IManifestRepository> manifestRepositoryFactory, IRepositoryFactory <IPublishExclusionsRepository> publishExclusionsRepositoryFactory, IPromotionCoordinator promoterCoordinator, IEventRegistry eventRegistry, ILoggerFactory loggerFactory, IApplicationLifetime applicationLifetime, PublishJobHandlerOptions options = null) : base(requiredPublishFieldsResolver, publisherOpsService, dataStoreFactory, mediaRepositoryFactory, targetIndexRepositoryFactory, itemRepositoryFactory, itemRelationshipRepoFactory, itemNodeRepositoryFactory, templateGraphRepositoryFactory, indexablePublishTargetRepositoryFactory, workflowRepositoryFactory, testableContentRepositoryFactory, manifestRepositoryFactory, publishExclusionsRepositoryFactory, promoterCoordinator, eventRegistry, loggerFactory, applicationLifetime, options ?? new PublishJobHandlerOptions()) { }
/// <summary> /// Creates a new instance of Incremental Publish Handler /// </summary> public IncrementalPublishHandler(IRequiredPublishFieldsResolver requiredPublishFieldsResolver, IPublisherOperationService publisherOpsService, IDataStoreFactory dataStoreFactory, IRepositoryFactory<IMediaRepository> mediaRepositoryFactory, IRepositoryFactory<IItemIndexRepository> targetIndexRepositoryFactory, IRepositoryFactory<IItemRepository> itemRepositoryFactory, IRepositoryFactory<IItemRelationshipRepository> itemRelationshipRepoFactory, IRepositoryFactory<IItemNodeRepository> itemNodeRepositoryFactory, IRepositoryFactory<ITemplateGraphRepository> templateGraphRepositoryFactory, IRepositoryFactory<IIndexableItemRepository> indexablePublishTargetRepositoryFactory, IRepositoryFactory<IWorkflowStateRepository> workflowRepositoryFactory, IRepositoryFactory<ITestableContentRepository> testableContentRepositoryFactory, IRepositoryFactory<IManifestRepository> manifestRepositoryFactory, IRepositoryFactory<IPublishExclusionsRepository> publishExclusionsRepositoryFactory, IPromotionCoordinator promoterCoordinator, IEventRegistry eventRegistry, ILoggerFactory loggerFactory, IApplicationLifetime applicationLifetime, PublishJobHandlerOptions options = null) : base(requiredPublishFieldsResolver, publisherOpsService, dataStoreFactory, mediaRepositoryFactory, targetIndexRepositoryFactory, itemRepositoryFactory, itemRelationshipRepoFactory, itemNodeRepositoryFactory, templateGraphRepositoryFactory, indexablePublishTargetRepositoryFactory, workflowRepositoryFactory, testableContentRepositoryFactory, manifestRepositoryFactory, publishExclusionsRepositoryFactory, promoterCoordinator, eventRegistry, loggerFactory, applicationLifetime, options ?? new PublishJobHandlerOptions()) { }
/// <summary> /// Creates a stream of items that are candidates for publishing /// </summary> protected override ISourceObservable <CandidateValidationContext> CreatePublishSourceStream(DateTime started, PublishOptions options, IPublishCandidateSource publishSourceRepository, IPublishValidator validator, IPublisherOperationService publisherOperationService, CancellationTokenSource errorSource) { UnpublishedNodeSourceProducer unsp = new UnpublishedNodeSourceProducer( started, options.Languages, options.Targets, (IEnumerable <string>) new string[1] { PublishOptionsMetadataExtensions.GetPublishType(options) }, publishSourceRepository, publisherOperationService, validator, this._options.UnpublishedOperationsLoadingBatchSize, errorSource, errorSource.Token, (ILogger)LoggerFactoryExtensions.CreateLogger <UnpublishedNodeSourceProducer>(this._loggerFactory)); DeletedNodesSourceProducer dnsp = new DeletedNodesSourceProducer( (ISourceObservable <CandidateValidationContext>)unsp, started, options.Languages, options.Targets, (IEnumerable <string>) new string[1] { PublishOptionsMetadataExtensions.GetPublishType(options) }, publisherOperationService, this._options.UnpublishedOperationsLoadingBatchSize, errorSource, (ILogger)LoggerFactoryExtensions.CreateLogger <UnpublishedNodeSourceProducer>(this._loggerFactory), null); return((ISourceObservable <CandidateValidationContext>)dnsp); }
/// <summary> /// Creates a stream of items that are candidates for publishing /// </summary> protected override ISourceObservable<CandidateValidationContext> CreatePublishSourceStream(DateTime started, PublishOptions options, IPublishCandidateSource publishSourceRepository, IPublishValidator validator, IPublisherOperationService publisherOperationService, CancellationTokenSource errorSource) { IPublishCandidate result = publishSourceRepository.GetNode(options.ItemId.Value).Result; if (result == null) throw new ArgumentNullException(string.Format("The publish could not be performed from a start item that doesn't exist : {0}.", (object) options.ItemId.Value)); IPublishCandidate publishCandidate = result.ParentId.HasValue ? publishSourceRepository.GetNode(result.ParentId.Value).Result : result; ISourceObservable<CandidateValidationContext> sourceObservable = (ISourceObservable<CandidateValidationContext>) new TreeNodeSourceProducer( publishSourceRepository, result, validator, options.Descendants, this._options.SourceTreeReaderBatchSize, errorSource, (ILogger) LoggerFactoryExtensions.CreateLogger<TreeNodeSourceProducer>(this._loggerFactory)); if (PublishOptionsMetadataExtensions.GetItemBucketsEnabled(options) && publishCandidate.Node.TemplateId == PublishOptionsMetadataExtensions.GetBucketTemplateId(options)) sourceObservable = (ISourceObservable<CandidateValidationContext>) new BucketNodeSourceProducer( sourceObservable, publishSourceRepository, result, PublishOptionsMetadataExtensions.GetBucketTemplateId(options), errorSource, (ILogger) LoggerFactoryExtensions.CreateLogger<BucketNodeSourceProducer>(this._loggerFactory)); DeletedNodesSourceProducer dnsp = new DeletedNodesSourceProducer( sourceObservable, started, options.Languages, options.Targets, (IEnumerable<string>)new string[1] { PublishOptionsMetadataExtensions.GetPublishType(options) }, publisherOperationService, this._options.UnpublishedOperationsLoadingBatchSize, errorSource, (ILogger)LoggerFactoryExtensions.CreateLogger<UnpublishedNodeSourceProducer>(this._loggerFactory), (Predicate<PublisherOperation>)(op => Enumerable.Contains<Guid>((IEnumerable<Guid>)op.Path.Ancestors, options.ItemId.Value))); return (ISourceObservable<CandidateValidationContext>)dnsp; }
/// <summary> /// Creates a stream of items that are candidates for publishing /// </summary> protected override ISourceObservable <CandidateValidationContext> CreatePublishSourceStream(DateTime started, PublishOptions options, IPublishCandidateSource publishSourceRepository, IPublishValidator validator, IPublisherOperationService publisherOperationService, CancellationTokenSource errorSource) { IPublishCandidate result = publishSourceRepository.GetNode(options.ItemId.Value).Result; if (result == null) { throw new ArgumentNullException(string.Format("The publish could not be performed from a start item that doesn't exist : {0}.", (object)options.ItemId.Value)); } IPublishCandidate publishCandidate = result.ParentId.HasValue ? publishSourceRepository.GetNode(result.ParentId.Value).Result : result; ISourceObservable <CandidateValidationContext> sourceObservable = (ISourceObservable <CandidateValidationContext>) new TreeNodeSourceProducer( publishSourceRepository, result, validator, options.Descendants, this._options.SourceTreeReaderBatchSize, errorSource, (ILogger)LoggerFactoryExtensions.CreateLogger <TreeNodeSourceProducer>(this._loggerFactory)); if (PublishOptionsMetadataExtensions.GetItemBucketsEnabled(options) && publishCandidate.Node.TemplateId == PublishOptionsMetadataExtensions.GetBucketTemplateId(options)) { sourceObservable = (ISourceObservable <CandidateValidationContext>) new BucketNodeSourceProducer( sourceObservable, publishSourceRepository, result, PublishOptionsMetadataExtensions.GetBucketTemplateId(options), errorSource, (ILogger)LoggerFactoryExtensions.CreateLogger <BucketNodeSourceProducer>(this._loggerFactory)); } DeletedNodesSourceProducer dnsp = new DeletedNodesSourceProducer( sourceObservable, started, options.Languages, options.Targets, (IEnumerable <string>) new string[1] { PublishOptionsMetadataExtensions.GetPublishType(options) }, publisherOperationService, this._options.UnpublishedOperationsLoadingBatchSize, errorSource, (ILogger)LoggerFactoryExtensions.CreateLogger <UnpublishedNodeSourceProducer>(this._loggerFactory), (Predicate <PublisherOperation>)(op => Enumerable.Contains <Guid>((IEnumerable <Guid>)op.Path.Ancestors, options.ItemId.Value))); return((ISourceObservable <CandidateValidationContext>)dnsp); }
/// <summary> /// Creates a stream of items that are candidates for publishing /// </summary> protected override ISourceObservable<CandidateValidationContext> CreatePublishSourceStream(DateTime started, PublishOptions options, IPublishCandidateSource publishSourceRepository, IPublishValidator validator, IPublisherOperationService publisherOperationService, CancellationTokenSource errorSource) { UnpublishedNodeSourceProducer unsp = new UnpublishedNodeSourceProducer( started, options.Languages, options.Targets, (IEnumerable<string>)new string[1] { PublishOptionsMetadataExtensions.GetPublishType(options) }, publishSourceRepository, publisherOperationService, validator, this._options.UnpublishedOperationsLoadingBatchSize, errorSource, errorSource.Token, (ILogger)LoggerFactoryExtensions.CreateLogger<UnpublishedNodeSourceProducer>(this._loggerFactory)); DeletedNodesSourceProducer dnsp = new DeletedNodesSourceProducer( (ISourceObservable<CandidateValidationContext>)unsp, started, options.Languages, options.Targets, (IEnumerable<string>)new string[1] { PublishOptionsMetadataExtensions.GetPublishType(options) }, publisherOperationService, this._options.UnpublishedOperationsLoadingBatchSize, errorSource, (ILogger)LoggerFactoryExtensions.CreateLogger<UnpublishedNodeSourceProducer>(this._loggerFactory), null); return (ISourceObservable<CandidateValidationContext>)dnsp; }