[
https://issues.apache.org/jira/browse/MYFACES-4711?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17928039#comment-17928039
]
Milo van der Zee edited comment on MYFACES-4711 at 2/18/25 11:05 AM:
---------------------------------------------------------------------
{code:java}
public static boolean isFacesServlet(String servletClassName)
{
// shortcut to avoid class lookup
if (FacesServlet.class.getName().equals(servletClassName))
{
return true;
}
Class servletClass = ClassUtils.simpleClassForName(servletClassName, false,
true);
if (servletClass != null)
{
return FacesServlet.class.isAssignableFrom(servletClass);
}
return false;
}
{code}
I still see the FacesServlet.class.isAssignableFrom(servletClass) part. That
can never be true as the only posible situation for true is already covered by
FacesServlet.class.getName().equals(servletClassName).
I did not investiagte why the {color:#000000}DelegatedFacesServlet part is
removed. RichFaces is not relying on it but maybe this is solved somewhere else
now.
{color}
was (Author: milovanderzee):
{code:java}
public static boolean isFacesServlet(String servletClassName)
{
// shortcut to avoid class lookup
if (FacesServlet.class.getName().equals(servletClassName))
{
return true;
}
Class servletClass = ClassUtils.simpleClassForName(servletClassName, false,
true);
if (servletClass != null)
{
return FacesServlet.class.isAssignableFrom(servletClass);
}
return false;
}
{code}
I still see the FacesServlet.class.isAssignableFrom(servletClass) part. That
can never be true as the only posible situation for true is already covered by
FacesServlet.class.getName().equals(servletClassName)
> Check with isAssignableFrom with final class
> --------------------------------------------
>
> Key: MYFACES-4711
> URL: https://issues.apache.org/jira/browse/MYFACES-4711
> Project: MyFaces Core
> Issue Type: Improvement
> Components: General
> Affects Versions: 4.1.0
> Reporter: Milo van der Zee
> Priority: Minor
> Fix For: 5.0.0
>
>
>
> In FacesServletMappingUtils.java there is a function that checks if the
> servlet is a facesServlet (isFacesServlet).
>
> {code:java}
> public static boolean isFacesServlet(FacesContext facesContext, String
> servletClassName)
> {
> // shortcut to avoid class lookup
> if (FacesServlet.class.getName().equals(servletClassName))
> {
> return true;
> }
> Class servletClass = ClassUtils.simpleClassForName(servletClassName,
> false);
> if (servletClass != null)
> {
> MyfacesConfig config = MyfacesConfig.getCurrentInstance(facesContext);
>
> return FacesServlet.class.isAssignableFrom(servletClass)
> || DelegatedFacesServlet.class.isAssignableFrom(servletClass)
> ||
> servletClass.getName().equals(config.getDelegateFacesServlet());
> }
> return false;
> }
> {code}
>
>
> The `FacesServlet.class.isAssignableFrom(servletClass)`check is not correct
> here:
> - FacesServlet is final and so checking for extends is useless
> - FacesServlet.class.getName().equals(servletClassName) already does the
> check
--
This message was sent by Atlassian Jira
(v8.20.10#820010)