public AddressIndexableUpdater(
     IAnalyticsSearchService analyticsSearchService,
     ILoggingService logger,
     int indexSubmitBatchSize,
     int concurrentThreads) : base("type:address", analyticsSearchService, logger, indexSubmitBatchSize, concurrentThreads)
 {
 }
Exemple #2
0
 public VisitPageEventIndexableUpdater(
     IAnalyticsSearchService analyticsSearchService,
     ILoggingService logger,
     int indexSubmitBatchSize,
     int concurrentThreads)
     : base("type:visitPageEvent", analyticsSearchService, logger, indexSubmitBatchSize, concurrentThreads)
 {
 }
 protected BatchedIndexableUpdater(
     string indexableType,
     IAnalyticsSearchService analyticsSearchService,
     ILoggingService logger,
     int indexSubmitBatchSize,
     int concurrentThreads) : base(indexableType, logger)
 {
     this.AnalyticsSearchService = analyticsSearchService;
     this.IndexSubmitBatchSize   = indexSubmitBatchSize;
     this.ConcurrentThreads      = concurrentThreads;
     this.ContactFactory         = Factory.CreateObject("model/entities/contact/factory", true) as IContactFactory;
 }
Exemple #4
0
 public AnalyticsIndexBuilder(
     IAnalyticsSearchService analyticsSearchService,
     ICollectionDataProvider contactSelector,
     ILoggingService logger,
     string indexSubmitBatchSize = "1000",
     string concurrentThreads    = "4") : this(
         analyticsSearchService,
         contactSelector,
         logger,
         int.Parse(indexSubmitBatchSize),
         int.Parse(concurrentThreads))
 {
 }
Exemple #5
0
        public AnalyticsIndexBuilder(
            IAnalyticsSearchService analyticsSearchService,
            ICollectionDataProvider contactSelector,
            ILoggingService logger,
            int indexSubmitBatchSize = 1000,
            int concurrentThreads    = 4)
        {
            if (analyticsSearchService == null)
            {
                throw new ArgumentNullException(nameof(analyticsSearchService));
            }
            if (contactSelector == null)
            {
                throw new ArgumentNullException(nameof(contactSelector));
            }
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }

            this.AnalyticsSearchService = analyticsSearchService;
            this.CollectionDataProvider = contactSelector;
            this.Logger            = logger;
            this.ConcurrentThreads = concurrentThreads;

            this.addressUpdater        = new AddressIndexableUpdater(this.AnalyticsSearchService, this.Logger, indexSubmitBatchSize, this.ConcurrentThreads);
            this.contactUpdater        = new ContactIndexableUpdater(this.AnalyticsSearchService, this.Logger, indexSubmitBatchSize, this.ConcurrentThreads);
            this.contactTagUpdater     = new ContactTagIndexableUpdater(this.AnalyticsSearchService, this.Logger, indexSubmitBatchSize, this.ConcurrentThreads);
            this.visitUpdater          = new VisitIndexableUpdater(this.AnalyticsSearchService, this.Logger, indexSubmitBatchSize, this.ConcurrentThreads);
            this.visitPageUpdater      = new VisitPageIndexableUpdater(this.AnalyticsSearchService, this.Logger, indexSubmitBatchSize, this.ConcurrentThreads);
            this.visitPageEventUpdater = new VisitPageEventIndexableUpdater(this.AnalyticsSearchService, this.Logger, indexSubmitBatchSize, this.ConcurrentThreads);

            this.addressUpdater.StatusChanged        += this.OnUpdatersStatusChanged;
            this.contactUpdater.StatusChanged        += this.OnUpdatersStatusChanged;
            this.contactTagUpdater.StatusChanged     += this.OnUpdatersStatusChanged;
            this.visitUpdater.StatusChanged          += this.OnUpdatersStatusChanged;
            this.visitPageUpdater.StatusChanged      += this.OnUpdatersStatusChanged;
            this.visitPageEventUpdater.StatusChanged += this.OnUpdatersStatusChanged;
        }
Exemple #6
0
        public AnalyticsIndexBuilderPage()
        {
            var pageLogger = (ILoggingService)Factory.CreateObject("helpfulcore/analytics.index.builder/logging/pageLoggingService", true);

            this.AnalyticsSearchService = (IAnalyticsSearchService)Factory.CreateObject("helpfulcore/analytics.index.builder/analyticsSearchService", true);
            this.LogQueue = (ProcessQueueLoggingProvider)Factory.CreateObject("helpfulcore/analytics.index.builder/logging/providers/indexingQueueLog", true);

            if (AnalyticsIndexBuilder == null)
            {
                lock (InitializationSyncRoot)
                {
                    if (AnalyticsIndexBuilder == null)
                    {
                        // need to create specific static instance so it uses page logger.
                        AnalyticsIndexBuilder = (IAnalyticsIndexBuilder)Factory.CreateObject("helpfulcore/analytics.index.builder/analyticsIndexBuilder", true);
                        AnalyticsIndexBuilder.ChangeLogger(pageLogger);
                    }
                }
            }

            this.AnalyticsSearchService.ChangeLogger(pageLogger);
            this.AnalyticsIndexFacets = new AnalyticsIndexablesFacetResult();
        }