Mercurial > hg > orthanc
comparison OrthancServer/Sources/OrthancRestApi/OrthancRestResources.cpp @ 5709:476b1db52110 find-refactoring
removed the "format_" member from ResourceFinder
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 12 Jul 2024 18:41:44 +0200 |
parents | 1891a8c2dbb4 |
children | a786da7599d5 d851a54e49b7 |
comparison
equal
deleted
inserted
replaced
5708:1891a8c2dbb4 | 5709:476b1db52110 |
---|---|
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.SetFormat(format); | |
142 finder.SetRetrieveMetadata(retrieveMetadata); | 141 finder.SetRetrieveMetadata(retrieveMetadata); |
143 | 142 |
144 FindResponse response; | 143 FindResponse response; |
145 finder.Execute(response, index); | 144 finder.Execute(response, index); |
146 | 145 |
149 return false; | 148 return false; |
150 } | 149 } |
151 else | 150 else |
152 { | 151 { |
153 const FindResponse::Resource& resource = response.GetResourceByIndex(0); | 152 const FindResponse::Resource& resource = response.GetResourceByIndex(0); |
154 finder.Expand(target, resource, index); | 153 finder.Expand(target, resource, index, format); |
155 | 154 |
156 if (retrieveMetadata) | 155 if (retrieveMetadata) |
157 { | 156 { |
158 const std::map<MetadataType, std::string>& metadata = resource.GetMetadata(level); | 157 const std::map<MetadataType, std::string>& metadata = resource.GetMetadata(level); |
159 | 158 |
286 std::set<DicomTag> requestedTags; | 285 std::set<DicomTag> requestedTags; |
287 OrthancRestApi::GetRequestedTags(requestedTags, call); | 286 OrthancRestApi::GetRequestedTags(requestedTags, call); |
288 | 287 |
289 ResourceFinder finder(resourceType, expand); | 288 ResourceFinder finder(resourceType, expand); |
290 finder.AddRequestedTags(requestedTags); | 289 finder.AddRequestedTags(requestedTags); |
291 finder.SetFormat(OrthancRestApi::GetDicomFormat(call, DicomToJsonFormat_Human)); | |
292 | 290 |
293 if (call.HasArgument("limit") || | 291 if (call.HasArgument("limit") || |
294 call.HasArgument("since")) | 292 call.HasArgument("since")) |
295 { | 293 { |
296 if (!call.HasArgument("limit")) | 294 if (!call.HasArgument("limit")) |
312 finder.SetLimitsSince(since); | 310 finder.SetLimitsSince(since); |
313 finder.SetLimitsCount(limit); | 311 finder.SetLimitsCount(limit); |
314 } | 312 } |
315 | 313 |
316 Json::Value answer; | 314 Json::Value answer; |
317 finder.Execute(answer, context); | 315 finder.Execute(answer, context, OrthancRestApi::GetDicomFormat(call, DicomToJsonFormat_Human)); |
318 call.GetOutput().AnswerJson(answer); | 316 call.GetOutput().AnswerJson(answer); |
319 } | 317 } |
320 else | 318 else |
321 { | 319 { |
322 /** | 320 /** |
393 * EXPERIMENTAL VERSION | 391 * EXPERIMENTAL VERSION |
394 **/ | 392 **/ |
395 | 393 |
396 ResourceFinder finder(resourceType, true /* expand */); | 394 ResourceFinder finder(resourceType, true /* expand */); |
397 finder.AddRequestedTags(requestedTags); | 395 finder.AddRequestedTags(requestedTags); |
398 finder.SetFormat(OrthancRestApi::GetDicomFormat(call, DicomToJsonFormat_Human)); | |
399 finder.SetOrthancId(resourceType, call.GetUriComponent("id", "")); | 396 finder.SetOrthancId(resourceType, call.GetUriComponent("id", "")); |
400 | 397 |
401 Json::Value json; | 398 Json::Value json; |
402 if (finder.ExecuteOneResource(json, OrthancRestApi::GetContext(call))) | 399 if (finder.ExecuteOneResource(json, OrthancRestApi::GetContext(call), format)) |
403 { | 400 { |
404 call.GetOutput().AnswerJson(json); | 401 call.GetOutput().AnswerJson(json); |
405 } | 402 } |
406 } | 403 } |
407 else | 404 else |
3388 | 3385 |
3389 const ResourceType level = StringToResourceType(request[KEY_LEVEL].asCString()); | 3386 const ResourceType level = StringToResourceType(request[KEY_LEVEL].asCString()); |
3390 | 3387 |
3391 ResourceFinder finder(level, expand); | 3388 ResourceFinder finder(level, expand); |
3392 finder.SetDatabaseLimits(context.GetDatabaseLimits(level)); | 3389 finder.SetDatabaseLimits(context.GetDatabaseLimits(level)); |
3393 finder.SetFormat(OrthancRestApi::GetDicomFormat(request, DicomToJsonFormat_Human)); | 3390 |
3391 const DicomToJsonFormat format = OrthancRestApi::GetDicomFormat(request, DicomToJsonFormat_Human); | |
3394 | 3392 |
3395 if (request.isMember(KEY_LIMIT)) | 3393 if (request.isMember(KEY_LIMIT)) |
3396 { | 3394 { |
3397 int64_t tmp = request[KEY_LIMIT].asInt64(); | 3395 int64_t tmp = request[KEY_LIMIT].asInt64(); |
3398 if (tmp < 0) | 3396 if (tmp < 0) |
3497 throw OrthancException(ErrorCode_BadRequest, "Field \"" + std::string(KEY_LABELS_CONSTRAINT) + "\" must be \"All\", \"Any\", or \"None\""); | 3495 throw OrthancException(ErrorCode_BadRequest, "Field \"" + std::string(KEY_LABELS_CONSTRAINT) + "\" must be \"All\", \"Any\", or \"None\""); |
3498 } | 3496 } |
3499 } | 3497 } |
3500 | 3498 |
3501 Json::Value answer; | 3499 Json::Value answer; |
3502 finder.Execute(answer, context); | 3500 finder.Execute(answer, context, format); |
3503 call.GetOutput().AnswerJson(answer); | 3501 call.GetOutput().AnswerJson(answer); |
3504 } | 3502 } |
3505 else | 3503 else |
3506 { | 3504 { |
3507 /** | 3505 /** |
3666 **/ | 3664 **/ |
3667 | 3665 |
3668 ResourceFinder finder(end, expand); | 3666 ResourceFinder finder(end, expand); |
3669 finder.SetOrthancId(start, call.GetUriComponent("id", "")); | 3667 finder.SetOrthancId(start, call.GetUriComponent("id", "")); |
3670 finder.AddRequestedTags(requestedTags); | 3668 finder.AddRequestedTags(requestedTags); |
3671 finder.SetFormat(format); | |
3672 | 3669 |
3673 Json::Value answer; | 3670 Json::Value answer; |
3674 finder.Execute(answer, context); | 3671 finder.Execute(answer, context, format); |
3675 call.GetOutput().AnswerJson(answer); | 3672 call.GetOutput().AnswerJson(answer); |
3676 } | 3673 } |
3677 else | 3674 else |
3678 { | 3675 { |
3679 /** | 3676 /** |