public M2mgoDeviceWebApiWrapper(ISerializer serializer, WebApiRequestExecutor webApiRequestExecutor, ILogger logger, M2mgoUserTokenWebApiWrapper userTokenWebApiWrapper) { _serializer = serializer; _webApiRequestExecutor = webApiRequestExecutor; _logger = logger; _userTokenWebApiWrapper = userTokenWebApiWrapper; }
public M2mgoGatewayProjectWebApiWrapper(ISerializer serializer, ILoggerFactory loggerFactory, WebApiRequestExecutor webApiRequestExecutor, M2mgoUserTokenWebApiWrapper userTokenWebApiWrapper) { _serializer = serializer; _webApiRequestExecutor = webApiRequestExecutor; _userTokenWebApiWrapper = userTokenWebApiWrapper; _logger = loggerFactory.GetLoggerFor(GetType()); }
internal string RetryWithTokenUpdate(M2MgoCloudAgentConfiguration config, Func <string> func) { if (_token == null) { _token = UpdateAccessToken(config); } try { return(func()); } catch (WebException) { _token = UpdateAccessToken(config); try { return(func()); } catch (WebException e) { var resp = e.Response as HttpWebResponse; if (resp != null) { if (resp.StatusCode == HttpStatusCode.NotFound) { return(string.Empty); } throw new Exception(WebApiRequestExecutor.ReadDataFrom(resp), e); } throw; } } }
public void Initialize(string serialId, UicProject project, List <EmbeddedDriverModule> edms) { WebApiRequestExecutor webApiRequestExecutor = new WebApiRequestExecutor(); M2mgoUserTokenWebApiWrapper userTokenWebApiWrapper = new M2mgoUserTokenWebApiWrapper(_serializer, webApiRequestExecutor, _loggerFactory.GetLoggerFor(typeof(M2mgoUserTokenWebApiWrapper))); var m2MgoGatewayProjectWebApiWrapper = new M2mgoGatewayProjectWebApiWrapper(_serializer, _loggerFactory, webApiRequestExecutor, userTokenWebApiWrapper); M2MgoProjectTranslator projectTranslator = new M2MgoProjectTranslator(); var gatewayService = new GatewayService(m2MgoGatewayProjectWebApiWrapper, _loggerFactory.GetLoggerFor(typeof(GatewayService)), _serializer, projectTranslator); M2mgoGetwayProjectDto gatewayProject = gatewayService.RegisterProject(_configuration, serialId, project); M2mgoDeviceWebApiWrapper apiWrapper = new M2mgoDeviceWebApiWrapper(_serializer, webApiRequestExecutor, _loggerFactory.GetLoggerFor(typeof(M2mgoDeviceWebApiWrapper)), userTokenWebApiWrapper); M2mgoGatewayBlueprintTranslator blueprintTranslator = new M2mgoGatewayBlueprintTranslator(projectTranslator); _m2MgoProjectBlueprintTranslator = new M2MgoProjectBlueprintTranslator(project, edms); var blueprintService = new BlueprintService(apiWrapper, _loggerFactory.GetLoggerFor(typeof(BlueprintService)), blueprintTranslator, _m2MgoProjectBlueprintTranslator, projectTranslator, m2MgoGatewayProjectWebApiWrapper); _applianceBlueprints = blueprintService.SynchronizeWithCloud(_configuration, serialId, project, gatewayProject); _projectDataTopic = new DataTopic(_applianceBlueprints.ProjectBlueprint.Identifier.ID, serialId); _projectAttributeTopic = new AttributeTopic(_applianceBlueprints.ProjectBlueprint.Identifier.ID, serialId); _gatewayDataTopic = new DataTopic(_applianceBlueprints.GatewayBlueprint.Identifier.ID, serialId); }