Mercurial > hg > orthanc
comparison OrthancServer/Sources/OrthancRestApi/OrthancRestResources.cpp @ 5714:2b05428843d2 find-refactoring
removed dangerous overload of ResourceFinder::Execute()
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Sat, 13 Jul 2024 00:20:33 +0200 |
parents | d851a54e49b7 |
children | 593e110de3d8 56352ae88120 |
comparison
equal
deleted
inserted
replaced
5713:d851a54e49b7 | 5714:2b05428843d2 |
---|---|
128 } | 128 } |
129 } | 129 } |
130 | 130 |
131 | 131 |
132 static bool ExpandResource(Json::Value& target, | 132 static bool ExpandResource(Json::Value& target, |
133 ServerIndex& index, | 133 ServerContext& context, |
134 ResourceType level, | 134 ResourceType level, |
135 const std::string& identifier, | 135 const std::string& identifier, |
136 DicomToJsonFormat format, | 136 DicomToJsonFormat format, |
137 bool retrieveMetadata) | 137 bool retrieveMetadata) |
138 { | 138 { |
139 ResourceFinder finder(level, true /* expand */); | 139 ResourceFinder finder(level, true /* expand */); |
140 finder.SetOrthancId(level, identifier); | 140 finder.SetOrthancId(level, identifier); |
141 finder.SetRetrieveMetadata(retrieveMetadata); | 141 finder.SetRetrieveMetadata(retrieveMetadata); |
142 | 142 |
143 FindResponse response; | 143 return finder.ExecuteOneResource(target, context, format, retrieveMetadata); |
144 finder.Execute(response, index); | |
145 | |
146 if (response.GetSize() != 1) | |
147 { | |
148 return false; | |
149 } | |
150 else | |
151 { | |
152 const FindResponse::Resource& resource = response.GetResourceByIndex(0); | |
153 finder.Expand(target, resource, index, format, retrieveMetadata); | |
154 return true; | |
155 } | |
156 } | 144 } |
157 | 145 |
158 | 146 |
159 // List all the patients, studies, series or instances ---------------------- | 147 // List all the patients, studies, series or instances ---------------------- |
160 | 148 |
3799 if (true) | 3787 if (true) |
3800 { | 3788 { |
3801 /** | 3789 /** |
3802 * EXPERIMENTAL VERSION | 3790 * EXPERIMENTAL VERSION |
3803 **/ | 3791 **/ |
3804 if (ExpandResource(resource, OrthancRestApi::GetIndex(call), currentType, current, format, false)) | 3792 if (ExpandResource(resource, OrthancRestApi::GetContext(call), currentType, current, format, false)) |
3805 { | 3793 { |
3806 call.GetOutput().AnswerJson(resource); | 3794 call.GetOutput().AnswerJson(resource); |
3807 } | 3795 } |
3808 } | 3796 } |
3809 else | 3797 else |
4249 { | 4237 { |
4250 /** | 4238 /** |
4251 * EXPERIMENTAL VERSION | 4239 * EXPERIMENTAL VERSION |
4252 **/ | 4240 **/ |
4253 Json::Value item; | 4241 Json::Value item; |
4254 if (ExpandResource(item, OrthancRestApi::GetIndex(call), level, *it, format, metadata)) | 4242 if (ExpandResource(item, OrthancRestApi::GetContext(call), level, *it, format, metadata)) |
4255 { | 4243 { |
4256 answer.append(item); | 4244 answer.append(item); |
4257 } | 4245 } |
4258 } | 4246 } |
4259 else | 4247 else |
4293 { | 4281 { |
4294 /** | 4282 /** |
4295 * EXPERIMENTAL VERSION | 4283 * EXPERIMENTAL VERSION |
4296 **/ | 4284 **/ |
4297 if (index.LookupResourceType(level, *it) && | 4285 if (index.LookupResourceType(level, *it) && |
4298 ExpandResource(item, OrthancRestApi::GetIndex(call), level, *it, format, metadata)) | 4286 ExpandResource(item, OrthancRestApi::GetContext(call), level, *it, format, metadata)) |
4299 { | 4287 { |
4300 answer.append(item); | 4288 answer.append(item); |
4301 } | 4289 } |
4302 } | 4290 } |
4303 else | 4291 else |