Exemplo n.º 1
0
        public CarInfoService(FeatureConfig configuration)
        {
            _configuration = configuration;

            _baseUrl = _configuration.Settings["teslaApiUrl"];

            _api = new RESTClient(_baseUrl);
        }
Exemplo n.º 2
0
 public FeatureService(
     ILogger <FeatureService> logger,
     IOptionsSnapshot <FeatureConfig> featureConfig,
     BotService botService,
     RateLimitingInMemory rateLimitingInMemory
     )
 {
     _logger               = logger;
     _botService           = botService;
     _rateLimitingInMemory = rateLimitingInMemory;
     _featureConfig        = featureConfig.Value;
 }
Exemplo n.º 3
0
 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}");
     }
 }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        /// <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));
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        //-----------------------------------------------------------------------------------------------------------------------------------------------------
        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");
            }
        }
Exemplo n.º 8
0
 public WeatherViewModel(FeatureConfig configuration)
 {
     _configuration = configuration;
 }
Exemplo n.º 9
0
 public AgendaService(FeatureConfig configuration)
 {
     _configuration = configuration;
 }
Exemplo n.º 10
0
 public DeparturesService(FeatureConfig configuration)
 {
     _configuration = configuration;
 }
Exemplo n.º 11
0
 public WeatherService(FeatureConfig configuration)
 {
     _configuration = configuration;
 }
Exemplo n.º 12
0
 public CarInfoViewModel(FeatureConfig configuration)
 {
     _configuration = configuration;
 }
Exemplo n.º 13
0
 public AgendaWorker(FeatureConfig configuration)
 {
     _configuration = configuration;
     _agendaService = new AgendaService(_configuration);
 }