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)