changeset 675:bef0d7030f2d find-refactoring

don't generate an error if the ExtraMainDicomTags is now a default one
author Alain Mazy <am@orthanc.team>
date Fri, 27 Sep 2024 18:49:59 +0200 (7 months ago)
parents 882743589c73
children 9e43494cb054
files Plugin/Configuration.cpp
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/Plugin/Configuration.cpp	Fri Sep 27 17:29:33 2024 +0200
+++ b/Plugin/Configuration.cpp	Fri Sep 27 18:49:59 2024 +0200
@@ -278,6 +278,8 @@
         Orthanc::ResourceType level = Orthanc::StringToResourceType(levels[i].c_str());
 
         const Json::Value& content = configuration[EXTRA_MAIN_DICOM_TAGS][levels[i]];
+        std::set<Orthanc::DicomTag> defaultTags;
+        Orthanc::DicomMap::GetMainDicomTags(defaultTags, level);
 
         if (content.size() > 0)
         {
@@ -286,7 +288,10 @@
             const std::string& tagName = content[t].asString();
             Orthanc::DicomTag tag(0, 0);
             OrthancPlugins::ParseTag(tag, tagName);
-            Orthanc::DicomMap::AddMainDicomTag(tag, level);
+            if (defaultTags.find(tag) == defaultTags.end()) // don't generate an error if the ExtraMainDicomTags is now a default one
+            {
+              Orthanc::DicomMap::AddMainDicomTag(tag, level);
+            }
           }
         }
       }