You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Leonardo Uribe (JIRA)" <de...@myfaces.apache.org> on 2013/11/28 03:45:35 UTC
[jira] [Resolved] (MYFACES-3830) Component created using
@FacesComponent with createTag=true and @ResourceDependency makes
initialization fail
[ https://issues.apache.org/jira/browse/MYFACES-3830?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Leonardo Uribe resolved MYFACES-3830.
-------------------------------------
Resolution: Fixed
> Component created using @FacesComponent with createTag=true and @ResourceDependency makes initialization fail
> -------------------------------------------------------------------------------------------------------------
>
> Key: MYFACES-3830
> URL: https://issues.apache.org/jira/browse/MYFACES-3830
> Project: MyFaces Core
> Issue Type: Bug
> Components: JSR-344
> Affects Versions: 2.2.0-beta
> Reporter: Leonardo Uribe
> Assignee: Leonardo Uribe
>
> Doing some tests over MyFaces Core, I found that if there is a declaration like this:
> @ResourceDependency(name="test1.js")
> @FacesComponent(createTag=true,
> namespace="http://myfaces.apache.org/testComponent",
> tagName="simpleComponentA", value="org.apache.myfaces.view.facelets.pool.UISimpleComponentA")
> public class UISimpleComponentA extends UIComponentBase
> It throws NullPointerException in Application.createComponent. The reason is in FaceletsCompilerSupport there are some lines that help us to get the default rendererType to use it later, but when the @ResourceDependency is found, it is added to the current view root, which is just wrong.
> The solution is use a FacesContext wrapper and set a dummy UIViewRoot when this initialization step is done.
--
This message was sent by Atlassian JIRA
(v6.1#6144)