Merge branch '1.5.x'

This commit is contained in:
Andy Wilkinson 2016-10-19 14:24:37 +01:00
commit 2017e763c3
1 changed files with 5 additions and 14 deletions

View File

@ -83,8 +83,6 @@ public class ErrorPageFilter implements Filter, ErrorPageRegistry {
private final Map<Class<?>, String> exceptions = new HashMap<Class<?>, String>();
private final Map<Class<?>, Class<?>> subtypes = new HashMap<Class<?>, Class<?>>();
private final OncePerRequestFilter delegate = new OncePerRequestFilter() {
@Override
@ -217,19 +215,12 @@ public class ErrorPageFilter implements Filter, ErrorPageRegistry {
}
private String getErrorPath(Class<?> type) {
if (this.exceptions.containsKey(type)) {
return this.exceptions.get(type);
}
if (this.subtypes.containsKey(type)) {
return this.exceptions.get(this.subtypes.get(type));
}
Class<?> subtype = type;
while (subtype != Object.class) {
subtype = subtype.getSuperclass();
if (this.exceptions.containsKey(subtype)) {
this.subtypes.put(subtype, type);
return this.exceptions.get(subtype);
while (type != Object.class) {
String path = this.exceptions.get(type);
if (path != null) {
return path;
}
type = type.getSuperclass();
}
return this.global;
}