comparison Core/JobsEngine/SetOfInstancesJob.cpp @ 2652:a3f0f61a14ca jobs

fix
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 04 Jun 2018 12:36:24 +0200
parents e1893d31652a
children c196d76cb8fa
comparison
equal deleted inserted replaced
2651:1da5a052c777 2652:a3f0f61a14ca
33 33
34 #include "../PrecompiledHeaders.h" 34 #include "../PrecompiledHeaders.h"
35 #include "SetOfInstancesJob.h" 35 #include "SetOfInstancesJob.h"
36 36
37 #include "../OrthancException.h" 37 #include "../OrthancException.h"
38 #include "IJobUnserializer.h"
38 39
39 namespace Orthanc 40 namespace Orthanc
40 { 41 {
41 SetOfInstancesJob::SetOfInstancesJob() : 42 SetOfInstancesJob::SetOfInstancesJob() :
42 started_(false), 43 started_(false),
186 } 187 }
187 188
188 189
189 void SetOfInstancesJob::Serialize(Json::Value& value) 190 void SetOfInstancesJob::Serialize(Json::Value& value)
190 { 191 {
192 std::string type;
193 GetJobType(type);
194 value["Type"] = type;
195
196 value["Permissive"] = permissive_;
197 value["Position"] = static_cast<unsigned int>(position_);
198 value["Description"] = description_;
199
191 Json::Value v = Json::arrayValue; 200 Json::Value v = Json::arrayValue;
192 201
193 for (size_t i = 0; i < instances_.size(); i++) 202 for (size_t i = 0; i < instances_.size(); i++)
194 { 203 {
195 v.append(instances_[i]); 204 v.append(instances_[i]);
205 v.append(*it); 214 v.append(*it);
206 } 215 }
207 216
208 value["FailedInstances"] = v; 217 value["FailedInstances"] = v;
209 } 218 }
219
220
221 SetOfInstancesJob::SetOfInstancesJob(const Json::Value& value) :
222 started_(false),
223 permissive_(IJobUnserializer::GetBoolean(value, "Permissive")),
224 position_(IJobUnserializer::GetUnsignedInteger(value, "Position")),
225 description_(IJobUnserializer::GetString(value, "Description"))
226 {
227 IJobUnserializer::GetArrayOfStrings(instances_, value, "Instances");
228 IJobUnserializer::GetSetOfStrings(failedInstances_, value, "FailedInstances");
229
230 if (position_ > instances_.size())
231 {
232 throw OrthancException(ErrorCode_BadFileFormat);
233 }
234 }
235
210 } 236 }