예제 #1
0
 public void ConfigureSourceProcessingStrategy(QuerySourceProcessingStrategyBuilder builder)
 {
     _logger("ConfigureSourceProcessingStrategy(" + builder + ")");
     builder.FromAll();
     builder.AllEvents();
     builder.SetByStream();
 }
예제 #2
0
        public void ConfigureSourceProcessingStrategy(QuerySourceProcessingStrategyBuilder builder)
        {
            CheckDisposed();
            var sourcesDefintion = _query.GetSourcesDefintion();

            if (sourcesDefintion == null)
            {
                throw new InvalidOperationException("Invalid query.  No source definition.");
            }
            if (sourcesDefintion.AllStreams)
            {
                builder.FromAll();
            }
            else
            {
                if (sourcesDefintion.Streams != null)
                {
                    foreach (var stream in sourcesDefintion.Streams)
                    {
                        builder.FromStream(stream);
                    }
                }
                if (sourcesDefintion.Categories != null)
                {
                    foreach (var category in sourcesDefintion.Categories)
                    {
                        builder.FromCategory(category);
                    }
                }
            }
            if (sourcesDefintion.AllEvents)
            {
                builder.AllEvents();
            }
            else
            if (sourcesDefintion.Events != null)
            {
                foreach (var @event in sourcesDefintion.Events)
                {
                    builder.IncludeEvent(@event);
                }
            }
            if (sourcesDefintion.ByStreams)
            {
                builder.SetByStream();
            }
            if (!string.IsNullOrWhiteSpace(sourcesDefintion.Options.StateStreamName))
            {
                builder.SetStateStreamNameOption(sourcesDefintion.Options.StateStreamName);
            }
            if (!string.IsNullOrWhiteSpace(sourcesDefintion.Options.ForceProjectionName))
            {
                builder.SetForceProjectionName(sourcesDefintion.Options.ForceProjectionName);
            }
            if (sourcesDefintion.Options.UseEventIndexes)
            {
                builder.SetUseEventIndexes(true);
            }
        }
예제 #3
0
        public void ConfigureSourceProcessingStrategy(QuerySourceProcessingStrategyBuilder builder)
        {
            CheckDisposed();
            var sourcesDefinition = _query.GetSourcesDefintion();

            if (sourcesDefinition == null)
            {
                throw new InvalidOperationException("Invalid query.  No source definition.");
            }
            sourcesDefinition.ConfigureSourceProcessingStrategy(builder);
        }
예제 #4
0
 public void ConfigureSourceProcessingStrategy(QuerySourceProcessingStrategyBuilder builder)
 {
     if (_configureBuilder != null)
     {
         _configureBuilder(builder);
     }
     else
     {
         builder.FromAll();
         builder.AllEvents();
     }
 }
예제 #5
0
        public void ConfigureSourceProcessingStrategy(QuerySourceProcessingStrategyBuilder builder)
        {
            var sourcesDefintion = _query.GetSourcesDefintion();

            if (sourcesDefintion == null)
            {
                throw new InvalidOperationException("Invalid query.  No source defintion.");
            }
            if (sourcesDefintion.AllStreams)
            {
                builder.FromAll();
            }
            else
            {
                if (sourcesDefintion.Streams != null)
                {
                    foreach (var stream in sourcesDefintion.Streams)
                    {
                        builder.FromStream(stream);
                    }
                }
                if (sourcesDefintion.Categories != null)
                {
                    foreach (var category in sourcesDefintion.Categories)
                    {
                        builder.FromCategory(category);
                    }
                }
            }
            if (sourcesDefintion.AllEvents)
            {
                builder.AllEvents();
            }
            else
            if (sourcesDefintion.Events != null)
            {
                foreach (var @event in sourcesDefintion.Events)
                {
                    builder.IncludeEvent(@event);
                }
            }
            if (sourcesDefintion.ByStreams)
            {
                builder.SetByStream();
            }
        }
 public void ConfigureSourceProcessingStrategy(QuerySourceProcessingStrategyBuilder builder)
 {
     builder.FromAll();
     builder.AllEvents();
 }
예제 #7
0
        public void ConfigureSourceProcessingStrategy(QuerySourceProcessingStrategyBuilder builder)
        {
            if (_sourceDefinition.AllEvents)
            {
                builder.AllEvents();
            }

            if (_sourceDefinition.AllStreams)
            {
                builder.FromAll();
            }

            if (_sourceDefinition.Categories != null)
            {
                foreach (var category in _sourceDefinition.Categories)
                {
                    builder.FromCategory(category);
                }
            }
            if (_sourceDefinition.Streams != null)
            {
                foreach (var stream in _sourceDefinition.Streams)
                {
                    builder.FromStream(stream);
                }
            }

            if (_sourceDefinition.Events != null)
            {
                foreach (var @event in _sourceDefinition.Events)
                {
                    builder.IncludeEvent(@event);
                }
            }

            if (_sourceDefinition.ByStream)
            {
                builder.SetByStream();
            }

            //TODO: set false if options == null?

            if (_sourceDefinition.Options != null && _sourceDefinition.Options.IncludeLinks)
            {
                builder.SetIncludeLinks(_sourceDefinition.Options.IncludeLinks);
            }

            if (_sourceDefinition.Options != null && !string.IsNullOrEmpty(_sourceDefinition.Options.ResultStreamName))
            {
                builder.SetResultStreamNameOption(_sourceDefinition.Options.ResultStreamName);
            }

            if (_sourceDefinition.Options != null && !string.IsNullOrEmpty(_sourceDefinition.Options.PartitionResultStreamNamePattern))
            {
                builder.SetPartitionResultStreamNamePatternOption(_sourceDefinition.Options.PartitionResultStreamNamePattern);
            }

            if (_sourceDefinition.Options != null && !string.IsNullOrEmpty(_sourceDefinition.Options.ForceProjectionName))
            {
                builder.SetForceProjectionName(_sourceDefinition.Options.ForceProjectionName);
            }

            if (_sourceDefinition.Options != null)
            {
                builder.SetReorderEvents(_sourceDefinition.Options.ReorderEvents);
            }

            if (_sourceDefinition.Options != null)
            {
                builder.SetProcessingLag(_sourceDefinition.Options.ProcessingLag);
            }

            if (_sourceDefinition.DefinesStateTransform)
            {
                builder.SetDefinesStateTransform();
            }
        }
예제 #8
0
 public void ConfigureSourceProcessingStrategy(QuerySourceProcessingStrategyBuilder builder)
 {
     if (AllStreams)
     {
         builder.FromAll();
     }
     else
     {
         if (Streams != null)
         {
             foreach (var stream in Streams)
             {
                 builder.FromStream(stream);
             }
         }
         if (Categories != null)
         {
             foreach (var category in Categories)
             {
                 builder.FromCategory(category);
             }
         }
     }
     if (AllEvents)
     {
         builder.AllEvents();
     }
     else if (Events != null)
     {
         foreach (var @event in Events)
         {
             builder.IncludeEvent(@event);
         }
     }
     if (ByStreams)
     {
         builder.SetByStream();
     }
     if (ByCustomPartitions)
     {
         builder.SetByCustomPartitions();
     }
     if (Options != null)
     {
         if (Options.IncludeLinks)
         {
             builder.SetIncludeLinks();
         }
         if (!String.IsNullOrWhiteSpace(Options.ResultStreamName))
         {
             builder.SetResultStreamNameOption(Options.ResultStreamName);
         }
         if (!String.IsNullOrWhiteSpace(Options.PartitionResultStreamNamePattern))
         {
             builder.SetPartitionResultStreamNamePatternOption(Options.PartitionResultStreamNamePattern);
         }
         if (!String.IsNullOrWhiteSpace(Options.ForceProjectionName))
         {
             builder.SetForceProjectionName(Options.ForceProjectionName);
         }
         if (Options.ReorderEvents)
         {
             builder.SetReorderEvents(true);
         }
         if (Options.ProcessingLag != null)
         {
             builder.SetProcessingLag(Options.ProcessingLag.GetValueOrDefault());
         }
     }
     if (DefinesStateTransform)
     {
         builder.SetDefinesStateTransform();
     }
 }
예제 #9
0
 public void ConfigureSourceProcessingStrategy(QuerySourceProcessingStrategyBuilder builder)
 {
     builder.FromAll();
     builder.IncludeEvent("$UserCreated");
 }