[
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)