コード例 #1
0
        /// <summary>
        /// Configure injected repositories
        /// </summary>
        /// <param name="services">Service collection</param>
        private void ConfigureRepository(IServiceCollection services)
        {
            // Elasticsearch repository to search
            var elasticSearchRepository = new ElasticSearchRepository(Configuration.GetSection("DataSources:ElasticSearch:ConnectionString").Value);

            services.AddSingleton <SearchRepository <Product> >(elasticSearchRepository);
        }
コード例 #2
0
        public void GivenIHaveBacklogList()
        {
            var ElasticSearchRepository = new ElasticSearchRepository();

            ElasticSearchRepository.AddNewIndex(new PersistenceModel.Backlog
            {
                Epic = new List <Epic> {
                    new Epic {
                        Title = "Epic 1"
                    }
                },
                Id = Guid.NewGuid()
            });
            ElasticSearchRepository.AddNewIndex(new PersistenceModel.Backlog
            {
                Epic = new List <Epic> {
                    new Epic {
                        Title = "Epic 2"
                    }
                },
                Id = Guid.NewGuid()
            });
            ElasticSearchRepository.AddNewIndex(new PersistenceModel.Backlog
            {
                Epic = new List <Epic> {
                    new Epic {
                        Title = "Epic 3"
                    }
                },
                Id = Guid.NewGuid()
            });
        }
コード例 #3
0
 public PostScrapeController(PostScraper postScraper, CommentScraper commentScraper, PageScraper pageScraper, ElasticSearchRepository <PageMetadata> pageMetadataRepository, ElasticSearchRepository <PostScrapeHistory> postScrapeHistoryRepository)
 {
     PostScraper                 = postScraper;
     CommentScraper              = commentScraper;
     PageScraper                 = pageScraper;
     PageMetadataRepository      = pageMetadataRepository;
     PostScrapeHistoryRepository = postScrapeHistoryRepository;
 }
コード例 #4
0
        public BucketTests()
        {
            var EsConfig            = GetAppsettingsConfigs.GetConfiguration <ElasticSearchRepository>();
            var BucketManagerConfig = GetAppsettingsConfigs.GetConfiguration <BucketManager>();

            IElasticsearchRepository EsRepository = new ElasticSearchRepository(EsConfig.Logger, EsConfig.Configurations, EsConfig.Configurations.Value.Elasticsearch.GetElasticSearchClient());

            var minioClient = BucketManagerConfig.Configurations.Value.Minio.GetMinioClient();

            this.BucketManager = new BucketManager(BucketManagerConfig.Logger, BucketManagerConfig.Configurations, EsRepository, minioClient);

            this.BucketManager.SetBucket(this.BucketName);
        }
コード例 #5
0
        public void ConfigureServices(IServiceCollection services)
        {
            // Boilerplate: add service and create Policy with options
            services.AddCors(options =>
            {
                options.AddPolicy("CorsPolicy",
                                  builder => builder.AllowAnyOrigin()
                                  .AllowAnyMethod()
                                  .AllowAnyHeader()
                                  .AllowCredentials());
            });

            services.AddMvc();
            services.AddSingleton(Configuration);

            // Register our repositories with ASP.NET Core to allow them to be injected
            // into our controllers. This preserves the same state between the controllers.

            Version facebookGraphAPIVersion = new Version(Configuration["facebook:graphAPIVersion"]);
            string  facebookAppId           = Configuration["facebook:appId"];
            string  facebookAppSecret       = Configuration["facebook:appSecret"];
            var     graphClient             = new GraphClient(facebookGraphAPIVersion, facebookAppId, facebookAppSecret);

            services.AddSingleton(graphClient);

            string elasticSearchUrl          = Configuration["elasticsearch:url"];
            string elasticSearchDefaultIndex = Configuration["elasticsearch:defaultIndex"];

            string elasticSearchUserName = Configuration["elasticsearch:user"];
            string elasticSearchPassword = Configuration["elasticsearch:password"];

            var node = new Uri(elasticSearchUrl);
            Func <ConnectionSettings> settings = () =>
            {
                var connectionSettings = new ConnectionSettings(node);
                if (string.IsNullOrEmpty(elasticSearchUserName))
                {
                    return(connectionSettings);
                }

                return(connectionSettings.BasicAuthentication(elasticSearchUserName, elasticSearchPassword));
            };

            var pageMetadataRepository = new ElasticSearchRepository <PageMetadata>(settings(), elasticSearchDefaultIndex + "-metadata-page");

            services.AddSingleton(pageMetadataRepository);

            var pageScrapeHistoryRepository = new ElasticSearchRepository <PageScrapeHistory>(settings(), elasticSearchDefaultIndex + "-metadata-pagescrape");

            services.AddSingleton(pageScrapeHistoryRepository);

            var postScrapeRepository = new ElasticSearchRepository <PostScrapeHistory>(settings(), elasticSearchDefaultIndex + "-metadata-postscrape");

            services.AddSingleton(postScrapeRepository);

            var pageScraper = new PageScraper(settings(), elasticSearchDefaultIndex + "-page", graphClient);

            services.AddSingleton(pageScraper);

            var postScraper = new PostScraper(settings(), elasticSearchDefaultIndex + "-post", pageScraper, graphClient);

            services.AddSingleton(postScraper);

            var commentScraper = new CommentScraper(settings(), elasticSearchDefaultIndex + "-comment", graphClient);

            services.AddSingleton(commentScraper);
        }
コード例 #6
0
 public ElasticController()
 {
     elasticSearch = new ElasticSearchRepository(new Uri("http://localhost:9200/"));
 }
コード例 #7
0
 public ServiceFactory(IElasticClient client)
 {
     esRepo    = new ElasticSearchRepository(client);
     esService = new ESService(esRepo);
 }
コード例 #8
0
 public void ThenICanSearchTheBacklog()
 {
     var ElasticSearchRepository = new ElasticSearchRepository();
     var xx = ElasticSearchRepository.GetResult();
 }
コード例 #9
0
 public PageController(GraphClient graphClient, ElasticSearchRepository <PageMetadata> pageRepository)
 {
     GraphClient    = graphClient;
     PageRepository = pageRepository;
 }
コード例 #10
0
 public PageScrapeController(PageScraper pageScraper, ElasticSearchRepository <PageMetadata> pageMetadataRepository, ElasticSearchRepository <PageScrapeHistory> pageScrapeRepository)
 {
     PageScraper                 = pageScraper;
     PageMetadataRepository      = pageMetadataRepository;
     PageScrapeHistoryRepository = pageScrapeRepository;
 }
コード例 #11
0
 public CommonController()
 {
     elasticSearch    = new ElasticSearchRepository(new Uri("http://localhost:9200/"));
     _dataAccessPoint = new DataAccessPoint();
 }
コード例 #12
0
 public ScrapeImporter(PageScraper pageScraper, ElasticSearchRepository <PageMetadata> pageMetadataRepository, PostScraper postScraper)
 {
     PageScraper            = pageScraper;
     PageMetadataRepository = pageMetadataRepository;
     PostScraper            = postScraper;
 }