protected override void Handle(SensorLifetimeRequest request) { RegistryResponse regResponse = LocalRegistry .getSensorRecord(request.NewEvent.SensorName); if (request.NewEvent.lifeStage == LifetimeStages.Startup) { if (regResponse.status == RegistryStatus.noSuchRecord) { LocalRegistry.addSensorRecord(request.NewEvent.SensorName, request.NewEvent.IpAddress, request.NewEvent.ListeningPort, request.NewEvent.LastReadIndex); } else { logger.LogMessage("Startup event for ALREADY registered sensor ... "); } } else { // shutdown event received if (regResponse.status == RegistryStatus.ok) { LocalRegistry.removeSensorRecord(request.NewEvent.SensorName); } else { logger.LogMessage("Shutdown event for NOT registered sensor ... "); } } }
public async Task <RegistryResponse> GetRegistryByID(int id) { CsvParserOptions csvParserOptions = new CsvParserOptions(false, ','); CsvReaderOptions csvReaderOptions = new CsvReaderOptions(new[] { Environment.NewLine }); RegistryMapping csvMapper = new RegistryMapping(); CsvParser <RegistryServices> csvParser = new CsvParser <RegistryServices>(csvParserOptions, csvMapper); RegistryResponse resultList = null; var list = new List <RegistryResponse>(); try { string fileName = $"Doc//RegistryServices.csv"; var result = csvParser .ReadFromFile(fileName, Encoding.UTF8).Skip(1) .ToList(); result.ForEach(x => { list.Add(new RegistryResponse { Id = Convert.ToInt32(x.Result.IdAgreement.ToString()), NombreEmpresa = x.Result.NameEnterprise.ToString(), EndpointUrl = new Uri($"http://{x.Result.EndpointUrl}"), Formato = x.Result.FormatTransformation.ToString() }); }); } catch (Exception ex) { var error = ex.ToString(); } return(list.Where(x => x.Id.Equals(id)).FirstOrDefault()); }
public IActionResult getSensors() { RegistryResponse response = this.sensorRegistry.getAllSensors(); if (response.status == RegistryStatus.ok) { return(new OkObjectResult(response.listData)); } return(new BadRequestObjectResult("Registry response: " + response.status.ToString())); }
public IActionResult getAddress([FromQuery] string sensorName) { RegistryResponse response = this.sensorRegistry.getSensorRecord(sensorName); if (response.status == RegistryStatus.ok) { return(new OkObjectResult(response.singleData.Address)); } return(new BadRequestObjectResult("Registry response: " + response.status.ToString())); }
public IActionResult delete([FromQuery] string sensorName) { Console.WriteLine($"Sensor removed: {sensorName} ... "); RegistryResponse response = this.sensorRegistry.removeSensorRecord(sensorName); if (response.status == RegistryStatus.ok) { return(new OkObjectResult(response.singleData)); } return(new BadRequestObjectResult("Registry response: " + response.status.ToString())); }
public IActionResult updateSensor([FromBody] SensorDataArg reqArg) { ServiceConfiguration conf = ServiceConfiguration.Instance; RegistryResponse response = sensorRegistry.updateSensorRecord(reqArg.SensorName, reqArg.IpAddress, reqArg.PortNum, reqArg.LastReadIndex); if (response.status == RegistryStatus.ok) { return(new OkObjectResult(response.singleData)); } return(new BadRequestObjectResult("Registry response: " + response.status.ToString())); }
public IActionResult postSensor([FromBody] SensorDataArg reqArg) { Console.WriteLine($"Sensor add trough post request: {reqArg.SensorName}"); RegistryResponse response = sensorRegistry.addSensorRecord(reqArg.SensorName, reqArg.IpAddress, reqArg.PortNum, reqArg.LastReadIndex); if (response.status == RegistryStatus.ok) { return(new OkObjectResult(response.singleData)); } return(new BadRequestObjectResult("Registry response: " + response.status.ToString())); }
protected override async Task Handle( SensorUpdateRequest request, CancellationToken cancellationToken) { RegistryResponse regResponse = LocalRegistry .getSensorRecord(request.NewEvent.SensorName); if (regResponse.status == RegistryStatus.ok) { LocalRegistry.updateSensorRecord( request.NewEvent.SensorName, request.NewEvent.IpAddress, request.NewEvent.ListeningPort, request.NewEvent.LastReadIndex); } else if (regResponse.status == RegistryStatus.noSuchRecord) { // we received event from sensor that is still not registered // this request will check if that sensor is still alive // and return it's info if it is alive var result = await mediator.Send(new CheckSensorInfoRequest( request.NewEvent.SensorName, request.NewEvent.IpAddress, request.NewEvent.ListeningPort)); if (result != null) { LocalRegistry.addSensorRecord( result.SensorName, result.IpAddress, result.ListeningPort, result.LastReadIndex); } } return; }
private RegistryResponse Build_Test01() { var request = new RegistryResponse { RequestId = "urn:xdskit:com:c7ptmx37tfbcwy8ky7a", Status = ResponseStatus.PartialSuccess, Slots = new List <Slot> { new Slot { Name = "creationTime", Type = "urn:xdskit:com:c7ptmx37tfbcwy8ky7b", Values = new List <string> { "2015-01-01" } }, new Slot { Name = "languageCode", Type = "urn:xdskit:com:c7ptmx37tfbcwy8ky7c", Values = new List <string> { "en-US", "en-GB", "en-AU" } }, new Slot { Name = "serviceStartTime", Values = new List <string> { "2015-01-01T09:00:00" } }, new Slot { Name = "serviceStopTime", Values = new List <string> { "2015-01-01T21:00:00" } } }, RegistryErrors = new RegistryErrorList { HighestSeverity = ErrorSeverity.Error, Errors = new List <RegistryError> { new RegistryError { ErrorCode = "ObjectRefIdNotFound", CodeContext = "A local object refererence (urn:xdskit:com:c7ptmx37tfbcwy8ky70) was not found.", Location = "Line 1022, Column 7", Severity = ErrorSeverity.Error }, new RegistryError { ErrorCode = "RegistryError", CodeContext = "RegistryPackage has too many items. Performance degraded", Severity = ErrorSeverity.Warning } } } }; return(request); }