Replace cascading if statements with switch statement

Closes gh-25308
This commit is contained in:
May 2020-06-24 19:54:17 +08:00 committed by GitHub
parent 751739442b
commit bc9b9bc477
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 18 additions and 17 deletions

View File

@ -81,24 +81,25 @@ class ViewControllerBeanDefinitionParser implements BeanDefinitionParser {
}
String name = element.getLocalName();
if (name.equals("view-controller")) {
if (element.hasAttribute("view-name")) {
controller.getPropertyValues().add("viewName", element.getAttribute("view-name"));
}
if (statusCode != null) {
switch (name) {
case "view-controller":
if (element.hasAttribute("view-name")) {
controller.getPropertyValues().add("viewName", element.getAttribute("view-name"));
}
if (statusCode != null) {
controller.getPropertyValues().add("statusCode", statusCode);
}
break;
case "redirect-view-controller":
controller.getPropertyValues().add("view", getRedirectView(element, statusCode, source));
break;
case "status-controller":
controller.getPropertyValues().add("statusCode", statusCode);
}
}
else if (name.equals("redirect-view-controller")) {
controller.getPropertyValues().add("view", getRedirectView(element, statusCode, source));
}
else if (name.equals("status-controller")) {
controller.getPropertyValues().add("statusCode", statusCode);
controller.getPropertyValues().add("statusOnly", true);
}
else {
// Should never happen...
throw new IllegalStateException("Unexpected tag name: " + name);
controller.getPropertyValues().add("statusOnly", true);
break;
default:
// Should never happen...
throw new IllegalStateException("Unexpected tag name: " + name);
}
Map<String, BeanDefinition> urlMap = (Map<String, BeanDefinition>) hm.getPropertyValues().get("urlMap");