예제 #1
0
        /// <summary>
        /// Initializes a new instance of <see cref="SearchHit"/>
        /// </summary>
        /// <param name="document">The document.</param>
        /// <param name="score">The score.</param>
        public SearchHit(Document document, float score)
        {
            Prevent.ParameterNull(document, nameof(document));

            _document = document;
            _score    = score;
        }
예제 #2
0
        public Bootstrapper(IEnumerable <IAction> actions, IPublisherSubscriber publisherSubscriber)
        {
            Prevent.ParameterNull(actions, nameof(actions));

            _actions             = actions;
            _publisherSubscriber = publisherSubscriber;
        }
예제 #3
0
        public ProgressViewerForm(CancellationTokenIssuer cancellationTokenIssuer)
        {
            Prevent.ParameterNull(cancellationTokenIssuer, nameof(cancellationTokenIssuer));

            _cancellationTokenIssuer = cancellationTokenIssuer;

            InitializeComponent();
        }
예제 #4
0
        public SaveDocumentDirectoryDocumentsCommandHandler(IDatabase database, IWordApplication wordApplication)
        {
            Prevent.ParameterNull(database, nameof(database));
            Prevent.ParameterNull(wordApplication, nameof(wordApplication));

            _database        = database;
            _wordApplication = wordApplication;
        }
        public InitializeLuceneSearchIndexesAction(IIndexProvider indexProvider, IMediator mediator)
        {
            Prevent.ParameterNull(indexProvider, nameof(indexProvider));
            Prevent.ParameterNull(mediator, nameof(mediator));

            _indexProvider = indexProvider;
            _mediator      = mediator;
        }
예제 #6
0
        public object Resolve(Type serviceType, string name = null)
        {
            Prevent.ParameterNull(serviceType, nameof(serviceType));

            return(!string.IsNullOrWhiteSpace(name)
                ? _scope.ResolveNamed(name, serviceType)
                : _scope.Resolve(serviceType));
        }
예제 #7
0
        /// <summary>
        /// Initializes a new instance of <see cref="Database"/>.
        /// </summary>
        /// <param name="dbProvider">Data base provider instance.</param>
        /// <param name="databaseSettings">The configuration section.</param>
        public Database(IDbProvider dbProvider, DatabaseSettings databaseSettings)
        {
            Prevent.ParameterNull(dbProvider, nameof(dbProvider));
            Prevent.ParameterNull(databaseSettings, nameof(databaseSettings));

            _dbProvider       = dbProvider;
            _databaseSettings = databaseSettings;
        }
        public RemoveDocumentDirectoryCommandHandler(IDatabase database, IIndexProvider indexProvider)
        {
            Prevent.ParameterNull(database, nameof(database));
            Prevent.ParameterNull(indexProvider, nameof(indexProvider));

            _database      = database;
            _indexProvider = indexProvider;
        }
예제 #9
0
        public MainForm(IFormManager formManager)
        {
            Prevent.ParameterNull(formManager, nameof(formManager));

            _formManager = formManager;

            InitializeComponent();
        }
예제 #10
0
        /// <summary>
        /// Initializes a new instance of <see cref="IndexProvider"/>.
        /// </summary>
        /// <param name="settings">The settings.</param>
        /// <param name="analyzerProvider">The analyzer provider.</param>
        public IndexProvider(IAnalyzerProvider analyzerProvider, LuceneSettings settings)
        {
            Prevent.ParameterNull(analyzerProvider, nameof(analyzerProvider));
            Prevent.ParameterNull(settings, nameof(settings));

            _analyzerProvider = analyzerProvider;
            _settings         = settings;
        }
예제 #11
0
        public SearchResultForm(IMediator mediator)
        {
            Prevent.ParameterNull(mediator, nameof(mediator));

            _mediator = mediator;

            InitializeComponent();
        }
예제 #12
0
        public ConfigurationForm(IManagementService managementService)
        {
            Prevent.ParameterNull(managementService, nameof(managementService));

            _managementService = managementService;

            InitializeComponent();
        }
예제 #13
0
        public SplashScreenForm(IPublisherSubscriber publisherSubscriber)
        {
            Prevent.ParameterNull(publisherSubscriber, nameof(publisherSubscriber));

            _publisherSubscriber = publisherSubscriber;

            InitializeComponent();
        }
예제 #14
0
        public Task CommandAsync(ICommand command, CancellationToken cancellationToken = default(CancellationToken), IProgress <ProgressInfo> progress = null)
        {
            Prevent.ParameterNull(command, nameof(command));

            var     handlerType = typeof(ICommandHandler <>).MakeGenericType(command.GetType());
            dynamic handler     = _resolver.Resolve(handlerType);

            return(handler.HandleAsync((dynamic)command, cancellationToken, progress ?? NullProgress <ProgressInfo> .Instance));
        }
예제 #15
0
        public Task <TResult> QueryAsync <TResult>(IQuery <TResult> query, CancellationToken cancellationToken = default(CancellationToken))
        {
            Prevent.ParameterNull(query, nameof(query));

            var     handlerType = typeof(IQueryHandler <,>).MakeGenericType(query.GetType(), typeof(TResult));
            dynamic handler     = _resolver.Resolve(handlerType);

            return(handler.HandleAsync((dynamic)query, cancellationToken));
        }
예제 #16
0
        /// <summary>
        /// Initializes a new instance of <see cref="Subscription{TMessage}"/>.
        /// </summary>
        /// <param name="handler">The message handler.</param>
        /// <param name="pubSub">The publisher/subscriber.</param>
        public Subscription(Action <TMessage> handler, IPublisherSubscriber pubSub)
        {
            Prevent.ParameterNull(handler, nameof(handler));
            Prevent.ParameterNull(pubSub, nameof(pubSub));

            _methodInfo   = handler.GetMethodInfo();
            _pubSub       = pubSub;
            _targetObject = new WeakReference(handler.Target);
            _isStatic     = handler.Target == null;
        }
예제 #17
0
        public ManagementService(IDatabase database, IIndexProvider indexProvider, IMediator mediator)
        {
            Prevent.ParameterNull(database, nameof(database));
            Prevent.ParameterNull(indexProvider, nameof(indexProvider));
            Prevent.ParameterNull(mediator, nameof(mediator));

            _database      = database;
            _indexProvider = indexProvider;
            _mediator      = mediator;
        }
예제 #18
0
        public SearchForm(IFormManager formManager, IMediator mediator, ISearchService searchService)
        {
            Prevent.ParameterNull(formManager, nameof(formManager));
            Prevent.ParameterNull(mediator, nameof(mediator));
            Prevent.ParameterNull(searchService, nameof(searchService));

            _formManager   = formManager;
            _mediator      = mediator;
            _searchService = searchService;

            InitializeComponent();
        }
        public DocumentDirectoryForm(CancellationTokenIssuer cancellationTokenIssuer, IMediator mediator, IPublisherSubscriber publisherSubscriber)
        {
            Prevent.ParameterNull(cancellationTokenIssuer, nameof(cancellationTokenIssuer));
            Prevent.ParameterNull(mediator, nameof(mediator));
            Prevent.ParameterNull(publisherSubscriber, nameof(publisherSubscriber));

            _cancellationTokenIssuer = cancellationTokenIssuer;
            _mediator            = mediator;
            _publisherSubscriber = publisherSubscriber;

            InitializeComponent();
        }
예제 #20
0
        /// <summary>
        /// Initializes a new instance of <see cref="Index"/>.
        /// </summary>
        /// <param name="analyzer">The Lucene analyzer.</param>
        /// <param name="basePath">The base path of the Lucene directory.</param>
        /// <param name="name">The index name.</param>
        public Index(Analyzer analyzer, string basePath, string name)
        {
            Prevent.ParameterNull(analyzer, nameof(analyzer));
            Prevent.ParameterNullOrWhiteSpace(basePath, nameof(basePath));
            Prevent.ParameterNullOrWhiteSpace(name, nameof(name));

            _analyzer = analyzer;
            _basePath = basePath;
            _name     = name;

            Initialize();
        }
        public ManageDocumentDirectoryForm(CancellationTokenIssuer cancellationTokenIssuer, IFormManager formManager, IMediator mediator)
        {
            Prevent.ParameterNull(cancellationTokenIssuer, nameof(cancellationTokenIssuer));
            Prevent.ParameterNull(formManager, nameof(formManager));
            Prevent.ParameterNull(mediator, nameof(mediator));

            _cancellationTokenIssuer = cancellationTokenIssuer;
            _formManager             = formManager;
            _mediator = mediator;

            InitializeComponent();
        }
        public SpireDocWordDocument(string path, Stream stream, ILogger log = null)
        {
            Prevent.ParameterNullOrWhiteSpace(path, nameof(path));
            Prevent.ParameterNull(stream, nameof(stream));

            _path   = path;
            _stream = stream;

            _log = log ?? NullLogger.Instance;

            Initialize();
        }
        public IWordDocument Open(Stream stream)
        {
            Prevent.ParameterNull(stream, nameof(stream));

            var path = string.Empty;

            if (stream is FileStream fileStream)
            {
                path = fileStream.Name;
            }

            return(new SpireDocWordDocument(path, stream, _log));
        }
        /// <inheritdoc />
        public bool Unsubscribe <TMessage>(ISubscription <TMessage> subscription)
        {
            Prevent.ParameterNull(subscription, nameof(subscription));

            var messageType = typeof(TMessage);

            if (_subscriptions.ContainsKey(messageType))
            {
                lock (SyncLock) {
                    _subscriptions[messageType].Remove(subscription);
                }
            }
            return(true);
        }
예제 #25
0
        /// <summary>
        /// Initializes a new instance of <see cref="SearchBuilder"/>.
        /// </summary>
        /// <param name="indexSearcherFactory">The indexes directory factory.</param>
        /// <param name="analyzer">The analyzer provider.</param>
        public SearchBuilder(Analyzer analyzer, Func <IndexSearcher> indexSearcherFactory)
        {
            Prevent.ParameterNull(analyzer, nameof(analyzer));
            Prevent.ParameterNull(indexSearcherFactory, nameof(indexSearcherFactory));

            _analyzer             = analyzer;
            _indexSearcherFactory = indexSearcherFactory;

            _count          = MAX_RESULTS;
            _skip           = 0;
            _sort           = string.Empty;
            _comparer       = 0;
            _sortDescending = true;

            InitializePendingClause();
        }
        /// <inheritdoc />
        public void Publish <TMessage>(TMessage message)
        {
            Prevent.ParameterNull(message, nameof(message));

            var messageType = typeof(TMessage);

            if (_subscriptions.ContainsKey(messageType))
            {
                lock (SyncLock) {
                    foreach (var subscription in _subscriptions[messageType].OfType <ISubscription <TMessage> >())
                    {
                        var handler = subscription.CreateHandler();
                        if (handler == null)
                        {
                            continue;
                        }
                        handler(message);
                    }
                }
            }
        }
예제 #27
0
        /// <inheritdoc />
        public ISearchBuilder Parse(string query, bool escape = true, params string[] defaultFields)
        {
            Prevent.ParameterNullOrWhiteSpace(query, nameof(query));
            Prevent.ParameterNull(defaultFields, nameof(defaultFields));
            if (defaultFields.Length == 0)
            {
                throw new ArgumentException("Default fields can't be empty.");
            }

            if (escape)
            {
                query = QueryParserBase.Escape(query);
            }

            foreach (var defaultField in defaultFields)
            {
                CreatePendingClause();
                _query = new QueryParser(IndexProvider.Version, defaultField, _analyzer).Parse(query);
            }

            return(this);
        }
        /// <inheritdoc />
        public ISubscription <TMessage> Subscribe <TMessage>(Action <TMessage> handler)
        {
            Prevent.ParameterNull(handler, nameof(handler));

            var messageType = typeof(TMessage);
            var action      = new Subscription <TMessage>(handler, this);

            lock (SyncLock) {
                IList list = null;
                if (!_subscriptions.TryGetValue(messageType, out list))
                {
                    _subscriptions.Add(messageType, new List <ISubscription <TMessage> > {
                        action
                    });
                }
                else
                {
                    _subscriptions[messageType].Add(action);
                }
            }
            return(action);
        }
예제 #29
0
        /// <inheritdoc />
        public DbProviderFactory GetFactory(Type providerFactoryType)
        {
            Prevent.ParameterNull(providerFactoryType, nameof(providerFactoryType));

            return(GetFactory(providerFactoryType.Name));
        }
예제 #30
0
        public Mediator(IResolver resolver)
        {
            Prevent.ParameterNull(resolver, nameof(resolver));

            _resolver = resolver;
        }