# HG changeset patch # User Sebastien Jodogne # Date 1445329301 -7200 # Node ID 3b1f7e706d38f55803118e3b2a7007085bd294e2 # Parent 2b812969e136fb0be6ba58ef4cb1b20a16bd0e8d fix Orthanc.test_lookup diff -r 2b812969e136 -r 3b1f7e706d38 OrthancServer/OrthancRestApi/OrthancRestResources.cpp --- a/OrthancServer/OrthancRestApi/OrthancRestResources.cpp Tue Oct 20 10:11:22 2015 +0200 +++ b/OrthancServer/OrthancRestApi/OrthancRestResources.cpp Tue Oct 20 10:21:41 2015 +0200 @@ -882,11 +882,17 @@ static void AccumulateLookupResults(ServerIndex::LookupResults& result, ServerIndex& index, const DicomTag& tag, - const std::string& value) + const std::string& value, + ResourceType level) { - ServerIndex::LookupResults tmp; - index.LookupIdentifier(tmp, tag, value); - result.insert(result.end(), tmp.begin(), tmp.end()); + std::list tmp; + index.LookupIdentifier(tmp, tag, value, level); + + for (std::list::const_iterator + it = tmp.begin(); it != tmp.end(); ++it) + { + result.push_back(std::make_pair(level, *it)); + } } @@ -897,10 +903,10 @@ ServerIndex::LookupResults resources; ServerIndex& index = OrthancRestApi::GetIndex(call); - AccumulateLookupResults(resources, index, DICOM_TAG_PATIENT_ID, tag); - AccumulateLookupResults(resources, index, DICOM_TAG_STUDY_INSTANCE_UID, tag); - AccumulateLookupResults(resources, index, DICOM_TAG_SERIES_INSTANCE_UID, tag); - AccumulateLookupResults(resources, index, DICOM_TAG_SOP_INSTANCE_UID, tag); + AccumulateLookupResults(resources, index, DICOM_TAG_PATIENT_ID, tag, ResourceType_Patient); + AccumulateLookupResults(resources, index, DICOM_TAG_STUDY_INSTANCE_UID, tag, ResourceType_Study); + AccumulateLookupResults(resources, index, DICOM_TAG_SERIES_INSTANCE_UID, tag, ResourceType_Series); + AccumulateLookupResults(resources, index, DICOM_TAG_SOP_INSTANCE_UID, tag, ResourceType_Instance); Json::Value result = Json::arrayValue; for (ServerIndex::LookupResults::const_iterator