Mercurial > hg > orthanc
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 { |