[
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