Mercurial > hg > orthanc
diff OrthancServer/ServerContext.cpp @ 1001:f3929718ea7e lua-scripting
autorouting primitives
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 04 Jul 2014 15:31:42 +0200 |
parents | 4136fab6a639 |
children | b067017a8a5b |
line wrap: on
line diff
--- a/OrthancServer/ServerContext.cpp Fri Jul 04 14:14:14 2014 +0200 +++ b/OrthancServer/ServerContext.cpp Fri Jul 04 15:31:42 2014 +0200 @@ -43,6 +43,12 @@ #include <EmbeddedResources.h> #include <dcmtk/dcmdata/dcfilefo.h> + +#include "Scheduler/DeleteInstanceCommand.h" +#include "Scheduler/StoreScuCommand.h" + + + #define ENABLE_DICOM_CACHE 1 static const char* RECEIVED_INSTANCE_FILTER = "ReceivedInstanceFilter"; @@ -131,6 +137,20 @@ printf("TODO\n"); std::cout << result; } + + { + // Autorouting test + RemoteModalityParameters p = Configuration::GetModalityUsingSymbolicName("sample"); + + ServerJob job; + ServerCommandInstance& a = job.AddCommand(new StoreScuCommand(*this, p)); + ServerCommandInstance& b = job.AddCommand(new DeleteInstanceCommand(*this)); + a.AddInput(instanceId); + a.ConnectNext(b); + + job.SetDescription("Autorouting test"); + scheduler_.Submit(job); + } } @@ -196,8 +216,15 @@ if (status == StoreStatus_Success || status == StoreStatus_AlreadyStored) { - DicomInstanceHasher hasher(dicomSummary); - ApplyOnStoredInstance(simplified, hasher.HashInstance()); + try + { + DicomInstanceHasher hasher(dicomSummary); + ApplyOnStoredInstance(simplified, hasher.HashInstance()); + } + catch (OrthancException&) + { + LOG(ERROR) << "Error when dealing with OnStoredInstance"; + } } return status;