From e44693070ec41fcd8af8d9ddf059fae0f90f078d Mon Sep 17 00:00:00 2001 From: Lovisa Hassler Date: Thu, 6 Dec 2018 10:44:59 -0500 Subject: [PATCH] added error message if signal data is corrupt --- modules/dsn/managers/signalmanager.cpp | 35 +++++++++++++++----------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/modules/dsn/managers/signalmanager.cpp b/modules/dsn/managers/signalmanager.cpp index 80adccef12..450b6c15a7 100644 --- a/modules/dsn/managers/signalmanager.cpp +++ b/modules/dsn/managers/signalmanager.cpp @@ -48,24 +48,31 @@ namespace openspace { nlohmann::json j = nlohmann::json::parse(ifs); SignalManager::Signal structSignal; + int objectCounter = 0; for (const auto& signalsInJson : j["Signals"]) { - structSignal.dishName = signalsInJson["facility"].get(); - structSignal.spacecraft = signalsInJson["projuser"].get(); - structSignal.endTime = signalsInJson["eot"].get(); - structSignal.startTime = signalsInJson["bot"].get(); - structSignal.direction = signalsInJson["direction"].get(); - structSignal.lightTravelTime = 71397.6659308273; + objectCounter++; + try { + structSignal.dishName = signalsInJson["facility"].get(); + structSignal.spacecraft = signalsInJson["projuser"].get(); + structSignal.endTime = signalsInJson["eot"].get(); + structSignal.startTime = signalsInJson["bot"].get(); + structSignal.direction = signalsInJson["direction"].get(); + structSignal.lightTravelTime = 71397.6659308273; - if (structSignal.direction == "uplink") { - structSignal.endTimeExtension = structSignal.lightTravelTime; + if (structSignal.direction == "uplink") { + structSignal.endTimeExtension = structSignal.lightTravelTime; + } + else if (structSignal.direction == "downlink") { + structSignal.startTimeExtension = structSignal.lightTravelTime; + } + else if (structSignal.direction == "both") { + structSignal.endTimeExtension = structSignal.lightTravelTime; + structSignal.startTimeExtension = structSignal.lightTravelTime; + } } - else if (structSignal.direction == "downlink") { - structSignal.startTimeExtension = structSignal.lightTravelTime; - } - else if (structSignal.direction == "both") { - structSignal.endTimeExtension = structSignal.lightTravelTime; - structSignal.startTimeExtension = structSignal.lightTravelTime; + catch (const std::exception& e) { + LERROR(fmt::format("Error in json object number {} while reading signal data file '{}'", objectCounter, filename)); } //Add signal to vector of signals