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)

Reply via email to