[
https://issues.apache.org/jira/browse/TAPESTRY-2633?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ben Dinnerville updated TAPESTRY-2633:
--------------------------------------
Description:
As per the previous issue with ClassCastExceptions in
CoercingPropertyConduitWrapper, I am seeing a ClassCastException when trying to
use parent / child classes in a Grid.
I have class 1 (Campaign) and Class 2 (CCOCampaign) where Class2 extends
Class1. I return a list of Campaigns thru my business layer via a
List<Campaign> to the page.
Different to the first issue is tht i am expecting to only see the properties
of the parent class (Class1 / Campaign), but instead I get a ClassCastException
whenever a CCOCampaign is present in the List.
This looks to be the same issue as previously reported, with only the expected
outcome differing?
Cheers,
Ben
A full stack trace is as follows:
18:44:29,641 ERROR [ClientLandingPage] Render queue error in
BeginRender[ClientLandingPage:grid.rows.gridcell]:
au.com.voicelogic.teleblast.business.model.Campaign
org.apache.tapestry5.ioc.internal.util.TapestryException:
au.com.voicelogic.teleblast.business.model.Campaign [at
classpath:org/apache/tapestry5/corelib/components/GridRows.tml, line 4, column
81]
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:909)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$200(ComponentPageElementImpl.java:50)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$11.render(ComponentPageElementImpl.java:338)
at
org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:68)
at
org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:108)
at
$PageRenderQueue_11c1d152070.render($PageRenderQueue_11c1d152070.java)
at
$PageRenderQueue_11c1d152069.render($PageRenderQueue_11c1d152069.java)
at
org.apache.tapestry5.services.TapestryModule$15.renderMarkup(TapestryModule.java:1128)
at
org.apache.tapestry5.services.TapestryModule$24.renderMarkup(TapestryModule.java:1472)
at
$MarkupRenderer_11c1d152071.renderMarkup($MarkupRenderer_11c1d152071.java)
at
org.apache.tapestry5.services.TapestryModule$23.renderMarkup(TapestryModule.java:1453)
at
$MarkupRenderer_11c1d152071.renderMarkup($MarkupRenderer_11c1d152071.java)
at
org.apache.tapestry5.services.TapestryModule$22.renderMarkup(TapestryModule.java:1435)
at
$MarkupRenderer_11c1d152071.renderMarkup($MarkupRenderer_11c1d152071.java)
at
org.apache.tapestry5.services.TapestryModule$21.renderMarkup(TapestryModule.java:1415)
at
$MarkupRenderer_11c1d152071.renderMarkup($MarkupRenderer_11c1d152071.java)
at
$MarkupRenderer_11c1d15206e.renderMarkup($MarkupRenderer_11c1d15206e.java)
at
org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:64)
at
$PageMarkupRenderer_11c1d15206c.renderPageMarkup($PageMarkupRenderer_11c1d15206c.java)
at
org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:57)
at
$PageResponseRenderer_11c1d152027.renderPageResponse($PageResponseRenderer_11c1d152027.java)
at
org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:59)
at
org.apache.tapestry5.services.TapestryModule$29.handle(TapestryModule.java:1653)
at
$PageRenderRequestHandler_11c1d152028.handle($PageRenderRequestHandler_11c1d152028.java)
at
$PageRenderRequestHandler_11c1d15201d.handle($PageRenderRequestHandler_11c1d15201d.java)
at
org.apache.tapestry5.internal.services.PageRenderDispatcher.process(PageRenderDispatcher.java:97)
at
org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:73)
at $Dispatcher_11c1d152023.dispatch($Dispatcher_11c1d152023.java)
at $Dispatcher_11c1d152016.dispatch($Dispatcher_11c1d152016.java)
at
org.apache.tapestry5.services.TapestryModule$13.service(TapestryModule.java:953)
at
org.apache.tapestry5.internal.services.LocalizationFilter.service(LocalizationFilter.java:42)
at $RequestHandler_11c1d152017.service($RequestHandler_11c1d152017.java)
at
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:586)
at $RequestHandler_11c1d152017.service($RequestHandler_11c1d152017.java)
at
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
at $RequestHandler_11c1d152017.service($RequestHandler_11c1d152017.java)
at
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79)
at $RequestHandler_11c1d152017.service($RequestHandler_11c1d152017.java)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:93)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:84)
at
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:83)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
at $RequestHandler_11c1d152017.service($RequestHandler_11c1d152017.java)
at $RequestHandler_11c1d15200f.service($RequestHandler_11c1d15200f.java)
at
org.apache.tapestry5.services.TapestryModule$12.service(TapestryModule.java:933)
at
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
at
$HttpServletRequestFilter_11c1d15200e.service($HttpServletRequestFilter_11c1d15200e.java)
at
$HttpServletRequestHandler_11c1d152010.service($HttpServletRequestHandler_11c1d152010.java)
at
$HttpServletRequestHandler_11c1d15200d.service($HttpServletRequestHandler_11c1d15200d.java)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:177)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437)
at
org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:366)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ClassCastException:
au.com.voicelogic.teleblast.business.model.Campaign
at
$PropertyConduit_11c1d1520ca.navigate($PropertyConduit_11c1d1520ca.java)
at $PropertyConduit_11c1d1520ca.get($PropertyConduit_11c1d1520ca.java)
at
org.apache.tapestry5.internal.services.CoercingPropertyConduitWrapper.get(CoercingPropertyConduitWrapper.java:36)
at
org.apache.tapestry5.corelib.base.AbstractPropertyOutput.readPropertyForObject(AbstractPropertyOutput.java:138)
at
org.apache.tapestry5.corelib.base.AbstractPropertyOutput.renderPropertyValue(AbstractPropertyOutput.java:117)
at
org.apache.tapestry5.corelib.components.GridCell.beginRender(GridCell.java:28)
at
org.apache.tapestry5.corelib.components.GridCell.beginRender(GridCell.java)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$11$1.run(ComponentPageElementImpl.java:334)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:899)
... 67 more
18:44:29,651 ERROR [RequestExceptionHandler] Processing of request failed with
uncaught exception: Render queue error in
BeginRender[ClientLandingPage:grid.rows.gridcell]:
au.com.voicelogic.teleblast.business.model.Campaign
org.apache.tapestry5.internal.services.RenderQueueException: Render queue error
in BeginRender[ClientLandingPage:grid.rows.gridcell]:
au.com.voicelogic.teleblast.business.model.Campaign [at
classpath:org/apache/tapestry5/corelib/components/GridRows.tml, line 4, column
81]
at
org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:80)
at
org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:108)
at
$PageRenderQueue_11c1d152070.render($PageRenderQueue_11c1d152070.java)
at
$PageRenderQueue_11c1d152069.render($PageRenderQueue_11c1d152069.java)
at
org.apache.tapestry5.services.TapestryModule$15.renderMarkup(TapestryModule.java:1128)
at
org.apache.tapestry5.services.TapestryModule$24.renderMarkup(TapestryModule.java:1472)
at
$MarkupRenderer_11c1d152071.renderMarkup($MarkupRenderer_11c1d152071.java)
at
org.apache.tapestry5.services.TapestryModule$23.renderMarkup(TapestryModule.java:1453)
at
$MarkupRenderer_11c1d152071.renderMarkup($MarkupRenderer_11c1d152071.java)
at
org.apache.tapestry5.services.TapestryModule$22.renderMarkup(TapestryModule.java:1435)
at
$MarkupRenderer_11c1d152071.renderMarkup($MarkupRenderer_11c1d152071.java)
at
org.apache.tapestry5.services.TapestryModule$21.renderMarkup(TapestryModule.java:1415)
at
$MarkupRenderer_11c1d152071.renderMarkup($MarkupRenderer_11c1d152071.java)
at
$MarkupRenderer_11c1d15206e.renderMarkup($MarkupRenderer_11c1d15206e.java)
at
org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:64)
at
$PageMarkupRenderer_11c1d15206c.renderPageMarkup($PageMarkupRenderer_11c1d15206c.java)
at
org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:57)
at
$PageResponseRenderer_11c1d152027.renderPageResponse($PageResponseRenderer_11c1d152027.java)
at
org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:59)
at
org.apache.tapestry5.services.TapestryModule$29.handle(TapestryModule.java:1653)
at
$PageRenderRequestHandler_11c1d152028.handle($PageRenderRequestHandler_11c1d152028.java)
at
$PageRenderRequestHandler_11c1d15201d.handle($PageRenderRequestHandler_11c1d15201d.java)
at
org.apache.tapestry5.internal.services.PageRenderDispatcher.process(PageRenderDispatcher.java:97)
at
org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:73)
at $Dispatcher_11c1d152023.dispatch($Dispatcher_11c1d152023.java)
at $Dispatcher_11c1d152016.dispatch($Dispatcher_11c1d152016.java)
at
org.apache.tapestry5.services.TapestryModule$13.service(TapestryModule.java:953)
at
org.apache.tapestry5.internal.services.LocalizationFilter.service(LocalizationFilter.java:42)
at $RequestHandler_11c1d152017.service($RequestHandler_11c1d152017.java)
at
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:586)
at $RequestHandler_11c1d152017.service($RequestHandler_11c1d152017.java)
at
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
at $RequestHandler_11c1d152017.service($RequestHandler_11c1d152017.java)
at
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79)
at $RequestHandler_11c1d152017.service($RequestHandler_11c1d152017.java)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:93)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:84)
at
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:83)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
at $RequestHandler_11c1d152017.service($RequestHandler_11c1d152017.java)
at $RequestHandler_11c1d15200f.service($RequestHandler_11c1d15200f.java)
at
org.apache.tapestry5.services.TapestryModule$12.service(TapestryModule.java:933)
at
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
at
$HttpServletRequestFilter_11c1d15200e.service($HttpServletRequestFilter_11c1d15200e.java)
at
$HttpServletRequestHandler_11c1d152010.service($HttpServletRequestHandler_11c1d152010.java)
at
$HttpServletRequestHandler_11c1d15200d.service($HttpServletRequestHandler_11c1d15200d.java)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:177)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437)
at
org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:366)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:595)
Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException:
au.com.voicelogic.teleblast.business.model.Campaign [at
classpath:org/apache/tapestry5/corelib/components/GridRows.tml, line 4, column
81]
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:909)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$200(ComponentPageElementImpl.java:50)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$11.render(ComponentPageElementImpl.java:338)
at
org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:68)
... 64 more
Caused by: java.lang.ClassCastException:
au.com.voicelogic.teleblast.business.model.Campaign
at
$PropertyConduit_11c1d1520ca.navigate($PropertyConduit_11c1d1520ca.java)
at $PropertyConduit_11c1d1520ca.get($PropertyConduit_11c1d1520ca.java)
at
org.apache.tapestry5.internal.services.CoercingPropertyConduitWrapper.get(CoercingPropertyConduitWrapper.java:36)
at
org.apache.tapestry5.corelib.base.AbstractPropertyOutput.readPropertyForObject(AbstractPropertyOutput.java:138)
at
org.apache.tapestry5.corelib.base.AbstractPropertyOutput.renderPropertyValue(AbstractPropertyOutput.java:117)
at
org.apache.tapestry5.corelib.components.GridCell.beginRender(GridCell.java:28)
at
org.apache.tapestry5.corelib.components.GridCell.beginRender(GridCell.java)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$11$1.run(ComponentPageElementImpl.java:334)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:899)
... 67 more
18:44:29,939 ERROR [PagePool] Page Page[ClientLandingPage en] is dirty, and
will be discarded (rather than returned to the page pool).
Previous Case:
When a bean editor receives beans from differenct classes (superclass &
subclass) sometimes the wrong fields are displayed and other times a
ClassCastException is throws in the CoercingPropertyConduitWrapper.
This happens only, when bean editing is finished by the onSubmit method.
TestCase:
TT1 is the superclasss of TT2
TT1.java
-------------------
public class TT1 {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
TT2.java
----------------------------
public class TT2 extends TT1 {
private String v2;
public String getV2() {
return v2;
}
public void setV2(String v2) {
this.v2 = v2;
}
}
CoercTest.java
-----------------------
public class CoercTest {
@Persist
private TT1 testObject;
@OnEvent(component="typeTO1")
public void onTypeTO1() {
setTestObject(new TT1());
}
@OnEvent(component="typeTO2")
public void onTypeTO2() {
setTestObject(new TT2());
}
public TT1 getTestObject() {
return testObject;
}
public void setTestObject(TT1 testObject) {
this.testObject = testObject;
}
public void onSubmit() {
testObject = null;
}
public boolean isTestObjectNotNull() {
return testObject != null;
}
}
CoercTest.tml
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
<body>
<t:ActionLink t:id="typeTO1">TT1</t:ActionLink><br/>
<t:ActionLink t:id="typeTO2">TT2</t:ActionLink><br/>
<t:If test="testObjectNotNull">
<t:BeanEditForm object="testObject"/>
</t:If>
</body>
</html>
was:
When a bean editor receives beans from differenct classes (superclass &
subclass) sometimes the wrong fields are displayed and other times a
ClassCastException is throws in the CoercingPropertyConduitWrapper.
This happens only, when bean editing is finished by the onSubmit method.
TestCase:
TT1 is the superclasss of TT2
TT1.java
-------------------
public class TT1 {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
TT2.java
----------------------------
public class TT2 extends TT1 {
private String v2;
public String getV2() {
return v2;
}
public void setV2(String v2) {
this.v2 = v2;
}
}
CoercTest.java
-----------------------
public class CoercTest {
@Persist
private TT1 testObject;
@OnEvent(component="typeTO1")
public void onTypeTO1() {
setTestObject(new TT1());
}
@OnEvent(component="typeTO2")
public void onTypeTO2() {
setTestObject(new TT2());
}
public TT1 getTestObject() {
return testObject;
}
public void setTestObject(TT1 testObject) {
this.testObject = testObject;
}
public void onSubmit() {
testObject = null;
}
public boolean isTestObjectNotNull() {
return testObject != null;
}
}
CoercTest.tml
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
<body>
<t:ActionLink t:id="typeTO1">TT1</t:ActionLink><br/>
<t:ActionLink t:id="typeTO2">TT2</t:ActionLink><br/>
<t:If test="testObjectNotNull">
<t:BeanEditForm object="testObject"/>
</t:If>
</body>
</html>
Environment: Jboss 4.2.3 + JDK 1.5.0_16-b02 + Tapestry 5.0.14 (was:
Jetty & MacOS X )
Affects Version/s: (was: 5.0.9)
5.0.14
> CLONE -ClassCastException in CoercingPropertyConduitWrapper
> -----------------------------------------------------------
>
> Key: TAPESTRY-2633
> URL: https://issues.apache.org/jira/browse/TAPESTRY-2633
> Project: Tapestry
> Issue Type: Bug
> Components: Core Components
> Affects Versions: 5.0.14
> Environment: Jboss 4.2.3 + JDK 1.5.0_16-b02 + Tapestry 5.0.14
> Reporter: Ben Dinnerville
> Assignee: Howard M. Lewis Ship
>
> As per the previous issue with ClassCastExceptions in
> CoercingPropertyConduitWrapper, I am seeing a ClassCastException when trying
> to use parent / child classes in a Grid.
> I have class 1 (Campaign) and Class 2 (CCOCampaign) where Class2 extends
> Class1. I return a list of Campaigns thru my business layer via a
> List<Campaign> to the page.
> Different to the first issue is tht i am expecting to only see the properties
> of the parent class (Class1 / Campaign), but instead I get a
> ClassCastException whenever a CCOCampaign is present in the List.
> This looks to be the same issue as previously reported, with only the
> expected outcome differing?
> Cheers,
> Ben
> A full stack trace is as follows:
> 18:44:29,641 ERROR [ClientLandingPage] Render queue error in
> BeginRender[ClientLandingPage:grid.rows.gridcell]:
> au.com.voicelogic.teleblast.business.model.Campaign
> org.apache.tapestry5.ioc.internal.util.TapestryException:
> au.com.voicelogic.teleblast.business.model.Campaign [at
> classpath:org/apache/tapestry5/corelib/components/GridRows.tml, line 4,
> column 81]
> at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:909)
> at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$200(ComponentPageElementImpl.java:50)
> at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$11.render(ComponentPageElementImpl.java:338)
> at
> org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:68)
> at
> org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:108)
> at
> $PageRenderQueue_11c1d152070.render($PageRenderQueue_11c1d152070.java)
> at
> $PageRenderQueue_11c1d152069.render($PageRenderQueue_11c1d152069.java)
> at
> org.apache.tapestry5.services.TapestryModule$15.renderMarkup(TapestryModule.java:1128)
> at
> org.apache.tapestry5.services.TapestryModule$24.renderMarkup(TapestryModule.java:1472)
> at
> $MarkupRenderer_11c1d152071.renderMarkup($MarkupRenderer_11c1d152071.java)
> at
> org.apache.tapestry5.services.TapestryModule$23.renderMarkup(TapestryModule.java:1453)
> at
> $MarkupRenderer_11c1d152071.renderMarkup($MarkupRenderer_11c1d152071.java)
> at
> org.apache.tapestry5.services.TapestryModule$22.renderMarkup(TapestryModule.java:1435)
> at
> $MarkupRenderer_11c1d152071.renderMarkup($MarkupRenderer_11c1d152071.java)
> at
> org.apache.tapestry5.services.TapestryModule$21.renderMarkup(TapestryModule.java:1415)
> at
> $MarkupRenderer_11c1d152071.renderMarkup($MarkupRenderer_11c1d152071.java)
> at
> $MarkupRenderer_11c1d15206e.renderMarkup($MarkupRenderer_11c1d15206e.java)
> at
> org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:64)
> at
> $PageMarkupRenderer_11c1d15206c.renderPageMarkup($PageMarkupRenderer_11c1d15206c.java)
> at
> org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:57)
> at
> $PageResponseRenderer_11c1d152027.renderPageResponse($PageResponseRenderer_11c1d152027.java)
> at
> org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:59)
> at
> org.apache.tapestry5.services.TapestryModule$29.handle(TapestryModule.java:1653)
> at
> $PageRenderRequestHandler_11c1d152028.handle($PageRenderRequestHandler_11c1d152028.java)
> at
> $PageRenderRequestHandler_11c1d15201d.handle($PageRenderRequestHandler_11c1d15201d.java)
> at
> org.apache.tapestry5.internal.services.PageRenderDispatcher.process(PageRenderDispatcher.java:97)
> at
> org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:73)
> at $Dispatcher_11c1d152023.dispatch($Dispatcher_11c1d152023.java)
> at $Dispatcher_11c1d152016.dispatch($Dispatcher_11c1d152016.java)
> at
> org.apache.tapestry5.services.TapestryModule$13.service(TapestryModule.java:953)
> at
> org.apache.tapestry5.internal.services.LocalizationFilter.service(LocalizationFilter.java:42)
> at $RequestHandler_11c1d152017.service($RequestHandler_11c1d152017.java)
> at
> org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:586)
> at $RequestHandler_11c1d152017.service($RequestHandler_11c1d152017.java)
> at
> org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
> at $RequestHandler_11c1d152017.service($RequestHandler_11c1d152017.java)
> at
> org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79)
> at $RequestHandler_11c1d152017.service($RequestHandler_11c1d152017.java)
> at
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:93)
> at
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:84)
> at
> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:83)
> at
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
> at $RequestHandler_11c1d152017.service($RequestHandler_11c1d152017.java)
> at $RequestHandler_11c1d15200f.service($RequestHandler_11c1d15200f.java)
> at
> org.apache.tapestry5.services.TapestryModule$12.service(TapestryModule.java:933)
> at
> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
> at
> $HttpServletRequestFilter_11c1d15200e.service($HttpServletRequestFilter_11c1d15200e.java)
> at
> $HttpServletRequestHandler_11c1d152010.service($HttpServletRequestHandler_11c1d152010.java)
> at
> $HttpServletRequestHandler_11c1d15200d.service($HttpServletRequestHandler_11c1d15200d.java)
> at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:177)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> at
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
> at
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at
> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
> at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437)
> at
> org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:366)
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.ClassCastException:
> au.com.voicelogic.teleblast.business.model.Campaign
> at
> $PropertyConduit_11c1d1520ca.navigate($PropertyConduit_11c1d1520ca.java)
> at $PropertyConduit_11c1d1520ca.get($PropertyConduit_11c1d1520ca.java)
> at
> org.apache.tapestry5.internal.services.CoercingPropertyConduitWrapper.get(CoercingPropertyConduitWrapper.java:36)
> at
> org.apache.tapestry5.corelib.base.AbstractPropertyOutput.readPropertyForObject(AbstractPropertyOutput.java:138)
> at
> org.apache.tapestry5.corelib.base.AbstractPropertyOutput.renderPropertyValue(AbstractPropertyOutput.java:117)
> at
> org.apache.tapestry5.corelib.components.GridCell.beginRender(GridCell.java:28)
> at
> org.apache.tapestry5.corelib.components.GridCell.beginRender(GridCell.java)
> at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$11$1.run(ComponentPageElementImpl.java:334)
> at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:899)
> ... 67 more
> 18:44:29,651 ERROR [RequestExceptionHandler] Processing of request failed
> with uncaught exception: Render queue error in
> BeginRender[ClientLandingPage:grid.rows.gridcell]:
> au.com.voicelogic.teleblast.business.model.Campaign
> org.apache.tapestry5.internal.services.RenderQueueException: Render queue
> error in BeginRender[ClientLandingPage:grid.rows.gridcell]:
> au.com.voicelogic.teleblast.business.model.Campaign [at
> classpath:org/apache/tapestry5/corelib/components/GridRows.tml, line 4,
> column 81]
> at
> org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:80)
> at
> org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:108)
> at
> $PageRenderQueue_11c1d152070.render($PageRenderQueue_11c1d152070.java)
> at
> $PageRenderQueue_11c1d152069.render($PageRenderQueue_11c1d152069.java)
> at
> org.apache.tapestry5.services.TapestryModule$15.renderMarkup(TapestryModule.java:1128)
> at
> org.apache.tapestry5.services.TapestryModule$24.renderMarkup(TapestryModule.java:1472)
> at
> $MarkupRenderer_11c1d152071.renderMarkup($MarkupRenderer_11c1d152071.java)
> at
> org.apache.tapestry5.services.TapestryModule$23.renderMarkup(TapestryModule.java:1453)
> at
> $MarkupRenderer_11c1d152071.renderMarkup($MarkupRenderer_11c1d152071.java)
> at
> org.apache.tapestry5.services.TapestryModule$22.renderMarkup(TapestryModule.java:1435)
> at
> $MarkupRenderer_11c1d152071.renderMarkup($MarkupRenderer_11c1d152071.java)
> at
> org.apache.tapestry5.services.TapestryModule$21.renderMarkup(TapestryModule.java:1415)
> at
> $MarkupRenderer_11c1d152071.renderMarkup($MarkupRenderer_11c1d152071.java)
> at
> $MarkupRenderer_11c1d15206e.renderMarkup($MarkupRenderer_11c1d15206e.java)
> at
> org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:64)
> at
> $PageMarkupRenderer_11c1d15206c.renderPageMarkup($PageMarkupRenderer_11c1d15206c.java)
> at
> org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:57)
> at
> $PageResponseRenderer_11c1d152027.renderPageResponse($PageResponseRenderer_11c1d152027.java)
> at
> org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:59)
> at
> org.apache.tapestry5.services.TapestryModule$29.handle(TapestryModule.java:1653)
> at
> $PageRenderRequestHandler_11c1d152028.handle($PageRenderRequestHandler_11c1d152028.java)
> at
> $PageRenderRequestHandler_11c1d15201d.handle($PageRenderRequestHandler_11c1d15201d.java)
> at
> org.apache.tapestry5.internal.services.PageRenderDispatcher.process(PageRenderDispatcher.java:97)
> at
> org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:73)
> at $Dispatcher_11c1d152023.dispatch($Dispatcher_11c1d152023.java)
> at $Dispatcher_11c1d152016.dispatch($Dispatcher_11c1d152016.java)
> at
> org.apache.tapestry5.services.TapestryModule$13.service(TapestryModule.java:953)
> at
> org.apache.tapestry5.internal.services.LocalizationFilter.service(LocalizationFilter.java:42)
> at $RequestHandler_11c1d152017.service($RequestHandler_11c1d152017.java)
> at
> org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:586)
> at $RequestHandler_11c1d152017.service($RequestHandler_11c1d152017.java)
> at
> org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
> at $RequestHandler_11c1d152017.service($RequestHandler_11c1d152017.java)
> at
> org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79)
> at $RequestHandler_11c1d152017.service($RequestHandler_11c1d152017.java)
> at
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:93)
> at
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:84)
> at
> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:83)
> at
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
> at $RequestHandler_11c1d152017.service($RequestHandler_11c1d152017.java)
> at $RequestHandler_11c1d15200f.service($RequestHandler_11c1d15200f.java)
> at
> org.apache.tapestry5.services.TapestryModule$12.service(TapestryModule.java:933)
> at
> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
> at
> $HttpServletRequestFilter_11c1d15200e.service($HttpServletRequestFilter_11c1d15200e.java)
> at
> $HttpServletRequestHandler_11c1d152010.service($HttpServletRequestHandler_11c1d152010.java)
> at
> $HttpServletRequestHandler_11c1d15200d.service($HttpServletRequestHandler_11c1d15200d.java)
> at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:177)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> at
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
> at
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at
> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
> at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437)
> at
> org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:366)
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException:
> au.com.voicelogic.teleblast.business.model.Campaign [at
> classpath:org/apache/tapestry5/corelib/components/GridRows.tml, line 4,
> column 81]
> at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:909)
> at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$200(ComponentPageElementImpl.java:50)
> at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$11.render(ComponentPageElementImpl.java:338)
> at
> org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:68)
> ... 64 more
> Caused by: java.lang.ClassCastException:
> au.com.voicelogic.teleblast.business.model.Campaign
> at
> $PropertyConduit_11c1d1520ca.navigate($PropertyConduit_11c1d1520ca.java)
> at $PropertyConduit_11c1d1520ca.get($PropertyConduit_11c1d1520ca.java)
> at
> org.apache.tapestry5.internal.services.CoercingPropertyConduitWrapper.get(CoercingPropertyConduitWrapper.java:36)
> at
> org.apache.tapestry5.corelib.base.AbstractPropertyOutput.readPropertyForObject(AbstractPropertyOutput.java:138)
> at
> org.apache.tapestry5.corelib.base.AbstractPropertyOutput.renderPropertyValue(AbstractPropertyOutput.java:117)
> at
> org.apache.tapestry5.corelib.components.GridCell.beginRender(GridCell.java:28)
> at
> org.apache.tapestry5.corelib.components.GridCell.beginRender(GridCell.java)
> at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$11$1.run(ComponentPageElementImpl.java:334)
> at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:899)
> ... 67 more
> 18:44:29,939 ERROR [PagePool] Page Page[ClientLandingPage en] is dirty, and
> will be discarded (rather than returned to the page pool).
> Previous Case:
> When a bean editor receives beans from differenct classes (superclass &
> subclass) sometimes the wrong fields are displayed and other times a
> ClassCastException is throws in the CoercingPropertyConduitWrapper.
> This happens only, when bean editing is finished by the onSubmit method.
> TestCase:
> TT1 is the superclasss of TT2
> TT1.java
> -------------------
> public class TT1 {
> private String name;
>
> public String getName() {
> return name;
> }
>
> public void setName(String name) {
> this.name = name;
> }
> }
> TT2.java
> ----------------------------
> public class TT2 extends TT1 {
> private String v2;
> public String getV2() {
> return v2;
> }
> public void setV2(String v2) {
> this.v2 = v2;
> }
> }
> CoercTest.java
> -----------------------
> public class CoercTest {
> @Persist
> private TT1 testObject;
>
>
> @OnEvent(component="typeTO1")
> public void onTypeTO1() {
> setTestObject(new TT1());
> }
>
> @OnEvent(component="typeTO2")
> public void onTypeTO2() {
> setTestObject(new TT2());
> }
> public TT1 getTestObject() {
> return testObject;
> }
> public void setTestObject(TT1 testObject) {
> this.testObject = testObject;
> }
>
> public void onSubmit() {
> testObject = null;
> }
>
> public boolean isTestObjectNotNull() {
> return testObject != null;
> }
>
> }
> CoercTest.tml
> <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
> <body>
> <t:ActionLink t:id="typeTO1">TT1</t:ActionLink><br/>
> <t:ActionLink t:id="typeTO2">TT2</t:ActionLink><br/>
> <t:If test="testObjectNotNull">
> <t:BeanEditForm object="testObject"/>
> </t:If>
> </body>
> </html>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]