[ 
https://issues.apache.org/jira/browse/TRINIDAD-2080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jeanne Waldman updated TRINIDAD-2080:
-------------------------------------

       Resolution: Fixed
    Fix Version/s: 2.0.0-beta-3
           Status: Resolved  (was: Patch Available)

> NullPointerException from skinning framework code (SkinUtils)
> -------------------------------------------------------------
>
>                 Key: TRINIDAD-2080
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-2080
>             Project: MyFaces Trinidad
>          Issue Type: Bug
>          Components: Skinning
>    Affects Versions: 2.0.0-beta-2
>         Environment: n/a
>            Reporter: Prakash Udupa
>            Assignee: Jeanne Waldman
>             Fix For: 2.0.0-beta-3
>
>         Attachments: npe_JIRA-2080.patch
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> In our application, where we use Trinidad, we hit on the following 
> exception...
> Mar 10, 2011 1:25:33 PM org.apache.myfaces.trinidad.webapp.TrinidadFilter
> SEVERE:
> java.lang.NullPointerException
> at org.apache.myfaces.trinidadinternal.skin.SkinUtils._registerSkinExtensionsA
> ndAdditions(SkinUtils.java:379)
> at org.apache.myfaces.trinidadinternal.skin.SkinUtils.registerSkinExtensions(S
> kinUtils.java:129)
> at org.apache.myfaces.trinidadinternal.config.GlobalConfiguratorImpl.init(Glob
> alConfiguratorImpl.java:406)
> at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.init(Registrat
> ionFilter.java:53)
> at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.init(Trinidad
> FilterImpl.java:110)
> at org.apache.myfaces.trinidad.webapp.TrinidadFilter.init(TrinidadFilter.java:
> 54) 
> The culprit code is here...
>   private static void _registerSkinExtensionsAndAdditions(
>     ExternalContext context,
>     SkinFactory skinFactory)
>   {
>     if (context == null)
>       return;
>      
>     // Add META-INF/trinidad-skins.xml skins to skin factory. (sorted first 
> to make sure 
>     // we register the most 'base' skins first)
>     if (_LOG.isFine()) _LOG.fine("Parse META-INF/trinidad-skins.xml files");
>     List<SkinsNode> metaInfSkinsNodeList = _getMetaInfSkinsNodeList();
>     // Go through each SkinsNode object 
>     // (contains List of SkinNodes and List of SkinAdditionNodes)
>     // and return a List of the SkinNodes.
>     List<SkinNode> metaInfSkinNodes = new ArrayList<SkinNode>();
>     for (SkinsNode skinsNode : metaInfSkinsNodeList)
>     {
>       metaInfSkinNodes.addAll(skinsNode.getSkinNodes());
>     }    
> ----------------
> addAll (from its doc) assumes that supplied collection is non-null. The 
> supplier does not guarantee this, so we will need some defensive code here to 
> avoid the NPE.
> Will provide a patch.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to