Mercurial > hg > orthanc
diff OrthancServer/OrthancRestApi/OrthancRestResources.cpp @ 3187:4bbadcd03966
refactoring retrieval of metadata from database
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 04 Feb 2019 12:06:19 +0100 |
parents | 8ea7c4546c3a |
children | 810772486249 |
line wrap: on
line diff
--- a/OrthancServer/OrthancRestApi/OrthancRestResources.cpp Fri Feb 01 09:28:12 2019 +0100 +++ b/OrthancServer/OrthancRestApi/OrthancRestResources.cpp Mon Feb 04 12:06:19 2019 +0100 @@ -705,9 +705,9 @@ CheckValidResourceType(call); std::string publicId = call.GetUriComponent("id", ""); - std::list<MetadataType> metadata; + std::map<MetadataType, std::string> metadata; - OrthancRestApi::GetIndex(call).ListAvailableMetadata(metadata, publicId); + OrthancRestApi::GetIndex(call).GetAllMetadata(metadata, publicId); Json::Value result; @@ -715,25 +715,21 @@ { result = Json::objectValue; - for (std::list<MetadataType>::const_iterator + for (std::map<MetadataType, std::string>::const_iterator it = metadata.begin(); it != metadata.end(); ++it) { - std::string value; - if (OrthancRestApi::GetIndex(call).LookupMetadata(value, publicId, *it)) - { - std::string key = EnumerationToString(*it); - result[key] = value; - } + std::string key = EnumerationToString(it->first); + result[key] = it->second; } } else { result = Json::arrayValue; - for (std::list<MetadataType>::const_iterator + for (std::map<MetadataType, std::string>::const_iterator it = metadata.begin(); it != metadata.end(); ++it) { - result.append(EnumerationToString(*it)); + result.append(EnumerationToString(it->first)); } }