comparison OrthancServer/Sources/ResourceFinder.cpp @ 5676:b744a2cf408a find-refactoring

shorten ParentRetrieveSpecification/ChildrenRetrieveSpecification as ParentSpecification/ChildrenSpecification
author Sebastien Jodogne <s.jodogne@gmail.com>
date Sat, 06 Jul 2024 15:04:28 +0200
parents 74f3aab95886
children fd4c5e064cbe
comparison
equal deleted inserted replaced
5675:2b65f25cb1c8 5676:b744a2cf408a
41 { 41 {
42 if (request_.GetLevel() == parentLevel) 42 if (request_.GetLevel() == parentLevel)
43 { 43 {
44 requestedComputedTags_.insert(tag); 44 requestedComputedTags_.insert(tag);
45 hasRequestedTags_ = true; 45 hasRequestedTags_ = true;
46 request_.GetChildrenRetrieveSpecification(childLevel).SetRetrieveIdentifiers(true); 46 request_.GetChildrenSpecification(childLevel).SetRetrieveIdentifiers(true);
47 } 47 }
48 } 48 }
49 49
50 50
51 void ResourceFinder::InjectChildrenCountComputedTag(DicomMap& requestedTags, 51 void ResourceFinder::InjectChildrenCountComputedTag(DicomMap& requestedTags,
424 request_.SetRetrieveLabels(true); 424 request_.SetRetrieveLabels(true);
425 425
426 switch (level) 426 switch (level)
427 { 427 {
428 case ResourceType_Patient: 428 case ResourceType_Patient:
429 request_.GetChildrenRetrieveSpecification(ResourceType_Study).SetRetrieveIdentifiers(true); 429 request_.GetChildrenSpecification(ResourceType_Study).SetRetrieveIdentifiers(true);
430 break; 430 break;
431 431
432 case ResourceType_Study: 432 case ResourceType_Study:
433 request_.GetChildrenRetrieveSpecification(ResourceType_Series).SetRetrieveIdentifiers(true); 433 request_.GetChildrenSpecification(ResourceType_Series).SetRetrieveIdentifiers(true);
434 request_.SetRetrieveParentIdentifier(true); 434 request_.SetRetrieveParentIdentifier(true);
435 break; 435 break;
436 436
437 case ResourceType_Series: 437 case ResourceType_Series:
438 request_.GetChildrenRetrieveSpecification(ResourceType_Instance).AddMetadata(MetadataType_Instance_IndexInSeries); // required for the SeriesStatus 438 request_.GetChildrenSpecification(ResourceType_Instance).AddMetadata(MetadataType_Instance_IndexInSeries); // required for the SeriesStatus
439 request_.GetChildrenRetrieveSpecification(ResourceType_Instance).SetRetrieveIdentifiers(true); 439 request_.GetChildrenSpecification(ResourceType_Instance).SetRetrieveIdentifiers(true);
440 request_.SetRetrieveParentIdentifier(true); 440 request_.SetRetrieveParentIdentifier(true);
441 break; 441 break;
442 442
443 case ResourceType_Instance: 443 case ResourceType_Instance:
444 request_.SetRetrieveAttachments(true); // for FileSize & FileUuid 444 request_.SetRetrieveAttachments(true); // for FileSize & FileUuid
456 { 456 {
457 if (DicomMap::IsMainDicomTag(tag, ResourceType_Patient)) 457 if (DicomMap::IsMainDicomTag(tag, ResourceType_Patient))
458 { 458 {
459 if (request_.GetLevel() == ResourceType_Patient) 459 if (request_.GetLevel() == ResourceType_Patient)
460 { 460 {
461 request_.GetParentRetrieveSpecification(ResourceType_Patient).SetRetrieveMainDicomTags(true); 461 request_.GetParentSpecification(ResourceType_Patient).SetRetrieveMainDicomTags(true);
462 request_.GetParentRetrieveSpecification(ResourceType_Patient).SetRetrieveMetadata(true); 462 request_.GetParentSpecification(ResourceType_Patient).SetRetrieveMetadata(true);
463 requestedPatientTags_.insert(tag); 463 requestedPatientTags_.insert(tag);
464 } 464 }
465 else 465 else
466 { 466 {
467 /** 467 /**
468 * This comes from the fact that patient-level tags are copied 468 * This comes from the fact that patient-level tags are copied
469 * at the study level, as implemented by "ResourcesContent::AddResource()". 469 * at the study level, as implemented by "ResourcesContent::AddResource()".
470 **/ 470 **/
471 request_.GetParentRetrieveSpecification(ResourceType_Study).SetRetrieveMainDicomTags(true); 471 request_.GetParentSpecification(ResourceType_Study).SetRetrieveMainDicomTags(true);
472 request_.GetParentRetrieveSpecification(ResourceType_Study).SetRetrieveMetadata(true); 472 request_.GetParentSpecification(ResourceType_Study).SetRetrieveMetadata(true);
473 requestedStudyTags_.insert(tag); 473 requestedStudyTags_.insert(tag);
474 } 474 }
475 475
476 hasRequestedTags_ = true; 476 hasRequestedTags_ = true;
477 } 477 }
484 requestedTagsFromFileStorage_.insert(tag); 484 requestedTagsFromFileStorage_.insert(tag);
485 request_.SetRetrieveOneInstanceIdentifier(true); 485 request_.SetRetrieveOneInstanceIdentifier(true);
486 } 486 }
487 else 487 else
488 { 488 {
489 request_.GetParentRetrieveSpecification(ResourceType_Study).SetRetrieveMainDicomTags(true); 489 request_.GetParentSpecification(ResourceType_Study).SetRetrieveMainDicomTags(true);
490 request_.GetParentRetrieveSpecification(ResourceType_Study).SetRetrieveMetadata(true); 490 request_.GetParentSpecification(ResourceType_Study).SetRetrieveMetadata(true);
491 requestedStudyTags_.insert(tag); 491 requestedStudyTags_.insert(tag);
492 } 492 }
493 493
494 hasRequestedTags_ = true; 494 hasRequestedTags_ = true;
495 } 495 }
503 requestedTagsFromFileStorage_.insert(tag); 503 requestedTagsFromFileStorage_.insert(tag);
504 request_.SetRetrieveOneInstanceIdentifier(true); 504 request_.SetRetrieveOneInstanceIdentifier(true);
505 } 505 }
506 else 506 else
507 { 507 {
508 request_.GetParentRetrieveSpecification(ResourceType_Series).SetRetrieveMainDicomTags(true); 508 request_.GetParentSpecification(ResourceType_Series).SetRetrieveMainDicomTags(true);
509 request_.GetParentRetrieveSpecification(ResourceType_Series).SetRetrieveMetadata(true); 509 request_.GetParentSpecification(ResourceType_Series).SetRetrieveMetadata(true);
510 requestedSeriesTags_.insert(tag); 510 requestedSeriesTags_.insert(tag);
511 } 511 }
512 512
513 hasRequestedTags_ = true; 513 hasRequestedTags_ = true;
514 } 514 }
559 } 559 }
560 else if (tag == DICOM_TAG_SOP_CLASSES_IN_STUDY) 560 else if (tag == DICOM_TAG_SOP_CLASSES_IN_STUDY)
561 { 561 {
562 requestedComputedTags_.insert(tag); 562 requestedComputedTags_.insert(tag);
563 hasRequestedTags_ = true; 563 hasRequestedTags_ = true;
564 request_.GetChildrenRetrieveSpecification(ResourceType_Instance).AddMetadata(MetadataType_Instance_SopClassUid); 564 request_.GetChildrenSpecification(ResourceType_Instance).AddMetadata(MetadataType_Instance_SopClassUid);
565 } 565 }
566 else if (tag == DICOM_TAG_MODALITIES_IN_STUDY) 566 else if (tag == DICOM_TAG_MODALITIES_IN_STUDY)
567 { 567 {
568 requestedComputedTags_.insert(tag); 568 requestedComputedTags_.insert(tag);
569 hasRequestedTags_ = true; 569 hasRequestedTags_ = true;
570 request_.GetChildrenRetrieveSpecification(ResourceType_Series).AddMainDicomTag(DICOM_TAG_MODALITY); 570 request_.GetChildrenSpecification(ResourceType_Series).AddMainDicomTag(DICOM_TAG_MODALITY);
571 } 571 }
572 else if (tag == DICOM_TAG_INSTANCE_AVAILABILITY) 572 else if (tag == DICOM_TAG_INSTANCE_AVAILABILITY)
573 { 573 {
574 requestedComputedTags_.insert(tag); 574 requestedComputedTags_.insert(tag);
575 hasRequestedTags_ = true; 575 hasRequestedTags_ = true;