Milo van der Zee created MYFACES-4711:
-----------------------------------------
Summary: Check with isAssignableFrom with final class
Key: MYFACES-4711
URL: https://issues.apache.org/jira/browse/MYFACES-4711
Project: MyFaces Core
Issue Type: Bug
Components: General
Affects Versions: 4.1.0
Reporter: Milo van der Zee
In FacesServletMappingUtils.java there is a function that checks if the servlet
is a facaesServlet (isFacesServlet).
```
{color:#0033b3}public static boolean
{color}{color:#00627a}isFacesServlet{color}({color:#000000}FacesContext
facesContext{color}, {color:#000000}String servletClassName{color})
{
{color:#8c8c8c}// shortcut to avoid class lookup
{color}{color:#8c8c8c} {color}{color:#0033b3}if
{color}({color:#000000}FacesServlet{color}.{color:#0033b3}class{color}.getName().equals({color:#000000}servletClassName{color}))
{
{color:#0033b3}return true{color};
}
{color:#000000}Class servletClass {color}=
{color:#000000}ClassUtils{color}.simpleClassForName({color:#000000}servletClassName{color},
{color:#0033b3}false{color});
{color:#0033b3}if {color}({color:#000000}servletClass {color}!=
{color:#0033b3}null{color})
{
{color:#000000}MyfacesConfig config {color}=
{color:#000000}MyfacesConfig{color}.getCurrentInstance({color:#000000}facesContext{color});
{color:#0033b3}return
{color}{color:#000000}FacesServlet{color}.{color:#0033b3}class{color}.isAssignableFrom({color:#000000}servletClass{color})
||
{color:#000000}DelegatedFacesServlet{color}.{color:#0033b3}class{color}.isAssignableFrom({color:#000000}servletClass{color})
||
{color:#000000}servletClass{color}.getName().equals({color:#000000}config{color}.getDelegateFacesServlet());
}
{color:#0033b3}return false{color};
}
```
{color:#000000}`FacesServlet{color}.{color:#0033b3}class{color}.isAssignableFrom({color:#000000}servletClass{color})`is
useless because of two reasons:
- The check
`{color:#000000}FacesServlet{color}.{color:#0033b3}class{color}.getName().equals({color:#000000}servletClassName{color})`is
already done
- FacesServlet is final so there can never be an extends. It can be at most
equal but that is already checked
--
This message was sent by Atlassian Jira
(v8.20.10#820010)