From a7b88fa8516d2077d8d409db2e85b3de992d375b Mon Sep 17 00:00:00 2001 From: Peter Staar Date: Tue, 3 Dec 2024 14:23:14 +0100 Subject: [PATCH] updated set_data with payload Signed-off-by: Peter Staar --- .../structs/subjects/document/doc_normalisation.h | 6 +++--- src/andromeda/tooling/structs/subjects/figure.h | 9 +++++++++ src/andromeda/tooling/structs/subjects/table.h | 9 +++++++++ src/andromeda/tooling/structs/subjects/text.h | 9 +++++++++ 4 files changed, 30 insertions(+), 3 deletions(-) diff --git a/src/andromeda/tooling/structs/subjects/document/doc_normalisation.h b/src/andromeda/tooling/structs/subjects/document/doc_normalisation.h index 2489ed08..e63bff2f 100644 --- a/src/andromeda/tooling/structs/subjects/document/doc_normalisation.h +++ b/src/andromeda/tooling/structs/subjects/document/doc_normalisation.h @@ -323,14 +323,14 @@ namespace andromeda std::string base = parts.at(1); std::size_t index = std::stoi(parts.at(2)); - + auto& item = orig.at(base).at(index); - + if(is_text.count(prov->get_type())) { std::stringstream ss; ss << doc_name << "#/" << doc_type::texts_lbl << "/" << texts.size(); - + std::string dloc = ss.str(); auto subj = std::make_shared >(doc.get_hash(), dloc, prov); diff --git a/src/andromeda/tooling/structs/subjects/figure.h b/src/andromeda/tooling/structs/subjects/figure.h index caa087d2..44dd602a 100644 --- a/src/andromeda/tooling/structs/subjects/figure.h +++ b/src/andromeda/tooling/structs/subjects/figure.h @@ -169,6 +169,15 @@ namespace andromeda { base_subject::valid = true; + if(data.count(payload_lbl)) + { + payload = data.value(payload_lbl, payload); + } + else + { + payload = nlohmann::json::value_t::null; + } + return base_subject::valid; } diff --git a/src/andromeda/tooling/structs/subjects/table.h b/src/andromeda/tooling/structs/subjects/table.h index 9ecc93b9..408af170 100644 --- a/src/andromeda/tooling/structs/subjects/table.h +++ b/src/andromeda/tooling/structs/subjects/table.h @@ -279,6 +279,15 @@ namespace andromeda data.clear(); + if(item.count(payload_lbl)) + { + payload = item.value(payload_lbl, payload); + } + else + { + payload = nlohmann::json::value_t::null; + } + { conf = item.value(base_subject::confidence_lbl, conf); created_by = item.value(base_subject::created_by_lbl, created_by); diff --git a/src/andromeda/tooling/structs/subjects/text.h b/src/andromeda/tooling/structs/subjects/text.h index 968f0748..bacb5f2b 100644 --- a/src/andromeda/tooling/structs/subjects/text.h +++ b/src/andromeda/tooling/structs/subjects/text.h @@ -196,6 +196,15 @@ namespace andromeda return false; } + if(item.count(payload_lbl)) + { + payload = item.value(payload_lbl, payload); + } + else + { + payload = nlohmann::json::value_t::null; + } + for(auto& prov:provs) { labels.insert(prov->get_name());