Mercurial > hg > orthanc
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 } |