You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Prakash Udupa (JIRA)" <de...@myfaces.apache.org> on 2011/04/05 21:31:06 UTC

[jira] [Created] (TRINIDAD-2080) NullPointerException from skinning framework code (SkinUtils)

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


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

[jira] [Updated] (TRINIDAD-2080) NullPointerException from skinning framework code (SkinUtils)

Posted by "Jeanne Waldman (JIRA)" <de...@myfaces.apache.org>.
     [ 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

[jira] [Updated] (TRINIDAD-2080) NullPointerException from skinning framework code (SkinUtils)

Posted by "Prakash Udupa (JIRA)" <de...@myfaces.apache.org>.
     [ https://issues.apache.org/jira/browse/TRINIDAD-2080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prakash Udupa updated TRINIDAD-2080:
------------------------------------

    Status: Patch Available  (was: Open)

> 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
>         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