gerrit/gerrit-server
Alice Kober-Sotzek 0f2faafdda Don't treat MergeIdenticalTreeException as internal server error
MergeIdenticalTreeException as well as its derived class
ChangeAlreadyMergedException were previously interpreted as an internal
server error because no custom mapping existed for them in
RestApiServlet. Strangely, they inherited from RestApiException, which
we typically use to indicate that we handle such exceptions gracefully
(e.g. we return a proper error code and a message as explanation).

Both MergeIdenticalTreeException and ChangeAlreadyMergedException
actually indicate an internal conflict, which we typically represent by
a ResourceConflictException. By inheriting from
ResourceConflictException, we automatically get the mapping to a proper
error code. This is in line with MergeConflictException, which also
inherits from ResourceConflictException.

Change-Id: Ieacd730ccd0ab2efdb1b02b0556dd6117ab5f920
2018-02-22 19:11:22 +09:00
..