Mercurial > hg > orthanc-stone
diff Framework/Loaders/LoaderCache.cpp @ 1413:cde379b9d1d2 loader-cache-refactoring
LoaderCache is now extensible + factored the uuid normalizing
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Mon, 04 May 2020 18:26:35 +0200 |
parents | f4a06ad1580b |
children | 998697c5ec74 |
line wrap: on
line diff
--- a/Framework/Loaders/LoaderCache.cpp Mon May 04 13:34:46 2020 +0200 +++ b/Framework/Loaders/LoaderCache.cpp Mon May 04 18:26:35 2020 +0200 @@ -53,10 +53,8 @@ { try { - // normalize keys a little - seriesUuid = Orthanc::Toolbox::StripSpaces(seriesUuid); - Orthanc::Toolbox::ToLowerCase(seriesUuid); + NormalizeUuid(seriesUuid); // find in cache if (seriesVolumeProgressiveLoaders_.find(seriesUuid) == seriesVolumeProgressiveLoaders_.end()) @@ -104,6 +102,9 @@ boost::shared_ptr<OrthancMultiframeVolumeLoader> LoaderCache::GetMultiframeVolumeLoader(std::string instanceUuid) { + // normalize keys a little + NormalizeUuid(instanceUuid); + // if the loader is not available, let's trigger its creation if(multiframeVolumeLoaders_.find(instanceUuid) == multiframeVolumeLoaders_.end()) { @@ -119,8 +120,7 @@ try { // normalize keys a little - instanceUuid = Orthanc::Toolbox::StripSpaces(instanceUuid); - Orthanc::Toolbox::ToLowerCase(instanceUuid); + NormalizeUuid(instanceUuid); // find in cache if (dicomVolumeImageMPRSlicers_.find(instanceUuid) == dicomVolumeImageMPRSlicers_.end()) @@ -194,8 +194,7 @@ try { // normalize keys a little - inInstanceUuid = Orthanc::Toolbox::StripSpaces(inInstanceUuid); - Orthanc::Toolbox::ToLowerCase(inInstanceUuid); + NormalizeUuid(inInstanceUuid); std::string initiallyVisibleStructuresKey = SortAndJoin(initiallyVisibleStructures); @@ -275,4 +274,15 @@ DebugDisplayObjRefCountsInMap("dicomVolumeImageMPRSlicers_", dicomVolumeImageMPRSlicers_); DebugDisplayObjRefCountsInMap("dicomStructureSetLoaders_", dicomStructureSetLoaders_); } + + /** + This method could have been called StripSpacesAndChangeToLower but we might want to + add some UUID validation to the argument + */ + void LoaderCache::NormalizeUuid(std::string& uuid) + { + std::string temp = Orthanc::Toolbox::StripSpaces(uuid); + Orthanc::Toolbox::ToLowerCase(temp); + uuid.swap(temp); + } }