If I change Trinidad's demo faces-config.xml file to use a bogus default-render-kit-id, I get a NPE.

    <!-- Use the Trinidad RenderKit -->
    <default-render-kit-id>
      org.apache.myfaces.trinidad.coreBAD
    </default-render-kit-id>

I get this:

java.lang.NullPointerException
    at com.sun.faces.renderkit.RenderKitUtils.getResponseStateManager(RenderKitUtils.java:246)
    at com.sun.faces.lifecycle.RestoreViewPhase.isPostback(RestoreViewPhase.java:267)
    at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:172)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:104)
    Truncated. see log file for complete stacktrace
>

This seems to me to be a bug in com.sun.faces.renderkit.RenderKitUtils.getResponseStateManager:
3                   renderKit = factory.getRenderKit(context, renderKitId);
  244               }
  245           }
  246           return renderKit.getResponseStateManager();

Has anyone seen this or have an opinion about this? I would have liked to have had a log message telling me why I got a NPE at least so I didn't have to track it down.

I suppose I could write out a warning message in Trinidad's FacesContextFactoryImpl.java if it returns null.

Thanks,
Jeanne



Reply via email to