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