diff OrthancServer/Sources/ServerContext.cpp @ 5039:28db9663fc2d

DicomSequencesMap + fix unit tests
author Alain Mazy <am@osimis.io>
date Mon, 27 Jun 2022 10:48:46 +0200
parents 877bc3b96476
children 1c08cd68250a
line wrap: on
line diff
--- a/OrthancServer/Sources/ServerContext.cpp	Fri Jun 24 16:44:38 2022 +0200
+++ b/OrthancServer/Sources/ServerContext.cpp	Mon Jun 27 10:48:46 2022 +0200
@@ -531,7 +531,7 @@
     std::set<DicomTag> allMainDicomTags = DicomMap::GetAllMainDicomTags();
     std::set<DicomTag> mainDicomSequences;
     DicomMap::ExtractSequences(mainDicomSequences, allMainDicomTags);
-    std::map<DicomTag, Json::Value> sequencesToStore;
+    DicomSequencesMap sequencesToStore;
 
     try
     {
@@ -544,15 +544,7 @@
       Json::Value dicomAsJson;    // -> this includes the sequences
 
       dicom.GetDicomAsJson(dicomAsJson, mainDicomSequences /*ignoreTagLength*/);  // make sure that sequences that we wish to store in DB are not 'cropped'
-      
-      for (std::set<DicomTag>::const_iterator it = mainDicomSequences.begin();
-           it != mainDicomSequences.end(); ++it)
-      {
-        if (dicomAsJson.isMember(it->Format()))
-        {
-          sequencesToStore[*it] = dicomAsJson[it->Format()];
-        }
-      }
+      sequencesToStore.FromDicomAsJson(dicomAsJson, mainDicomSequences);
 
       Json::Value simplifiedTags;
       Toolbox::SimplifyDicomAsJson(simplifiedTags, dicomAsJson, DicomToJsonFormat_Human);