comparison Core/JobsEngine/JobsEngine.cpp @ 3240:e44e0127e553

Fix issue #134 (/patient/modify gives 500, should really be 400)
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 15 Feb 2019 17:26:45 +0100
parents 4e43e67f8ecf
children 94f4a18a79cc
comparison
equal deleted inserted replaced
3239:407e1a188105 3240:e44e0127e553
73 { 73 {
74 result = running.GetJob().Step(); 74 result = running.GetJob().Step();
75 } 75 }
76 catch (OrthancException& e) 76 catch (OrthancException& e)
77 { 77 {
78 result = JobStepResult::Failure(e.GetErrorCode()); 78 result = JobStepResult::Failure(e);
79 } 79 }
80 catch (boost::bad_lexical_cast&) 80 catch (boost::bad_lexical_cast&)
81 { 81 {
82 result = JobStepResult::Failure(ErrorCode_BadFileFormat); 82 result = JobStepResult::Failure(ErrorCode_BadFileFormat, NULL);
83 } 83 }
84 catch (...) 84 catch (...)
85 { 85 {
86 result = JobStepResult::Failure(ErrorCode_InternalError); 86 result = JobStepResult::Failure(ErrorCode_InternalError, NULL);
87 } 87 }
88 88
89 switch (result.GetCode()) 89 switch (result.GetCode())
90 { 90 {
91 case JobStepCode_Success: 91 case JobStepCode_Success:
92 running.GetJob().Stop(JobStopReason_Success); 92 running.GetJob().Stop(JobStopReason_Success);
93 running.UpdateStatus(ErrorCode_Success); 93 running.UpdateStatus(ErrorCode_Success, "");
94 running.MarkSuccess(); 94 running.MarkSuccess();
95 return false; 95 return false;
96 96
97 case JobStepCode_Failure: 97 case JobStepCode_Failure:
98 running.GetJob().Stop(JobStopReason_Failure); 98 running.GetJob().Stop(JobStopReason_Failure);
99 running.UpdateStatus(result.GetFailureCode()); 99 running.UpdateStatus(result.GetFailureCode(), result.GetFailureDetails());
100 running.MarkFailure(); 100 running.MarkFailure();
101 return false; 101 return false;
102 102
103 case JobStepCode_Retry: 103 case JobStepCode_Retry:
104 running.GetJob().Stop(JobStopReason_Retry); 104 running.GetJob().Stop(JobStopReason_Retry);
105 running.UpdateStatus(ErrorCode_Success); 105 running.UpdateStatus(ErrorCode_Success, "");
106 running.MarkRetry(result.GetRetryTimeout()); 106 running.MarkRetry(result.GetRetryTimeout());
107 return false; 107 return false;
108 108
109 case JobStepCode_Continue: 109 case JobStepCode_Continue:
110 running.UpdateStatus(ErrorCode_Success); 110 running.UpdateStatus(ErrorCode_Success, "");
111 return true; 111 return true;
112 112
113 default: 113 default:
114 throw OrthancException(ErrorCode_InternalError); 114 throw OrthancException(ErrorCode_InternalError);
115 } 115 }