public CarInfoService(FeatureConfig configuration) { _configuration = configuration; _baseUrl = _configuration.Settings["teslaApiUrl"]; _api = new RESTClient(_baseUrl); }
public FeatureService( ILogger <FeatureService> logger, IOptionsSnapshot <FeatureConfig> featureConfig, BotService botService, RateLimitingInMemory rateLimitingInMemory ) { _logger = logger; _botService = botService; _rateLimitingInMemory = rateLimitingInMemory; _featureConfig = featureConfig.Value; }
public FeatureDetector(FeatureConfig featureConfig) : this(new [] { featureConfig }) { try { LoadedFeatureSet = FeatureSetLoader.LoadFeatureSetFromFeatureConfig(featureConfig); } catch (Exception e) { var serializedConfig = JsonConvert.SerializeObject(featureConfig); Logger.LogError(e, $"Failed to load features from feature config: {Environment.NewLine}{serializedConfig}"); } }
public DeparturesViewModel(FeatureConfig configuration) { _configuration = configuration; var lowFrequencyPeriod = _configuration.Settings["lowFrequencyUpdates"]; _lowFrequencyInterval = int.Parse(_configuration.Settings["lowFrequencyInteval"]); _highFrequencyInterval = int.Parse(_configuration.Settings["highFrequencyInteval"]); _lowFrequencyStart = TimeSpan.Parse(lowFrequencyPeriod.Substring(0, 5)); _lowFrequencyEnd = TimeSpan.Parse(lowFrequencyPeriod.Substring(6, 5)); Messenger.Default.Register<DepartureDepartedEvent>(this, async (e) => await OnDepartureDeparted(e)); }
/// <summary> /// Loads features to be detected into a FeatureSet object using metadata stored in a single FeatureConfig object /// </summary> /// <param name="featureConfig">FeatureConfig object</param> /// <returns>FeatureSet object containing all features loaded into memory</returns> public static FeatureSet LoadFeatureSetFromFeatureConfig(FeatureConfig featureConfig) { var compiledFeatures = new HashSet <CompiledFeature>(); var configuredFeatures = new HashSet <ConfiguredFeature>(); foreach (var featureGroup in featureConfig.FeatureGroups) { var featureScope = featureGroup.FeatureScope; var newCompiledFeatures = FeatureLoader.LoadCompiledFeaturesFromAssemblies(featureScope, featureGroup.CompiledFeatureAssemblies); var newConfiguredFeatures = FeatureLoader.LoadConfiguredFeatures(featureScope, featureGroup.ConfiguredFeatures); compiledFeatures.UnionWith(newCompiledFeatures); configuredFeatures.UnionWith(newConfiguredFeatures); } return(new FeatureSet(compiledFeatures, configuredFeatures)); }
public void Setup() { var jsonFilePath = Path.Combine(TestProjectDirectory, "Examples", "Input", "feature_config.json"); WellDefinedFeatureConfig = FeatureConfigParser.Parse(jsonFilePath); jsonFilePath = Path.Combine(TestProjectDirectory, "Examples", "Input", "test_file_with_nonexistent_assembly_path.json"); FeatureConfigWithNonexistentAssembly = FeatureConfigParser.Parse(jsonFilePath); jsonFilePath = Path.Combine(TestProjectDirectory, "Examples", "Input", "test_file_with_nonexistent_feature.json"); FeatureConfigWithNonexistentFeature = FeatureConfigParser.Parse(jsonFilePath); jsonFilePath = Path.Combine(TestProjectDirectory, "Examples", "Input", "test_file_with_nonexistent_feature_property.json"); FeatureConfigWithNonexistentFeatureProperty = FeatureConfigParser.Parse(jsonFilePath); jsonFilePath = Path.Combine(TestProjectDirectory, "Examples", "Input", "test_file_with_nonexistent_namespace.json"); FeatureConfigWithNonexistentNamespace = FeatureConfigParser.Parse(jsonFilePath); jsonFilePath = Path.Combine(TestProjectDirectory, "Examples", "Input", "test_file_with_duplicate_features.json"); FeatureConfigWithDuplicateFeatures = FeatureConfigParser.Parse(jsonFilePath); jsonFilePath = Path.Combine(TestProjectDirectory, "Examples", "Input", "test_file_with_invalid_feature.json"); FeatureConfigWithInvalidFeature = FeatureConfigParser.Parse(jsonFilePath); }
//----------------------------------------------------------------------------------------------------------------------------------------------------- private static void ValidateFeature(ModuleConfig module, FeatureConfig feature) { if ( string.IsNullOrWhiteSpace(feature.Name) && string.IsNullOrWhiteSpace(feature.LoaderClass) ) { throw new NodeHostConfigException("At least one of Name or LoaderClass must be specified in Feature element."); } if ( string.IsNullOrWhiteSpace(feature.LoaderClass) ) { feature.LoaderClass = string.Format("{0}.{1}FeatureLoader", Path.GetFileNameWithoutExtension(module.Assembly), feature.Name); } if ( string.IsNullOrWhiteSpace(feature.Name) ) { feature.Name = feature.LoaderClass.TrimPrefix(Path.GetFileNameWithoutExtension(module.Assembly) + ".").TrimSuffix("FeatureLoader"); } }
public WeatherViewModel(FeatureConfig configuration) { _configuration = configuration; }
public AgendaService(FeatureConfig configuration) { _configuration = configuration; }
public DeparturesService(FeatureConfig configuration) { _configuration = configuration; }
public WeatherService(FeatureConfig configuration) { _configuration = configuration; }
public CarInfoViewModel(FeatureConfig configuration) { _configuration = configuration; }
public AgendaWorker(FeatureConfig configuration) { _configuration = configuration; _agendaService = new AgendaService(_configuration); }