Migrates residual Lts sources to generated rtiddsgen API

Adds NmeaManagement tests, fixes codegen includes and Qt6 SerialPort CMake target.
This commit is contained in:
berrux-dev committed 2026-09-23 12:05:37 +02:00
1 parent 5485a90385
commit 881d44f4dd
512 files changed
+6887 -6426

No files matched your search

@@ -130,7 +130,7 @@ void EemTests::startTest()
tryCreateDynamicParticipantData(2, ProjectDataManagement::VulnerabilityState::VulnerabilityState_LightDamage, time - 5000 * 30, 0, ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Sanitation);
QTest::qWait(500);
checkEvents(ProjectDataManagement::PdmEventType::Sanitation, 3);
checkEvents(ProjectDataManagement::PdmEventType::EventType_Sanitation, 3);
}
if (m_testId <= 0 || m_testId > 6)
@@ -264,8 +264,8 @@ void EemTests::trySendFireEvent()
for(const ExerciseEventManagement::Event &e : events)
{
INFO_LOG(m_logger) << "eventId: " << e.id << ", eventType: " << e.eventTypeId;
if (e.eventTypeId == ProjectDataManagement::PdmEventType::WeaponAssignment ||
e.eventTypeId == ProjectDataManagement::PdmEventType::FireEvent)
if (e.eventTypeId == ProjectDataManagement::PdmEventType::EventType_WeaponAssignment ||
e.eventTypeId == ProjectDataManagement::PdmEventType::EventType_FireEvent)
noEvents ++;
}
@@ -385,7 +385,7 @@ void EemTests::checkEvents(const ProjectDataManagement::PdmEventType &et, int ex
int ot = prop[QStringLiteral("OriginatorType")].toInt();
if (et == ProjectDataManagement::PdmEventType::EventType_HitEffectSimulation && ot == 20) //ImprovisedExplosiveDevice
noEvents ++;
if (et == ProjectDataManagement::PdmEventType::Sanitation && ot == 10) // Sanitation
if (et == ProjectDataManagement::PdmEventType::EventType_Sanitation && ot == 10) // Sanitation
noEvents ++;
}
}
@@ -133,10 +133,10 @@ void HandlerDynamicParticipantData::onAesItemViewChanged(const AreaEffectSimulat
{
case DataModification::eAdded:
case DataModification::eModified:
m_itemViews.insert(data.aesItemId(), data.aesTypeId());
m_itemViews.insert(data.aesItemId, data.aesTypeId);
break;
case DataModification::eRemoved:
m_itemViews.remove(data.aesItemId());
m_itemViews.remove(data.aesItemId);
}
}
@@ -145,30 +145,30 @@ void HandlerDynamicParticipantData::tryCreateHitEvent(Database::EemEvent eData,
{
DEBUG_LOG(m_logger) << "tryCreateHitEvent";
// special values - ignore
const ProjectDataManagement::VulnerabilityState vulnState = stateInfo.vulnerabilityState();
if (vulnState == ProjectDataManagement::VulnerabilityState_def::VulnerabilityBitsChanged ||
vulnState == ProjectDataManagement::VulnerabilityState_def::TemporarySeverance)
const ProjectDataManagement::VulnerabilityState vulnState = stateInfo.vulnerabilityState;
if (vulnState == ProjectDataManagement::VulnerabilityState::VulnerabilityState_VulnerabilityBitsChanged ||
vulnState == ProjectDataManagement::VulnerabilityState::VulnerabilityState_TemporarySeverance)
return;
// combat ready is no hit
if (vulnState == ProjectDataManagement::VulnerabilityState_def::CombatReady)
if (vulnState == ProjectDataManagement::VulnerabilityState::VulnerabilityState_CombatReady)
return;
// only handle 'real' hit events
switch (stateInfo.originatorType().underlying())
switch (stateInfo.originatorType.underlying())
{
case ProjectDataManagement::StateChangeOriginator::AreaEffectSimulation:
case ProjectDataManagement::StateChangeOriginator::ImprovisedExplosiveDevice:
case ProjectDataManagement::StateChangeOriginator::DusMine:
eData.eventTypeId = ProjectDataManagement::PdmEventType::HitEffectSimulation;
eData.eventTypeId = ProjectDataManagement::PdmEventType::EventType_HitEffectSimulation;
break;
case ProjectDataManagement::StateChangeOriginator::Participant:
case ProjectDataManagement::StateChangeOriginator::ObserverController:
case ProjectDataManagement::StateChangeOriginator::ExerciseControl:
eData.eventTypeId = ProjectDataManagement::PdmEventType::Hit;
eData.eventTypeId = ProjectDataManagement::PdmEventType::EventType_Hit;
break;
case ProjectDataManagement::StateChangeOriginator::Sanitation:
eData.eventTypeId = ProjectDataManagement::PdmEventType::Sanitation;
eData.eventTypeId = ProjectDataManagement::PdmEventType::EventType_Sanitation;
break;
case ProjectDataManagement::StateChangeOriginator::Unknown:
case ProjectDataManagement::StateChangeOriginator::WoundTreatmentDevice:
@@ -181,47 +181,47 @@ void HandlerDynamicParticipantData::tryCreateHitEvent(Database::EemEvent eData,
QJsonObject obj;
obj[QStringLiteral("VulnerabilityState")] = vulnState.underlying();
obj[QStringLiteral("OriginatorId")] = stateInfo.originatorId();
obj[QStringLiteral("OriginatorType")] = stateInfo.originatorType().underlying();
obj[QStringLiteral("OriginatorChargeTypeId")] = stateInfo.originatorChargeTypeId();
obj[QStringLiteral("OriginatorId")] = stateInfo.originatorId;
obj[QStringLiteral("OriginatorType")] = stateInfo.originatorType.underlying();
obj[QStringLiteral("OriginatorChargeTypeId")] = stateInfo.originatorChargeTypeId;
if (stateInfo.originatorType() == ProjectDataManagement::StateChangeOriginator::Participant)
if (stateInfo.originatorType == ProjectDataManagement::StateChangeOriginator::Participant)
{
ParticipantManagement::Participant originData = m_partMap.value(stateInfo.originatorId());
ParticipantManagement::Participant originData = m_partMap.value(stateInfo.originatorId);
if (originData.equipmentNumber.is_set())
obj[QStringLiteral("OriginatorEquipmentNumber")] = originData.equipmentNumber.get();
if (originData.partyId() == eData.partyId)
if (originData.partyId == eData.partyId)
obj[QStringLiteral("FriendlyFire")] = true;
else
obj[QStringLiteral("FriendlyFire")] = false;
}
if (eData.eventTypeId == ProjectDataManagement::PdmEventType::HitEffectSimulation)
if (eData.eventTypeId == ProjectDataManagement::PdmEventType::EventType_HitEffectSimulation)
{
DEBUG_LOG(m_logger) << "Event HitEffectSimulation from originatorId = " << stateInfo.originatorId();
obj[QStringLiteral("AesId")] = stateInfo.originatorId();
obj[QStringLiteral("AesType")] = m_itemViews.value(stateInfo.originatorId()).underlying();
DEBUG_LOG(m_logger) << "Event HitEffectSimulation from originatorId = " << stateInfo.originatorId;
obj[QStringLiteral("AesId")] = stateInfo.originatorId;
obj[QStringLiteral("AesType")] = m_itemViews.value(stateInfo.originatorId).underlying();
AreaEffectSimulation::AesItem aesItem;
if (m_aesDtc->aesItemFromId(stateInfo.originatorId(), aesItem))
obj[QStringLiteral("AesName")] = QJsonValue(QString::fromStdString(aesItem.name()));
if (m_aesDtc->aesItemFromId(stateInfo.originatorId, aesItem))
obj[QStringLiteral("AesName")] = QJsonValue(QString::fromStdString(aesItem.name));
}
if (eData.eventTypeId == ProjectDataManagement::PdmEventType::Sanitation)
if (eData.eventTypeId == ProjectDataManagement::PdmEventType::EventType_Sanitation)
{
// ignore these events
if (stateInfo.sanitationProceduresTaken() == 0 && stateInfo.originatorChargeTypeId() == 0) //qualification
if (stateInfo.sanitationProceduresTaken == 0 && stateInfo.originatorChargeTypeId == 0) //qualification
return;
DEBUG_LOG(m_logger) << "Event sanitation ";
obj[QStringLiteral("Vitality")] = stateInfo.vitality();
obj[QStringLiteral("SanitationResult")] = stateInfo.sanitationResult().underlying();
obj[QStringLiteral("SanitationProceduresTaken")] = stateInfo.sanitationProceduresTaken();
obj[QStringLiteral("Vitality")] = stateInfo.vitality;
obj[QStringLiteral("SanitationResult")] = stateInfo.sanitationResult.underlying();
obj[QStringLiteral("SanitationProceduresTaken")] = stateInfo.sanitationProceduresTaken;
}
eData.properties = QString::fromUtf8(QJsonDocument(obj).toJson(QJsonDocument::Compact));
eData.id = 0;
if (eData.sampleTime <= 0)
eData.sampleTime = stateInfo.stateTime();
eData.sampleTime = stateInfo.stateTime;
if (!m_dbHandler->db()->insert(eData))
ERROR_LOG(m_logger) << "Error while inserting event data for participant: " << eData.participantId;
@@ -237,105 +237,105 @@ void HandlerDynamicParticipantData::onDynamicParticipantDataChanged(const Partic
return;
DEBUG_LOG(m_logger) << "onDynamicParticipantDataChanged()"
<< ", participantId: " << data.participantId()
<< ", size stateHistory: " << data.stateHistory().size();
<< ", participantId: " << data.participantId
<< ", size stateHistory: " << data.stateHistory.size();
auto itLastDynData = m_lastDynData.find(data.participantId());
auto itLastDynData = m_lastDynData.find(data.participantId);
// the first insert does not trigger any updates
if (itLastDynData == m_lastDynData.end())
{
itLastDynData = m_lastDynData.insert(data.participantId(), data);
itLastDynData = m_lastDynData.insert(data.participantId, data);
return;
}
ParticipantManagement::DynamicParticipantData &lastDynData = itLastDynData.value();
// get corresponding participant data
auto itParticipant = m_partMap.find(data.participantId());
auto itParticipant = m_partMap.find(data.participantId);
if (itParticipant == m_partMap.end())
{
m_ppmDtc->waitForHistoricalDataParticipant(2000);
itParticipant = m_partMap.find(data.participantId());
itParticipant = m_partMap.find(data.participantId);
if (itParticipant == m_partMap.end())
{
ERROR_LOG(m_logger) << "Participant does not exist: participantId: " << data.participantId();
ERROR_LOG(m_logger) << "Participant does not exist: participantId: " << data.participantId;
return;
}
}
static const ParticipantManagement::ParticipantPosition emptyPos;
auto itParticipantPos = m_partPosMap.find(data.participantId());
auto itParticipantPos = m_partPosMap.find(data.participantId);
const ParticipantManagement::ParticipantPosition &pPos = itParticipantPos == m_partPosMap.end() ? emptyPos : itParticipantPos.value();
const ParticipantManagement::Participant &pData = itParticipant.value();
Database::EemEvent eData;
eData.participantId = data.participantId();
eData.participantId = data.participantId;
eData.equipmentNumber = pData.equipmentNumber.is_set() ? pData.equipmentNumber.get() : -1;
eData.partyId = pData.partyId();
eData.sampleTime = data.sampleTime();
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::Unknown;
eData.position = LtsUtils::QPoint3D(pPos.pos().lon(), pPos.pos().lat(), pPos.pos().z());
eData.partyId = pData.partyId;
eData.sampleTime = data.sampleTime;
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_Unknown;
eData.position = LtsUtils::QPoint3D(pPos.pos.lon, pPos.pos.lat, pPos.pos.z);
if (data.stateHistory() != lastDynData.stateHistory())
if (data.stateHistory != lastDynData.stateHistory)
{
// we assume that the order of the state information do *not* change (it's current true: january 2020)
for (size_t i = 0; i < data.stateHistory().size(); ++i)
for (size_t i = 0; i < data.stateHistory.size(); ++i)
{
if (i < lastDynData.stateHistory().size() &&
data.stateHistory().at(i) == lastDynData.stateHistory().at(i))
if (i < lastDynData.stateHistory.size() &&
data.stateHistory.at(i) == lastDynData.stateHistory.at(i))
continue;
tryCreateHitEvent(eData, data.stateHistory().at(i));
tryCreateHitEvent(eData, data.stateHistory.at(i));
}
}
const auto gearIsKnown = [ &lastDynData](const ParticipantManagement::GearInformation & gi) -> bool
{
return std::any_of(lastDynData.gear().begin(), lastDynData.gear().end(),
return std::any_of(lastDynData.gear.begin(), lastDynData.gear.end(),
[&gi](const ParticipantManagement::GearInformation & other)
{
return gi.gearTypeId() == other.gearTypeId() && gi.gearId() == other.gearId();
return gi.gearTypeId == other.gearTypeId && gi.gearId == other.gearId;
});
};
for (const ParticipantManagement::GearInformation &gi : data.gear())
for (const ParticipantManagement::GearInformation &gi : data.gear)
{
if (gearIsKnown(gi))
continue;
DEBUG_LOG(m_logger) << "Found new gear " << gi << " for participant " << data.participantId();
DEBUG_LOG(m_logger) << "Found new gear " << gi << " for participant " << data.participantId;
QJsonObject obj;
obj[QStringLiteral("GearId")] = QJsonValue(gi.gearId());
obj[QStringLiteral("GearTypeId")] = QJsonValue(gi.gearTypeId());
obj[QStringLiteral("DryFire")] = QJsonValue(gi.chargeCounting());
obj[QStringLiteral("GearId")] = QJsonValue(gi.gearId);
obj[QStringLiteral("GearTypeId")] = QJsonValue(gi.gearTypeId);
obj[QStringLiteral("DryFire")] = QJsonValue(gi.chargeCounting);
eData.properties = QString::fromUtf8(QJsonDocument(obj).toJson(QJsonDocument::Compact));
eData.sampleTime = gi.lastUpdate();
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::WeaponAssignment;
eData.sampleTime = gi.lastUpdate;
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_WeaponAssignment;
eData.id = 0;
if (!m_dbHandler->db()->insert(eData))
ERROR_LOG(m_logger) << "Error while inserting event data for participant: " << data.participantId();
ERROR_LOG(m_logger) << "Error while inserting event data for participant: " << data.participantId;
else
publishData(eData);
}
if (data.manipulation() != lastDynData.manipulation())
if (data.manipulation != lastDynData.manipulation)
{
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::Manipulation;
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_Manipulation;
const auto isOldManipulation = [&lastDynData](const ParticipantManagement::ManipulationInformation & mani) -> bool
{
auto it = std::find(lastDynData.manipulation().begin(), lastDynData.manipulation().end(), mani);
return it != lastDynData.manipulation().end();
auto it = std::find(lastDynData.manipulation.begin(), lastDynData.manipulation.end(), mani);
return it != lastDynData.manipulation.end();
};
// we can *not* assume that the old and the new manipulation is in the same order
for (const auto &mani : data.manipulation())
for (const auto &mani : data.manipulation)
{
if (isOldManipulation(mani))
continue;
const QJsonObject obj({{QStringLiteral("DeviceType"), mani.equipmentFunctionId()}});
const QJsonObject obj({{QStringLiteral("DeviceType"), mani.equipmentFunctionId}});
eData.properties = QString::fromUtf8(QJsonDocument(obj).toJson(QJsonDocument::Compact));
eData.sampleTime = mani.manipulationTime();
eData.sampleTime = mani.manipulationTime;
eData.id = 0;
if (!m_dbHandler->db()->insert(eData))
ERROR_LOG(m_logger) << "Error while inserting event data for participant: " << data.participantId();
ERROR_LOG(m_logger) << "Error while inserting event data for participant: " << data.participantId;
else
publishData(eData);
}
@@ -353,45 +353,45 @@ void HandlerDynamicParticipantData::onParticipantGearEventChanged(const Particip
return;
// get corresponding participant data
auto itParticipant = m_partMap.find(data.participantId());
auto itParticipant = m_partMap.find(data.participantId);
if (itParticipant == m_partMap.end())
{
m_ppmDtc->waitForHistoricalDataParticipant(2000);
itParticipant = m_partMap.find(data.participantId());
itParticipant = m_partMap.find(data.participantId);
if (itParticipant == m_partMap.end())
{
ERROR_LOG(m_logger) << "Participant does not exist: participantId: " << data.participantId();
ERROR_LOG(m_logger) << "Participant does not exist: participantId: " << data.participantId;
return;
}
}
static const ParticipantManagement::ParticipantPosition emptyPos;
auto itParticipantPos = m_partPosMap.find(data.participantId());
auto itParticipantPos = m_partPosMap.find(data.participantId);
const ParticipantManagement::ParticipantPosition &pPos = itParticipantPos == m_partPosMap.end() ? emptyPos : itParticipantPos.value();
const ParticipantManagement::Participant &pData = itParticipant.value();
Database::EemEvent eData;
eData.id = 0;
eData.participantId = data.participantId();
eData.participantId = data.participantId;
eData.equipmentNumber = pData.equipmentNumber.is_set() ? pData.equipmentNumber.get() : -1;
eData.partyId = pData.partyId();
eData.sampleTime = data.sampleTime();
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::FireEvent;
eData.position = LtsUtils::QPoint3D(pPos.pos().lon(), pPos.pos().lat(), pPos.pos().z());
eData.partyId = pData.partyId;
eData.sampleTime = data.sampleTime;
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_FireEvent;
eData.position = LtsUtils::QPoint3D(pPos.pos.lon, pPos.pos.lat, pPos.pos.z);
QJsonObject obj;
obj[QStringLiteral("GearId")] = QJsonValue(data.charge().gearId());
obj[QStringLiteral("GearTypeId")] = QJsonValue(data.charge().gearTypeId());
obj[QStringLiteral("ChargeTypeId")] = QJsonValue(data.charge().chargeTypeId());
obj[QStringLiteral("Amount")] = QJsonValue(data.chargeAmount());
if (data.charge().remain() >= 0)
obj[QStringLiteral("Remain")] = QJsonValue(data.charge().remain());
obj[QStringLiteral("GearId")] = QJsonValue(data.charge.gearId);
obj[QStringLiteral("GearTypeId")] = QJsonValue(data.charge.gearTypeId);
obj[QStringLiteral("ChargeTypeId")] = QJsonValue(data.charge.chargeTypeId);
obj[QStringLiteral("Amount")] = QJsonValue(data.chargeAmount);
if (data.charge.remain >= 0)
obj[QStringLiteral("Remain")] = QJsonValue(data.charge.remain);
eData.properties = QString::fromUtf8(QJsonDocument(obj).toJson(QJsonDocument::Compact));
eData.id = 0;
DEBUG_LOG(m_logger) << "create fire event for participant " << data.participantId();
DEBUG_LOG(m_logger) << "create fire event for participant " << data.participantId;
if (!m_dbHandler->db()->insert(eData))
ERROR_LOG(m_logger) << "Error while inserting event data for participant: " << data.participantId();
ERROR_LOG(m_logger) << "Error while inserting event data for participant: " << data.participantId;
else
publishData(eData);
}
@@ -404,13 +404,13 @@ void HandlerDynamicParticipantData::onParticipantChanged(const ParticipantManage
case DataModification::eAdded:
case DataModification::eModified:
DEBUG_LOG(m_logger) << "added/modified";
m_partMap.insert(data.id(), data);
DEBUG_LOG(m_logger) << "data.participantId: " << data.id()
<< ", data.partyId: " << data.partyId()
<< ". data.equipmentNumber: " << data.equipmentNumber();
m_partMap.insert(data.id, data);
DEBUG_LOG(m_logger) << "data.participantId: " << data.id
<< ", data.partyId: " << data.partyId
<< ". data.equipmentNumber: " << data.equipmentNumber;
break;
case DataModification::eRemoved:
m_partMap.remove(data.id());
m_partMap.remove(data.id);
break;
}
}
@@ -422,13 +422,13 @@ void HandlerDynamicParticipantData::onParticipantPositionChanged(const Participa
{
case DataModification::eAdded:
case DataModification::eModified:
m_partPosMap.insert(data.participantId(), data);
DEBUG_LOG(m_logger) << "data.participantId: " << data.participantId()
<< ", position lat: " << data.pos().lat()
<< ", position lon: " << data.pos().lon();
m_partPosMap.insert(data.participantId, data);
DEBUG_LOG(m_logger) << "data.participantId: " << data.participantId
<< ", position lat: " << data.pos.lat
<< ", position lon: " << data.pos.lon;
break;
case DataModification::eRemoved:
m_partPosMap.remove(data.participantId());
m_partPosMap.remove(data.participantId);
break;
}
}
@@ -442,37 +442,37 @@ void HandlerDynamicParticipantData::onBiteChanged(const ParticipantManagement::B
Database::EemEvent eData;
eData.id = 0;
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::BiteMessage;
eData.equipmentNumber = data.equipmentNumber();
eData.participantId = data.participantId();
eData.sampleTime = data.sampleTime();
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_BiteMessage;
eData.equipmentNumber = data.equipmentNumber;
eData.participantId = data.participantId;
eData.sampleTime = data.sampleTime;
QJsonObject obj;
obj[QStringLiteral("BatteryState")] = QJsonValue(data.batteryState());
obj[QStringLiteral("BiteState")] = QJsonValue(data.biteState());
obj[QStringLiteral("ConfigState")] = QJsonValue(data.configState());
obj[QStringLiteral("BatteryState")] = QJsonValue(data.batteryState);
obj[QStringLiteral("BiteState")] = QJsonValue(data.biteState);
obj[QStringLiteral("ConfigState")] = QJsonValue(data.configState);
QJsonArray array;
for (const ParticipantManagement::BiteError &be : data.biteErrors())
for (const ParticipantManagement::BiteError &be : data.biteErrors)
{
QJsonObject object;
object[QStringLiteral("ErrorNo")] = QJsonValue(be.errorNumber());
object[QStringLiteral("CanDeviceNumber")] = QJsonValue(be.canDeviceNumber());
object[QStringLiteral("SubdeviceNumber")] = QJsonValue(be.subdeviceNumber());
object[QStringLiteral("UniqueId")] = QJsonValue(be.uniqueId());
object[QStringLiteral("ErrorNo")] = QJsonValue(be.errorNumber);
object[QStringLiteral("CanDeviceNumber")] = QJsonValue(be.canDeviceNumber);
object[QStringLiteral("SubdeviceNumber")] = QJsonValue(be.subdeviceNumber);
object[QStringLiteral("UniqueId")] = QJsonValue(be.uniqueId);
array.append(object);
}
obj[QStringLiteral("BiteErrors")] = QJsonValue(array);
eData.properties = QString::fromUtf8(QJsonDocument(obj).toJson(QJsonDocument::Compact));
ParticipantManagement::Participant part = m_partMap.value(data.participantId());
if (part.id() > 0)
ParticipantManagement::Participant part = m_partMap.value(data.participantId);
if (part.id > 0)
{
eData.partyId = part.partyId();
eData.partyId = part.partyId;
ParticipantManagement::ParticipantPosition pPos = m_partPosMap.value(eData.participantId);
eData.position = LtsUtils::QPoint3D(pPos.pos().lon(), pPos.pos().lat(), pPos.pos().z());
eData.position = LtsUtils::QPoint3D(pPos.pos.lon, pPos.pos.lat, pPos.pos.z);
}
else
{
@@ -481,7 +481,7 @@ void HandlerDynamicParticipantData::onBiteChanged(const ParticipantManagement::B
}
if (!m_dbHandler->db()->insert(eData))
ERROR_LOG(m_logger) << "Error while inserting event data for participantId: " << data.participantId();
ERROR_LOG(m_logger) << "Error while inserting event data for participantId: " << data.participantId;
else
publishData(eData);
}
@@ -489,56 +489,56 @@ void HandlerDynamicParticipantData::onBiteChanged(const ParticipantManagement::B
//-----------------------------------------------------------------------------
void HandlerDynamicParticipantData::onBuildingStateChanged(const Buildings::BuildingState &data, DataModification modType)
{
if (modType == DataModification::eRemoved || data.damagePercent() <= 0) // only add hits
if (modType == DataModification::eRemoved || data.damagePercent <= 0) // only add hits
return;
Database::EemEvent eData;
eData.id = 0;
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::HitBuilding;
eData.sampleTime = data.sampleTime();
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_HitBuilding;
eData.sampleTime = data.sampleTime;
QJsonObject obj;
obj[QStringLiteral("ChargeTypeId")] = QJsonValue(data.chargeTypeId());
obj[QStringLiteral("damagePercent")] = QJsonValue(data.damagePercent());
obj[QStringLiteral("damagePercentOld")] = QJsonValue(data.damagePercentOld());
obj[QStringLiteral("ChargeTypeId")] = QJsonValue(data.chargeTypeId);
obj[QStringLiteral("damagePercent")] = QJsonValue(data.damagePercent);
obj[QStringLiteral("damagePercentOld")] = QJsonValue(data.damagePercentOld);
// obj[QStringLiteral("Name")] = QJsonValue(data.name());
obj[QStringLiteral("VulnerabilityState")] = QJsonValue(data.vulnerabilityState().underlying());
obj[QStringLiteral("VulnerabilityState")] = QJsonValue(data.vulnerabilityState.underlying());
if (data.originatorType() == ProjectDataManagement::StateChangeOriginator::Participant)
if (data.originatorType == ProjectDataManagement::StateChangeOriginator::Participant)
{
ParticipantManagement::Participant originData = m_partMap.value(data.originatorParticipantId());
ParticipantManagement::Participant originData = m_partMap.value(data.originatorParticipantId);
if (originData.equipmentNumber.is_set())
obj[QStringLiteral("OriginatorEquipmentNumber")] = originData.equipmentNumber.get();
}
if (data.originatorType() == ProjectDataManagement::StateChangeOriginator::AreaEffectSimulation)
if (data.originatorType == ProjectDataManagement::StateChangeOriginator::AreaEffectSimulation)
{
obj[QStringLiteral("AesId")] = data.aesId();
obj[QStringLiteral("AesType")] = m_itemViews.value(data.aesId()).underlying();
obj[QStringLiteral("AesId")] = data.aesId;
obj[QStringLiteral("AesType")] = m_itemViews.value(data.aesId).underlying();
AreaEffectSimulation::AesItem aesItem;
if (m_aesDtc->aesItemFromId(data.aesId(), aesItem))
obj[QStringLiteral("AesName")] = QJsonValue(QString::fromStdString(aesItem.name()));
if (m_aesDtc->aesItemFromId(data.aesId, aesItem))
obj[QStringLiteral("AesName")] = QJsonValue(QString::fromStdString(aesItem.name));
}
//obj[QStringLiteral("StructureElementId")] = QJsonValue(data.structureElementId());
obj[QStringLiteral("MainStructureElementId")] = QJsonValue(data.id());
obj[QStringLiteral("MainStructureElementId")] = QJsonValue(data.id);
QJsonArray contaminationArr;
for (const auto &cs: data.contaminationStates())
for (const auto &cs: data.contaminationStates)
{
QJsonArray roomArr;
for (const auto &roomId : qAsConst(cs.rooms()))
for (const auto &roomId : qAsConst(cs.rooms))
roomArr.append(QJsonValue(roomId));
contaminationArr.append(QJsonObject({{QStringLiteral("aesId") , cs.aesId()},
contaminationArr.append(QJsonObject({{QStringLiteral("aesId") , cs.aesId},
{QStringLiteral("rooms"), roomArr}}));
}
obj[QStringLiteral("contaminationStates")] = contaminationArr;
int mainStructureElementId = data.id();
Core::GeoPosition geoPosition = m_mainStructureElements.value(mainStructureElementId).geoPosition();
LtsUtils::QPoint3D pos3D(geoPosition.lon(), geoPosition.lat(), geoPosition.z());
int mainStructureElementId = data.id;
Core::GeoPosition geoPosition = m_mainStructureElements.value(mainStructureElementId).geoPosition;
LtsUtils::QPoint3D pos3D(geoPosition.lon, geoPosition.lat, geoPosition.z);
eData.position = pos3D;
eData.properties = QString::fromUtf8(QJsonDocument(obj).toJson(QJsonDocument::Compact));
@@ -560,7 +560,7 @@ void HandlerDynamicParticipantData::publishData(const Database::EemEvent &data)
ERROR_LOG(m_logger) << "Error publishing event-data to dds";
// take data from dds-bus after 10s, we need just to make sure the recording service got it
m_mainHandler->addEventIdToRemove(ddsData.id());
m_mainHandler->addEventIdToRemove(ddsData.id);
}
//-----------------------------------------------------------------------------
@@ -568,20 +568,20 @@ ExerciseEventManagement::Event HandlerDynamicParticipantData::toDdsData(const Da
{
ExerciseEventManagement::Event ddsData;
ddsData.id(data.id);
ddsData.sampleTime(data.sampleTime);
ddsData.participantId(data.participantId);
ddsData.partyId(data.partyId);
ddsData.equipmentNumber(data.equipmentNumber);
ddsData.eventTypeId(data.eventTypeId);
ddsData.properties(data.properties.toStdString());
ddsData.position(Core::GeoPosition(data.position.x(), data.position.y(), data.position.z()));
ddsData.id = data.id;
ddsData.sampleTime = data.sampleTime;
ddsData.participantId = data.participantId;
ddsData.partyId = data.partyId;
ddsData.equipmentNumber = data.equipmentNumber;
ddsData.eventTypeId = data.eventTypeId;
ddsData.properties = data.properties.toStdString();
ddsData.position = Core::GeoPosition(data.position.x(), data.position.y(), data.position.z());
if (data.eventTypeId == ProjectDataManagement::PdmEventType_def::HitBuilding)
if (data.eventTypeId == ProjectDataManagement::PdmEventType::PdmEventType_HitBuilding)
{
int mainStructureElementId = LtsUtils::JsonObject::fromJson(ddsData.properties()).valueOr<int>(QStringLiteral("MainStructureElementId"), 0);
int mainStructureElementId = LtsUtils::JsonObject::fromJson(ddsData.properties).valueOr<int>(QStringLiteral("MainStructureElementId"), 0);
DEBUG_LOG(m_logger) << "MainStructureElementId=" << mainStructureElementId;
ddsData.position(m_mainStructureElements.value(mainStructureElementId).geoPosition());
ddsData.position = m_mainStructureElements.value(mainStructureElementId).geoPosition;
}
return ddsData;
@@ -596,11 +596,11 @@ void HandlerDynamicParticipantData::onMainStructureElementChanged(const Infrastr
if (modType != DataModification::eAdded &&
modType != DataModification::eModified)
{
m_mainStructureElements.remove(data.id());
m_mainStructureElements.remove(data.id);
return;
}
m_mainStructureElements.insert(data.id(), data);
m_mainStructureElements.insert(data.id, data);
DEBUG_LOG(m_logger) << "Got MainStructureElement: " << data;
}
@@ -76,21 +76,21 @@ bool HandlerEquipmentErrorRegistration::init()
void HandlerEquipmentErrorRegistration::onEquipmentErrorRegistrationChanged(const OcSituationServer::EquipmentErrorRegistration &data, DataModification modType)
{
INFO_LOG(m_logger) << "onEquipmentErrorRegistrationChanged()"
<< ", equipmentNr: " << data.equipmentNumber()
<< ", text: " << QString::fromStdString(data.text());
<< ", equipmentNr: " << data.equipmentNumber
<< ", text: " << QString::fromStdString(data.text);
if (modType == DataModification::eRemoved)
return;
Database::EemEvent eData;
eData.sampleTime = data.sampleTime();
eData.equipmentNumber = data.equipmentNumber();
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::EquipmentErrorReport;
eData.sampleTime = data.sampleTime;
eData.equipmentNumber = data.equipmentNumber;
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_EquipmentErrorReport;
QJsonObject obj;
obj[QStringLiteral("text")] = QString::fromStdString(data.text());
obj[QStringLiteral("device")] = QString::fromStdString(data.device());
obj[QStringLiteral("participant")] = QString::fromStdString(data.participant());
obj[QStringLiteral("text")] = QString::fromStdString(data.text);
obj[QStringLiteral("device")] = QString::fromStdString(data.device);
obj[QStringLiteral("participant")] = QString::fromStdString(data.participant);
eData.properties = QString::fromUtf8(QJsonDocument(obj).toJson(QJsonDocument::Compact));
@@ -112,21 +112,21 @@ void HandlerEquipmentErrorRegistration::publishData(const Database::EemEvent &da
ERROR_LOG(m_logger) << "Error publishing event-data to dds";
// take data from dds-bus after 10s, we need just to make sure the recording service got it
m_mainHandler->addEventIdToRemove(ddsData.id());
m_mainHandler->addEventIdToRemove(ddsData.id);
}
ExerciseEventManagement::Event HandlerEquipmentErrorRegistration::toDdsData(const Database::EemEvent &data)
{
ExerciseEventManagement::Event ddsData;
ddsData.id(data.id);
ddsData.sampleTime(data.sampleTime);
ddsData.participantId(data.participantId);
ddsData.partyId(data.partyId);
ddsData.equipmentNumber(data.equipmentNumber);
ddsData.eventTypeId(data.eventTypeId);
ddsData.properties(data.properties.toStdString());
ddsData.position(Core::GeoPosition(data.position.x(), data.position.y(), data.position.z()));
ddsData.id = data.id;
ddsData.sampleTime = data.sampleTime;
ddsData.participantId = data.participantId;
ddsData.partyId = data.partyId;
ddsData.equipmentNumber = data.equipmentNumber;
ddsData.eventTypeId = data.eventTypeId;
ddsData.properties = data.properties.toStdString();
ddsData.position = Core::GeoPosition(data.position.x(), data.position.y(), data.position.z());
return ddsData;
}
@@ -85,10 +85,10 @@ bool HandlerParticipantEvent::init()
void HandlerParticipantEvent::onAesItemViewChanged(const AreaEffectSimulation::AesItemView &data, DataModification modType)
{
DEBUG_LOG(m_logger) << "AesItemId: " << data.aesItemId() << ", effectState: " << data.effectStateId();
DEBUG_LOG(m_logger) << "AesItemId: " << data.aesItemId << ", effectState: " << data.effectStateId;
Database::EemEvent eData = m_aesMap[data.id()];
eData.sampleTime = data.effectStart();
Database::EemEvent eData = m_aesMap[data.id];
eData.sampleTime = data.effectStart;
if (data.partyId.is_set())
eData.partyId = data.partyId.get();
@@ -96,24 +96,24 @@ void HandlerParticipantEvent::onAesItemViewChanged(const AreaEffectSimulation::A
switch(modType)
{
case DataModification::eAdded:
m_itemViews.insert(data.aesItemId(), data.aesTypeId());
DEBUG_LOG(m_logger) << "eAdded: AesItemId: " << data.aesItemId() << ", effectState: " << data.effectStateId();
m_aesEffectState.insert(data.aesItemId(), data.effectStateId());
m_itemViews.insert(data.aesItemId, data.aesTypeId);
DEBUG_LOG(m_logger) << "eAdded: AesItemId: " << data.aesItemId << ", effectState: " << data.effectStateId;
m_aesEffectState.insert(data.aesItemId, data.effectStateId);
if (data.aesTypeId() == AreaEffectSimulation::AesType_def::AtBorderline)
if (data.aesTypeId == AreaEffectSimulation::AesType::AesType_AtBorderline)
{
AreaEffectSimulation::AesItem aesItem;
m_aesDtc->aesItemFromId(data.aesItemId(), aesItem);
m_aesDtc->aesItemFromId(data.aesItemId, aesItem);
QJsonObject obj;
obj[QStringLiteral("AesId")] = QJsonValue(aesItem.id());
obj[QStringLiteral("AesName")] = QJsonValue(QString::fromStdString(aesItem.name()));
obj[QStringLiteral("AesType")] = QJsonValue(data.aesTypeId().underlying());
obj[QStringLiteral("AesId")] = QJsonValue(aesItem.id);
obj[QStringLiteral("AesName")] = QJsonValue(QString::fromStdString(aesItem.name));
obj[QStringLiteral("AesType")] = QJsonValue(data.aesTypeId.underlying());
eData.properties = QString::fromUtf8(QJsonDocument(obj).toJson(QJsonDocument::Compact));
eData.eventTypeId = ProjectDataManagement::PdmEventType::Borderline;
eData.position = LtsUtils::QPoint3D(data.boundingBoxBottomLeft().lon(),
data.boundingBoxBottomLeft().lat(), 0.0);
eData.eventTypeId = ProjectDataManagement::PdmEventType::EventType_Borderline;
eData.position = LtsUtils::QPoint3D(data.boundingBoxBottomLeft.lon,
data.boundingBoxBottomLeft.lat, 0.0);
if (!m_dbHandler->db()->insert(eData))
ERROR_LOG(m_logger) << "Error while inserting event data from AES ";
@@ -123,89 +123,89 @@ void HandlerParticipantEvent::onAesItemViewChanged(const AreaEffectSimulation::A
break;
case DataModification::eModified:
{
AreaEffectSimulation::AesEffectState effectState = m_aesEffectState.value(data.aesItemId());
AreaEffectSimulation::AesEffectState effectState = m_aesEffectState.value(data.aesItemId);
DEBUG_LOG(m_logger) << "eModified: AesItemId: " << data.aesItemId() << ", effectState: " << data.effectStateId();
DEBUG_LOG(m_logger) << "eModified: AesItemId: " << data.aesItemId << ", effectState: " << data.effectStateId;
DEBUG_LOG(m_logger) << "effectState: " << effectState;
// insert event only once
if (effectState != AreaEffectSimulation::AesEffectState::EsPrepared &&
(effectState == AreaEffectSimulation::AesEffectState_def::EsActivated && data.effectStateId() != AreaEffectSimulation::AesEffectState_def::EsExpired))
(effectState == AreaEffectSimulation::AesEffectState::AesEffectState_EsActivated && data.effectStateId != AreaEffectSimulation::AesEffectState::AesEffectState_EsExpired))
return;
INFO_LOG(m_logger) << "new/update event: aesId: " << data.aesItemId();
INFO_LOG(m_logger) << "new/update event: aesId: " << data.aesItemId;
m_aesEffectState.insert(data.aesItemId(), data.effectStateId());
m_itemViews.insert(data.aesItemId(), data.aesTypeId());
eData.position = LtsUtils::QPoint3D(data.boundingBoxBottomLeft().lon(),
data.boundingBoxBottomLeft().lat(), 0.0);
m_aesEffectState.insert(data.aesItemId, data.effectStateId);
m_itemViews.insert(data.aesItemId, data.aesTypeId);
eData.position = LtsUtils::QPoint3D(data.boundingBoxBottomLeft.lon,
data.boundingBoxBottomLeft.lat, 0.0);
INFO_LOG(m_logger) << "aesType: " << data.aesTypeId();
INFO_LOG(m_logger) << "aesType: " << data.aesTypeId;
switch (data.aesTypeId().underlying())
switch (data.aesTypeId.underlying())
{
case AreaEffectSimulation::AesType::AtMineArea:
eData.eventTypeId = ProjectDataManagement::PdmEventType::MineArea;
eData.eventTypeId = ProjectDataManagement::PdmEventType::EventType_MineArea;
break;
case AreaEffectSimulation::AesType::AtExplosionArea:
eData.eventTypeId = ProjectDataManagement::PdmEventType::HitEffectSimulation;
eData.eventTypeId = ProjectDataManagement::PdmEventType::EventType_HitEffectSimulation;
break;
case AreaEffectSimulation::AesType::AtExplosionCluster:
eData.eventTypeId = ProjectDataManagement::PdmEventType::ExplosionCluster;
eData.eventTypeId = ProjectDataManagement::PdmEventType::EventType_ExplosionCluster;
break;
case AreaEffectSimulation::AesType::AtMineAreaSingleMines:
return;
case AreaEffectSimulation::AesType::AtNContamination:
eData.eventTypeId = ProjectDataManagement::PdmEventType::NContamination;
eData.eventTypeId = ProjectDataManagement::PdmEventType::EventType_NContamination;
break;
case AreaEffectSimulation::AesType::AtBCContamination:
eData.eventTypeId = ProjectDataManagement::PdmEventType::BCContamination;
eData.eventTypeId = ProjectDataManagement::PdmEventType::EventType_BCContamination;
break;
case AreaEffectSimulation::AesType::AtBorderline:
eData.eventTypeId = ProjectDataManagement::PdmEventType::Borderline;
eData.eventTypeId = ProjectDataManagement::PdmEventType::EventType_Borderline;
break;
case AreaEffectSimulation::AesType::AtDangerArea:
eData.eventTypeId = ProjectDataManagement::PdmEventType::DangerArea;
eData.eventTypeId = ProjectDataManagement::PdmEventType::EventType_DangerArea;
break;
case AreaEffectSimulation::AesType::AtFunctionalArea:
eData.eventTypeId = ProjectDataManagement::PdmEventType::FunctionalArea;
eData.eventTypeId = ProjectDataManagement::PdmEventType::EventType_FunctionalArea;
break;
case AreaEffectSimulation::AesType::AtMineCorridor:
eData.eventTypeId = ProjectDataManagement::PdmEventType::MineCorridor;
eData.eventTypeId = ProjectDataManagement::PdmEventType::EventType_MineCorridor;
break;
case AreaEffectSimulation::AesType::AtTechnicalArea:
eData.eventTypeId = ProjectDataManagement::PdmEventType::TechnicalArea;
eData.eventTypeId = ProjectDataManagement::PdmEventType::EventType_TechnicalArea;
break;
case AreaEffectSimulation::AesType::AtGasPipe:
eData.eventTypeId = ProjectDataManagement::PdmEventType::GasPipe;
eData.eventTypeId = ProjectDataManagement::PdmEventType::EventType_GasPipe;
break;
// No ExerciseEvent for AesType
default:
{
INFO_LOG(m_logger) << "No ExerciseEvent for AesType:" << data.aesTypeId().underlying();
INFO_LOG(m_logger) << "No ExerciseEvent for AesType:" << data.aesTypeId.underlying();
return;
}
}
AreaEffectSimulation::AesItem aesItem;
m_aesDtc->aesItemFromId(data.aesItemId(), aesItem);
m_aesDtc->aesItemFromId(data.aesItemId, aesItem);
if (eData.eventTypeId == ProjectDataManagement::PdmEventType::ExplosionCluster)
if (eData.eventTypeId == ProjectDataManagement::PdmEventType::EventType_ExplosionCluster)
{
ProjectDataManagement::GearClass gearClass = m_pdmDtc->gearClassFromChargeTypeId(aesItem.chargeStruct().chargeTypeId());
if (gearClass == ProjectDataManagement::GearClass_def::AirSupport)
eData.eventTypeId = ProjectDataManagement::PdmEventType::AirSupport;
ProjectDataManagement::GearClass gearClass = m_pdmDtc->gearClassFromChargeTypeId(aesItem.chargeStruct.chargeTypeId);
if (gearClass == ProjectDataManagement::GearClass::GearClass_AirSupport)
eData.eventTypeId = ProjectDataManagement::PdmEventType::EventType_AirSupport;
}
QJsonObject obj;
obj[QStringLiteral("AesId")] = QJsonValue(aesItem.id());
obj[QStringLiteral("AesName")] = QJsonValue(QString::fromStdString(aesItem.name()));
obj[QStringLiteral("AesType")] = QJsonValue(data.aesTypeId().underlying());
if (data.aesTypeId().underlying() != AreaEffectSimulation::AesType::AtBorderline)
obj[QStringLiteral("AesId")] = QJsonValue(aesItem.id);
obj[QStringLiteral("AesName")] = QJsonValue(QString::fromStdString(aesItem.name));
obj[QStringLiteral("AesType")] = QJsonValue(data.aesTypeId.underlying());
if (data.aesTypeId.underlying() != AreaEffectSimulation::AesType::AtBorderline)
{
obj[QStringLiteral("duration")] = QJsonValue(aesItem.effectDuration());
obj[QStringLiteral("ChargeTypeId")] = QJsonValue(data.chargeStruct().chargeTypeId());
obj[QStringLiteral("endTime")] = QJsonValue(data.effectStart() + aesItem.effectDuration());
obj[QStringLiteral("duration")] = QJsonValue(aesItem.effectDuration);
obj[QStringLiteral("ChargeTypeId")] = QJsonValue(data.chargeStruct.chargeTypeId);
obj[QStringLiteral("endTime")] = QJsonValue(data.effectStart + aesItem.effectDuration);
}
eData.properties = QString::fromUtf8(QJsonDocument(obj).toJson(QJsonDocument::Compact));
@@ -216,7 +216,7 @@ void HandlerParticipantEvent::onAesItemViewChanged(const AreaEffectSimulation::A
ERROR_LOG(m_logger) << "Error while inserting event data from AES ";
break;
}
m_aesMap.insert(data.id(), eData);
m_aesMap.insert(data.id, eData);
}
else
{
@@ -231,8 +231,8 @@ void HandlerParticipantEvent::onAesItemViewChanged(const AreaEffectSimulation::A
}
case DataModification::eRemoved:
{
m_itemViews.remove(data.aesItemId());
m_aesMap.remove(data.id());
m_itemViews.remove(data.aesItemId);
m_aesMap.remove(data.id);
break;
}
}
@@ -241,7 +241,7 @@ void HandlerParticipantEvent::onAesItemViewChanged(const AreaEffectSimulation::A
void HandlerParticipantEvent::onExplosionSingleChanged(const AreaEffectSimulation::ExplosionSingle &data, DataModification modType)
{
Database::EemEvent eData = m_aesMap[data.id()];
Database::EemEvent eData = m_aesMap[data.id];
if ( !data.effectStart.is_set())
{
return;
@@ -254,37 +254,37 @@ void HandlerParticipantEvent::onExplosionSingleChanged(const AreaEffectSimulatio
switch(modType)
{
case DataModification::eAdded:
m_aesEffectState.insert(data.id(), data.effectStateId());
m_aesEffectState.insert(data.id, data.effectStateId);
break;
case DataModification::eModified:
{
AreaEffectSimulation::AesEffectState effectState = m_aesEffectState.value(data.id());
AreaEffectSimulation::AesEffectState effectState = m_aesEffectState.value(data.id);
// insert event only once
if (effectState != AreaEffectSimulation::AesEffectState::EsPrepared &&
(effectState == AreaEffectSimulation::AesEffectState_def::EsActivated && data.effectStateId() != AreaEffectSimulation::AesEffectState_def::EsExpired))
(effectState == AreaEffectSimulation::AesEffectState::AesEffectState_EsActivated && data.effectStateId != AreaEffectSimulation::AesEffectState::AesEffectState_EsExpired))
return;
m_aesEffectState.insert(data.id(), data.effectStateId());
m_aesEffectState.insert(data.id, data.effectStateId);
//m_itemViews.insert(data.id(), data.aesTypeId());
eData.eventTypeId = ProjectDataManagement::PdmEventType::FireEvent;
eData.eventTypeId = ProjectDataManagement::PdmEventType::EventType_FireEvent;
AreaEffectSimulation::AesItem aesItem;
m_aesDtc->aesItemFromId(data.id(), aesItem);
m_aesDtc->aesItemFromId(data.id, aesItem);
QJsonObject obj;
obj[QStringLiteral("AesId")] = QJsonValue(aesItem.id());
obj[QStringLiteral("AesName")] = QJsonValue(QString::fromStdString(aesItem.name()));
obj[QStringLiteral("AesId")] = QJsonValue(aesItem.id);
obj[QStringLiteral("AesName")] = QJsonValue(QString::fromStdString(aesItem.name));
obj[QStringLiteral("AesType")] = QJsonValue(AreaEffectSimulation::AesType::AtExplosionSingle);
obj[QStringLiteral("ChargeTypeId")] = QJsonValue(data.chargeStruct().chargeTypeId());
obj[QStringLiteral("duration")] = QJsonValue(aesItem.effectDuration());
obj[QStringLiteral("endTime")] = QJsonValue(data.effectStart.get() + aesItem.effectDuration());
obj[QStringLiteral("ChargeTypeId")] = QJsonValue(data.chargeStruct.chargeTypeId);
obj[QStringLiteral("duration")] = QJsonValue(aesItem.effectDuration);
obj[QStringLiteral("endTime")] = QJsonValue(data.effectStart.get() + aesItem.effectDuration);
eData.properties = QString::fromUtf8(QJsonDocument(obj).toJson(QJsonDocument::Compact));
//const Core::GeoPosition geoPosition ( data.impactPosition().lon(), data.impactPosition().lat(), 0);
const LtsUtils::QPoint3D pos3D (data.impactPosition().lon(), data.impactPosition().lat(), 0);
const LtsUtils::QPoint3D pos3D (data.impactPosition.lon, data.impactPosition.lat, 0);
eData.position = pos3D;
if (eData.id <= 0)
@@ -294,7 +294,7 @@ void HandlerParticipantEvent::onExplosionSingleChanged(const AreaEffectSimulatio
ERROR_LOG(m_logger) << "Error while inserting event data from AES ";
break;
}
m_aesMap.insert(data.id(), eData);
m_aesMap.insert(data.id, eData);
}
else
{
@@ -319,77 +319,77 @@ void HandlerParticipantEvent::onParticipantEventChanged(const CentralEffectSimul
Database::EemEvent eData;
eData.participantId = data.participantId();
eData.equipmentNumber = data.equipmentNumber();
eData.partyId = data.partyId();
eData.sampleTime = data.eventTime();
eData.position = LtsUtils::QPoint3D(data.position().lon(), data.position().lat(), data.position().z());
eData.participantId = data.participantId;
eData.equipmentNumber = data.equipmentNumber;
eData.partyId = data.partyId;
eData.sampleTime = data.eventTime;
eData.position = LtsUtils::QPoint3D(data.position.lon, data.position.lat, data.position.z);
DEBUG_LOG(m_logger) << " onParticipantEventChanged "
<< " position=" << data.position()
<< " position=" << data.position
<< " eData.position=" << eData.position;
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::Unknown;
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_Unknown;
QJsonObject obj;
obj[QStringLiteral("AesId")] = QJsonValue(data.aesItemId());
obj[QStringLiteral("AesType")] = QJsonValue(m_itemViews.value(data.aesItemId()).underlying());
obj[QStringLiteral("AesName")] = QJsonValue(QString::fromStdString(data.aesName()));
obj[QStringLiteral("FriendlyFire")] = QJsonValue(data.friendlyFire());
obj[QStringLiteral("AesId")] = QJsonValue(data.aesItemId);
obj[QStringLiteral("AesType")] = QJsonValue(m_itemViews.value(data.aesItemId).underlying());
obj[QStringLiteral("AesName")] = QJsonValue(QString::fromStdString(data.aesName));
obj[QStringLiteral("FriendlyFire")] = QJsonValue(data.friendlyFire);
switch(data.eventTypeId().underlying())
switch(data.eventTypeId.underlying())
{
case ProjectDataManagement::PdmEventType_def::HitEffectSimulation:
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::HitEffectSimulation;
case ProjectDataManagement::PdmEventType::PdmEventType_HitEffectSimulation:
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_HitEffectSimulation;
break;
case ProjectDataManagement::PdmEventType_def::HitMine:
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::HitMine;
case ProjectDataManagement::PdmEventType::PdmEventType_HitMine:
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_HitMine;
break;
case ProjectDataManagement::PdmEventType_def::HitN:
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::HitN;
case ProjectDataManagement::PdmEventType::PdmEventType_HitN:
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_HitN;
break;
case ProjectDataManagement::PdmEventType_def::HitC:
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::HitC;
case ProjectDataManagement::PdmEventType::PdmEventType_HitC:
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_HitC;
break;
case ProjectDataManagement::PdmEventType_def::EnterDangerArea:
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::EnterDangerArea;
case ProjectDataManagement::PdmEventType::PdmEventType_EnterDangerArea:
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_EnterDangerArea;
break;
case ProjectDataManagement::PdmEventType_def::LeaveDangerArea:
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::LeaveDangerArea;
case ProjectDataManagement::PdmEventType::PdmEventType_LeaveDangerArea:
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_LeaveDangerArea;
break;
case ProjectDataManagement::PdmEventType_def::EnterMineArea:
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::EnterMineArea;
case ProjectDataManagement::PdmEventType::PdmEventType_EnterMineArea:
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_EnterMineArea;
break;
case ProjectDataManagement::PdmEventType_def::LeaveMineArea:
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::LeaveMineArea;
case ProjectDataManagement::PdmEventType::PdmEventType_LeaveMineArea:
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_LeaveMineArea;
break;
case ProjectDataManagement::PdmEventType_def::EnterNuclear:
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::EnterNuclear;
case ProjectDataManagement::PdmEventType::PdmEventType_EnterNuclear:
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_EnterNuclear;
break;
case ProjectDataManagement::PdmEventType_def::LeaveNuclear:
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::LeaveNuclear;
case ProjectDataManagement::PdmEventType::PdmEventType_LeaveNuclear:
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_LeaveNuclear;
break;
case ProjectDataManagement::PdmEventType_def::CrossLocalBorderline:
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::CrossLocalBorderline;
case ProjectDataManagement::PdmEventType::PdmEventType_CrossLocalBorderline:
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_CrossLocalBorderline;
obj[QStringLiteral("Global")] = QJsonValue(false);
break;
case ProjectDataManagement::PdmEventType_def::CrossGlobalBorderline:
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::CrossGlobalBorderline;
case ProjectDataManagement::PdmEventType::PdmEventType_CrossGlobalBorderline:
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_CrossGlobalBorderline;
obj[QStringLiteral("Global")] = QJsonValue(true);
break;
case ProjectDataManagement::PdmEventType_def::EnterFunctionalArea:
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::EnterFunctionalArea;
case ProjectDataManagement::PdmEventType::PdmEventType_EnterFunctionalArea:
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_EnterFunctionalArea;
break;
case ProjectDataManagement::PdmEventType_def::LeaveFunctionalArea:
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::LeaveFunctionalArea;
case ProjectDataManagement::PdmEventType::PdmEventType_LeaveFunctionalArea:
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_LeaveFunctionalArea;
break;
case ProjectDataManagement::PdmEventType_def::EnterHazardDistance:
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::EnterHazardDistance;
case ProjectDataManagement::PdmEventType::PdmEventType_EnterHazardDistance:
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_EnterHazardDistance;
break;
case ProjectDataManagement::PdmEventType_def::LeaveHazardDistance:
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::LeaveHazardDistance;
case ProjectDataManagement::PdmEventType::PdmEventType_LeaveHazardDistance:
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_LeaveHazardDistance;
break;
case ProjectDataManagement::PdmEventType_def::AirSupport:
eData.eventTypeId = ProjectDataManagement::PdmEventType_def::AirSupport;
case ProjectDataManagement::PdmEventType::PdmEventType_AirSupport:
eData.eventTypeId = ProjectDataManagement::PdmEventType::PdmEventType_AirSupport;
break;
default:
return;
@@ -416,22 +416,22 @@ void HandlerParticipantEvent::publishData(const Database::EemEvent &data)
ERROR_LOG(m_logger) << "Error publishing event-data to dds";
// take data from dds-bus after 10s, we need just to make sure the recording service got it
m_mainHandler->addEventIdToRemove(ddsData.id());
m_mainHandler->addEventIdToRemove(ddsData.id);
}
ExerciseEventManagement::Event HandlerParticipantEvent::toDdsData(const Database::EemEvent &data)
{
ExerciseEventManagement::Event ddsData;
ddsData.id(data.id);
ddsData.sampleTime(data.sampleTime);
ddsData.participantId(data.participantId);
ddsData.partyId(data.partyId);
ddsData.equipmentNumber(data.equipmentNumber);
ddsData.eventTypeId(data.eventTypeId);
ddsData.properties(data.properties.toStdString());
ddsData.id = data.id;
ddsData.sampleTime = data.sampleTime;
ddsData.participantId = data.participantId;
ddsData.partyId = data.partyId;
ddsData.equipmentNumber = data.equipmentNumber;
ddsData.eventTypeId = data.eventTypeId;
ddsData.properties = data.properties.toStdString();
// Core::GeoPosition LtsUtils::QPoint3D
Core::GeoPosition position(data.position.x(), data.position.y(),data.position.z());
ddsData.position(position);
ddsData.position = position;
return ddsData;
}
@@ -29,16 +29,16 @@ ProjectDataManagement::PdmEventType avsEventTypeToPdmEventType(int avsEventType
case 305: //MVS
case 301: // CAMERA_AUDIO
case 302: // CAMERA_VIDEO
eventType = ProjectDataManagement::PdmEventType::CameraVideo;
eventType = ProjectDataManagement::PdmEventType::EventType_CameraVideo;
break;
case 303: // RADIO_CNR
eventType = ProjectDataManagement::PdmEventType::RadioCnr;
eventType = ProjectDataManagement::PdmEventType::EventType_RadioCnr;
break;
case 304: // RADIO_TVC
eventType = ProjectDataManagement::PdmEventType::RadioTvc;
eventType = ProjectDataManagement::PdmEventType::EventType_RadioTvc;
break;
default:
eventType = ProjectDataManagement::PdmEventType::Unknown;
eventType = ProjectDataManagement::PdmEventType::EventType_Unknown;
break;
}
return eventType;
@@ -118,16 +118,16 @@ AvsData WebSocketAvs::jsonObjectToAvsData(const QJsonObject &obj)
{
case 301: // CAMERA_AUDIO
case 302: // CAMERA_VIDEO
eventType = ProjectDataManagement::PdmEventType::CameraVideo;
eventType = ProjectDataManagement::PdmEventType::EventType_CameraVideo;
break;
case 303: // RADIO_CNR
eventType = ProjectDataManagement::PdmEventType::RadioCnr;
eventType = ProjectDataManagement::PdmEventType::EventType_RadioCnr;
break;
case 304: // RADIO_TVC
eventType = ProjectDataManagement::PdmEventType::RadioTvc;
eventType = ProjectDataManagement::PdmEventType::EventType_RadioTvc;
break;
default:
eventType = ProjectDataManagement::PdmEventType::Unknown;
eventType = ProjectDataManagement::PdmEventType::EventType_Unknown;
ERROR_LOG(m_logger) << "Unknown avsEventType: " << avsEventType;
break;
}
@@ -168,9 +168,9 @@ Database::EemEvent WebSocketAvs::avsDataToEemEvent(const AvsData &data)
ExerciseEventManagement::Event WebSocketAvs::avsDataToEvent(const AvsData &data)
{
ExerciseEventManagement::Event event;
event.id(data.id);
event.sampleTime(data.eventTime);
event.eventTypeId(data.eventType);
event.id = data.id;
event.sampleTime = data.eventTime;
event.eventTypeId = data.eventType;
QJsonObject obj;
obj[QStringLiteral("streamName")] = data.streamName;
@@ -181,7 +181,7 @@ ExerciseEventManagement::Event WebSocketAvs::avsDataToEvent(const AvsData &data)
}
obj[QStringLiteral("endTime")] = data.endTime;
obj[QStringLiteral("MainStructureElementId")] = data.mainStructureElementId;
event.properties(QJsonDocument(obj).toJson(QJsonDocument::Compact).toStdString());
event.properties = QJsonDocument(obj).toJson(QJsonDocument::Compact).toStdString();
return event;
}
@@ -216,7 +216,7 @@ void WebSocketAvs::handleAvsData(const AvsData &data, const bool &lastRangeClose
DEBUG_LOG(m_logger) << "kein Publish (avsData.endTime == -1) && (data.endTime == -1)";
return;
}
if ( (data.endTime == -1) && (data.eventType == ProjectDataManagement::PdmEventType::RadioCnr))
if ( (data.endTime == -1) && (data.eventType == ProjectDataManagement::PdmEventType::EventType_RadioCnr))
{
DEBUG_LOG(m_logger) << "kein Publish (avsData.endTime == -1) && RadioCnr";
return;
@@ -370,7 +370,7 @@ int WebSocketAvs::publishData(const QString &streamName)
{
if (!m_dbHandler->db()->insert(dbData))
ERROR_LOG(m_logger) << "Error while inserting avsData in db: streamName: " << data.streamName;
ddsEvent.id(dbData.id);
ddsEvent.id = dbData.id;
}
// publish data
@@ -501,7 +501,7 @@ void WebSocketAvs::onCleanUpDbInternal()
if (!collection.contains(eItem.eventTime))
{
AvsData add = eItem;
bool checkMsi = eItem.eventType == ProjectDataManagement::PdmEventType::CameraVideo;
bool checkMsi = eItem.eventType == ProjectDataManagement::PdmEventType::EventType_CameraVideo;
int mountingPointId = 0;
if (checkMsi && m_avmDtc->mountingPointForStreamName(eItem.streamName, mountingPointId))
@@ -520,7 +520,7 @@ void WebSocketAvs::onCleanUpDbInternal()
}
for ( auto item : list)
{
bool checkMsi = eItem.eventType == ProjectDataManagement::PdmEventType::CameraVideo;
bool checkMsi = eItem.eventType == ProjectDataManagement::PdmEventType::EventType_CameraVideo;
if (item.endTime == eItem.endTime )
{
@@ -672,9 +672,9 @@ QMap<QString, QVector<AvsData>> WebSocketAvs::getAllInternalDbData()
QVector<Database::EemEvent> dataVec;
//qCritical() << "START reading internal db ";
m_dbHandler->db()->selectByEventTypeId(dataVec, ProjectDataManagement::PdmEventType::CameraVideo);
m_dbHandler->db()->selectByEventTypeId(dataVec, ProjectDataManagement::PdmEventType::RadioCnr);
m_dbHandler->db()->selectByEventTypeId(dataVec, ProjectDataManagement::PdmEventType::RadioTvc);
m_dbHandler->db()->selectByEventTypeId(dataVec, ProjectDataManagement::PdmEventType::EventType_CameraVideo);
m_dbHandler->db()->selectByEventTypeId(dataVec, ProjectDataManagement::PdmEventType::EventType_RadioCnr);
m_dbHandler->db()->selectByEventTypeId(dataVec, ProjectDataManagement::PdmEventType::EventType_RadioTvc);
// m_dbHandler->db()->select(dataVec);
//qCritical() << "END select reading internal db ";
@@ -44,7 +44,7 @@ struct AvsData
: id(0)
, eventTime(0)
, endTime(-1)
, eventType(ProjectDataManagement::PdmEventType::Unknown)
, eventType(ProjectDataManagement::PdmEventType::EventType_Unknown)
, mainStructureElementId(0)
, timer(new QTimer)
{
@@ -232,7 +232,7 @@ void WebSocketEventServer::historyDataRequested(const QSqlDatabase &db, QWebSock
{
int i = 0;
data.id = q.value(i++).toInt();
data.eventTypeId = static_cast<ProjectDataManagement::PdmEventType_def::type>(q.value(i++).toInt());
data.eventTypeId = static_cast<ProjectDataManagement::PdmEventType>(q.value(i++).toInt());
data.participantId = q.value(i++).toInt();
data.partyId = q.value(i++).toInt();
data.equipmentNumber = q.value(i++).toInt();