comparison OrthancServer/OrthancRestApi/OrthancRestResources.cpp @ 1719:3b1f7e706d38 db-changes

fix Orthanc.test_lookup
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 20 Oct 2015 10:21:41 +0200
parents 2b812969e136
children f1901004f3e4
comparison
equal deleted inserted replaced
1718:2b812969e136 1719:3b1f7e706d38
880 880
881 881
882 static void AccumulateLookupResults(ServerIndex::LookupResults& result, 882 static void AccumulateLookupResults(ServerIndex::LookupResults& result,
883 ServerIndex& index, 883 ServerIndex& index,
884 const DicomTag& tag, 884 const DicomTag& tag,
885 const std::string& value) 885 const std::string& value,
886 { 886 ResourceType level)
887 ServerIndex::LookupResults tmp; 887 {
888 index.LookupIdentifier(tmp, tag, value); 888 std::list<std::string> tmp;
889 result.insert(result.end(), tmp.begin(), tmp.end()); 889 index.LookupIdentifier(tmp, tag, value, level);
890
891 for (std::list<std::string>::const_iterator
892 it = tmp.begin(); it != tmp.end(); ++it)
893 {
894 result.push_back(std::make_pair(level, *it));
895 }
890 } 896 }
891 897
892 898
893 static void Lookup(RestApiPostCall& call) 899 static void Lookup(RestApiPostCall& call)
894 { 900 {
895 std::string tag; 901 std::string tag;
896 call.BodyToString(tag); 902 call.BodyToString(tag);
897 903
898 ServerIndex::LookupResults resources; 904 ServerIndex::LookupResults resources;
899 ServerIndex& index = OrthancRestApi::GetIndex(call); 905 ServerIndex& index = OrthancRestApi::GetIndex(call);
900 AccumulateLookupResults(resources, index, DICOM_TAG_PATIENT_ID, tag); 906 AccumulateLookupResults(resources, index, DICOM_TAG_PATIENT_ID, tag, ResourceType_Patient);
901 AccumulateLookupResults(resources, index, DICOM_TAG_STUDY_INSTANCE_UID, tag); 907 AccumulateLookupResults(resources, index, DICOM_TAG_STUDY_INSTANCE_UID, tag, ResourceType_Study);
902 AccumulateLookupResults(resources, index, DICOM_TAG_SERIES_INSTANCE_UID, tag); 908 AccumulateLookupResults(resources, index, DICOM_TAG_SERIES_INSTANCE_UID, tag, ResourceType_Series);
903 AccumulateLookupResults(resources, index, DICOM_TAG_SOP_INSTANCE_UID, tag); 909 AccumulateLookupResults(resources, index, DICOM_TAG_SOP_INSTANCE_UID, tag, ResourceType_Instance);
904 910
905 Json::Value result = Json::arrayValue; 911 Json::Value result = Json::arrayValue;
906 for (ServerIndex::LookupResults::const_iterator 912 for (ServerIndex::LookupResults::const_iterator
907 it = resources.begin(); it != resources.end(); ++it) 913 it = resources.begin(); it != resources.end(); ++it)
908 { 914 {