Re: Behavior.renderHeader being invoked twice

2012-11-25 Thread Nick Pratt
Any thoughts on why Im seeing two invocations of the renderHead method?


On Wed, Nov 21, 2012 at 12:14 PM, Nick Pratt nbpr...@gmail.com wrote:

 I've created a custom Behavior, and attached it to a DataTable.

 I'm seeing two invocations per Page load of myBehavior.renderHeader
 method, stacks below.
 I've confirmed the following:
 1. The containing Panel, and the DataTable are only added and constructed
 once.
 2. The hashcode of the Behavior is the same on both invocations
 3. Ive only added the Behavior once, to the DataTable.

 Are the following stacks expected correct processing for Wicket 6.3.0 ?



 at com.DataTableBehavior.renderHead(DataTableBehavior.java:39)
  at org.apache.wicket.Component.renderHead(Component.java:2700)
 at
 org.apache.wicket.markup.renderStrategy.ChildFirstHeaderRenderStrategy$1.component(ChildFirstHeaderRenderStrategy.java:85)
  at
 org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:96)
 at
 org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:87)
  at
 org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:87)
 at
 org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:51)
  at
 org.apache.wicket.markup.renderStrategy.ChildFirstHeaderRenderStrategy.renderChildHeaders(ChildFirstHeaderRenderStrategy.java:78)
  at
 org.apache.wicket.markup.renderStrategy.ChildFirstHeaderRenderStrategy.renderHeader(ChildFirstHeaderRenderStrategy.java:57)
  at
 org.apache.wicket.markup.html.internal.HtmlHeaderContainer.onComponentTagBody(HtmlHeaderContainer.java:170)
 at
 org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.onComponentTagBody(DefaultMarkupSourcingStrategy.java:71)
  at
 org.apache.wicket.Component.internalRenderComponent(Component.java:2535)
 at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1491)
  at org.apache.wicket.Component.internalRender(Component.java:2365)
 at org.apache.wicket.Component.render(Component.java:2293)
  at
 org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1388)
 at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1553)
  at org.apache.wicket.Page.onRender(Page.java:884)
 at org.apache.wicket.markup.html.WebPage.onRender(WebPage.java:142)
  at org.apache.wicket.Component.internalRender(Component.java:2365)
 @@ at org.apache.wicket.Component.render(Component.java:2293)
  at org.apache.wicket.Page.renderPage(Page.java:1021)
 at
 org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:116)
  at
 org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:244)
 at
 org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:165)
  at
 org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:830)
 at
 org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
  at
 org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:253)
 at
 org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:210)
  at
 org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:281)
 at
 org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)
  at
 org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:245)
 at
 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
  at
 org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:147)
  at
 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
 at
 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
  at
 org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
 at
 org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
  at
 org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
 at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
  at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
 at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
  at org.mortbay.jetty.Server.handle(Server.java:326)
 at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
  at
 org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
 at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
  at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
 at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
  at
 org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
 at
 org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

 --

 at 

Re: Behavior.renderHeader being invoked twice

2012-11-25 Thread Sven Meier

In development config the headers are validated after rendering:

org.apache.wicket.markup.html.WebPage.validateHeaders(WebPage.java:274)

Sven


On 11/25/2012 09:17 PM, Nick Pratt wrote:

Any thoughts on why Im seeing two invocations of the renderHead method?


On Wed, Nov 21, 2012 at 12:14 PM, Nick Pratt nbpr...@gmail.com wrote:


I've created a custom Behavior, and attached it to a DataTable.

I'm seeing two invocations per Page load of myBehavior.renderHeader
method, stacks below.
I've confirmed the following:
1. The containing Panel, and the DataTable are only added and constructed
once.
2. The hashcode of the Behavior is the same on both invocations
3. Ive only added the Behavior once, to the DataTable.

Are the following stacks expected correct processing for Wicket 6.3.0 ?



at com.DataTableBehavior.renderHead(DataTableBehavior.java:39)
  at org.apache.wicket.Component.renderHead(Component.java:2700)
at
org.apache.wicket.markup.renderStrategy.ChildFirstHeaderRenderStrategy$1.component(ChildFirstHeaderRenderStrategy.java:85)
  at
org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:96)
at
org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:87)
  at
org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:87)
at
org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:51)
  at
org.apache.wicket.markup.renderStrategy.ChildFirstHeaderRenderStrategy.renderChildHeaders(ChildFirstHeaderRenderStrategy.java:78)
  at
org.apache.wicket.markup.renderStrategy.ChildFirstHeaderRenderStrategy.renderHeader(ChildFirstHeaderRenderStrategy.java:57)
  at
org.apache.wicket.markup.html.internal.HtmlHeaderContainer.onComponentTagBody(HtmlHeaderContainer.java:170)
at
org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.onComponentTagBody(DefaultMarkupSourcingStrategy.java:71)
  at
org.apache.wicket.Component.internalRenderComponent(Component.java:2535)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1491)
  at org.apache.wicket.Component.internalRender(Component.java:2365)
at org.apache.wicket.Component.render(Component.java:2293)
  at
org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1388)
at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1553)
  at org.apache.wicket.Page.onRender(Page.java:884)
at org.apache.wicket.markup.html.WebPage.onRender(WebPage.java:142)
  at org.apache.wicket.Component.internalRender(Component.java:2365)
@@ at org.apache.wicket.Component.render(Component.java:2293)
  at org.apache.wicket.Page.renderPage(Page.java:1021)
at
org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:116)
  at
org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:244)
at
org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:165)
  at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:830)
at
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
  at
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:253)
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:210)
  at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:281)
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)
  at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:245)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
  at
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:147)
  at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
  at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
  at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
  at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
  at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
  at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
  at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
  at
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at