Mercurial > hg > orthanc
diff OrthancServer/Sources/Database/FindRequest.cpp @ 5619:1864b16bc7b1 find-refactoring
added FindRequest::ParentRetrieveSpecification
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Sat, 11 May 2024 12:13:31 +0200 |
parents | 4640b7ae9a11 |
children | 732ec9feeea8 |
line wrap: on
line diff
--- a/OrthancServer/Sources/Database/FindRequest.cpp Sat May 11 11:23:25 2024 +0200 +++ b/OrthancServer/Sources/Database/FindRequest.cpp Sat May 11 12:13:31 2024 +0200 @@ -31,19 +31,37 @@ namespace Orthanc { + FindRequest::ParentRetrieveSpecification& FindRequest::GetParentRetrieveSpecification(ResourceType level) + { + if (!IsResourceLevelAboveOrEqual(level, level_)) + { + throw OrthancException(ErrorCode_ParameterOutOfRange); + } + + switch (level) + { + case ResourceType_Patient: + return retrieveParentPatient_; + + case ResourceType_Study: + return retrieveParentStudy_; + + case ResourceType_Series: + return retrieveParentSeries_; + + default: + throw OrthancException(ErrorCode_ParameterOutOfRange); + } + } + + FindRequest::FindRequest(ResourceType level) : level_(level), hasLimits_(false), limitsSince_(0), limitsCount_(0), - retrieveMainDicomTagsPatients_(false), - retrieveMainDicomTagsStudies_(false), - retrieveMainDicomTagsSeries_(false), - retrieveMainDicomTagsInstances_(false), - retrieveMetadataPatients_(false), - retrieveMetadataStudies_(false), - retrieveMetadataSeries_(false), - retrieveMetadataInstances_(false), + retrieveMainDicomTags_(false), + retrieveMetadata_(false), retrieveLabels_(false), retrieveAttachments_(false), retrieveParentIdentifier_(false), @@ -238,124 +256,6 @@ } - void FindRequest::SetRetrieveMainDicomTags(ResourceType level, - bool retrieve) - { - if (!IsResourceLevelAboveOrEqual(level, level_)) - { - throw OrthancException(ErrorCode_ParameterOutOfRange); - } - - switch (level) - { - case ResourceType_Patient: - retrieveMainDicomTagsPatients_ = retrieve; - break; - - case ResourceType_Study: - retrieveMainDicomTagsStudies_ = retrieve; - break; - - case ResourceType_Series: - retrieveMainDicomTagsSeries_ = retrieve; - break; - - case ResourceType_Instance: - retrieveMainDicomTagsInstances_ = retrieve; - break; - - default: - throw OrthancException(ErrorCode_InternalError); - } - } - - - bool FindRequest::IsRetrieveMainDicomTags(ResourceType level) const - { - if (!IsResourceLevelAboveOrEqual(level, level_)) - { - throw OrthancException(ErrorCode_ParameterOutOfRange); - } - - switch (level) - { - case ResourceType_Patient: - return retrieveMainDicomTagsPatients_; - - case ResourceType_Study: - return retrieveMainDicomTagsStudies_; - - case ResourceType_Series: - return retrieveMainDicomTagsSeries_; - - case ResourceType_Instance: - return retrieveMainDicomTagsInstances_; - - default: - throw OrthancException(ErrorCode_InternalError); - } - } - - - void FindRequest::SetRetrieveMetadata(ResourceType level, - bool retrieve) - { - if (!IsResourceLevelAboveOrEqual(level, level_)) - { - throw OrthancException(ErrorCode_ParameterOutOfRange); - } - - switch (level) - { - case ResourceType_Patient: - retrieveMetadataPatients_ = retrieve; - break; - - case ResourceType_Study: - retrieveMetadataStudies_ = retrieve; - break; - - case ResourceType_Series: - retrieveMetadataSeries_ = retrieve; - break; - - case ResourceType_Instance: - retrieveMetadataInstances_ = retrieve; - break; - - default: - throw OrthancException(ErrorCode_InternalError); - } - } - - - bool FindRequest::IsRetrieveMetadata(ResourceType level) const - { - if (!IsResourceLevelAboveOrEqual(level, level_)) - { - throw OrthancException(ErrorCode_ParameterOutOfRange); - } - - switch (level) - { - case ResourceType_Patient: - return retrieveMetadataPatients_; - - case ResourceType_Study: - return retrieveMetadataStudies_; - - case ResourceType_Series: - return retrieveMetadataSeries_; - - case ResourceType_Instance: - return retrieveMetadataInstances_; - - default: - throw OrthancException(ErrorCode_InternalError); - } - } - - void FindRequest::SetRetrieveParentIdentifier(bool retrieve) { if (level_ == ResourceType_Patient)