You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Andy Pahne <an...@googlemail.com> on 2008/12/08 16:06:44 UTC

Re: [T5.0.17] can't write parameter defined in base class [solved]


Forget about it. I was wrong, it works as expected...




Andy Pahne schrieb:
>
> I have a base class which has a parameter defined. Trying to write the 
> parameter results in an exeption (see below).
>
> I don't really understand why this is happening, because I expect a 
> parameter to be writable. I mean, that's the sole purpose of a 
> parameter, isn't it?
>
> Am I doing it wrong? Is it impossible to define parameters in base 
> classes?
>
> Andy
>
>
>
> The base class:
>
>
> public class BaseSnippet {
>         @Property @Parameter     // also tried it without @Property, 
> same result
>    private String snippetType;
>
> }
>
>
>
> The component that extends BaseSnippet
>
>
> public class Snippet extends BaseSnippet{
>      // ...
> }
>
>
>
> I try to include the component in a page like this:
>
>        <t:snippet snippetType="literal:otherOffer" />
>
>
>
> The exception is:
>
> 2008-12-08 15:25:57,953 ERROR (DefaultRequestExceptionHandler.java:62) 
> - Processing of request failed with uncaught exception: Ren
> der queue error in SetupRender[search/Fewo:includesnippet]: Failure 
> writing parameter 'snippetType' of component search/Fewo:inclu
> desnippet: Binding LiteralBinding[snippetType: otherOffer] is read-only.
> org.apache.tapestry5.internal.services.RenderQueueException: Render 
> queue error in SetupRender[search/Fewo:includesnippet]: Failur
> e writing parameter 'snippetType' of component 
> search/Fewo:includesnippet: Binding LiteralBinding[snippetType: 
> otherOffer] is read
> -only. [at classpath:de/net22/oos/tb/web/pages/search/SearchFewo.tml, 
> line 143, column 62]
>        at 
> org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:84) 
>
>        at 
> org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:121) 
>
>        at 
> $PageRenderQueue_11e16c07518.render($PageRenderQueue_11e16c07518.java)
>        at 
> $PageRenderQueue_11e16c07510.render($PageRenderQueue_11e16c07510.java)
>        at 
> org.apache.tapestry5.services.TapestryModule$19.renderMarkup(TapestryModule.java:1200) 
>
>        at 
> org.apache.tapestry5.services.TapestryModule$29.renderMarkup(TapestryModule.java:1574) 
>
>        at 
> $MarkupRenderer_11e16c0751a.renderMarkup($MarkupRenderer_11e16c0751a.java) 
>
>        at 
> org.apache.tapestry5.services.TapestryModule$28.renderMarkup(TapestryModule.java:1555) 
>
>        at 
> $MarkupRenderer_11e16c0751a.renderMarkup($MarkupRenderer_11e16c0751a.java) 
>
>        at 
> org.apache.tapestry5.services.TapestryModule$27.renderMarkup(TapestryModule.java:1537) 
>
>        at 
> $MarkupRenderer_11e16c0751a.renderMarkup($MarkupRenderer_11e16c0751a.java) 
>
>        at 
> org.apache.tapestry5.services.TapestryModule$26.renderMarkup(TapestryModule.java:1519) 
>
>        at 
> $MarkupRenderer_11e16c0751a.renderMarkup($MarkupRenderer_11e16c0751a.java) 
>
>        at 
> org.apache.tapestry5.services.TapestryModule$25.renderMarkup(TapestryModule.java:1489) 
>
>        at 
> $MarkupRenderer_11e16c0751a.renderMarkup($MarkupRenderer_11e16c0751a.java) 
>
>        at 
> $MarkupRenderer_11e16c07516.renderMarkup($MarkupRenderer_11e16c07516.java) 
>
>        at 
> org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:64) 
>
>        at 
> $PageMarkupRenderer_11e16c07514.renderPageMarkup($PageMarkupRenderer_11e16c07514.java) 
>
>        at 
> org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:57) 
>
>        at 
> $PageResponseRenderer_11e16c074bc.renderPageResponse($PageResponseRenderer_11e16c074bc.java) 
>
>        at 
> org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:59) 
>
>        at 
> org.apache.tapestry5.services.TapestryModule$35.handle(TapestryModule.java:1773) 
>
>        at 
> $PageRenderRequestHandler_11e16c074bd.handle($PageRenderRequestHandler_11e16c074bd.java) 
>
>        at 
> $PageRenderRequestHandler_11e16c074af.handle($PageRenderRequestHandler_11e16c074af.java) 
>
>        at 
> org.apache.tapestry5.internal.services.PageRenderDispatcher.process(PageRenderDispatcher.java:92) 
>
>        at 
> org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:71) 
>
>        at $Dispatcher_11e16c074b6.dispatch($Dispatcher_11e16c074b6.java)
>        at $Dispatcher_11e16c074a8.dispatch($Dispatcher_11e16c074a8.java)
>        at 
> org.apache.tapestry5.services.TapestryModule$17.service(TapestryModule.java:1029) 
>
>        at 
> org.apache.tapestry5.internal.services.LocalizationFilter.service(LocalizationFilter.java:42) 
>
>        at 
> $RequestHandler_11e16c074a9.service($RequestHandler_11e16c074a9.java)
>        at 
> org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26) 
>
>        at 
> $RequestHandler_11e16c074a9.service($RequestHandler_11e16c074a9.java)
>        at 
> org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:621) 
>
>        at 
> $RequestHandler_11e16c074a9.service($RequestHandler_11e16c074a9.java)
>        at 
> org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:611) 
>
>        at 
> $RequestHandler_11e16c074a9.service($RequestHandler_11e16c074a9.java)
>        at 
> org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85) 
>
>        at 
> $RequestHandler_11e16c074a9.service($RequestHandler_11e16c074a9.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_11e16c074a9.service($RequestHandler_11e16c074a9.java)
>        at 
> $RequestHandler_11e16c074a0.service($RequestHandler_11e16c074a0.java)
>        at 
> org.apache.tapestry5.services.TapestryModule$16.service(TapestryModule.java:1007) 
>
>        at 
> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) 
>
>        at 
> $HttpServletRequestFilter_11e16c0749f.service($HttpServletRequestFilter_11e16c0749f.java) 
>
>        at 
> $HttpServletRequestHandler_11e16c074a1.service($HttpServletRequestHandler_11e16c074a1.java) 
>
>        at 
> $HttpServletRequestHandler_11e16c0749e.service($HttpServletRequestHandler_11e16c0749e.java) 
>
>        at 
> org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:179)
>        at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115) 
>
>        at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:359) 
>
>        at 
> org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) 
>
>        at 
> org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) 
>
>        at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) 
>
>        at 
> org.springframework.security.ui.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.java:67) 
>
>        at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) 
>
>        at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) 
>
>        at 
> org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101) 
>
>        at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) 
>
>        at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) 
>
>        at 
> org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java: 
>
> 105)
>        at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) 
>
>        at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) 
>
>        at 
> org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116) 
>
>
>        at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) 
>
>        at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) 
>
>        at 
> org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareReq 
>
> uestFilter.java:91)
>        at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) 
>
>        at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) 
>
>        at 
> org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:173) 
>
>        at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) 
>
>        at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) 
>
>        at 
> org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:271) 
>
>        at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) 
>
>        at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) 
>
>        at 
> org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89) 
>
>        at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) 
>
>        at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) 
>
>        at 
> org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilt 
>
> er.java:235)
>        at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) 
>
>        at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) 
>
>        at 
> org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:174) 
>
>        at 
> org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99) 
>
>        at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115) 
>
>        at 
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:361)
>        at 
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) 
>
>        at 
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>        at 
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:757)
>        at 
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:416)
>        at 
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206) 
>
>        at 
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) 
>
>        at 
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>        at org.mortbay.jetty.Server.handle(Server.java:324)
>        at 
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502)
>        at 
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:826) 
>
>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:523)
>        at 
> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>        at 
> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:377)
>        at 
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) 
>
>        at 
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:497) 
>
> Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: 
> Failure writing parameter 'snippetType' of component search/F
> ewo:includesnippet: Binding LiteralBinding[snippetType: otherOffer] is 
> read-only. [at classpath:de/net22/oos/tb/web/pages/search/S
> earchFewo.tml, line 143, column 62]
>        at 
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:932) 
>
>        at 
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$200(ComponentPageElementImpl.java:50) 
>
>        at 
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$13.render(ComponentPageElementImpl.java:499) 
>
>        at 
> org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:72) 
>
>        ... 101 more
> Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: 
> Failure writing parameter 'snippetType' of component search/F
> ewo:includesnippet: Binding LiteralBinding[snippetType: otherOffer] is 
> read-only. [at classpath:de/net22/oos/tb/web/pages/search/S
> earchFewo.tml, line 143, column 62]
>        at 
> org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.writeParameter(InternalComponentResourcesImpl.ja 
>
> va:340)
>        at 
> de.net22.oos.tb.web.base.BaseSnippet._$update_parameter_snippetType(BaseSnippet.java) 
>
>        at 
> de.net22.oos.tb.web.base.BaseSnippet.initializeOtherOffer(BaseSnippet.java:145) 
>
>        at 
> de.net22.oos.tb.web.base.BaseSnippet.setupRender(BaseSnippet.java:115)
>        at 
> de.net22.oos.tb.web.base.BaseSnippet.setupRender(BaseSnippet.java)
>        at 
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$13$1.run(ComponentPageElementImpl.java:495) 
>
>        at 
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:917) 
>
>        ... 104 more
> Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: 
> Binding LiteralBinding[snippetType: otherOffer] is read-only.
> [at classpath:de/net22/oos/tb/web/pages/search/SearchFewo.tml, line 
> 143, column 62]
>        at 
> org.apache.tapestry5.internal.bindings.AbstractBinding.set(AbstractBinding.java:45) 
>
>        at 
> org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.writeParameter(InternalComponentResourcesImpl.ja 
>
> va:336)
>        ... 110 more
> 2008-12-08 15:25:58,156 ERROR (PagePoolImpl.java:111) - Page 
> Page[search/Fewo en] is dirty, and will be discarded (rather than ret
> urned to the page pool).


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org