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