Mercurial > hg > orthanc
comparison OrthancServer/ServerContext.cpp @ 730:309e686b41e7
better logging about nonexistent tags
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 25 Feb 2014 14:51:19 +0100 |
parents | 2929e17f8447 |
children | 537837f50fbb |
comparison
equal
deleted
inserted
replaced
729:948720c72586 | 730:309e686b41e7 |
---|---|
236 size_t dicomSize) | 236 size_t dicomSize) |
237 { | 237 { |
238 DicomMap dicomSummary; | 238 DicomMap dicomSummary; |
239 FromDcmtkBridge::Convert(dicomSummary, *dicomInstance.getDataset()); | 239 FromDcmtkBridge::Convert(dicomSummary, *dicomInstance.getDataset()); |
240 | 240 |
241 DicomInstanceHasher hasher(dicomSummary); | 241 try |
242 resultPublicId = hasher.HashInstance(); | 242 { |
243 | 243 DicomInstanceHasher hasher(dicomSummary); |
244 Json::Value dicomJson; | 244 resultPublicId = hasher.HashInstance(); |
245 FromDcmtkBridge::ToJson(dicomJson, *dicomInstance.getDataset()); | 245 |
246 Json::Value dicomJson; | |
247 FromDcmtkBridge::ToJson(dicomJson, *dicomInstance.getDataset()); | |
246 | 248 |
247 StoreStatus status = StoreStatus_Failure; | 249 StoreStatus status = StoreStatus_Failure; |
248 if (dicomSize > 0) | 250 if (dicomSize > 0) |
249 { | 251 { |
250 status = Store(dicomBuffer, dicomSize, dicomSummary, dicomJson, ""); | 252 status = Store(dicomBuffer, dicomSize, dicomSummary, dicomJson, ""); |
251 } | 253 } |
252 | 254 |
253 return status; | 255 return status; |
256 } | |
257 catch (OrthancException& e) | |
258 { | |
259 if (e.GetErrorCode() == ErrorCode_InexistentTag) | |
260 { | |
261 LogMissingRequiredTag(dicomSummary); | |
262 } | |
263 | |
264 throw e; | |
265 } | |
254 } | 266 } |
255 | 267 |
256 | 268 |
257 StoreStatus ServerContext::Store(std::string& resultPublicId, | 269 StoreStatus ServerContext::Store(std::string& resultPublicId, |
258 DcmFileFormat& dicomInstance) | 270 DcmFileFormat& dicomInstance) |