Mercurial > hg > orthanc
comparison 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 |
comparison
equal
deleted
inserted
replaced
5583:74cc31c8db2b | 5586:fc3914c07dd3 |
---|---|
3863 | 3863 |
3864 // TODO-FIND: we reuse the ExpandedResource class to reuse Serialization code from ExpandedResource | 3864 // TODO-FIND: we reuse the ExpandedResource class to reuse Serialization code from ExpandedResource |
3865 // But, finally, we might just get rid of ExpandedResource and replace it by FindResponse | 3865 // But, finally, we might just get rid of ExpandedResource and replace it by FindResponse |
3866 ExpandedResource::ExpandedResource(const FindRequest& request, | 3866 ExpandedResource::ExpandedResource(const FindRequest& request, |
3867 const FindResponse::Item& item) : | 3867 const FindResponse::Item& item) : |
3868 id_(item.GetIdentifiers().GetLevel(request.GetLevel())), | 3868 id_(item.GetIdentifier()), |
3869 level_(request.GetLevel()), | 3869 level_(request.GetLevel()), |
3870 isStable_(false), | 3870 isStable_(false), |
3871 expectedNumberOfInstances_(0), | 3871 expectedNumberOfInstances_(0), |
3872 fileSize_(0), | 3872 fileSize_(0), |
3873 indexInSeries_(0) | 3873 indexInSeries_(0) |
3874 { | 3874 { |
3875 if (request.HasResponseContent(FindRequest::ResponseContent_MainDicomTags)) | 3875 if (request.HasResponseContent(FindRequest::ResponseContent_MainDicomTags)) |
3876 { | 3876 { |
3877 tags_.Assign(item.GetDicomMap()); | 3877 item.GetDicomTagsAtLevel(tags_, request.GetLevel()); |
3878 } | 3878 } |
3879 | 3879 |
3880 if (request.HasResponseContent(FindRequest::ResponseContent_Children)) | 3880 if (request.HasResponseContent(FindRequest::ResponseContent_Children)) |
3881 { | 3881 { |
3882 childrenIds_ = item.GetChildren(); | 3882 const std::set<std::string>& s = item.GetChildrenIdentifiers(GetChildResourceType(request.GetLevel())); |
3883 for (std::set<std::string>::const_iterator it = s.begin(); it != s.end(); ++it) | |
3884 { | |
3885 childrenIds_.push_back(*it); | |
3886 } | |
3883 } | 3887 } |
3884 | 3888 |
3885 if (request.HasResponseContent(FindRequest::ResponseContent_Parent)) | 3889 if (request.HasResponseContent(FindRequest::ResponseContent_Parent)) |
3886 { | 3890 { |
3887 parentId_ = item.GetIdentifiers().GetLevel(GetParentResourceType(request.GetLevel())); | 3891 parentId_ = item.GetParentIdentifier(); |
3888 } | 3892 } |
3889 | 3893 |
3890 if (request.HasResponseContent(FindRequest::ResponseContent_Metadata)) | 3894 if (request.HasResponseContent(FindRequest::ResponseContent_Metadata)) |
3891 { | 3895 { |
3892 metadata_ = item.GetMetadata(); | 3896 metadata_ = item.GetMetadata(); |