Placing tr:train outside of a form results in an exception instead of a 
descriptive warning.
--------------------------------------------------------------------------------------------

                 Key: ADFFACES-343
                 URL: http://issues.apache.org/jira/browse/ADFFACES-343
             Project: MyFaces ADF-Faces
          Issue Type: Bug
         Environment: Sun Java System Application Server 9.1
Facelets 1.1.11
Affects both : faces-1_2-061214 and stable-06-dec branches
JDK 1.5.0_10
Windows XP Service Pack 2
            Reporter: Graeme Steyn
            Priority: Minor


When a tr:train component appears outside of a form, an exception gets 
generated that stops the application, rather than logging a descriptive 
warning.  The exception appears as follows:

java.lang.NullPointerException
 at 
org.apache.myfaces.trinidadinternal.renderkit.core.desktop.TrainRenderer$Train.<init>(TrainRenderer.java:913)
 at 
org.apache.myfaces.trinidadinternal.renderkit.core.desktop.TrainRenderer.encodeAll(TrainRenderer.java:175)
 at 
org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:181)
 at 
org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:712)
 at 
org.apache.myfaces.trinidad.component.UIXCollection.encodeEnd(UIXCollection.java:490)
 at 
org.apache.myfaces.trinidad.component.UIXComponentBase.__encodeRecursive(UIXComponentBase.java:1258)
 at 
org.apache.myfaces.trinidad.component.UIXComponentBase.encodeAll(UIXComponentBase.java:732)
 at javax.faces.component.UIComponent.encodeAll(UIComponent.java:889)
 at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:578)
 at 
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:178)
 at 
org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:171)
 at 
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:133)
 at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:244)
 at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
 at 
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
 at 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:327)
 at 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:291)
 at 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:214)
 at 
org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:90)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:216)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
 at 
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:216)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
 at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:276)
 at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
 at 
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)
 at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)
 at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
 at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
 at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
 at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
 at 
com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
 at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
 at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
 at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:239)
 at 
com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
 at 
com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
 at 
com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
 at 
com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
 at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
 at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
 at 
com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)

An example template that generates this error appears as follows:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
<html
  xmlns="http://www.w3.org/1999/xhtml";
  xmlns:ui="http://java.sun.com/jsf/facelets";
  xmlns:f="http://java.sun.com/jsf/core";
  xmlns:h="http://java.sun.com/jsf/html";
  xmlns:t="http://myfaces.apache.org/tomahawk";
  xmlns:tr="http://myfaces.apache.org/trinidad";
  lang="en"
  xml:lang="en">
<head>
<meta
  http-equiv="Content-Type"
  content="text/html; charset=ISO-8859-1" />
<meta
  name="description"
  content="description" />
<meta
  name="keywords"
  content="keyword phrase1, keyword phrase 2, etc." />
<!-- <meta name="robots" content="noindex,nofollow" /> -->
<title><ui:insert name="title">Default Title</ui:insert></title>
</head>
<body>
<f:view>
  <div id="wrap">
  <ui:insert name="header">
    <ui:include src="header.xhtml" />
  </ui:insert> 
  <tr:train
    var="foo"
    value="#{processTrainMenuModel}">
    <f:facet name="nodeStamp">
      <tr:commandNavigationItem
        text="#{foo.label}"
        action="#{foo.getOutcome}"
        immediate="#{processTrainMenuModel.immediate}"
        readOnly="#{processTrainMenuModel.readOnly}" />
    </f:facet>
  </tr:train> 
  <ui:insert name="content">
    <ui:include src="content.xhtml" />
  </ui:insert> 
  <ui:insert name="footer">
    <ui:include src="footer.xhtml" />
  </ui:insert> 
  </div>
  <!-- end #wrap div-->
</f:view>
</body>
</html>



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to