public TestEnvironment() { EngineRepository = new MemoryEngineRepository(); BuildRepository = new MemoryBuildRepository(); ProjectRepository = new MemoryRepository <Project>(); _engineOptions = new OptionsWrapper <EngineOptions>(new EngineOptions { EngineCommitFrequency = TimeSpan.FromMinutes(5), InactiveEngineTimeout = TimeSpan.FromMinutes(10) }); _smtModelFactory = CreateSmtModelFactory(); _ruleEngineFactory = CreateRuleEngineFactory(); _textCorpusFactory = CreateTextCorpusFactory(); }
public Engine(ISmtModelFactory smtModelFactory, ITranslationEngineFactory ruleEngineFactory, TimeSpan inactiveTimeout, string configDir, string sourceLanguageTag, string targetLanguageTag) { _smtModelFactory = smtModelFactory; _ruleEngineFactory = ruleEngineFactory; _inactiveTimeout = inactiveTimeout; ConfigDirectory = configDir; SourceLanguageTag = sourceLanguageTag; TargetLanguageTag = targetLanguageTag; _lastUsedTime = DateTime.Now; Projects = new HashSet <Project>(); if (!Directory.Exists(ConfigDirectory)) { Directory.CreateDirectory(ConfigDirectory); _smtModelFactory.InitNewModel(this); } }
public void CreateEngineService() { SmtModel = Substitute.For <IInteractiveSmtModel>(); BatchTrainer = Substitute.For <ISmtBatchTrainer>(); BatchTrainer.Stats.Returns(new SmtBatchTrainStats()); _smtModelFactory = CreateSmtModelFactory(); _ruleEngineFactory = CreateRuleEngineFactory(); _textCorpusFactory = CreateTextCorpusFactory(); Service = new EngineService(new OptionsWrapper <EngineOptions>(EngineOptions), EngineRepository, BuildRepository, ProjectRepository, CreateEngineRuntime); Service.Init(); var jobServerOptions = new BackgroundJobServerOptions { Activator = new EnvActivator(this) }; _jobServer = new BackgroundJobServer(jobServerOptions, _memoryStorage); }
public EngineService(IOptions <EngineOptions> options, ISmtModelFactory smtModelFactory, ITranslationEngineFactory ruleEngineFactory) { _options = options.Value; _smtModelFactory = smtModelFactory; _ruleEngineFactory = ruleEngineFactory; _languagePairs = new ConcurrentDictionary <Tuple <string, string>, LanguagePair>(); foreach (string configDir in Directory.EnumerateDirectories(_options.RootDir)) { string configFileName = Path.Combine(configDir, "config.json"); if (!File.Exists(configFileName)) { continue; } LanguagePairDto languagePairConfig = JsonConvert.DeserializeObject <LanguagePairDto>(File.ReadAllText(configFileName)); var languagePair = new LanguagePair(languagePairConfig.SourceLanguageTag, languagePairConfig.TargetLanguageTag, configDir); foreach (ProjectDto projectConfig in languagePairConfig.Projects) { CreateProject(languagePair, projectConfig.Id, projectConfig.IsShared); } _languagePairs[Tuple.Create(languagePair.SourceLanguageTag, languagePair.TargetLanguageTag)] = languagePair; } _commitTimer = new Timer(EngineCommitCallback, null, _options.EngineCommitFrequency, _options.EngineCommitFrequency); }