# HG changeset patch # User Sebastien Jodogne # Date 1720270845 -7200 # Node ID 2b65f25cb1c83c6eb9329db96741eb67fb62f283 # Parent 74f3aab95886890067294e31b14ac4be43767d7d more debug output diff -r 74f3aab95886 -r 2b65f25cb1c8 OrthancServer/Sources/Database/FindResponse.cpp --- a/OrthancServer/Sources/Database/FindResponse.cpp Sat Jul 06 14:43:46 2024 +0200 +++ b/OrthancServer/Sources/Database/FindResponse.cpp Sat Jul 06 15:00:45 2024 +0200 @@ -523,6 +523,18 @@ target[EnumerationToString(info.GetContentType())] = u; } + + static void DebugSetOfStrings(Json::Value& target, + const std::set& values) + { + target = Json::arrayValue; + for (std::set::const_iterator it = values.begin(); it != values.end(); ++it) + { + target.append(*it); + } + } + + void FindResponse::Resource::DebugExport(Json::Value& target, const FindRequest& request) const { @@ -575,27 +587,30 @@ { if (request.GetChildrenRetrieveSpecification(levels[i]).IsRetrieveIdentifiers()) { - const std::set& ids = GetChildrenInformation(levels[i]).GetIdentifiers(); + DebugSetOfStrings(target[level]["Identifiers"], GetChildrenInformation(levels[i]).GetIdentifiers()); + } - Json::Value v = Json::arrayValue; - for (std::set::const_iterator it = ids.begin(); it != ids.end(); ++it) - { - v.append(*it); - } - target[level]["Identifiers"] = v; + const std::set& metadata = request.GetChildrenRetrieveSpecification(levels[i]).GetMetadata(); + for (std::set::const_iterator it = metadata.begin(); it != metadata.end(); ++it) + { + std::set values; + GetChildrenInformation(levels[i]).GetMetadataValues(values, *it); + DebugSetOfStrings(target[level]["Metadata"][EnumerationToString(*it)], values); + } + + const std::set& tags = request.GetChildrenRetrieveSpecification(levels[i]).GetMainDicomTags(); + for (std::set::const_iterator it = tags.begin(); it != tags.end(); ++it) + { + std::set values; + GetChildrenInformation(levels[i]).GetMainDicomTagValues(values, *it); + DebugSetOfStrings(target[level]["MainDicomTags"][it->Format()], values); } } } if (request.IsRetrieveLabels()) { - Json::Value v = Json::arrayValue; - for (std::set::const_iterator it = labels_.begin(); - it != labels_.end(); ++it) - { - v.append(*it); - } - target["Labels"] = v; + DebugSetOfStrings(target["Labels"], labels_); } if (request.IsRetrieveAttachments())