Mercurial > hg > orthanc
diff OrthancServer/Sources/Database/StatelessDatabaseOperations.cpp @ 5586:fc3914c07dd3 find-refactoring
refactoring FindResponse
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 03 May 2024 17:02:02 +0200 |
parents | 74cc31c8db2b |
children | b51ee994cd6f |
line wrap: on
line diff
--- a/OrthancServer/Sources/Database/StatelessDatabaseOperations.cpp Sat Apr 27 22:15:37 2024 +0200 +++ b/OrthancServer/Sources/Database/StatelessDatabaseOperations.cpp Fri May 03 17:02:02 2024 +0200 @@ -3865,7 +3865,7 @@ // But, finally, we might just get rid of ExpandedResource and replace it by FindResponse ExpandedResource::ExpandedResource(const FindRequest& request, const FindResponse::Item& item) : - id_(item.GetIdentifiers().GetLevel(request.GetLevel())), + id_(item.GetIdentifier()), level_(request.GetLevel()), isStable_(false), expectedNumberOfInstances_(0), @@ -3874,17 +3874,21 @@ { if (request.HasResponseContent(FindRequest::ResponseContent_MainDicomTags)) { - tags_.Assign(item.GetDicomMap()); + item.GetDicomTagsAtLevel(tags_, request.GetLevel()); } if (request.HasResponseContent(FindRequest::ResponseContent_Children)) { - childrenIds_ = item.GetChildren(); + const std::set<std::string>& s = item.GetChildrenIdentifiers(GetChildResourceType(request.GetLevel())); + for (std::set<std::string>::const_iterator it = s.begin(); it != s.end(); ++it) + { + childrenIds_.push_back(*it); + } } if (request.HasResponseContent(FindRequest::ResponseContent_Parent)) { - parentId_ = item.GetIdentifiers().GetLevel(GetParentResourceType(request.GetLevel())); + parentId_ = item.GetParentIdentifier(); } if (request.HasResponseContent(FindRequest::ResponseContent_Metadata))