From 2c66e2215e357954179d11b27379ecd538521ab7 Mon Sep 17 00:00:00 2001 From: Mat Sutcliffe Date: Tue, 10 Nov 2020 23:27:57 +0000 Subject: [PATCH] Issue #77 Move all methods of CLogUtilities to other classes --- src/blackcore/aircraftmatcher.cpp | 191 +++++++++--------- src/blackcore/airspacemonitor.cpp | 43 ++-- .../context/contextsimulatorimpl.cpp | 5 +- .../components/modelmatchercomponent.cpp | 5 +- src/blackmisc/aviation/aircrafticaocode.cpp | 35 +++- src/blackmisc/aviation/aircrafticaocode.h | 13 ++ src/blackmisc/aviation/airlineicaocode.cpp | 27 ++- src/blackmisc/aviation/airlineicaocode.h | 13 ++ .../aviation/airlineicaocodelist.cpp | 17 +- src/blackmisc/aviation/callsign.cpp | 15 ++ src/blackmisc/aviation/callsign.h | 16 ++ src/blackmisc/aviation/livery.cpp | 26 ++- src/blackmisc/aviation/livery.h | 13 ++ src/blackmisc/aviation/logutils.cpp | 81 -------- src/blackmisc/aviation/logutils.h | 95 --------- src/blackmisc/simulation/aircraftmodel.cpp | 3 +- .../simulation/aircraftmodellist.cpp | 13 +- src/blackmisc/simulation/matchingutils.cpp | 3 +- .../simulation/remoteaircraftprovider.cpp | 3 +- 19 files changed, 270 insertions(+), 347 deletions(-) delete mode 100644 src/blackmisc/aviation/logutils.cpp delete mode 100644 src/blackmisc/aviation/logutils.h diff --git a/src/blackcore/aircraftmatcher.cpp b/src/blackcore/aircraftmatcher.cpp index 4e771e43d..970e4e224 100644 --- a/src/blackcore/aircraftmatcher.cpp +++ b/src/blackcore/aircraftmatcher.cpp @@ -14,7 +14,6 @@ #include "blackmisc/simulation/matchingutils.h" #include "blackmisc/aviation/aircrafticaocode.h" #include "blackmisc/aviation/airlineicaocode.h" -#include "blackmisc/aviation/logutils.h" #include "blackmisc/aviation/callsign.h" #include "blackmisc/aviation/livery.h" #include "blackmisc/fileutils.h" @@ -77,7 +76,7 @@ namespace BlackCore const QString &airlineName, const QString &airlineTelephony, bool useWebServices, CStatusMessageList *log) { - CLogUtilities::addLogDetailsToList(log, callsign, + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Find airline designator from 1st: '%1' 2nd: '%2' callsign: '%3', use airline callsign: %4, name: '%5' telephony: '%6' use web service: %7"). arg(primaryIcao, secondaryIcao, callsign.toQString(), boolToYesNo(airlineFromCallsign), airlineName, airlineTelephony, boolToYesNo(useWebServices)), getLogCategories()); CAirlineIcaoCode code; @@ -85,30 +84,30 @@ namespace BlackCore { if (CAircraftMatcher::isValidAirlineIcaoDesignator(primaryIcao, useWebServices)) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Using primary airline ICAO '%1'").arg(primaryIcao), getLogCategories()); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Using primary airline ICAO '%1'").arg(primaryIcao), getLogCategories()); code = stringToAirlineIcaoObject(callsign, primaryIcao, airlineName, airlineTelephony, useWebServices, log); break; } if (CAircraftMatcher::isValidAirlineIcaoDesignator(secondaryIcao, useWebServices)) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Using secondary airline ICAO '%1', primary '%2' not valid").arg(secondaryIcao, primaryIcao), getLogCategories()); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Using secondary airline ICAO '%1', primary '%2' not valid").arg(secondaryIcao, primaryIcao), getLogCategories()); code = stringToAirlineIcaoObject(callsign, secondaryIcao, airlineName, airlineTelephony, useWebServices, log); break; } - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Two invalid airline ICAO codes (primary/secondary) '%1', '%2'").arg(primaryIcao, secondaryIcao), getLogCategories()); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Two invalid airline ICAO codes (primary/secondary) '%1', '%2'").arg(primaryIcao, secondaryIcao), getLogCategories()); if (airlineFromCallsign) { QString flightNumber; const QString airlinePrefix = callsign.getAirlinePrefix(flightNumber); if (airlinePrefix.isEmpty() || flightNumber.isEmpty()) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Callsign '%1' cannot be split in airline '%1'/ flight number '%2'").arg(callsign.toQString(), flightNumber), getLogCategories()); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Callsign '%1' cannot be split in airline '%1'/ flight number '%2'").arg(callsign.toQString(), flightNumber), getLogCategories()); break; } if (CAircraftMatcher::isValidAirlineIcaoDesignator(airlinePrefix, useWebServices)) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Using airline from callsign '%1', suffix: '%2'").arg(callsign.toQString(), airlinePrefix), getLogCategories()); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Using airline from callsign '%1', suffix: '%2'").arg(callsign.toQString(), airlinePrefix), getLogCategories()); code = stringToAirlineIcaoObject(callsign, airlinePrefix, airlineName, airlineTelephony, useWebServices, log); break; } @@ -118,12 +117,12 @@ namespace BlackCore if (code.hasValidDesignator()) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Resolved to airline designator: %1").arg(code.toQString(true))); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Resolved to airline designator: %1").arg(code.toQString(true))); } else { - CLogUtilities::addLogDetailsToList(log, callsign, + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Cannot find airline designator from 1st: '%1' 2nd: '%2' callsign: '%3', use airline callsign: %4, name: '%5' telephony: '%6' use web service: %7"). arg(primaryIcao, secondaryIcao, callsign.toQString(), boolToYesNo(airlineFromCallsign), airlineName, airlineTelephony, boolToYesNo(useWebServices)), getLogCategories()); } @@ -132,13 +131,13 @@ namespace BlackCore CAirlineIcaoCode CAircraftMatcher::failoverValidAirlineIcaoDesignator(const CCallsign &callsign, const QString &primaryIcao, const QString &secondaryIcao, bool airlineFromCallsign, const QString &airlineName, const QString &airlineTelephony, const CAircraftModelList &models, CStatusMessageList *log) { - CLogUtilities::addLogDetailsToList(log, callsign, + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Find airline designator from 1st: '%1' 2nd: '%2' callsign: '%3', use airline callsign: %4, airline name: '%5' telephony: '%6', models: %7"). arg(primaryIcao, secondaryIcao, callsign.toQString(), boolToYesNo(airlineFromCallsign), airlineName, airlineTelephony, models.sizeString()), getLogCategories()); if (models.isEmpty()) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("No models to find airline from")); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("No models to find airline from")); return CAirlineIcaoCode(); } @@ -155,7 +154,7 @@ namespace BlackCore if (countPerAirline.size() == 1) { code = countPerAirline.firstKey(); - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Found only 1 airline ICAO '%1' in %2 models").arg(countPerAirline.firstKey().getDesignatorDbKey()).arg(models.size()), getLogCategories()); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Found only 1 airline ICAO '%1' in %2 models").arg(countPerAirline.firstKey().getDesignatorDbKey()).arg(models.size()), getLogCategories()); break; } @@ -166,7 +165,7 @@ namespace BlackCore modelsWithAirline = CAircraftMatcher::ifPossibleReduceModelsByAirlineNameTelephonyDesignator(callsign, airlineName, airlineTelephony, modelsWithAirline, info.arg(modelsWithAirline.size()).arg(primaryIcao), reduced, log); } code = modelsWithAirline.getAirlineWithMaxCount(); - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Using primary airline ICAO '%1' found '%2'").arg(primaryIcao, code.getDesignatorDbKey()), getLogCategories()); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Using primary airline ICAO '%1' found '%2'").arg(primaryIcao, code.getDesignatorDbKey()), getLogCategories()); break; } } @@ -178,7 +177,7 @@ namespace BlackCore if (countPerAirline.size() == 1) { code = countPerAirline.firstKey(); - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Found only 1 airline ICAO '%1' in %2 models").arg(countPerAirline.firstKey().getDesignatorDbKey()).arg(models.size()), getLogCategories()); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Found only 1 airline ICAO '%1' in %2 models").arg(countPerAirline.firstKey().getDesignatorDbKey()).arg(models.size()), getLogCategories()); break; } @@ -189,7 +188,7 @@ namespace BlackCore modelsWithAirline = CAircraftMatcher::ifPossibleReduceModelsByAirlineNameTelephonyDesignator(callsign, airlineName, airlineTelephony, modelsWithAirline, info.arg(modelsWithAirline.size()).arg(secondaryIcao), reduced, log); } code = modelsWithAirline.getAirlineWithMaxCount(); - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Using secondary airline ICAO '%1' found '%2'").arg(primaryIcao, code.getDesignatorDbKey()), getLogCategories()); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Using secondary airline ICAO '%1' found '%2'").arg(primaryIcao, code.getDesignatorDbKey()), getLogCategories()); break; } } @@ -200,7 +199,7 @@ namespace BlackCore const QString airlinePrefix = callsign.getAirlinePrefix(flightNumber); if (airlinePrefix.isEmpty() || flightNumber.isEmpty()) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Callsign '%1' cannot be split in airline '%1'/ flight number '%2'").arg(callsign.toQString(), flightNumber), getLogCategories()); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Callsign '%1' cannot be split in airline '%1'/ flight number '%2'").arg(callsign.toQString(), flightNumber), getLogCategories()); break; } @@ -209,7 +208,7 @@ namespace BlackCore if (countPerAirline.size() == 1) { code = countPerAirline.firstKey(); - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Found only 1 airline ICAO '%1' in %2 models").arg(countPerAirline.firstKey().getDesignatorDbKey()).arg(models.size()), getLogCategories()); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Found only 1 airline ICAO '%1' in %2 models").arg(countPerAirline.firstKey().getDesignatorDbKey()).arg(models.size()), getLogCategories()); break; } if (modelsWithAirline.size() > 0) @@ -219,7 +218,7 @@ namespace BlackCore modelsWithAirline = CAircraftMatcher::ifPossibleReduceModelsByAirlineNameTelephonyDesignator(callsign, airlineName, airlineTelephony, modelsWithAirline, info.arg(modelsWithAirline.size()).arg(airlinePrefix), reduced, log); } code = modelsWithAirline.getAirlineWithMaxCount(); - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Using callsign airline ICAO '%1' found '%2'").arg(airlinePrefix, code.getDesignatorDbKey()), getLogCategories()); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Using callsign airline ICAO '%1' found '%2'").arg(airlinePrefix, code.getDesignatorDbKey()), getLogCategories()); break; } } @@ -229,11 +228,11 @@ namespace BlackCore // return message if (code.hasValidDesignator()) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Resolved to airline designator: %1").arg(code.toQString(true))); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Resolved to airline designator: %1").arg(code.toQString(true))); } else { - CLogUtilities::addLogDetailsToList(log, callsign, + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Cannot find airline designator from 1st: '%1' 2nd: '%2' callsign: '%3', use airline callsign: %4, airline name: '%5' telephony: '%6', models: %7"). arg(primaryIcao, secondaryIcao, callsign.toQString(), boolToYesNo(airlineFromCallsign), airlineName, airlineTelephony, models.sizeString()), getLogCategories()); } @@ -244,11 +243,11 @@ namespace BlackCore { if (!models.isEmpty()) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Using %1 models to resolve airline designator").arg(models.size())); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Using %1 models to resolve airline designator").arg(models.size())); const CAirlineIcaoCode airline = CAircraftMatcher::failoverValidAirlineIcaoDesignator(callsign, primaryIcao, secondaryIcao, airlineFromCallsign, airlineName, airlineTelephony, models, log); if (airline.hasValidDbKey()) { return airline; } } - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Now using resolution of airline ICAO without specific models")); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Now using resolution of airline ICAO without specific models")); return CAircraftMatcher::failoverValidAirlineIcaoDesignator(callsign, primaryIcao, secondaryIcao, airlineFromCallsign, airlineName, airlineTelephony, true, log); } @@ -529,7 +528,7 @@ namespace BlackCore QString logMessage; const CCallsign callsign = inModel.getCallsign(); - if (js.isEmpty() && log) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Matching script is empty")); } + if (js.isEmpty() && log) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Matching script is empty")); } while (!js.isEmpty() && sApp && sApp->hasWebDataServices()) { @@ -543,9 +542,9 @@ namespace BlackCore if (log) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Matching script (%1): '%2'").arg(msToString(script), lf)); - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Matching script input model (%1): '%2'").arg(inModel.toQString(true))); - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Matching script models: %1").arg(modelSet.coverageSummary())); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Matching script (%1): '%2'").arg(msToString(script), lf)); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Matching script input model (%1): '%2'").arg(inModel.toQString(true))); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Matching script models: %1").arg(modelSet.coverageSummary())); } QJSEngine engine; @@ -594,7 +593,7 @@ namespace BlackCore { const QString msg = QStringLiteral("Matching script error: %1 '%2'").arg(ms.property("lineNumber").toInt()).arg(ms.toString()); CLogMessage(static_cast(nullptr)).warning(msg); - if (log) { CLogUtilities::addLogDetailsToList(log, callsign, msg); } + if (log) { CCallsign::addLogDetailsToList(log, callsign, msg); } } else { @@ -637,7 +636,7 @@ namespace BlackCore const CAircraftModel modeSetModel = CAircraftMatcher::reverseLookupModelStringInSet(modelString, callsign, modelSet, true, log); if (modeSetModel.hasModelString()) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Matching script using model from set: '%1'").arg(modelString)); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Matching script using model from set: '%1'").arg(modelString)); // NON DB model from model set rv.model = modeSetModel; @@ -678,7 +677,7 @@ namespace BlackCore const CLivery livery(sApp->getWebDataServices()->getStdLiveryForAirlineCode(icao)); rv.model.setLivery(livery); - if (log) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Matching script, changed airline ICAO: '%1' -> '%2'").arg(matchedModel.getAirlineIcaoCode().toQString(true), icao.toQString(true))); } + if (log) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Matching script, changed airline ICAO: '%1' -> '%2'").arg(matchedModel.getAirlineIcaoCode().toQString(true), icao.toQString(true))); } rv.modified = true; } } @@ -693,7 +692,7 @@ namespace BlackCore } // log message - if (log && !logMessage.isEmpty()) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Matching script log: '%1'").arg(logMessage)); } + if (log && !logMessage.isEmpty()) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Matching script log: '%1'").arg(logMessage)); } // end return rv; @@ -723,7 +722,7 @@ namespace BlackCore { if (!setup.isReverseLookupModelString()) { - if (log) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Model string looup disabled")); } + if (log) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Model string looup disabled")); } } else { @@ -750,15 +749,15 @@ namespace BlackCore // lookup if model is not yet from DB const DBTripleIds ids = CAircraftModel::parseNetworkLiveryString(networkLiveryInfo); - if (log) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Livery string with ids: '%1'").arg(ids.toQString())); } + if (log) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Livery string with ids: '%1'").arg(ids.toQString())); } if (!setup.isReverseLookupSwiftLiveryIds()) { - if (log) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Ignoring livery ids '%1', because of setup").arg(ids.toQString())); } + if (log) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Ignoring livery ids '%1', because of setup").arg(ids.toQString())); } } else if (ids.model >= 0 && !modelToLookup.hasModelString()) { - if (log) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Model lookup with id %1 from triple ids '%2'").arg(ids.model).arg(ids.toQString())); } + if (log) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Model lookup with id %1 from triple ids '%2'").arg(ids.model).arg(ids.toQString())); } const CAircraftModel modelFromDb = CAircraftMatcher::reverseLookupModelId(ids.model, callsign, log); if (modelFromDb.hasValidDbKey()) { @@ -770,7 +769,7 @@ namespace BlackCore // no direct resolution of model, try livery and aircraft ICAO if (!modelToLookup.getAircraftIcaoCode().hasValidDbKey() && ids.aircraft >= 0) { - if (log) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Aircraft ICAO lookup with id %1 from triple ids '%2'").arg(ids.aircraft).arg(ids.toQString())); } + if (log) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Aircraft ICAO lookup with id %1 from triple ids '%2'").arg(ids.aircraft).arg(ids.toQString())); } const CAircraftIcaoCode icaoFromDb = CAircraftMatcher::reverseLookupAircraftIcaoId(ids.aircraft, callsign, log); if (icaoFromDb.hasValidDbKey()) { @@ -780,7 +779,7 @@ namespace BlackCore if (!modelToLookup.getLivery().hasValidDbKey() && ids.livery >= 0) { - if (log) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Livery lookup with id %1 from triple ids '%2'").arg(ids.livery).arg(ids.toQString())); } + if (log) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Livery lookup with id %1 from triple ids '%2'").arg(ids.livery).arg(ids.toQString())); } const CLivery liveryFromDb = CAircraftMatcher::reverseLookupLiveryId(ids.livery, callsign, log); if (liveryFromDb.hasValidDbKey()) { @@ -797,13 +796,13 @@ namespace BlackCore reverseIcaoCode = CAircraftMatcher::reverseLookupAircraftIcao(reverseIcaoCode, callsign, log); if (reverseIcaoCode.isLoadedFromDb()) { - if (log) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Set aircraft ICAO to '%1' from DB").arg(reverseIcaoCode.getCombinedIcaoStringWithKey())); } + if (log) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Set aircraft ICAO to '%1' from DB").arg(reverseIcaoCode.getCombinedIcaoStringWithKey())); } model.setAircraftIcaoCode(reverseIcaoCode); } else { // no DB data - if (log) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Reverse lookup, ICAO '%1' not resolved from DB").arg(reverseIcaoCode.getDesignator())); } + if (log) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Reverse lookup, ICAO '%1' not resolved from DB").arg(reverseIcaoCode.getDesignator())); } } } } @@ -833,12 +832,12 @@ namespace BlackCore { // we have found a livery in the DB model.setLivery(reverseLivery); - if (log) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Reverse lookup of livery found '%1'").arg(reverseLivery.getCombinedCodePlusInfoAndId()), getLogCategories()); } + if (log) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Reverse lookup of livery found '%1'").arg(reverseLivery.getCombinedCodePlusInfoAndId()), getLogCategories()); } } else { // no livery data found - if (log) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Reverse lookup of livery '%1' yielded no result").arg(reverseLivery.getCombinedCodePlusInfo()), getLogCategories()); } + if (log) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Reverse lookup of livery '%1' yielded no result").arg(reverseLivery.getCombinedCodePlusInfo()), getLogCategories()); } } } // livery lookup @@ -853,7 +852,7 @@ namespace BlackCore if (stdLivery.hasValidDbKey()) { model.setLivery(stdLivery); - if (log) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Set standardlivery `%1`").arg(stdLivery.getCombinedCodePlusInfo())); } + if (log) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Set standardlivery `%1`").arg(stdLivery.getCombinedCodePlusInfo())); } } } @@ -862,7 +861,7 @@ namespace BlackCore // create a pseudo livery, try to find airline first const CLivery liveryDummy(CLivery::getStandardCode(airlineIcaoCode), airlineIcaoCode, "Generated"); model.setLivery(liveryDummy); - if (log) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Generated livery, set livery `%1`").arg(liveryDummy.getCombinedCodePlusInfo())); } + if (log) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Generated livery, set livery `%1`").arg(liveryDummy.getCombinedCodePlusInfo())); } } } } // pseudo livery @@ -875,7 +874,7 @@ namespace BlackCore if (log) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Using model: ICAO '%1', livery '%2', model '%3', type '%4'").arg( + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Using model: ICAO '%1', livery '%2', model '%3', type '%4'").arg( model.getAircraftIcaoCode().getCombinedIcaoStringWithKey(), model.getLivery().getCombinedCodePlusInfo(), model.getModelString(), model.getModelTypeAsString())); @@ -891,7 +890,7 @@ namespace BlackCore const MatchingScriptReturnValues rv = CAircraftMatcher::reverseLookupScript(reverseModel, setup, modelSet, log); if (rv.runScriptModifiedAndRerun()) { - CLogUtilities::addLogDetailsToList(log, cs, QStringLiteral("Matching script: Modified value and requested rerun")); + CCallsign::addLogDetailsToList(log, cs, QStringLiteral("Matching script: Modified value and requested rerun")); // no script the 2nd time CAircraftMatcherSetup setupRerun(setup); @@ -907,7 +906,7 @@ namespace BlackCore if (!sApp || sApp->isShuttingDown() || !sApp->hasWebDataServices()) { return CAircraftModel(); } if (!doLookupString) { - if (log) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Ignore model string in reverse lookup (disabled), ignoring '%1'").arg(modelString)); } + if (log) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Ignore model string in reverse lookup (disabled), ignoring '%1'").arg(modelString)); } return CAircraftModel(); } CAircraftModel model = sApp->getWebDataServices()->getModelForModelString(modelString); @@ -916,11 +915,11 @@ namespace BlackCore { if (isDBModel) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Found model in DB for model string '%1' dist: '%2' descr.: '%3'").arg(model.getModelStringAndDbKey(), model.getDistributor().getDbKey(), model.getDescription())); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Found model in DB for model string '%1' dist: '%2' descr.: '%3'").arg(model.getModelStringAndDbKey(), model.getDistributor().getDbKey(), model.getDescription())); } else { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Did not find model in DB for model string '%1'").arg(modelString)); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Did not find model in DB for model string '%1'").arg(modelString)); } } @@ -937,19 +936,19 @@ namespace BlackCore if (!sApp || sApp->isShuttingDown() || !sApp->hasWebDataServices()) { return CAircraftModel(); } if (modelString.isEmpty()) { - if (log) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Empty model string for lookup in %1 models").arg(modelSet.size())); } + if (log) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Empty model string for lookup in %1 models").arg(modelSet.size())); } return CAircraftModel(); } if (modelSet.isEmpty()) { - if (log) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Empty models, ignoring '%1'").arg(modelString)); } + if (log) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Empty models, ignoring '%1'").arg(modelString)); } return CAircraftModel(); } CAircraftModel model = modelSet.findFirstByModelStringOrDefault(modelString, Qt::CaseInsensitive); if (!model.hasModelString()) { - if (log) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Model '%1' not found in %2 models").arg(modelString).arg(modelSet.size())); } + if (log) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Model '%1' not found in %2 models").arg(modelString).arg(modelSet.size())); } return CAircraftModel(); } @@ -958,11 +957,11 @@ namespace BlackCore { if (isDBModel) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Found DB model in %1 models for model string '%2'").arg(modelSet.size()).arg(model.getModelStringAndDbKey())); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Found DB model in %1 models for model string '%2'").arg(modelSet.size()).arg(model.getModelStringAndDbKey())); } else { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Found NON DB model in %1 models for model string '%2'").arg(modelSet.size()).arg(model.getModelString())); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Found NON DB model in %1 models for model string '%2'").arg(modelSet.size()).arg(model.getModelString())); } } @@ -982,11 +981,11 @@ namespace BlackCore { if (model.hasValidDbKey()) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Found model in DB for id '%1'").arg(id)); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Found model in DB for id '%1'").arg(id)); } else { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Did not find model in DB for id '%1'").arg(id)); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Did not find model in DB for id '%1'").arg(id)); } } model.setCallsign(callsign); @@ -1008,16 +1007,16 @@ namespace BlackCore // sometimes from network we receive something like "CESSNA C172" if (CAircraftIcaoCode::isValidDesignator(designator)) { - CLogUtilities::addLogDetailsToList(log, logCallsign, QStringLiteral("Reverse lookup of aircraft ICAO '%1' did not find anything, using smart search").arg(designator), CAircraftMatcher::getLogCategories()); + CCallsign::addLogDetailsToList(log, logCallsign, QStringLiteral("Reverse lookup of aircraft ICAO '%1' did not find anything, using smart search").arg(designator), CAircraftMatcher::getLogCategories()); icao = sApp->getWebDataServices()->smartAircraftIcaoSelector(icaoCandidate); } else { - CLogUtilities::addLogDetailsToList(log, logCallsign, QStringLiteral("Reverse lookup of invalid ICAO code '%1' did not find anything so far").arg(designator), CAircraftMatcher::getLogCategories()); + CCallsign::addLogDetailsToList(log, logCallsign, QStringLiteral("Reverse lookup of invalid ICAO code '%1' did not find anything so far").arg(designator), CAircraftMatcher::getLogCategories()); const QStringList parts(designator.split(' ')); for (const QString &p : parts) { - CLogUtilities::addLogDetailsToList(log, logCallsign, QStringLiteral("Trying parts, now reverse lookup of aircraft ICAO '%1' using smart search").arg(p), CAircraftMatcher::getLogCategories()); + CCallsign::addLogDetailsToList(log, logCallsign, QStringLiteral("Trying parts, now reverse lookup of aircraft ICAO '%1' using smart search").arg(p), CAircraftMatcher::getLogCategories()); icao = sApp->getWebDataServices()->smartAircraftIcaoSelector(p); if (icao.isLoadedFromDb()) break; } @@ -1029,20 +1028,20 @@ namespace BlackCore } else { - CLogUtilities::addLogDetailsToList(log, logCallsign, QStringLiteral("No DB data for ICAO '%1', valid ICAO?").arg(designator), CAircraftMatcher::getLogCategories()); + CCallsign::addLogDetailsToList(log, logCallsign, QStringLiteral("No DB data for ICAO '%1', valid ICAO?").arg(designator), CAircraftMatcher::getLogCategories()); return CAircraftIcaoCode(icaoCandidate); } } if (foundIcaos.size() < 1) { - CLogUtilities::addLogDetailsToList(log, logCallsign, QStringLiteral("Reverse lookup of aircraft ICAO '%1', nothing found").arg(designator), CAircraftMatcher::getLogCategories()); + CCallsign::addLogDetailsToList(log, logCallsign, QStringLiteral("Reverse lookup of aircraft ICAO '%1', nothing found").arg(designator), CAircraftMatcher::getLogCategories()); return CAircraftIcaoCode(icaoCandidate); } else if (foundIcaos.size() == 1) { const CAircraftIcaoCode icao(foundIcaos.front()); - CLogUtilities::addLogDetailsToList(log, logCallsign, QStringLiteral("Reverse lookup of aircraft ICAO '%1', found one manufacturer '%2' in DB").arg(designator, icao.getDesignatorManufacturer()), CAircraftMatcher::getLogCategories()); + CCallsign::addLogDetailsToList(log, logCallsign, QStringLiteral("Reverse lookup of aircraft ICAO '%1', found one manufacturer '%2' in DB").arg(designator, icao.getDesignatorManufacturer()), CAircraftMatcher::getLogCategories()); return icao; } else @@ -1050,15 +1049,15 @@ namespace BlackCore // multiple ICAOs Q_ASSERT_X(foundIcaos.size() > 1, Q_FUNC_INFO, "Wrong size"); const QPair maxManufacturer = foundIcaos.maxCountManufacturer(); - CLogUtilities::addLogDetailsToList(log, logCallsign, QStringLiteral("Reverse lookup of aircraft ICAO '%1', found %2 values (ambiguous): %3").arg(designator).arg(foundIcaos.size()).arg(foundIcaos.dbKeysAsString(", ")), CAircraftMatcher::getLogCategories()); + CCallsign::addLogDetailsToList(log, logCallsign, QStringLiteral("Reverse lookup of aircraft ICAO '%1', found %2 values (ambiguous): %3").arg(designator).arg(foundIcaos.size()).arg(foundIcaos.dbKeysAsString(", ")), CAircraftMatcher::getLogCategories()); if (maxManufacturer.second < foundIcaos.size()) { foundIcaos = foundIcaos.findByManufacturer(maxManufacturer.first); - CLogUtilities::addLogDetailsToList(log, logCallsign, QStringLiteral("Reducing by manufacturer '%1', now %2 values").arg(maxManufacturer.first).arg(foundIcaos.size()), CAircraftMatcher::getLogCategories()); + CCallsign::addLogDetailsToList(log, logCallsign, QStringLiteral("Reducing by manufacturer '%1', now %2 values").arg(maxManufacturer.first).arg(foundIcaos.size()), CAircraftMatcher::getLogCategories()); } foundIcaos.sortByRank(); const CAircraftIcaoCode icao = foundIcaos.front(); // best rank - CLogUtilities::addLogDetailsToList(log, logCallsign, QStringLiteral("Reverse lookup of aircraft ICAO '%1', using ICAO '%2' with rank %3").arg(designator, icao.toQString(), icao.getRankString()), CAircraftMatcher::getLogCategories()); + CCallsign::addLogDetailsToList(log, logCallsign, QStringLiteral("Reverse lookup of aircraft ICAO '%1', using ICAO '%2' with rank %3").arg(designator, icao.toQString(), icao.getRankString()), CAircraftMatcher::getLogCategories()); return icao; } } @@ -1071,11 +1070,11 @@ namespace BlackCore { if (icao.hasValidDbKey()) { - CLogUtilities::addLogDetailsToList(log, logCallsign, QStringLiteral("Found aircraft ICAO in DB for id '%1'").arg(id)); + CCallsign::addLogDetailsToList(log, logCallsign, QStringLiteral("Found aircraft ICAO in DB for id '%1'").arg(id)); } else { - CLogUtilities::addLogDetailsToList(log, logCallsign, QStringLiteral("Did not find aircraft ICAO in DB for id '%1'").arg(id)); + CCallsign::addLogDetailsToList(log, logCallsign, QStringLiteral("Did not find aircraft ICAO in DB for id '%1'").arg(id)); } } return icao; @@ -1087,8 +1086,8 @@ namespace BlackCore const CAirlineIcaoCode icao = sApp->getWebDataServices()->smartAirlineIcaoSelector(icaoPattern, callsign); if (log) { - if (icao.hasValidDbKey()) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Reverse lookup of airline ICAO '%1' and callsign '%2' found '%3' '%4' in DB").arg(icaoPattern.getDesignator(), callsign.asString(), icao.getVDesignatorDbKey(), icao.getName()), CAircraftMatcher::getLogCategories()); } - else { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Reverse lookup of airline ICAO '%1' and callsign '%2', nothing found in DB").arg(icaoPattern.getDesignator(), callsign.asString()), CAircraftMatcher::getLogCategories()); } + if (icao.hasValidDbKey()) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Reverse lookup of airline ICAO '%1' and callsign '%2' found '%3' '%4' in DB").arg(icaoPattern.getDesignator(), callsign.asString(), icao.getVDesignatorDbKey(), icao.getName()), CAircraftMatcher::getLogCategories()); } + else { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Reverse lookup of airline ICAO '%1' and callsign '%2', nothing found in DB").arg(icaoPattern.getDesignator(), callsign.asString()), CAircraftMatcher::getLogCategories()); } } return icao; } @@ -1098,15 +1097,15 @@ namespace BlackCore if (!sApp || sApp->isShuttingDown() || !sApp->hasWebDataServices()) { return CLivery(); } if (!airline.hasValidDesignator()) { - if (log) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Reverse lookup of standard livery skipped, no airline designator"), CAircraftMatcher::getLogCategories(), CStatusMessage::SeverityWarning); } + if (log) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Reverse lookup of standard livery skipped, no airline designator"), CAircraftMatcher::getLogCategories(), CStatusMessage::SeverityWarning); } return CLivery(); } const CLivery livery = sApp->getWebDataServices()->getStdLiveryForAirlineCode(airline); if (log) { - if (livery.hasValidDbKey()) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Reverse lookup of standard livery for '%1' found '%2'").arg(airline.getDesignator(), livery.getCombinedCode()), CAircraftMatcher::getLogCategories()); } - else { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Not standard livery for airline '%1' in DB").arg(airline.getDesignator()), CAircraftMatcher::getLogCategories()); } + if (livery.hasValidDbKey()) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Reverse lookup of standard livery for '%1' found '%2'").arg(airline.getDesignator(), livery.getCombinedCode()), CAircraftMatcher::getLogCategories()); } + else { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Not standard livery for airline '%1' in DB").arg(airline.getDesignator()), CAircraftMatcher::getLogCategories()); } } return livery; } @@ -1119,11 +1118,11 @@ namespace BlackCore { if (livery.hasValidDbKey()) { - CLogUtilities::addLogDetailsToList(log, logCallsign, QStringLiteral("Found livery in DB for id '%1'").arg(id)); + CCallsign::addLogDetailsToList(log, logCallsign, QStringLiteral("Found livery in DB for id '%1'").arg(id)); } else { - CLogUtilities::addLogDetailsToList(log, logCallsign, QStringLiteral("Did not find livery in DB for id '%1'").arg(id)); + CCallsign::addLogDetailsToList(log, logCallsign, QStringLiteral("Did not find livery in DB for id '%1'").arg(id)); } } return livery; @@ -1153,11 +1152,11 @@ namespace BlackCore const QStringList names = sApp->getWebDataServices()->getAirlineNames(); if (names.contains(candidate, Qt::CaseInsensitive)) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Airline name '%1' found in DB").arg(candidate)); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Airline name '%1' found in DB").arg(candidate)); return candidate; } - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Airline name '%1' not found in DB").arg(candidate)); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Airline name '%1' not found in DB").arg(candidate)); return {}; } @@ -1168,11 +1167,11 @@ namespace BlackCore const QStringList designators = sApp->getWebDataServices()->getTelephonyDesignators(); if (designators.contains(candidate, Qt::CaseInsensitive)) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Airline name '%1' found").arg(candidate)); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Airline name '%1' found").arg(candidate)); return candidate; } - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Airline name '%1' not found").arg(candidate)); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Airline name '%1' not found").arg(candidate)); return {}; } @@ -1181,14 +1180,14 @@ namespace BlackCore if (!sApp || sApp->isShuttingDown() || !sApp->hasWebDataServices()) { return false; } if (!CAircraftIcaoCode::isValidDesignator(candidate)) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("No valid ICAO designator '%1'").arg(candidate)); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("No valid ICAO designator '%1'").arg(candidate)); return false; } const bool known = sApp->getWebDataServices()->containsAircraftIcaoDesignator(candidate); static const QString sKnown("Known ICAO designator '%1'"); static const QString sUnknown("Unknown ICAO designator '%1'"); - CLogUtilities::addLogDetailsToList(log, callsign, known ? sKnown.arg(candidate) : sUnknown.arg(candidate)); + CCallsign::addLogDetailsToList(log, callsign, known ? sKnown.arg(candidate) : sUnknown.arg(candidate)); return known; } @@ -1198,7 +1197,7 @@ namespace BlackCore const bool known = sApp->getWebDataServices()->containsModelString(candidate); static const QString sKnown("Known modelstring '%1'"); static const QString sUnknown("Unknown modelstring '%1'"); - CLogUtilities::addLogDetailsToList(log, callsign, known ? sKnown.arg(candidate) : sUnknown.arg(candidate)); + CCallsign::addLogDetailsToList(log, callsign, known ? sKnown.arg(candidate) : sUnknown.arg(candidate)); return known; } @@ -1207,7 +1206,7 @@ namespace BlackCore if (!sApp || sApp->isShuttingDown() || !sApp->hasWebDataServices()) { return CAircraftIcaoCode(); } if (!airline.isLoadedFromDb()) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("No valid airline from DB '%1'").arg(airline.getDesignator())); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("No valid airline from DB '%1'").arg(airline.getDesignator())); return CAircraftIcaoCode(); } @@ -1216,18 +1215,18 @@ namespace BlackCore const CAircraftIcaoCodeList aircraft = sApp->getWebDataServices()->getAircraftIcaoCodesForAirline(airline); if (aircraft.isEmpty()) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("No aircraft known for airline '%1'").arg(airline.getDesignator())); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("No aircraft known for airline '%1'").arg(airline.getDesignator())); return CAircraftIcaoCode(); } const QSet allIcaos = aircraft.allDesignators(); const QString allIcaosStr = allIcaos.values().join(", "); - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Aircraft '%1' known for airline '%2'").arg(allIcaosStr, airline.getDesignator())); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Aircraft '%1' known for airline '%2'").arg(allIcaosStr, airline.getDesignator())); const CAircraftIcaoCode code = aircraft.findBestFuzzyMatchOrDefault(candidateString); if (code.hasValidDesignator()) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Aircraft '%1' is best fuzzy search of '%2' for airline '%3'").arg(code.toQString(), candidateString, airline.getDesignator())); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Aircraft '%1' is best fuzzy search of '%2' for airline '%3'").arg(code.toQString(), candidateString, airline.getDesignator())); return code; } @@ -1241,11 +1240,11 @@ namespace BlackCore if (icao.hasValidDesignator()) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Turned callsign %1 into airline %2").arg(callsign.asString(), icao.getDesignator()), getLogCategories()); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Turned callsign %1 into airline %2").arg(callsign.asString(), icao.getDesignator()), getLogCategories()); } else { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Cannot turn callsign %1 into airline").arg(callsign.asString()), getLogCategories()); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Cannot turn callsign %1 into airline").arg(callsign.asString()), getLogCategories()); } return icao; } @@ -1761,25 +1760,25 @@ namespace BlackCore reduced = false; if (inList.isEmpty()) { - if (log) { CLogUtilities::addLogDetailsToList(log, logCallsign, info % u" Empty input list, cannot reduce", getLogCategories()); } + if (log) { CCallsign::addLogDetailsToList(log, logCallsign, info % u" Empty input list, cannot reduce", getLogCategories()); } return inList; } const QString m = icaoCode.getManufacturer(); if (m.isEmpty()) { - if (log) { CLogUtilities::addLogDetailsToList(log, logCallsign, info % u" No manufacturer, cannot reduce " % QString::number(inList.size()) % u" entries", getLogCategories()); } + if (log) { CCallsign::addLogDetailsToList(log, logCallsign, info % u" No manufacturer, cannot reduce " % QString::number(inList.size()) % u" entries", getLogCategories()); } return inList; } const CAircraftIcaoCodeList outList(inList.findByManufacturer(m)); if (outList.isEmpty()) { - if (log) { CLogUtilities::addLogDetailsToList(log, logCallsign, info % " Not found " % m % ", cannot reduce", getLogCategories()); } + if (log) { CCallsign::addLogDetailsToList(log, logCallsign, info % " Not found " % m % ", cannot reduce", getLogCategories()); } return inList; } - if (log) { CLogUtilities::addLogDetailsToList(log, logCallsign, info % u" Reduced by " % m % u" results: " % QString::number(outList.size()), getLogCategories()); } + if (log) { CCallsign::addLogDetailsToList(log, logCallsign, info % u" Reduced by " % m % u" results: " % QString::number(outList.size()), getLogCategories()); } reduced = true; return outList; } @@ -1872,39 +1871,39 @@ namespace BlackCore reduced = false; if (inList.isEmpty()) { - if (log) { CLogUtilities::addLogDetailsToList(log, cs, info % u" Empty input list, cannot reduce", getLogCategories()); } + if (log) { CCallsign::addLogDetailsToList(log, cs, info % u" Empty input list, cannot reduce", getLogCategories()); } return inList; } if (telephony.isEmpty() && airlineName.isEmpty()) { - if (log) { CLogUtilities::addLogDetailsToList(log, cs, info % u" No name/telephony, cannot reduce " % QString::number(inList.size()) % u" entries", getLogCategories()); } + if (log) { CCallsign::addLogDetailsToList(log, cs, info % u" No name/telephony, cannot reduce " % QString::number(inList.size()) % u" entries", getLogCategories()); } return inList; } CAircraftModelList step1Data = inList.findByAirlineNamesOrTelephonyDesignator(airlineName); if (step1Data.size() < 1 || step1Data.size() == inList.size()) { - if (log) { CLogUtilities::addLogDetailsToList(log, cs, info % QStringLiteral(" cannot reduce by '%1'").arg(airlineName), getLogCategories()); } + if (log) { CCallsign::addLogDetailsToList(log, cs, info % QStringLiteral(" cannot reduce by '%1'").arg(airlineName), getLogCategories()); } step1Data = inList; } else { reduced = true; - if (log) { CLogUtilities::addLogDetailsToList(log, cs, info % QStringLiteral(" reduced by '%1'").arg(airlineName), getLogCategories()); } + if (log) { CCallsign::addLogDetailsToList(log, cs, info % QStringLiteral(" reduced by '%1'").arg(airlineName), getLogCategories()); } } if (step1Data.size() == 1) { return step1Data; } CAircraftModelList step2Data = inList.findByAirlineNamesOrTelephonyDesignator(telephony); if (step2Data.size() < 1 || step2Data.size() == inList.size()) { - if (log) { CLogUtilities::addLogDetailsToList(log, cs, info % QStringLiteral(" cannot reduce by '%1'").arg(telephony), getLogCategories()); } + if (log) { CCallsign::addLogDetailsToList(log, cs, info % QStringLiteral(" cannot reduce by '%1'").arg(telephony), getLogCategories()); } step2Data = step1Data; } else { reduced = true; - if (log) { CLogUtilities::addLogDetailsToList(log, cs, info % QStringLiteral(" reduced by '%1'").arg(telephony), getLogCategories()); } + if (log) { CCallsign::addLogDetailsToList(log, cs, info % QStringLiteral(" reduced by '%1'").arg(telephony), getLogCategories()); } } return step2Data; @@ -1912,7 +1911,7 @@ namespace BlackCore const CAircraftModelList reducedModels = inList.findByAirlineNameAndTelephonyDesignator(airlineName, telephony); if (reducedModels.size() < 1 || reducedModels.size() == inList.size()) { - if (log) { CLogUtilities::addLogDetailsToList(log, cs, info % QStringLiteral(" cannot reduce by '%1'/'%2'").arg(airlineName, telephony), getLogCategories()); } + if (log) { CCallsign::addLogDetailsToList(log, cs, info % QStringLiteral(" cannot reduce by '%1'/'%2'").arg(airlineName, telephony), getLogCategories()); } return inList; } diff --git a/src/blackcore/airspacemonitor.cpp b/src/blackcore/airspacemonitor.cpp index 38f911f13..7c4a4d2cf 100644 --- a/src/blackcore/airspacemonitor.cpp +++ b/src/blackcore/airspacemonitor.cpp @@ -20,7 +20,6 @@ #include "blackmisc/aviation/comsystem.h" #include "blackmisc/aviation/modulator.h" #include "blackmisc/aviation/transponder.h" -#include "blackmisc/aviation/logutils.h" #include "blackmisc/geo/elevationplane.h" #include "blackmisc/network/user.h" #include "blackmisc/network/voicecapabilities.h" @@ -651,7 +650,7 @@ namespace BlackCore if (!myself || !sApp || sApp->isShuttingDown()) { return; } if (!this->isAircraftInRange(callsign)) { - const CStatusMessage m = CLogUtilities::logMessage(callsign, "No longer in range", CAirspaceMonitor::getLogCategories()); + const CStatusMessage m = CCallsign::logMessage(callsign, "No longer in range", CAirspaceMonitor::getLogCategories()); this->addReverseLookupMessage(callsign, m); return; } @@ -677,14 +676,14 @@ namespace BlackCore readiness.setFlag(ReadyForMatchingSent); // stored in readiness as reference const QString readyMsg = readyForMatching.arg(readiness.toQString(), callsign.toQString(), remoteAircraft.getModel().getModelTypeAsString(), remoteAircraft.getAircraftIcaoCode().getDesignatorDbKey(), remoteAircraft.getAirlineIcaoCode().getDesignatorDbKey()); - const CStatusMessage m = CLogUtilities::logMessage(callsign, readyMsg, getLogCategories()); + const CStatusMessage m = CCallsign::logMessage(callsign, readyMsg, getLogCategories()); this->addReverseLookupMessage(callsign, m); emit this->readyForModelMatching(remoteAircraft); } else { - const CStatusMessage m = CLogUtilities::logMessage(callsign, "Ignoring this aircraft, not found in range list, disconnected, or no callsign", CAirspaceMonitor::getLogCategories(), CStatusMessage::SeverityWarning); + const CStatusMessage m = CCallsign::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); } @@ -864,7 +863,7 @@ namespace BlackCore CStatusMessageList reverseLookupMessages; CStatusMessageList *pReverseLookupMessages = reverseLookupEnabled.testFlag(RevLogEnabled) ? &reverseLookupMessages : nullptr; - CLogUtilities::addLogDetailsToList(pReverseLookupMessages, callsign, + CCallsign::addLogDetailsToList(pReverseLookupMessages, callsign, QStringLiteral("FsInn data from network: aircraft '%1', airline '%2', model '%3', combined '%4'"). arg(aircraftIcaoDesignator, airlineIcaoDesignator, modelString, combinedAircraftType)); @@ -874,7 +873,7 @@ namespace BlackCore if (!modelString.isEmpty() && !setup.isReverseLookupModelString()) { usedModelString.clear(); - CLogUtilities::addLogDetailsToList(pReverseLookupMessages, callsign, + CCallsign::addLogDetailsToList(pReverseLookupMessages, callsign, QStringLiteral("FsInn modelstring '%1' ignored because of setuo").arg(modelString)); } else if (!CAircraftMatcher::isKnownModelString(modelString, callsign, pReverseLookupMessages)) @@ -882,7 +881,7 @@ namespace BlackCore // 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(); - CLogUtilities::addLogDetailsToList(pReverseLookupMessages, callsign, + CCallsign::addLogDetailsToList(pReverseLookupMessages, callsign, QStringLiteral("FsInn modelstring ignored, as modelstring '%1' is not known").arg(modelString)); } @@ -908,7 +907,7 @@ namespace BlackCore const ReverseLookupLogging reverseLookupEnabled = this->isReverseLookupMessagesEnabled(); CStatusMessageList reverseLookupMessages; CStatusMessageList *pReverseLookupMessages = reverseLookupEnabled.testFlag(RevLogEnabled) ? &reverseLookupMessages : nullptr; - CLogUtilities::addLogDetailsToList(pReverseLookupMessages, callsign, + CCallsign::addLogDetailsToList(pReverseLookupMessages, callsign, QStringLiteral("Data from network: aircraft '%1', airline '%2', livery '%3'"). arg(aircraftIcaoDesignator, airlineIcaoDesignator, livery), CAirspaceMonitor::getLogCategories()); @@ -927,7 +926,7 @@ namespace BlackCore CAircraftModel::ModelType type, CStatusMessageList *log, bool runMatchinScript) { const int modelSetCount = this->getModelSetCount(); - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Reverse lookup (with FP data), model set count: %1").arg(modelSetCount), CAirspaceMonitor::getLogCategories()); + CCallsign::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(); @@ -951,7 +950,7 @@ namespace BlackCore if (!setup.isReverseLookupSwiftLiveryIds()) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Reverse lookup of livery string '%1' disabled").arg(liveryString)); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Reverse lookup of livery string '%1' disabled").arg(liveryString)); } else if (hasAnyId) { @@ -966,7 +965,7 @@ namespace BlackCore if (aircraftIcao.hasValidDbKey() && livery.hasValidDbKey()) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Using DB livery %1 and aircraft ICAO %2 to create model").arg(livery.getDbKeyAsString(), aircraftIcao.getDbKeyAsString()), CAirspaceMonitor::getLogCategories()); + CCallsign::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); @@ -982,7 +981,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)); + CCallsign::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; } } @@ -1002,12 +1001,12 @@ namespace BlackCore if (fpRemarks.isEmpty()) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("No flight plan remarks, skipping FP resolution")); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("No flight plan remarks, skipping FP resolution")); } else { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("FP remarks: '%1'").arg(fpRemarks.getRemarks())); - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("FP rem.parsed: '%1'").arg(fpRemarks.toQString(true))); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("FP remarks: '%1'").arg(fpRemarks.getRemarks())); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("FP rem.parsed: '%1'").arg(fpRemarks.toQString(true))); // FP data if any telephonyFromFp = CAircraftMatcher::reverseLookupTelephonyDesignator(fpRemarks.getRadioTelephony(), callsign, log); @@ -1017,8 +1016,8 @@ namespace BlackCore // turn into names as in DB airlineNameLookup = CAircraftMatcher::reverseLookupAirlineName(airlineNameFromFp); telephonyLookup = CAircraftMatcher::reverseLookupTelephonyDesignator(telephonyFromFp); - if (!airlineNameLookup.isEmpty()) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Using resolved airline name '%1' found by FP name '%2'").arg(airlineNameLookup, airlineNameFromFp), CAirspaceMonitor::getLogCategories()); } - if (!telephonyLookup.isEmpty()) { CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Using resolved telephony designator '%1' found by FP telephoy '%2'").arg(telephonyLookup, telephonyFromFp), CAirspaceMonitor::getLogCategories()); } + if (!airlineNameLookup.isEmpty()) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Using resolved airline name '%1' found by FP name '%2'").arg(airlineNameLookup, airlineNameFromFp), CAirspaceMonitor::getLogCategories()); } + if (!telephonyLookup.isEmpty()) { CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Using resolved telephony designator '%1' found by FP telephoy '%2'").arg(telephonyLookup, telephonyFromFp), CAirspaceMonitor::getLogCategories()); } } // This code is needed WITH and WITHOUT FP data @@ -1040,8 +1039,8 @@ namespace BlackCore } } - 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()); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Used aircraft ICAO: '%1'").arg(aircraftIcao.toQString(true)), CAirspaceMonitor::getLogCategories()); + CCallsign::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, modelSet, type, log); @@ -1059,7 +1058,7 @@ namespace BlackCore { if (rv.runScriptAndRerun()) { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Matching script: Re-run reverseLookupModelWithFlightplanData"), CAirspaceMonitor::getLogCategories()); + CCallsign::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); @@ -1067,13 +1066,13 @@ namespace BlackCore else { lookupModel = rv.model; - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("Matching script: Using model from matching script"), CAirspaceMonitor::getLogCategories()); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("Matching script: Using model from matching script"), CAirspaceMonitor::getLogCategories()); } } } else { - CLogUtilities::addLogDetailsToList(log, callsign, QStringLiteral("No reverse lookup script used")); + CCallsign::addLogDetailsToList(log, callsign, QStringLiteral("No reverse lookup script used")); } // done diff --git a/src/blackcore/context/contextsimulatorimpl.cpp b/src/blackcore/context/contextsimulatorimpl.cpp index 9fa04c10e..4201d4fc6 100644 --- a/src/blackcore/context/contextsimulatorimpl.cpp +++ b/src/blackcore/context/contextsimulatorimpl.cpp @@ -22,7 +22,6 @@ #include "blackmisc/simulation/xplane/xplaneutil.h" #include "blackmisc/simulation/fscommon/fscommonutil.h" #include "blackmisc/simulation/matchingutils.h" -#include "blackmisc/aviation/logutils.h" #include "blackmisc/aviation/callsign.h" #include "blackmisc/pq/units.h" #include "blackmisc/mixin/mixincompare.h" @@ -729,14 +728,14 @@ namespace BlackCore CSimulatedAircraft brokenAircraft(aircraftAfterModelApplied); brokenAircraft.setEnabled(false); brokenAircraft.setRendered(false); - CLogUtilities::addLogDetailsToList(pMatchingMessages, callsign, QStringLiteral("Cannot add remote aircraft, no model string: '%1'").arg(brokenAircraft.toQString())); + CCallsign::addLogDetailsToList(pMatchingMessages, callsign, QStringLiteral("Cannot add remote aircraft, no model string: '%1'").arg(brokenAircraft.toQString())); emit this->aircraftRenderingChanged(brokenAircraft); return; } // here the model is added to the simulator m_simulatorPlugin.second->logicallyAddRemoteAircraft(aircraftAfterModelApplied); - CLogUtilities::addLogDetailsToList(pMatchingMessages, callsign, QStringLiteral("Logically added remote aircraft: %1").arg(aircraftAfterModelApplied.toQString())); + CCallsign::addLogDetailsToList(pMatchingMessages, callsign, QStringLiteral("Logically added remote aircraft: %1").arg(aircraftAfterModelApplied.toQString())); this->clearMatchingMessages(callsign); this->addMatchingMessages(callsign, matchingMessages); diff --git a/src/blackgui/components/modelmatchercomponent.cpp b/src/blackgui/components/modelmatchercomponent.cpp index 7a6616fd2..00a918d9e 100644 --- a/src/blackgui/components/modelmatchercomponent.cpp +++ b/src/blackgui/components/modelmatchercomponent.cpp @@ -22,7 +22,6 @@ #include "blackcore/webdataservices.h" #include "blackmisc/simulation/data/modelcaches.h" #include "blackmisc/simulation/matchingutils.h" -#include "blackmisc/aviation/logutils.h" #include "blackmisc/aviation/aircrafticaocode.h" #include "blackmisc/aviation/airlineicaocode.h" #include "blackmisc/aviation/callsign.h" @@ -295,12 +294,12 @@ namespace BlackGui } else { - CLogUtilities::addLogDetailsToList(&msgs, inModel.getCallsign(), QStringLiteral("Matching script, no modification")); + CCallsign::addLogDetailsToList(&msgs, inModel.getCallsign(), QStringLiteral("Matching script, no modification")); } } else { - CLogUtilities::addLogDetailsToList(&msgs, inModel.getCallsign(), QStringLiteral("No reverse lookup script used")); + CCallsign::addLogDetailsToList(&msgs, inModel.getCallsign(), QStringLiteral("No reverse lookup script used")); } return inModel; diff --git a/src/blackmisc/aviation/aircrafticaocode.cpp b/src/blackmisc/aviation/aircrafticaocode.cpp index ce883e00d..94849aa18 100644 --- a/src/blackmisc/aviation/aircrafticaocode.cpp +++ b/src/blackmisc/aviation/aircrafticaocode.cpp @@ -6,7 +6,6 @@ * or distributed except according to the terms contained in the LICENSE file. */ -#include "blackmisc/aviation/logutils.h" #include "blackmisc/aviation/aircraftsituationchange.h" #include "blackmisc/aviation/aircrafticaocode.h" #include "blackmisc/db/datastoreutility.h" @@ -130,7 +129,7 @@ namespace BlackMisc { if (this->isDbEqual(otherCode)) { - CLogUtilities::addLogDetailsToList(log, *this, QString("Equal DB code: 100")); + addLogDetailsToList(log, *this, QString("Equal DB code: 100")); return 100; } @@ -141,7 +140,7 @@ namespace BlackMisc score += 50; // same designator if (log) { - CLogUtilities::addLogDetailsToList(log, *this, QStringLiteral("Same designator: %1").arg(score)); + addLogDetailsToList(log, *this, QStringLiteral("Same designator: %1").arg(score)); } int scoreOld = score; @@ -150,7 +149,7 @@ namespace BlackMisc else if (this->getRank() < 10) { score += (10 - this->getRank()); } if (score > scoreOld) { - CLogUtilities::addLogDetailsToList(log, *this, QStringLiteral("Added rank: %1").arg(score)); + addLogDetailsToList(log, *this, QStringLiteral("Added rank: %1").arg(score)); } } else @@ -158,12 +157,12 @@ namespace BlackMisc if (this->hasFamily() && this->getFamily() == otherCode.getFamily()) { score += 40; - CLogUtilities::addLogDetailsToList(log, *this, QStringLiteral("Added family: %1").arg(score)); + addLogDetailsToList(log, *this, QStringLiteral("Added family: %1").arg(score)); } else if (this->hasValidCombinedType() && otherCode.getCombinedType() == this->getCombinedType()) { score += 30; - CLogUtilities::addLogDetailsToList(log, *this, QStringLiteral("Added combined code: %1").arg(score)); + addLogDetailsToList(log, *this, QStringLiteral("Added combined code: %1").arg(score)); } else if (this->hasValidCombinedType()) { @@ -206,7 +205,7 @@ namespace BlackMisc { score += 4; } - CLogUtilities::addLogDetailsToList(log, *this, QStringLiteral("Added combined code parts: %1").arg(score)); + addLogDetailsToList(log, *this, QStringLiteral("Added combined code parts: %1").arg(score)); } } @@ -216,11 +215,11 @@ namespace BlackMisc if (this->matchesManufacturer(otherCode.getManufacturer())) { score += 10; - CLogUtilities::addLogDetailsToList(log, *this, QStringLiteral("Matches manufacturer '%1': %2").arg(this->getManufacturer()).arg(score)); + addLogDetailsToList(log, *this, QStringLiteral("Matches manufacturer '%1': %2").arg(this->getManufacturer()).arg(score)); } else if (this->getManufacturer().contains(otherCode.getManufacturer(), Qt::CaseInsensitive)) { - CLogUtilities::addLogDetailsToList(log, *this, QStringLiteral("Contains manufacturer '%1': %2").arg(this->getManufacturer()).arg(score)); + addLogDetailsToList(log, *this, QStringLiteral("Contains manufacturer '%1': %2").arg(this->getManufacturer()).arg(score)); score += 5; } } @@ -229,12 +228,12 @@ namespace BlackMisc if (this->hasCategory() && otherCode.hasCategory() && this->getCategory() == otherCode.getCategory()) { score += 8; - CLogUtilities::addLogDetailsToList(log, *this, QStringLiteral("Matches military flag '%1': %2").arg(boolToYesNo(this->isMilitary())).arg(score)); + addLogDetailsToList(log, *this, QStringLiteral("Matches military flag '%1': %2").arg(boolToYesNo(this->isMilitary())).arg(score)); } else if (this->isMilitary() == otherCode.isMilitary()) { score += 8; - CLogUtilities::addLogDetailsToList(log, *this, QStringLiteral("Matches military flag '%1': %2").arg(boolToYesNo(this->isMilitary())).arg(score)); + addLogDetailsToList(log, *this, QStringLiteral("Matches military flag '%1': %2").arg(boolToYesNo(this->isMilitary())).arg(score)); } // 0..85 return score; @@ -852,6 +851,20 @@ namespace BlackMisc return e == 'P' || e == 'E' || e == 'T'; } + CStatusMessage CAircraftIcaoCode::logMessage(const CAircraftIcaoCode &icaoCode, const QString &message, const QStringList &extraCategories, CStatusMessage::StatusSeverity s) + { + static const CLogCategoryList cats({ CLogCategories::aviation() }); + const CStatusMessage m(cats.with(CLogCategoryList::fromQStringList(extraCategories)), s, icaoCode.hasDesignator() ? icaoCode.getDesignatorDbKey() + ": " + message.trimmed() : message.trimmed()); + return m; + } + + void CAircraftIcaoCode::addLogDetailsToList(CStatusMessageList *log, const CAircraftIcaoCode &icao, const QString &message, const QStringList &extraCategories, CStatusMessage::StatusSeverity s) + { + if (!log) { return; } + if (message.isEmpty()) { return; } + log->push_back(logMessage(icao, message, extraCategories, s)); + } + CAircraftIcaoCode CAircraftIcaoCode::fromDatabaseJson(const QJsonObject &json, const QString &prefix) { if (!existsKey(json, prefix)) diff --git a/src/blackmisc/aviation/aircrafticaocode.h b/src/blackmisc/aviation/aircrafticaocode.h index 9e7197dd9..e97260340 100644 --- a/src/blackmisc/aviation/aircrafticaocode.h +++ b/src/blackmisc/aviation/aircrafticaocode.h @@ -356,6 +356,19 @@ namespace BlackMisc //! Engine tye is Electric, Piston, TurboProp static bool isEPTEngineType(const QChar engineType); + //! Specialized log message for matching / reverse lookup + //! \threadsafe + static CStatusMessage logMessage( + const CAircraftIcaoCode &icaoCode, + const QString &message, const QStringList &extraCategories = {}, + CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo); + + //! Specialized log for matching / reverse lookup + //! \threadsafe + static void addLogDetailsToList(CStatusMessageList *log, const CAircraftIcaoCode &icao, + const QString &message, const QStringList &extraCategories = {}, + CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo); + //! From our database JSON format static CAircraftIcaoCode fromDatabaseJson(const QJsonObject &json, const QString &prefix = QString()); diff --git a/src/blackmisc/aviation/airlineicaocode.cpp b/src/blackmisc/aviation/airlineicaocode.cpp index 08c62880c..6bdc9a12d 100644 --- a/src/blackmisc/aviation/airlineicaocode.cpp +++ b/src/blackmisc/aviation/airlineicaocode.cpp @@ -8,7 +8,6 @@ #include "airlineicaocode.h" #include "callsign.h" -#include "logutils.h" #include "blackmisc/db/datastoreutility.h" #include "blackmisc/comparefunctions.h" #include "blackmisc/icons.h" @@ -325,6 +324,20 @@ namespace BlackMisc return removeChars(n, [](QChar c) { return !c.isLetterOrNumber(); }); } + CStatusMessage CAirlineIcaoCode::logMessage(const CAirlineIcaoCode &icaoCode, const QString &message, const QStringList &extraCategories, CStatusMessage::StatusSeverity s) + { + static const CLogCategoryList cats({ CLogCategories::aviation() }); + const CStatusMessage m(cats.with(CLogCategoryList::fromQStringList(extraCategories)), s, icaoCode.hasValidDesignator() ? icaoCode.getVDesignatorDbKey() + ": " + message.trimmed() : message.trimmed()); + return m; + } + + void CAirlineIcaoCode::addLogDetailsToList(CStatusMessageList *log, const CAirlineIcaoCode &icao, const QString &message, const QStringList &extraCategories, CStatusMessage::StatusSeverity s) + { + if (!log) { return; } + if (message.isEmpty()) { return; } + log->push_back(logMessage(icao, message, extraCategories, s)); + } + QString CAirlineIcaoCode::getCombinedStringWithKey() const { return (this->hasValidDesignator() ? this->getVDesignator() : QString()) % @@ -396,7 +409,7 @@ namespace BlackMisc { if (this->isDbEqual(otherCode)) { - CLogUtilities::addLogDetailsToList(log, *this, QStringLiteral("DB equal score: 100")); + addLogDetailsToList(log, *this, QStringLiteral("DB equal score: 100")); return 100; } const bool bothFromDb = this->isLoadedFromDb() && otherCode.isLoadedFromDb(); @@ -404,31 +417,31 @@ namespace BlackMisc if (otherCode.hasValidDesignator() && this->getDesignator() == otherCode.getDesignator()) { score += 60; - CLogUtilities::addLogDetailsToList(log, *this, QStringLiteral("Same designator: %1").arg(score)); + addLogDetailsToList(log, *this, QStringLiteral("Same designator: %1").arg(score)); } // only for DB values we check VA if (bothFromDb && this->isVirtualAirline() == otherCode.isVirtualAirline()) { score += 20; - CLogUtilities::addLogDetailsToList(log, *this, QStringLiteral("VA equality: %1").arg(score)); + addLogDetailsToList(log, *this, QStringLiteral("VA equality: %1").arg(score)); } // consider the various names if (this->hasName() && this->getName() == otherCode.getName()) { score += 20; - CLogUtilities::addLogDetailsToList(log, *this, QStringLiteral("Same name '%1': %2").arg(this->getName()).arg(score)); + addLogDetailsToList(log, *this, QStringLiteral("Same name '%1': %2").arg(this->getName()).arg(score)); } else if (this->hasTelephonyDesignator() && this->getTelephonyDesignator() == otherCode.getTelephonyDesignator()) { score += 15; - CLogUtilities::addLogDetailsToList(log, *this, QStringLiteral("Same telephony '%1': %2").arg(this->getTelephonyDesignator()).arg(score)); + addLogDetailsToList(log, *this, QStringLiteral("Same telephony '%1': %2").arg(this->getTelephonyDesignator()).arg(score)); } else if (this->hasSimplifiedName() && this->getSimplifiedName() == otherCode.getSimplifiedName()) { score += 10; - CLogUtilities::addLogDetailsToList(log, *this, QStringLiteral("Same simplified name '%1': %2").arg(this->getSimplifiedName()).arg(score)); + addLogDetailsToList(log, *this, QStringLiteral("Same simplified name '%1': %2").arg(this->getSimplifiedName()).arg(score)); } return score; } diff --git a/src/blackmisc/aviation/airlineicaocode.h b/src/blackmisc/aviation/airlineicaocode.h index 38421352b..83a9b9db2 100644 --- a/src/blackmisc/aviation/airlineicaocode.h +++ b/src/blackmisc/aviation/airlineicaocode.h @@ -257,6 +257,19 @@ namespace BlackMisc //! Normalize string as airline designator static QString normalizeDesignator(const QString &candidate); + //! Specialized log message for matching / reverse lookup + //! \threadsafe + static CStatusMessage logMessage( + const CAirlineIcaoCode &icaoCode, + const QString &message, const QStringList &extraCategories = {}, + CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo); + + //! Specialized log for matching / reverse lookup + //! \threadsafe + static void addLogDetailsToList(CStatusMessageList *log, const CAirlineIcaoCode &icao, + const QString &message, const QStringList &extraCategories = {}, + CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo); + //! From our DB JSON static CAirlineIcaoCode fromDatabaseJson(const QJsonObject &json, const QString &prefix = QString()); diff --git a/src/blackmisc/aviation/airlineicaocodelist.cpp b/src/blackmisc/aviation/airlineicaocodelist.cpp index 877a2de2a..261349258 100644 --- a/src/blackmisc/aviation/airlineicaocodelist.cpp +++ b/src/blackmisc/aviation/airlineicaocodelist.cpp @@ -7,7 +7,6 @@ */ #include "blackmisc/aviation/airlineicaocodelist.h" -#include "blackmisc/aviation/logutils.h" #include "blackmisc/logcategories.h" #include "blackmisc/country.h" #include "blackmisc/range.h" @@ -207,52 +206,52 @@ namespace BlackMisc reduced = false; if (this->isEmpty()) { - if (log) { CLogUtilities::addLogDetailsToList(log, cs, loginfo % u" Empty input list, cannot reduce", getLogCategories()); } + if (log) { CCallsign::addLogDetailsToList(log, cs, loginfo % u" Empty input list, cannot reduce", getLogCategories()); } return *this; } if (telephony.isEmpty() && airlineName.isEmpty() && countryIso.isEmpty()) { - if (log) { CLogUtilities::addLogDetailsToList(log, cs, loginfo % u" No name/telephony/country, cannot reduce " % QString::number(this->size()) % u" entries", getLogCategories()); } + if (log) { CCallsign::addLogDetailsToList(log, cs, loginfo % u" No name/telephony/country, cannot reduce " % QString::number(this->size()) % u" entries", getLogCategories()); } return *this; } CAirlineIcaoCodeList step1Data = airlineName.isEmpty() ? *this : this->findByNamesOrTelephonyDesignator(airlineName); if (step1Data.size() < 1 || step1Data.size() == this->size()) { - if (log) { CLogUtilities::addLogDetailsToList(log, cs, loginfo % QStringLiteral(" cannot reduce by '%1'").arg(airlineName), getLogCategories()); } + if (log) { CCallsign::addLogDetailsToList(log, cs, loginfo % QStringLiteral(" cannot reduce by '%1'").arg(airlineName), getLogCategories()); } step1Data = *this; } else { reduced = true; - if (log) { CLogUtilities::addLogDetailsToList(log, cs, loginfo % QStringLiteral(" reduced by '%1'").arg(airlineName), getLogCategories()); } + if (log) { CCallsign::addLogDetailsToList(log, cs, loginfo % QStringLiteral(" reduced by '%1'").arg(airlineName), getLogCategories()); } } if (step1Data.size() == 1) { return step1Data; } CAirlineIcaoCodeList step2Data = telephony.isEmpty() ? step1Data : step1Data.findByNamesOrTelephonyDesignator(telephony); if (step2Data.size() < 1 || step2Data.size() == this->size()) { - if (log) { CLogUtilities::addLogDetailsToList(log, cs, loginfo % QStringLiteral(" cannot reduce by name '%1'").arg(telephony), getLogCategories()); } + if (log) { CCallsign::addLogDetailsToList(log, cs, loginfo % QStringLiteral(" cannot reduce by name '%1'").arg(telephony), getLogCategories()); } step2Data = step1Data; } else { reduced = true; - if (log) { CLogUtilities::addLogDetailsToList(log, cs, loginfo % QStringLiteral(" reduced by telephony '%1'").arg(telephony), getLogCategories()); } + if (log) { CCallsign::addLogDetailsToList(log, cs, loginfo % QStringLiteral(" reduced by telephony '%1'").arg(telephony), getLogCategories()); } } if (step2Data.size() == 1) { return step2Data; } CAirlineIcaoCodeList step3Data = countryIso.isEmpty() ? step2Data : step2Data.findByCountryIsoCode(countryIso); if (step3Data.size() < 1 || step3Data.size() == this->size()) { - if (log) { CLogUtilities::addLogDetailsToList(log, cs, loginfo % QStringLiteral(" cannot reduce by country '%1'").arg(countryIso), getLogCategories()); } + if (log) { CCallsign::addLogDetailsToList(log, cs, loginfo % QStringLiteral(" cannot reduce by country '%1'").arg(countryIso), getLogCategories()); } step3Data = step2Data; } else { reduced = true; - if (log) { CLogUtilities::addLogDetailsToList(log, cs, loginfo % QStringLiteral(" reduced by '%1'").arg(countryIso), getLogCategories()); } + if (log) { CCallsign::addLogDetailsToList(log, cs, loginfo % QStringLiteral(" reduced by '%1'").arg(countryIso), getLogCategories()); } } return step3Data; } diff --git a/src/blackmisc/aviation/callsign.cpp b/src/blackmisc/aviation/callsign.cpp index 6adfc1d2e..f1ddaebf8 100644 --- a/src/blackmisc/aviation/callsign.cpp +++ b/src/blackmisc/aviation/callsign.cpp @@ -9,6 +9,7 @@ #include "blackmisc/aviation/callsign.h" #include "blackmisc/mixin/mixincompare.h" #include "blackmisc/stringutils.h" +#include "blackmisc/statusmessagelist.h" #include #include @@ -101,6 +102,20 @@ namespace BlackMisc CCallsign::atcSuffixToIcon(callsign.getSuffix()); } + CStatusMessage CCallsign::logMessage(const CCallsign &callsign, const QString &message, const QStringList &extraCategories, CStatusMessage::StatusSeverity s) + { + static const CLogCategoryList cats({ CLogCategories::aviation() }); + const CStatusMessage m(cats.with(CLogCategoryList::fromQStringList(extraCategories)), s, callsign.isEmpty() ? message.trimmed() : callsign.toQString() + ": " + message.trimmed()); + return m; + } + + void CCallsign::addLogDetailsToList(CStatusMessageList *log, const CCallsign &callsign, const QString &message, const QStringList &extraCategories, CStatusMessage::StatusSeverity s) + { + if (!log) { return; } + if (message.isEmpty()) { return; } + log->push_back(logMessage(callsign, message, extraCategories, s)); + } + const CIcon &CCallsign::atcSuffixToIcon(const QString &suffix) { if (suffix.length() < 3) { return CIcon::iconByIndex(CIcons::NetworkRoleUnknown); } diff --git a/src/blackmisc/aviation/callsign.h b/src/blackmisc/aviation/callsign.h index 059289cec..f62400769 100644 --- a/src/blackmisc/aviation/callsign.h +++ b/src/blackmisc/aviation/callsign.h @@ -15,6 +15,7 @@ #include "blackmisc/metaclass.h" #include "blackmisc/propertyindexref.h" #include "blackmisc/valueobject.h" +#include "blackmisc/statusmessage.h" #include #include #include @@ -23,6 +24,8 @@ class QStringList; namespace BlackMisc { + class CStatusMessageList; + namespace Aviation { //! Value object encapsulating information of a callsign. @@ -204,6 +207,19 @@ namespace BlackMisc //! Representing icon static const CIcon &convertToIcon(const CCallsign &callsign); + //! Specialized log message for matching / reverse lookup + //! \threadsafe + static CStatusMessage logMessage( + const CCallsign &callsign, + const QString &message, const QStringList &extraCategories = {}, + CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo); + + //! Specialized log for matching / reverse lookup + //! \threadsafe + static void addLogDetailsToList(CStatusMessageList *log, const CCallsign &callsign, + const QString &message, const QStringList &extraCategories = {}, + CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo); + //! Register metadata static void registerMetadata(); diff --git a/src/blackmisc/aviation/livery.cpp b/src/blackmisc/aviation/livery.cpp index caa714fd8..fec691c04 100644 --- a/src/blackmisc/aviation/livery.cpp +++ b/src/blackmisc/aviation/livery.cpp @@ -8,7 +8,6 @@ #include "blackmisc/db/datastoreutility.h" #include "blackmisc/aviation/livery.h" -#include "blackmisc/aviation/logutils.h" #include "blackmisc/mixin/mixincompare.h" #include "blackmisc/comparefunctions.h" #include "blackmisc/logcategories.h" @@ -26,7 +25,6 @@ using namespace BlackMisc; using namespace BlackMisc::Db; -using namespace BlackMisc::PhysicalQuantities; namespace BlackMisc { @@ -350,6 +348,20 @@ namespace BlackMisc return temp; } + CStatusMessage CLivery::logMessage(const CLivery &livery, const QString &message, const QStringList &extraCategories, CStatusMessage::StatusSeverity s) + { + static const CLogCategoryList cats({ CLogCategories::aviation() }); + const CStatusMessage m(cats.with(CLogCategoryList::fromQStringList(extraCategories)), s, livery.hasCombinedCode() ? livery.getCombinedCodePlusInfoAndId() + ": " + message.trimmed() : message.trimmed()); + return m; + } + + void CLivery::addLogDetailsToList(CStatusMessageList *log, const CLivery &livery, const QString &message, const QStringList &extraCategories, CStatusMessage::StatusSeverity s) + { + if (!log) { return; } + if (message.isEmpty()) { return; } + log->push_back(logMessage(livery, message, extraCategories, s)); + } + QVariant CLivery::propertyByIndex(BlackMisc::CPropertyIndexRef index) const { if (index.isMyself()) { return QVariant::fromValue(*this); } @@ -440,7 +452,7 @@ namespace BlackMisc { if (this->isDbEqual(otherLivery)) { - CLogUtilities::addLogDetailsToList(log, *this, QStringLiteral("Equal DB code: 100")); + addLogDetailsToList(log, *this, QStringLiteral("Equal DB code: 100")); return 100; } @@ -456,7 +468,7 @@ namespace BlackMisc // 2 color liveries 25..85 score = 25; score += 60 * colorMultiplier; - CLogUtilities::addLogDetailsToList(log, *this, QStringLiteral("2 color liveries, color multiplier %1: %2").arg(colorMultiplier).arg(score)); + addLogDetailsToList(log, *this, QStringLiteral("2 color liveries, color multiplier %1: %2").arg(colorMultiplier).arg(score)); } else if (this->isAirlineLivery() && otherLivery.isAirlineLivery()) { @@ -467,10 +479,10 @@ namespace BlackMisc // same ICAO at least means 30, max 50 score = qRound(0.5 * this->getAirlineIcaoCode().calculateScore(otherLivery.getAirlineIcaoCode(), log)); score += 25 * colorMultiplier; - CLogUtilities::addLogDetailsToList(log, *this, QStringLiteral("2 airline liveries, color multiplier %1: %2").arg(colorMultiplier).arg(score)); + addLogDetailsToList(log, *this, QStringLiteral("2 airline liveries, color multiplier %1: %2").arg(colorMultiplier).arg(score)); if (this->isMilitary() == otherLivery.isMilitary()) { - CLogUtilities::addLogDetailsToList(log, *this, QStringLiteral("Mil.flag '%1' matches: %2").arg(boolToYesNo(this->isMilitary())).arg(score)); + addLogDetailsToList(log, *this, QStringLiteral("Mil.flag '%1' matches: %2").arg(boolToYesNo(this->isMilitary())).arg(score)); score += 10; } } @@ -481,7 +493,7 @@ namespace BlackMisc // 25 is weaker as same ICAO code / 2 from above score = preferColorLiveries ? 25 : 0; score += 25 * colorMultiplier; // needs to be the same as in 2 airlines - CLogUtilities::addLogDetailsToList(log, *this, QStringLiteral("Color/airline mixed, color multiplier %1: %2").arg(colorMultiplier).arg(score)); + addLogDetailsToList(log, *this, QStringLiteral("Color/airline mixed, color multiplier %1: %2").arg(colorMultiplier).arg(score)); } return score; } diff --git a/src/blackmisc/aviation/livery.h b/src/blackmisc/aviation/livery.h index b1445e1ae..b4d9d9a2d 100644 --- a/src/blackmisc/aviation/livery.h +++ b/src/blackmisc/aviation/livery.h @@ -218,6 +218,19 @@ namespace BlackMisc //! The code for a temporary livery static const QString &tempLiveryCode(); + //! Specialized log message for matching / reverse lookup + //! \threadsafe + static CStatusMessage logMessage( + const CLivery &livery, + const QString &message, const QStringList &extraCategories = {}, + CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo); + + //! Specialized log for matching / reverse lookup + //! \threadsafe + static void addLogDetailsToList(CStatusMessageList *log, const CLivery &livery, + const QString &message, const QStringList &extraCategories = {}, + CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo); + private: CAirlineIcaoCode m_airline; //!< corresponding airline, if any QString m_combinedCode; //!< livery code and pseudo airline ICAO code diff --git a/src/blackmisc/aviation/logutils.cpp b/src/blackmisc/aviation/logutils.cpp deleted file mode 100644 index a8584c904..000000000 --- a/src/blackmisc/aviation/logutils.cpp +++ /dev/null @@ -1,81 +0,0 @@ -/* Copyright (C) 2019 - * swift project Community / Contributors - * - * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level - * directory of this distribution. No part of swift project, including this file, may be copied, modified, propagated, - * or distributed except according to the terms contained in the LICENSE file. - */ - -#include "logutils.h" - -namespace BlackMisc -{ - namespace Aviation - { - void CLogUtilities::addLogDetailsToList(CStatusMessageList *log, const CCallsign &callsign, const QString &message, const QStringList &extraCategories, CStatusMessage::StatusSeverity s) - { - if (!log) { return; } - if (message.isEmpty()) { return; } - log->push_back(CLogUtilities::logMessage(callsign, message, extraCategories, s)); - } - - void CLogUtilities::addLogDetailsToList(CStatusMessageList *log, const CAircraftIcaoCode &icao, const QString &message, const QStringList &extraCategories, CStatusMessage::StatusSeverity s) - { - if (!log) { return; } - if (message.isEmpty()) { return; } - log->push_back(CLogUtilities::logMessage(icao, message, extraCategories, s)); - } - - void CLogUtilities::addLogDetailsToList(CStatusMessageList *log, const CAirlineIcaoCode &icao, const QString &message, const QStringList &extraCategories, CStatusMessage::StatusSeverity s) - { - if (!log) { return; } - if (message.isEmpty()) { return; } - log->push_back(CLogUtilities::logMessage(icao, message, extraCategories, s)); - } - - void CLogUtilities::addLogDetailsToList(CStatusMessageList *log, const CLivery &livery, const QString &message, const QStringList &extraCategories, CStatusMessage::StatusSeverity s) - { - if (!log) { return; } - if (message.isEmpty()) { return; } - log->push_back(CLogUtilities::logMessage(livery, message, extraCategories, s)); - } - - CStatusMessage CLogUtilities::logMessage(const CCallsign &callsign, const QString &message, const QStringList &extraCategories, CStatusMessage::StatusSeverity s) - { - const CStatusMessage m(categories(extraCategories), s, callsign.isEmpty() ? message.trimmed() : callsign.toQString() + ": " + message.trimmed()); - return m; - } - - CStatusMessage CLogUtilities::logMessage(const CAircraftIcaoCode &icaoCode, const QString &message, const QStringList &extraCategories, CStatusMessage::StatusSeverity s) - { - const CStatusMessage m(categories(extraCategories), s, icaoCode.hasDesignator() ? icaoCode.getDesignatorDbKey() + ": " + message.trimmed() : message.trimmed()); - return m; - } - - CStatusMessage CLogUtilities::logMessage(const CAirlineIcaoCode &icaoCode, const QString &message, const QStringList &extraCategories, CStatusMessage::StatusSeverity s) - { - const CStatusMessage m(categories(extraCategories), s, icaoCode.hasValidDesignator() ? icaoCode.getVDesignatorDbKey() + ": " + message.trimmed() : message.trimmed()); - return m; - } - - CStatusMessage CLogUtilities::logMessage(const CLivery &livery, const QString &message, const QStringList &extraCategories, CStatusMessage::StatusSeverity s) - { - const CStatusMessage m(categories(extraCategories), s, livery.hasCombinedCode() ? livery.getCombinedCodePlusInfoAndId() + ": " + message.trimmed() : message.trimmed()); - return m; - } - - const CLogCategoryList &CLogUtilities::defaultCategories() - { - static const CLogCategoryList cats({ CLogCategories::aviation() }); - return cats; - } - - CLogCategoryList CLogUtilities::categories(const QStringList &extraCategories) - { - if (extraCategories.isEmpty()) { return defaultCategories(); } - CLogCategoryList cats(defaultCategories()); - cats.push_back(CLogCategoryList::fromQStringList(extraCategories)); - return cats; - } - } // ns -} // ns diff --git a/src/blackmisc/aviation/logutils.h b/src/blackmisc/aviation/logutils.h deleted file mode 100644 index 5cc7274e8..000000000 --- a/src/blackmisc/aviation/logutils.h +++ /dev/null @@ -1,95 +0,0 @@ -/* Copyright (C) 2019 - * swift project Community / Contributors - * - * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level - * directory of this distribution. No part of swift project, including this file, may be copied, modified, propagated, - * or distributed except according to the terms contained in the LICENSE file. - */ - -//! \file - -#ifndef BLACKMISC_AVIATION_MATCHINGUTILS_H -#define BLACKMISC_AVIATION_MATCHINGUTILS_H - -#include "blackmisc/aviation/livery.h" -#include "blackmisc/aviation/aircrafticaocode.h" -#include "blackmisc/aviation/airlineicaocode.h" -#include "blackmisc/aviation/callsign.h" -#include "blackmisc/statusmessagelist.h" -#include "blackmisc/blackmiscexport.h" - -#include - -namespace BlackMisc -{ - namespace Aviation - { - /*! - * Log.utilities - */ - class BLACKMISC_EXPORT CLogUtilities - { - public: - //! Specialized log for matching / reverse lookup - //! \threadsafe - static void addLogDetailsToList(CStatusMessageList *log, const CCallsign &callsign, - const QString &message, const QStringList &extraCategories = {}, - CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo); - - //! Specialized log for matching / reverse lookup - //! \threadsafe - static void addLogDetailsToList(CStatusMessageList *log, const CAircraftIcaoCode &icao, - const QString &message, const QStringList &extraCategories = {}, - CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo); - - //! Specialized log for matching / reverse lookup - //! \threadsafe - static void addLogDetailsToList(CStatusMessageList *log, const CAirlineIcaoCode &icao, - const QString &message, const QStringList &extraCategories = {}, - CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo); - - //! Specialized log for matching / reverse lookup - //! \threadsafe - static void addLogDetailsToList(CStatusMessageList *log, const CLivery &livery, - const QString &message, const QStringList &extraCategories = {}, - CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo); - - //! Specialized log message for matching / reverse lookup - //! \threadsafe - static CStatusMessage logMessage( - const CCallsign &callsign, - const QString &message, const QStringList &extraCategories = {}, - CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo); - - //! Specialized log message for matching / reverse lookup - //! \threadsafe - static CStatusMessage logMessage( - const CAircraftIcaoCode &icaoCode, - const QString &message, const QStringList &extraCategories = {}, - CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo); - - //! Specialized log message for matching / reverse lookup - //! \threadsafe - static CStatusMessage logMessage( - const CAirlineIcaoCode &icaoCode, - const QString &message, const QStringList &extraCategories = {}, - CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo); - - //! Specialized log message for matching / reverse lookup - //! \threadsafe - static CStatusMessage logMessage( - const CLivery &livery, - const QString &message, const QStringList &extraCategories = {}, - CStatusMessage::StatusSeverity s = CStatusMessage::SeverityInfo); - - private: - //! Default categories - static const CLogCategoryList &defaultCategories(); - - //! Categories - static CLogCategoryList categories(const QStringList &extraCategories); - }; - } // ns -} // ns - -#endif // guard diff --git a/src/blackmisc/simulation/aircraftmodel.cpp b/src/blackmisc/simulation/aircraftmodel.cpp index 6af87ca4c..b550d98bf 100644 --- a/src/blackmisc/simulation/aircraftmodel.cpp +++ b/src/blackmisc/simulation/aircraftmodel.cpp @@ -8,7 +8,6 @@ #include "matchingutils.h" #include "aircraftmodel.h" -#include "blackmisc/aviation/logutils.h" #include "blackmisc/db/datastoreutility.h" #include "blackmisc/comparefunctions.h" #include "blackmisc/fileutils.h" @@ -817,7 +816,7 @@ namespace BlackMisc { const int icaoScore = this->getAircraftIcaoCode().calculateScore(compareModel.getAircraftIcaoCode(), log); const int liveryScore = this->getLivery().calculateScore(compareModel.getLivery(), preferColorLiveries, log); - CLogUtilities::addLogDetailsToList(log, this->getCallsign(), QStringLiteral("ICAO score: %1 | livery score: %2").arg(icaoScore).arg(liveryScore)); + CCallsign::addLogDetailsToList(log, this->getCallsign(), QStringLiteral("ICAO score: %1 | livery score: %2").arg(icaoScore).arg(liveryScore)); return qRound(0.5 * (icaoScore + liveryScore)); } diff --git a/src/blackmisc/simulation/aircraftmodellist.cpp b/src/blackmisc/simulation/aircraftmodellist.cpp index d0117a003..ef58dfb7c 100644 --- a/src/blackmisc/simulation/aircraftmodellist.cpp +++ b/src/blackmisc/simulation/aircraftmodellist.cpp @@ -10,7 +10,6 @@ #include "blackmisc/simulation/matchingutils.h" #include "blackmisc/network/networkutils.h" #include "blackmisc/aviation/callsign.h" -#include "blackmisc/aviation/logutils.h" #include "blackmisc/math/mathutils.h" #include "blackmisc/mixin/mixincompare.h" #include "blackmisc/iterator.h" @@ -1441,9 +1440,9 @@ namespace BlackMisc ScoredModels scoreMap; // normally prefer colors if there is no airline - CLogUtilities::addLogDetailsToList(log, remoteModel.getCallsign(), QStringLiteral("Prefer color liveries: '%1', airline: '%2', ignore zero scores: '%3'").arg(boolToYesNo(preferColorLiveries), remoteModel.getAirlineIcaoCodeDesignator(), boolToYesNo(ignoreZeroScores))); - CLogUtilities::addLogDetailsToList(log, remoteModel.getCallsign(), QStringLiteral("--- Start scoring in list with %1 models").arg(this->size())); - CLogUtilities::addLogDetailsToList(log, remoteModel.getCallsign(), this->coverageSummaryForModel(remoteModel)); + CCallsign::addLogDetailsToList(log, remoteModel.getCallsign(), QStringLiteral("Prefer color liveries: '%1', airline: '%2', ignore zero scores: '%3'").arg(boolToYesNo(preferColorLiveries), remoteModel.getAirlineIcaoCodeDesignator(), boolToYesNo(ignoreZeroScores))); + CCallsign::addLogDetailsToList(log, remoteModel.getCallsign(), QStringLiteral("--- Start scoring in list with %1 models").arg(this->size())); + CCallsign::addLogDetailsToList(log, remoteModel.getCallsign(), this->coverageSummaryForModel(remoteModel)); int c = 1; for (const CAircraftModel &model : *this) @@ -1452,13 +1451,13 @@ namespace BlackMisc const int score = model.calculateScore(remoteModel, preferColorLiveries, log ? &subMsgs : nullptr); if (ignoreZeroScores && score < 1) { continue; } - CLogUtilities::addLogDetailsToList(log, remoteModel.getCallsign(), QStringLiteral("--- Calculating #%1 '%2'---").arg(c).arg(model.getModelStringAndDbKey())); + CCallsign::addLogDetailsToList(log, remoteModel.getCallsign(), QStringLiteral("--- Calculating #%1 '%2'---").arg(c).arg(model.getModelStringAndDbKey())); if (log) { log->push_back(subMsgs); } - CLogUtilities::addLogDetailsToList(log, remoteModel.getCallsign(), QStringLiteral("--- End calculating #%1 ---").arg(c)); + CCallsign::addLogDetailsToList(log, remoteModel.getCallsign(), QStringLiteral("--- End calculating #%1 ---").arg(c)); c++; scoreMap.insertMulti(score, model); } - CLogUtilities::addLogDetailsToList(log, remoteModel.getCallsign(), QStringLiteral("--- End scoring ---")); + CCallsign::addLogDetailsToList(log, remoteModel.getCallsign(), QStringLiteral("--- End scoring ---")); return scoreMap; } diff --git a/src/blackmisc/simulation/matchingutils.cpp b/src/blackmisc/simulation/matchingutils.cpp index 92b318f7a..806ad0d25 100644 --- a/src/blackmisc/simulation/matchingutils.cpp +++ b/src/blackmisc/simulation/matchingutils.cpp @@ -7,7 +7,6 @@ */ #include "matchingutils.h" -#include "blackmisc/aviation/logutils.h" using namespace BlackMisc::Aviation; @@ -17,7 +16,7 @@ namespace BlackMisc { void CMatchingUtils::addLogDetailsToList(CStatusMessageList *log, const CSimulatedAircraft &remoteAircraft, const QString &message, const QStringList &extraCategories, CStatusMessage::StatusSeverity s) { - CLogUtilities::addLogDetailsToList(log, remoteAircraft.getCallsign(), message, extraCategories, s); + CCallsign::addLogDetailsToList(log, remoteAircraft.getCallsign(), message, extraCategories, s); } const CLogCategoryList &CMatchingUtils::defaultCategories() diff --git a/src/blackmisc/simulation/remoteaircraftprovider.cpp b/src/blackmisc/simulation/remoteaircraftprovider.cpp index 7e9ab3c70..7e91ef6cf 100644 --- a/src/blackmisc/simulation/remoteaircraftprovider.cpp +++ b/src/blackmisc/simulation/remoteaircraftprovider.cpp @@ -8,7 +8,6 @@ #include "blackmisc/simulation/remoteaircraftprovider.h" #include "blackmisc/simulation/matchingutils.h" -#include "blackmisc/aviation/logutils.h" #include "blackmisc/logmessage.h" #include "blackmisc/json.h" #include "blackmisc/verify.h" @@ -732,7 +731,7 @@ namespace BlackMisc { if (callsign.isEmpty()) { return; } if (message.isEmpty()) { return; } - const CStatusMessage m = CLogUtilities::logMessage(callsign, message, getLogCategories(), severity); + const CStatusMessage m = CCallsign::logMessage(callsign, message, getLogCategories(), severity); this->addReverseLookupMessage(callsign, m); }