Ref T704, split matching utils for logging in aviation context

This commit is contained in:
Klaus Basan
2019-07-16 00:57:41 +02:00
committed by Mat Sutcliffe
parent 07712c27e8
commit 4237839bbd
16 changed files with 366 additions and 270 deletions

View File

@@ -15,12 +15,12 @@
#include "blackcore/application.h"
#include "blackcore/webdataservices.h"
#include "blackcore/context/contextnetwork.h"
#include "blackmisc/simulation/matchingutils.h"
#include "blackmisc/aviation/aircraftparts.h"
#include "blackmisc/aviation/aircraftsituation.h"
#include "blackmisc/aviation/comsystem.h"
#include "blackmisc/aviation/modulator.h"
#include "blackmisc/aviation/transponder.h"
#include "blackmisc/aviation/logutils.h"
#include "blackmisc/audio/voiceroom.h"
#include "blackmisc/geo/elevationplane.h"
#include "blackmisc/network/user.h"
@@ -578,7 +578,7 @@ namespace BlackCore
if (!myself || !sApp || sApp->isShuttingDown()) { return; }
if (!this->isAircraftInRange(callsign))
{
const CStatusMessage m = CMatchingUtils::logMessage(callsign, "No longer in range", CAirspaceMonitor::getLogCategories());
const CStatusMessage m = CLogUtilities::logMessage(callsign, "No longer in range", CAirspaceMonitor::getLogCategories());
this->addReverseLookupMessage(callsign, m);
return;
}
@@ -605,14 +605,14 @@ namespace BlackCore
readiness.setFlag(ReadyForMatchingSent); // stored as readiness is reference
const QString readyMsg = readyForMatching.arg(callsign.toQString(), remoteAircraft.getModel().getModelTypeAsString(), readiness.toQString());
const CStatusMessage m = CMatchingUtils::logMessage(callsign, readyMsg, getLogCategories());
const CStatusMessage m = CLogUtilities::logMessage(callsign, readyMsg, getLogCategories());
this->addReverseLookupMessage(callsign, m);
emit this->readyForModelMatching(remoteAircraft);
}
else
{
const CStatusMessage m = CMatchingUtils::logMessage(callsign, "Ignoring this aircraft, not found in range list, disconnected, or no callsign", CAirspaceMonitor::getLogCategories(), CStatusMessage::SeverityWarning);
const CStatusMessage m = CLogUtilities::logMessage(callsign, "Ignoring this aircraft, not found in range list, disconnected, or no callsign", CAirspaceMonitor::getLogCategories(), CStatusMessage::SeverityWarning);
this->addReverseLookupMessage(callsign, m);
m_readiness.remove(callsign);
}
@@ -776,9 +776,9 @@ namespace BlackCore
CStatusMessageList reverseLookupMessages;
CStatusMessageList *pReverseLookupMessages = reverseLookupEnabled.testFlag(RevLogEnabled) ? &reverseLookupMessages : nullptr;
CMatchingUtils::addLogDetailsToList(pReverseLookupMessages, callsign,
QStringLiteral("FsInn data from network: aircraft '%1', airline '%2', model '%3', combined '%4'").
arg(aircraftIcaoDesignator, airlineIcaoDesignator, modelString, combinedAircraftType));
CLogUtilities::addLogDetailsToList(pReverseLookupMessages, callsign,
QStringLiteral("FsInn data from network: aircraft '%1', airline '%2', model '%3', combined '%4'").
arg(aircraftIcaoDesignator, airlineIcaoDesignator, modelString, combinedAircraftType));
QString usedModelString = modelString;
@@ -786,16 +786,16 @@ namespace BlackCore
if (!modelString.isEmpty() && !setup.isReverseLookupModelString())
{
usedModelString.clear();
CMatchingUtils::addLogDetailsToList(pReverseLookupMessages, callsign,
QStringLiteral("FsInn modelstring '%1' ignored because of setuo").arg(modelString));
CLogUtilities::addLogDetailsToList(pReverseLookupMessages, callsign,
QStringLiteral("FsInn modelstring '%1' ignored because of setuo").arg(modelString));
}
else if (!CAircraftMatcher::isKnownModelString(modelString, callsign, pReverseLookupMessages))
{
// from the T701 test, do NOT use if model string is unknown
// this can overrride "swift livery strings", FsInn here only is useful with a known model string
usedModelString.clear();
CMatchingUtils::addLogDetailsToList(pReverseLookupMessages, callsign,
QStringLiteral("FsInn modelstring ignored, as modelstring '%1' is not known").arg(modelString));
CLogUtilities::addLogDetailsToList(pReverseLookupMessages, callsign,
QStringLiteral("FsInn modelstring ignored, as modelstring '%1' is not known").arg(modelString));
}
this->addOrUpdateAircraftInRange(callsign, aircraftIcaoDesignator, airlineIcaoDesignator, QString(), usedModelString, CAircraftModel::TypeFSInnData, pReverseLookupMessages);
@@ -814,10 +814,10 @@ namespace BlackCore
const ReverseLookupLogging reverseLookupEnabled = this->isReverseLookupMessagesEnabled();
CStatusMessageList reverseLookupMessages;
CStatusMessageList *pReverseLookupMessages = reverseLookupEnabled.testFlag(RevLogEnabled) ? &reverseLookupMessages : nullptr;
CMatchingUtils::addLogDetailsToList(pReverseLookupMessages, callsign,
QStringLiteral("Data from network: aircraft '%1', airline '%2', livery '%3'").
arg(aircraftIcaoDesignator, airlineIcaoDesignator, livery),
CAirspaceMonitor::getLogCategories());
CLogUtilities::addLogDetailsToList(pReverseLookupMessages, callsign,
QStringLiteral("Data from network: aircraft '%1', airline '%2', livery '%3'").
arg(aircraftIcaoDesignator, airlineIcaoDesignator, livery),
CAirspaceMonitor::getLogCategories());
const CClient client = this->getClientOrDefaultForCallsign(callsign);
this->addOrUpdateAircraftInRange(callsign, aircraftIcaoDesignator, airlineIcaoDesignator, livery, client.getQueriedModelString(), CAircraftModel::TypeQueriedFromNetwork, pReverseLookupMessages);
@@ -833,7 +833,7 @@ namespace BlackCore
CAircraftModel::ModelType type, CStatusMessageList *log, bool runMatchinScript)
{
const int modelSetCount = this->getModelSetCount();
CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Reverse lookup (with FP data) model set count: %1").arg(modelSetCount), CAirspaceMonitor::getLogCategories());
CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Reverse lookup (with FP data), model set count: %1").arg(modelSetCount), CAirspaceMonitor::getLogCategories());
const DBTripleIds ids = CAircraftModel::parseNetworkLiveryString(liveryString);
const bool hasAnyId = ids.hasAnyId();
@@ -856,7 +856,7 @@ namespace BlackCore
if (!setup.isReverseLookupSwiftLiveryIds())
{
CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Reverse lookup of livery string '%1' disabled").arg(liveryString));
CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Reverse lookup of livery string '%1' disabled").arg(liveryString));
}
else if (hasAnyId)
{
@@ -871,7 +871,7 @@ namespace BlackCore
if (aircraftIcao.hasValidDbKey() && livery.hasValidDbKey())
{
CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Using DB livery %1 and aircraft ICAO %2 to create model").arg(livery.getDbKeyAsString(), aircraftIcao.getDbKeyAsString()), CAirspaceMonitor::getLogCategories());
CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Using DB livery %1 and aircraft ICAO %2 to create model").arg(livery.getDbKeyAsString(), aircraftIcao.getDbKeyAsString()), CAirspaceMonitor::getLogCategories());
// we have a valid livery from DB + valid aircraft ICAO from DB
lookupModel = CAircraftModel(modelString, type, "By DB livery and aircraft ICAO", aircraftIcao, livery);
@@ -887,6 +887,7 @@ namespace BlackCore
if (airlineIcao.isLoadedFromDb() && !knownAircraftIcao)
{
// we have no valid aircraft ICAO, so we do a fuzzy search among those
CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Fuzzy search among airline aircraft because '%1' is not known ICAO designator").arg(aircraftIcaoString));
const CAircraftIcaoCode foundIcao = CAircraftMatcher::searchAmongAirlineAircraft(aircraftIcaoString, airlineIcao, callsign, log);
if (foundIcao.isLoadedFromDb()) { aircraftIcao = foundIcao; }
}
@@ -898,12 +899,12 @@ namespace BlackCore
const CFlightPlanRemarks fpRemarks = this->tryToGetFlightPlanRemarks(callsign);
if (fpRemarks.isEmpty())
{
CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("No flight plan remarks"));
CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("No flight plan remarks"));
}
else
{
CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("FP remarks: '%1'").arg(fpRemarks.getRemarks()));
CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("FP rem.parsed: '%1'").arg(fpRemarks.toQString(true)));
CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("FP remarks: '%1'").arg(fpRemarks.getRemarks()));
CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("FP rem.parsed: '%1'").arg(fpRemarks.toQString(true)));
}
@@ -941,8 +942,8 @@ namespace BlackCore
}
}
CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Used aircraft ICAO: '%1'").arg(aircraftIcao.toQString(true)), CAirspaceMonitor::getLogCategories());
CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Used airline ICAO: '%1'").arg(airlineIcao.toQString(true)), CAirspaceMonitor::getLogCategories());
CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Used aircraft ICAO: '%1'").arg(aircraftIcao.toQString(true)), CAirspaceMonitor::getLogCategories());
CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Used airline ICAO: '%1'").arg(airlineIcao.toQString(true)), CAirspaceMonitor::getLogCategories());
// matching script is used below
lookupModel = CAircraftMatcher::reverseLookupModel(callsign, aircraftIcao, airlineIcao, liveryString, modelString, setup, type, log);
@@ -960,7 +961,7 @@ namespace BlackCore
{
if (rv.runScriptAndRerun())
{
CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Matching script: Re-run reverseLookupModelWithFlightplanData"), CAirspaceMonitor::getLogCategories());
CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Matching script: Re-run reverseLookupModelWithFlightplanData"), CAirspaceMonitor::getLogCategories());
return CAirspaceMonitor::reverseLookupModelWithFlightplanData(callsign,
rv.model.getAircraftIcaoCodeDesignator(), rv.model.getAirlineIcaoCodeVDesignator(), rv.model.getLivery().getCombinedCode(),
modelString, type, log, false);
@@ -968,13 +969,13 @@ namespace BlackCore
else
{
lookupModel = rv.model;
CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("Matching script: Using model from matching script"), CAirspaceMonitor::getLogCategories());
CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Matching script: Using model from matching script"), CAirspaceMonitor::getLogCategories());
}
}
}
else
{
CMatchingUtils::addLogDetailsToList(log, callsign, QStringLiteral("No reverse lookup script used"));
CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("No reverse lookup script used"));
}
// done