diff options
Diffstat (limited to 'container-core/src/main/java/com/yahoo/restapi/RestApiImpl.java')
-rw-r--r-- | container-core/src/main/java/com/yahoo/restapi/RestApiImpl.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/container-core/src/main/java/com/yahoo/restapi/RestApiImpl.java b/container-core/src/main/java/com/yahoo/restapi/RestApiImpl.java index 090e06c221f..e5aeb33d45d 100644 --- a/container-core/src/main/java/com/yahoo/restapi/RestApiImpl.java +++ b/container-core/src/main/java/com/yahoo/restapi/RestApiImpl.java @@ -211,7 +211,11 @@ class RestApiImpl implements RestApi { exceptionMappers.addAll(RestApiMappers.DEFAULT_EXCEPTION_MAPPERS); } // Topologically sort children before superclasses, so most the specific match is found by iterating through mappers in order. - exceptionMappers.sort((a, b) -> (a.type.isAssignableFrom(b.type) ? 1 : 0) + (b.type.isAssignableFrom(a.type) ? -1 : 0)); + exceptionMappers.sort((l, r) -> { + if (l.type.equals(r.type)) return 0; + if (l.type.isAssignableFrom(r.type)) return 1; + return -1; + }); return exceptionMappers; } |