Hi Andrea,

On Wed, Jul 16, 2014 at 8:33 PM, <[email protected]> wrote:

> Repository: wicket
> Updated Branches:
>   refs/heads/master c24d830cd -> bb9c1044e
>
>
> Code beautifying: method WebPageRenderer.respond
>

What exactly "beautifying" means ?
It is a bit hard to see what is the actual change. It doesn't look like
applying Wicket's code format.


>
> Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
> Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/bb9c1044
> Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/bb9c1044
> Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/bb9c1044
>
> Branch: refs/heads/master
> Commit: bb9c1044e5f1ba8902aa69073ef9fb236802d277
> Parents: c24d830
> Author: andrea del bene <[email protected]>
> Authored: Wed Jul 16 19:33:16 2014 +0200
> Committer: andrea del bene <[email protected]>
> Committed: Wed Jul 16 19:33:16 2014 +0200
>
> ----------------------------------------------------------------------
>  .../request/handler/render/WebPageRenderer.java | 169 +++++++++----------
>  1 file changed, 82 insertions(+), 87 deletions(-)
> ----------------------------------------------------------------------
>
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/bb9c1044/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java
> b/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java
> index 0b5dee4..af9dbee 100644
> ---
> a/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java
> +++
> b/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java
> @@ -198,99 +198,94 @@ public class WebPageRenderer extends PageRenderer
>                         // if there is saved response for this URL render
> it
>
> bufferedResponse.writeTo((WebResponse)requestCycle.getResponse());
>                 }
> +               else if (shouldRenderPageAndWriteResponse(requestCycle,
> currentUrl, targetUrl))
> +               {
> +                       BufferedWebResponse response =
> renderPage(currentUrl, requestCycle);
> +                       if (response != null)
> +                       {
> +
> response.writeTo((WebResponse)requestCycle.getResponse());
> +                       }
> +               }
> +               else if (shouldRedirectToTargetUrl(requestCycle,
> currentUrl, targetUrl))
> +               {
> +
> +                       redirectTo(targetUrl, requestCycle);
> +
> +                       // note: if we had session here we would render
> the page to buffer and then
> +                       // redirect to URL generated *after* page has been
> rendered (the statelessness
> +                       // may change during render). this would save one
> redirect because now we have
> +                       // to render to URL generated *before* page is
> rendered, render the page, get
> +                       // URL after render and if the URL is different
> (meaning page is not stateless),
> +                       // save the buffer and redirect again (which is
> pretty much what the next step
> +                       // does)
> +               }
>                 else
>                 {
> -                       if (shouldRenderPageAndWriteResponse(requestCycle,
> currentUrl, targetUrl)) //
> +                       if (isRedirectToBuffer() == false &&
> logger.isDebugEnabled())
> +                       {
> +                               String details = String
> +                                       .format(
> +                                               "redirect strategy: '%s',
> isAjax: '%s', redirect policy: '%s', "
> +                                                       + "current url:
> '%s', target url: '%s', is new: '%s', is stateless: '%s', is temporary:
> '%s'",
> +
> Application.get().getRequestCycleSettings().getRenderStrategy(),
> +                                               isAjax(requestCycle),
> getRedirectPolicy(), currentUrl, targetUrl,
> +                                               isNewPageInstance(),
> isPageStateless(), isSessionTemporary());
> +                               logger
> +                                       .debug("Falling back to
> Redirect_To_Buffer render strategy because none of the conditions "
> +                                               + "matched. Details: " +
> details);
> +                       }
> +
> +                       // force creation of possible stateful page to get
> the final target url
> +                       getPage();
> +
> +                       Url beforeRenderUrl =
> requestCycle.mapUrlFor(getRenderPageRequestHandler());
> +
> +                       // redirect to buffer
> +                       BufferedWebResponse response =
> renderPage(beforeRenderUrl, requestCycle);
> +
> +                       if (response == null)
> +                       {
> +                               return;
> +                       }
> +
> +                       // the url might have changed after page has been
> rendered (e.g. the
> +                       // stateless flag might have changed because
> stateful components
> +                       // were added)
> +                       final Url afterRenderUrl = requestCycle
> +                               .mapUrlFor(getRenderPageRequestHandler());
> +
> +                       if
> (beforeRenderUrl.getSegments().equals(afterRenderUrl.getSegments()) ==
> false)
>                         {
> -                               BufferedWebResponse response =
> renderPage(currentUrl, requestCycle);
> -                               if (response != null)
> -                               {
> -
> response.writeTo((WebResponse)requestCycle.getResponse());
> -                               }
> +                               // the amount of segments is different -
> generated relative URLs
> +                               // will not work, we need to rerender the
> page. This can happen
> +                               // with IRequestHandlers that produce
> different URLs with
> +                               // different amount of segments for
> stateless and stateful pages
> +                               response = renderPage(afterRenderUrl,
> requestCycle);
> +                       }
> +
> +                       if (currentUrl.equals(afterRenderUrl))
> +                       {
> +                               // no need to redirect when both urls are
> exactly the same
> +
> response.writeTo((WebResponse)requestCycle.getResponse());
> +                       }
> +                       // if page is still stateless after render
> +                       else if (isPageStateless() &&
> !enableRedirectForStatelessPage())
> +                       {
> +                               // we don't want the redirect to happen
> for stateless page
> +                               // example:
> +                               // when a normal mounted stateful page is
> hit at /mount/point
> +                               // wicket renders the page to buffer and
> redirects to /mount/point?12
> +                               // but for stateless page the redirect is
> not necessary
> +                               // also for listener interface on stateful
> page we want to redirect
> +                               // after the listener is invoked, but on
> stateless page the user
> +                               // must ask for redirect explicitly
> +
> response.writeTo((WebResponse)requestCycle.getResponse());
>                         }
>                         else
>                         {
> -                               if
> (shouldRedirectToTargetUrl(requestCycle, currentUrl, targetUrl))
> -                               {
> -                                       redirectTo(targetUrl,
> requestCycle);
> -
> -                                       // note: if we had session here we
> would render the page to buffer and then
> -                                       // redirect to URL generated
> *after* page has been rendered (the statelessness
> -                                       // may change during render). this
> would save one redirect because now we have
> -                                       // to render to URL generated
> *before* page is rendered, render the page, get
> -                                       // URL after render and if the URL
> is different (meaning page is not stateless),
> -                                       // save the buffer and redirect
> again (which is pretty much what the next step
> -                                       // does)
> -                               }
> -                               else
> -                               {
> -                                       if (isRedirectToBuffer() == false
> && logger.isDebugEnabled())
> -                                       {
> -                                               String details = String
> -                                                       .format(
> -                                                               "redirect
> strategy: '%s', isAjax: '%s', redirect policy: '%s', "
> -                                                                       +
> "current url: '%s', target url: '%s', is new: '%s', is stateless: '%s', is
> temporary: '%s'",
> -
> Application.get().getRequestCycleSettings().getRenderStrategy(),
> -
> isAjax(requestCycle), getRedirectPolicy(), currentUrl, targetUrl,
> -
> isNewPageInstance(), isPageStateless(), isSessionTemporary());
> -                                               logger
> -                                                       .debug("Falling
> back to Redirect_To_Buffer render strategy because none of the conditions "
> -                                                               +
> "matched. Details: " + details);
> -                                       }
> -
> -                                       // force creation of possible
> stateful page to get the final target url
> -                                       getPage();
> -
> -                                       Url beforeRenderUrl =
> requestCycle.mapUrlFor(getRenderPageRequestHandler());
> -
> -                                       // redirect to buffer
> -                                       BufferedWebResponse response =
> renderPage(beforeRenderUrl, requestCycle);
> -
> -                                       if (response == null)
> -                                       {
> -                                               return;
> -                                       }
> -
> -                                       // the url might have changed
> after page has been rendered (e.g. the
> -                                       // stateless flag might have
> changed because stateful components
> -                                       // were added)
> -                                       final Url afterRenderUrl =
> requestCycle
> -
> .mapUrlFor(getRenderPageRequestHandler());
> -
> -                                       if
> (beforeRenderUrl.getSegments().equals(afterRenderUrl.getSegments()) ==
> false)
> -                                       {
> -                                               // the amount of segments
> is different - generated relative URLs
> -                                               // will not work, we need
> to rerender the page. This can happen
> -                                               // with IRequestHandlers
> that produce different URLs with
> -                                               // different amount of
> segments for stateless and stateful pages
> -                                               response =
> renderPage(afterRenderUrl, requestCycle);
> -                                       }
> -
> -                                       if
> (currentUrl.equals(afterRenderUrl))
> -                                       {
> -                                               // no need to redirect
> when both urls are exactly the same
> -
> response.writeTo((WebResponse)requestCycle.getResponse());
> -                                       }
> -                                       // if page is still stateless
> after render
> -                                       else if (isPageStateless() &&
> !enableRedirectForStatelessPage())
> -                                       {
> -                                               // we don't want the
> redirect to happen for stateless page
> -                                               // example:
> -                                               // when a normal mounted
> stateful page is hit at /mount/point
> -                                               // wicket renders the page
> to buffer and redirects to /mount/point?12
> -                                               // but for stateless page
> the redirect is not necessary
> -                                               // also for listener
> interface on stateful page we want to redirect
> -                                               // after the listener is
> invoked, but on stateless page the user
> -                                               // must ask for redirect
> explicitly
> -
> response.writeTo((WebResponse)requestCycle.getResponse());
> -                                       }
> -                                       else
> -                                       {
> -
> storeBufferedResponse(afterRenderUrl, response);
> -
> -                                               redirectTo(afterRenderUrl,
> requestCycle);
> -                                       }
> -                               }
> +                               storeBufferedResponse(afterRenderUrl,
> response);
> +
> +                               redirectTo(afterRenderUrl, requestCycle);
>                         }
>                 }
>         }
>
>

Reply via email to