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)