Mercurial > hg > orthanc
comparison OrthancServer/LuaScripting.cpp @ 1572:904096e7367e
More information about the origin request in OnStoredInstance() callbacks
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 25 Aug 2015 12:10:12 +0200 |
parents | 3232f1c995a5 |
children | 0c29ebe80ac9 |
comparison
equal
deleted
inserted
replaced
1571:3232f1c995a5 | 1572:904096e7367e |
---|---|
243 { | 243 { |
244 LOG(INFO) << "Lua script to modify resource " << parameters["Resource"].asString(); | 244 LOG(INFO) << "Lua script to modify resource " << parameters["Resource"].asString(); |
245 DicomModification modification; | 245 DicomModification modification; |
246 OrthancRestApi::ParseModifyRequest(modification, parameters); | 246 OrthancRestApi::ParseModifyRequest(modification, parameters); |
247 | 247 |
248 std::auto_ptr<ModifyInstanceCommand> command(new ModifyInstanceCommand(context_, modification)); | 248 std::auto_ptr<ModifyInstanceCommand> command(new ModifyInstanceCommand(context_, RequestOrigin_Lua, modification)); |
249 return command.release(); | 249 return command.release(); |
250 } | 250 } |
251 | 251 |
252 if (operation == "call-system") | 252 if (operation == "call-system") |
253 { | 253 { |
364 | 364 |
365 | 365 |
366 void LuaScripting::ApplyOnStoredInstance(const std::string& instanceId, | 366 void LuaScripting::ApplyOnStoredInstance(const std::string& instanceId, |
367 const Json::Value& simplifiedTags, | 367 const Json::Value& simplifiedTags, |
368 const Json::Value& metadata, | 368 const Json::Value& metadata, |
369 const std::string& remoteAet, | 369 const DicomInstanceToStore& instance) |
370 const std::string& calledAet) | |
371 { | 370 { |
372 static const char* NAME = "OnStoredInstance"; | 371 static const char* NAME = "OnStoredInstance"; |
373 | 372 |
374 if (lua_.IsExistingFunction(NAME)) | 373 if (lua_.IsExistingFunction(NAME)) |
375 { | 374 { |
377 | 376 |
378 LuaFunctionCall call(lua_, NAME); | 377 LuaFunctionCall call(lua_, NAME); |
379 call.PushString(instanceId); | 378 call.PushString(instanceId); |
380 call.PushJson(simplifiedTags); | 379 call.PushJson(simplifiedTags); |
381 call.PushJson(metadata); | 380 call.PushJson(metadata); |
382 call.PushJson(remoteAet); | 381 |
383 call.PushJson(calledAet); | 382 Json::Value origin; |
383 instance.GetOriginInformation(origin); | |
384 call.PushJson(origin); | |
385 | |
384 call.Execute(); | 386 call.Execute(); |
385 | 387 |
386 SubmitJob(std::string("Lua script: ") + NAME); | 388 SubmitJob(std::string("Lua script: ") + NAME); |
387 } | 389 } |
388 } | 390 } |
404 { | 406 { |
405 metadata[EnumerationToString(it->first.second)] = it->second; | 407 metadata[EnumerationToString(it->first.second)] = it->second; |
406 } | 408 } |
407 } | 409 } |
408 | 410 |
409 ApplyOnStoredInstance(publicId, simplifiedTags, metadata, | 411 ApplyOnStoredInstance(publicId, simplifiedTags, metadata, instance); |
410 instance.GetRemoteAet(), instance.GetCalledAet()); | |
411 } | 412 } |
412 | 413 |
413 | 414 |
414 | 415 |
415 void LuaScripting::OnStableResource(const ServerIndexChange& change) | 416 void LuaScripting::OnStableResource(const ServerIndexChange& change) |