[ 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