diff Core/JobsEngine/SetOfInstancesJob.cpp @ 3374:d0d6bd633e4c

Reporting of "ParentResources" in "DicomModalityStore" and "DicomModalityStore" jobs
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 14 May 2019 16:38:02 +0200
parents 4e43e67f8ecf
children 94f4a18a79cc
line wrap: on
line diff
--- a/Core/JobsEngine/SetOfInstancesJob.cpp	Tue May 14 11:01:17 2019 +0200
+++ b/Core/JobsEngine/SetOfInstancesJob.cpp	Tue May 14 16:38:02 2019 +0200
@@ -193,17 +193,22 @@
   }
 
 
+  static const char* KEY_TRAILING_STEP = "TrailingStep";
+  static const char* KEY_FAILED_INSTANCES = "FailedInstances";
+  static const char* KEY_PARENT_RESOURCES = "ParentResources";
+
   void SetOfInstancesJob::GetPublicContent(Json::Value& target)
   {
     SetOfCommandsJob::GetPublicContent(target);
     target["InstancesCount"] = static_cast<uint32_t>(GetInstancesCount());
     target["FailedInstancesCount"] = static_cast<uint32_t>(failedInstances_.size());
-  }    
-
 
+    if (!parentResources_.empty())
+    {
+      SerializationToolbox::WriteSetOfStrings(target, parentResources_, KEY_PARENT_RESOURCES);
+    }
+  }
 
-  static const char* KEY_TRAILING_STEP = "TrailingStep";
-  static const char* KEY_FAILED_INSTANCES = "FailedInstances";
 
   bool SetOfInstancesJob::Serialize(Json::Value& target) 
   {
@@ -211,6 +216,7 @@
     {
       target[KEY_TRAILING_STEP] = hasTrailingStep_;
       SerializationToolbox::WriteSetOfStrings(target, failedInstances_, KEY_FAILED_INSTANCES);
+      SerializationToolbox::WriteSetOfStrings(target, parentResources_, KEY_PARENT_RESOURCES);
       return true;
     }
     else
@@ -225,6 +231,12 @@
   {
     SerializationToolbox::ReadSetOfStrings(failedInstances_, source, KEY_FAILED_INSTANCES);
 
+    if (source.isMember(KEY_PARENT_RESOURCES))
+    {
+      // Backward compatibility with Orthanc <= 1.5.6
+      SerializationToolbox::ReadSetOfStrings(parentResources_, source, KEY_PARENT_RESOURCES);
+    }
+    
     if (source.isMember(KEY_TRAILING_STEP))
     {
       hasTrailingStep_ = SerializationToolbox::ReadBoolean(source, KEY_TRAILING_STEP);