[ 
https://issues.apache.org/jira/browse/WICKET-6266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15633730#comment-15633730
 ] 

Sebastian Gooren commented on WICKET-6266:
------------------------------------------

Hi Andrea!

Ok, I did not know that.

Nevertheless, we are also getting errors on different component resolvers, e.g. 
from a component created by the RelativePathPrefixHandler (see below).

I will adapt my component resolver to see if that fixes it.
Is it documented somewhere that a component resolver should keep the tag id 
up-to-date? I have done my fair share of hacking wicket internal, but was not 
aware of this requirement :-)

{noformat}01 Nov 2016 01:36:58,612 [http-nio-9014-exec-6] ERROR - Unexpected 
error occurred
org.apache.wicket.markup.MarkupNotFoundException: Markup not found for 
Component: [TransparentWebMarkupContainer [Component id = 
wicket_relative_path_prefix_1407702895]]
        at org.apache.wicket.Component.internalRender(Component.java:2381)
        at org.apache.wicket.Component.render(Component.java:2341)
        at 
org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1526)
        at 
org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1729)
        at 
org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1704)
        at 
org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:799)
        at 
org.apache.wicket.markup.html.panel.AssociatedMarkupSourcingStrategy.renderAssociatedMarkup(AssociatedMarkupSourcingStrategy.java:77)
        at 
org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy.onComponentTagBody(PanelMarkupSourcingStrategy.java:112)
        at 
org.apache.wicket.Component.internalRenderComponent(Component.java:2613)
        at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1668)
        at org.apache.wicket.Component.internalRender(Component.java:2413)
        at org.apache.wicket.Component.render(Component.java:2341)
        at 
org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1526)
        at 
org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1729)
        at 
org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1704)
        at 
org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1659)
        at 
org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.onComponentTagBody(DefaultMarkupSourcingStrategy.java:70)
        at 
org.apache.wicket.Component.internalRenderComponent(Component.java:2613)
        at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1668)
        at org.apache.wicket.Component.internalRender(Component.java:2413)
        at org.apache.wicket.Component.render(Component.java:2341)
        at 
org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1526)
        at 
org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1729)
        at org.apache.wicket.Page.onRender(Page.java:879)
        at org.apache.wicket.markup.html.WebPage.onRender(WebPage.java:141)
        at org.apache.wicket.Component.internalRender(Component.java:2413)
        at org.apache.wicket.Component.render(Component.java:2341)
        at org.apache.wicket.Page.renderPage(Page.java:1018)
        at 
org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:124)
        at 
org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:236)
        at 
org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175)
        at 
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:895)
        at 
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
        at 
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265)
        at 
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222)
        at 
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293)
        at 
org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:261)
        at 
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203)
        at 
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:284)
        at 
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
        at 
com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:91)
        at 
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
        at 
com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120)
        at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:135)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
        at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
        at 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1100)
        at 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:687)
        at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
        at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Unknown Source){noformat}

> Component resolvers & variation broken in 7.5.0
> -----------------------------------------------
>
>                 Key: WICKET-6266
>                 URL: https://issues.apache.org/jira/browse/WICKET-6266
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 7.5.0
>            Reporter: Sebastian Gooren
>            Assignee: Andrea Del Bene
>         Attachments: quickstart.zip
>
>
> Auto components fail to render in certain cases due to changes in 
> https://issues.apache.org/jira/browse/WICKET-6231.
> See attached quickstart.
> If you use a component resolver in a page which overrides {{getVariation()}}, 
> but the html file for that page is the "default" one (without the variation 
> in the filename), wicket throws an RTE (MarkupNotFoundException: Markup not 
> found for Component: [WebMarkupContainer [Component id = custom0]]).
> Debugging reveals that this is caused by the change to 
> {{Component#getMarkup()}}. The markup that is set for auto-components might 
> not have the same variation as the html file in which it is used. Because of 
> this, the new {{markupHasCurrentVariation()}} returns {{false}}, and we fall 
> through to the end of {{getMarkup()}}. As the auto-component is dynamically 
> added on each render, {{parent.getMarkup(this)}} returns {{null}} - the 
> markup id gets created on the fly by component resolvers.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to