On Mon, Dec 8, 2014 at 11:06 PM, <[email protected]> wrote:

> Repository: wicket
> Updated Branches:
>   refs/heads/master b6259e5f3 -> 4c931bd97
>
>
> WICKET-5777 Reload of page leads to WicketRuntimeException
>
> Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
> Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/4c931bd9
> Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/4c931bd9
> Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/4c931bd9
>
> Branch: refs/heads/master
> Commit: 4c931bd975a16acd8c05572a5d81e636c390bb93
> Parents: b6259e5
> Author: Andrea Del Bene <[email protected]>
> Authored: Mon Dec 8 23:05:49 2014 +0100
> Committer: Andrea Del Bene <[email protected]>
> Committed: Mon Dec 8 23:05:49 2014 +0100
>
> ----------------------------------------------------------------------
>  .../markup/resolver/HtmlHeaderResolver.java     | 37 +++++++++++++++++---
>  1 file changed, 32 insertions(+), 5 deletions(-)
> ----------------------------------------------------------------------
>
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/4c931bd9/wicket-core/src/main/java/org/apache/wicket/markup/resolver/HtmlHeaderResolver.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-core/src/main/java/org/apache/wicket/markup/resolver/HtmlHeaderResolver.java
> b/wicket-core/src/main/java/org/apache/wicket/markup/resolver/HtmlHeaderResolver.java
> index a915a75..408d9d7 100644
> ---
> a/wicket-core/src/main/java/org/apache/wicket/markup/resolver/HtmlHeaderResolver.java
> +++
> b/wicket-core/src/main/java/org/apache/wicket/markup/resolver/HtmlHeaderResolver.java
> @@ -94,20 +94,29 @@ public class HtmlHeaderResolver implements
> IComponentResolver
>                                 // It is <wicket:head>. Because they do
> not provide any
>                                 // additional functionality they are
> merely a means of surrounding relevant
>                                 // markup. Thus we simply create a
> WebMarkupContainer to handle
> -                               // the tag.
> -                               WebMarkupContainer wicketHeadContainer =
> new WicketHeadContainer();
> -
> +                               // the tag (class WicketHeadContainer).
> +
>                                 if (header == null)
>                                 {
>                                         // Create a special header
> component which will gather
>                                         // additional input the <head>
> from 'contributors'.
>                                         header =
> newHtmlHeaderContainer(HtmlHeaderSectionHandler.HEADER_ID +
>                                                 page.getAutoIndex(), tag);
> -                                       header.add(wicketHeadContainer);
> +                                       header.add(new
> WicketHeadContainer());
>                                         return header;
>                                 }
>
> -                               header.add(wicketHeadContainer);
> +                               WicketHeadContainer wicketHeadContainer =
> +                                       header.visitChildren(new
> FindWicketHeadContainer());
> +
> +                               //We just need one WicketHeadContainer, no
> matter how
> +                               //many <wicket:head> we have.
> +                               if (wicketHeadContainer == null)
> +                               {
> +                                       wicketHeadContainer = new
> WicketHeadContainer();
> +                                       header.add(wicketHeadContainer);
> +                               }
> +
>                                 return wicketHeadContainer;
>                         }
>                         else if (container instanceof HtmlHeaderContainer)
> @@ -183,4 +192,22 @@ public class HtmlHeaderResolver implements
> IComponentResolver
>                         setRenderBodyOnly(true);
>                 }
>         }
> +
> +       /**
> +        * Visitor to find children of type {@link WicketHeadContainer}}
> +        */
> +       private static class FindWicketHeadContainer implements
> +                       IVisitor<Component, WicketHeadContainer>
> +       {
> +               @Override
> +               public void component(Component component,
> IVisit<WicketHeadContainer> visit)
> +               {
> +                       if(component instanceof WicketHeadContainer)
>

Wicket style uses a space after 'if' and before '('


> +                       {
> +                               WicketHeadContainer reult =
> (WicketHeadContainer)component;
>

s/reult/result/


> +                               visit.stop(reult);
> +                       }
> +               }
> +
> +       }
>  }
>
>

Reply via email to