* @brief Build a single parsed-row payload for an endToEndDryRun frame. */
| 6407 | * @brief Build a single parsed-row payload for an endToEndDryRun frame. |
| 6408 | */ |
| 6409 | static QJsonObject buildDryRunRow( |
| 6410 | const QStringList& row, |
| 6411 | int sourceId, |
| 6412 | const std::vector<DataModel::Group>& groups, |
| 6413 | int language, |
| 6414 | bool verbose, |
| 6415 | std::map<int, std::unique_ptr<DataModel::IScriptEngine>>& transformEngines, |
| 6416 | std::map<int, bool>& transformEngineOk) |
| 6417 | { |
| 6418 | QJsonArray datasetResults; |
| 6419 | for (const auto& group : groups) { |
| 6420 | for (const auto& dataset : group.datasets) { |
| 6421 | if (dataset.sourceId != sourceId) |
| 6422 | continue; |
| 6423 | |
| 6424 | datasetResults.append(buildDryRunDatasetEntry( |
| 6425 | dataset, group.groupId, row, language, verbose, transformEngines, transformEngineOk)); |
| 6426 | } |
| 6427 | } |
| 6428 | |
| 6429 | QJsonArray rawCells; |
| 6430 | for (const auto& cell : row) |
| 6431 | rawCells.append(cell); |
| 6432 | |
| 6433 | QJsonObject rowOut; |
| 6434 | rowOut[QStringLiteral("rawCells")] = rawCells; |
| 6435 | rowOut[QStringLiteral("datasets")] = datasetResults; |
| 6436 | return rowOut; |
| 6437 | } |
| 6438 | |
| 6439 | /** |
| 6440 | * @brief End-to-end dry-run: parser + all dataset transforms applied to a sample frame. |
no test coverage detected