public MongoStringPatternRepository(IOptimizerConfig optimizerConfig)
 {
     var client = new MongoClient(optimizerConfig.MongoConnectionString);
     var server = client.GetServer();
     var database = server.GetDatabase(string.Format("{0}-{1}", optimizerConfig.MongoDatabasePrefix, optimizerConfig.InstanceId));
     this.stringPatternCollection = database.GetCollection<StringPattern>(typeof(StringPattern).Name);
 }
示例#2
0
        public MongoStringPatternRepository(IOptimizerConfig optimizerConfig)
        {
            var client   = new MongoClient(optimizerConfig.MongoConnectionString);
            var server   = client.GetServer();
            var database = server.GetDatabase(string.Format("{0}-{1}", optimizerConfig.MongoDatabasePrefix, optimizerConfig.InstanceId));

            this.stringPatternCollection = database.GetCollection <StringPattern>(typeof(StringPattern).Name);
        }
示例#3
0
 public StringPatternProcessorGod(IEvolutionStrategy evolutionStragey, IStringPatternService stringPatternService, IOptimizerConfig optimizerConfig, IRandomService randomService)
 {
     this.isInitialized        = false;
     this.evolutionStrategy    = evolutionStragey;
     this.stringPatternService = stringPatternService;
     this.optimizerConfig      = optimizerConfig;
     this.randomService        = randomService;
     this.scoreCache           = new ConcurrentDictionary <Guid, double>();
 }
        public MongoStringPatternProcessorRepository(IOptimizerConfig optimizerConfig, IStringPatternProcessorFactory stringPatternProcessorFactory)
        {
            this.stringPatternProcessorFactory = stringPatternProcessorFactory;
            var client = new MongoClient(optimizerConfig.MongoConnectionString);
            var server = client.GetServer();
            var db = server.GetDatabase(string.Format("{0}-{1}", optimizerConfig.MongoDatabasePrefix, optimizerConfig.InstanceId));

            var collectionName = typeof(StringPatternProcessorResult).Name;

            if (!db.CollectionExists(collectionName))
            {
                var collectionOptions = CollectionOptions.SetCapped(true).SetMaxSize(524288000);
                db.CreateCollection(collectionName, collectionOptions);
            }

            this.stringPatternProcessorCollection = db.GetCollection<StringPatternProcessorResult>(collectionName);
            
            var keys = IndexKeys<StringPatternProcessorResult>.Ascending(x => x.GenerationNumber, x => x.PopulationRank);
            var options = IndexOptions.SetName("GenerationNumber And PopulationRank").SetUnique(true).SetBackground(true);
            this.stringPatternProcessorCollection.CreateIndex(keys, options);
        }
        public MongoStringPatternProcessorRepository(IOptimizerConfig optimizerConfig, IStringPatternProcessorFactory stringPatternProcessorFactory)
        {
            this.stringPatternProcessorFactory = stringPatternProcessorFactory;
            var client = new MongoClient(optimizerConfig.MongoConnectionString);
            var server = client.GetServer();
            var db     = server.GetDatabase(string.Format("{0}-{1}", optimizerConfig.MongoDatabasePrefix, optimizerConfig.InstanceId));

            var collectionName = typeof(StringPatternProcessorResult).Name;

            if (!db.CollectionExists(collectionName))
            {
                var collectionOptions = CollectionOptions.SetCapped(true).SetMaxSize(524288000);
                db.CreateCollection(collectionName, collectionOptions);
            }

            this.stringPatternProcessorCollection = db.GetCollection <StringPatternProcessorResult>(collectionName);

            var keys = IndexKeys <StringPatternProcessorResult> .Ascending(x => x.GenerationNumber, x => x.PopulationRank);

            var options = IndexOptions.SetName("GenerationNumber And PopulationRank").SetUnique(true).SetBackground(true);

            this.stringPatternProcessorCollection.CreateIndex(keys, options);
        }
示例#6
0
 public CsvGenerationStateRepository(IOptimizerConfig optimizerConfig)
 {
     this.csvFileOpen     = false;
     this.optimizerConfig = optimizerConfig;
 }