Hi Peter,
Is there a reason to remove "final" from
- public static final CharSequence throttleScript(CharSequence script,
String throttleId,
+ public static CharSequence throttleScript(CharSequence script,
String throttleId,
Duration throttleDelay)
?
I don't see a reason for this change in this commit.
Are you sure that you use the committed .settings/ because it is very hard
to follow the changes in your commits. A big part is actually re-formatting
of the code.
Maybe you use IDEA or Netbeans...
Please split future commits in two parts: 1) code formatting w/o functional
changes and 2) the functional changes themselves.
Many thanks!
martin-g
On Wed, Sep 8, 2010 at 3:10 AM, <[email protected]> wrote:
> Author: pete
> Date: Wed Sep 8 01:10:15 2010
> New Revision: 993571
>
> URL: http://svn.apache.org/viewvc?rev=993571&view=rev
> Log:
> WICKET-3035: AjaxRequestTarget can be not only invoked from
> AbstractDefaultAjaxBehavior but also directly from RequestHandlerStack (and
> others). The testing for ajax requests in ListenerInterfaceRequestHandler
> did not work for test cases. some cleanup.
>
> Modified:
>
>
> wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java
>
>
> wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
>
>
> wicket/trunk/wicket/src/main/java/org/apache/wicket/request/handler/ListenerInterfaceRequestHandler.java
>
> Modified:
> wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java
> URL:
> http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java?rev=993571&r1=993570&r2=993571&view=diff
>
> ==============================================================================
> ---
> wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java
> (original)
> +++
> wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java
> Wed Sep 8 01:10:15 2010
> @@ -289,32 +289,20 @@ public abstract class AbstractDefaultAja
> */
> public final void onRequest()
> {
> - final Page page = getComponent().getPage();
> + WebApplication app =
> (WebApplication)getComponent().getApplication();
> + AjaxRequestTarget target =
> app.newAjaxRequestTarget(getComponent().getPage());
>
> - // do not increment page id during ajax processing
> - boolean previous = page.setFreezePageId(true);
> + RequestCycle requestCycle = RequestCycle.get();
> + requestCycle.scheduleRequestHandlerAfterCurrent(target);
>
> - try
> - {
> - WebApplication app =
> (WebApplication)getComponent().getApplication();
> - AjaxRequestTarget target =
> app.newAjaxRequestTarget(page);
> -
> - RequestCycle requestCycle = RequestCycle.get();
> -
> requestCycle.scheduleRequestHandlerAfterCurrent(target);
> -
> - Url oldBaseURL =
> requestCycle.getUrlRenderer().getBaseUrl();
> - WebRequest request =
> (WebRequest)requestCycle.getRequest();
> - Url baseURL =
> Url.parse(request.getHeader("Wicket-Ajax-BaseURL"), request.getCharset());
> - requestCycle.getUrlRenderer().setBaseUrl(baseURL);
> + Url oldBaseURL =
> requestCycle.getUrlRenderer().getBaseUrl();
> + WebRequest request = (WebRequest)requestCycle.getRequest();
> + Url baseURL =
> Url.parse(request.getHeader("Wicket-Ajax-BaseURL"), request.getCharset());
> + requestCycle.getUrlRenderer().setBaseUrl(baseURL);
>
> - respond(target);
> + respond(target);
>
> -
> requestCycle.getUrlRenderer().setBaseUrl(oldBaseURL);
> - }
> - finally
> - {
> - page.setFreezePageId(previous);
> - }
> + requestCycle.getUrlRenderer().setBaseUrl(oldBaseURL);
> }
>
> /**
> @@ -346,7 +334,7 @@ public abstract class AbstractDefaultAja
> * time span within which the javascript block will only
> execute once
> * @return wrapped javascript
> */
> - public static final CharSequence throttleScript(CharSequence
> script, String throttleId,
> + public static CharSequence throttleScript(CharSequence script,
> String throttleId,
> Duration throttleDelay)
> {
> if (Strings.isEmpty(script))
>
> Modified:
> wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
> URL:
> http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java?rev=993571&r1=993570&r2=993571&view=diff
>
> ==============================================================================
> ---
> wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
> (original)
> +++
> wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
> Wed Sep 8 01:10:15 2010
> @@ -537,80 +537,90 @@ public class AjaxRequestTarget implement
> */
> public final void respond(final IRequestCycle requestCycle)
> {
> - RequestCycle rc = (RequestCycle)requestCycle;
> - Url oldBaseURL = rc.getUrlRenderer().getBaseUrl();
> - WebRequest request = (WebRequest)requestCycle.getRequest();
> - Url baseURL =
> Url.parse(request.getHeader("Wicket-Ajax-BaseURL"), request.getCharset());
> -
> - rc.getUrlRenderer().setBaseUrl(baseURL);
> -
> - final WebResponse response =
> (WebResponse)requestCycle.getResponse();
> -
> - if (markupIdToComponent.values().contains(page))
> - {
> - // the page itself has been added to the request
> target, we simply issue a redirect back
> - // to the page
> - IRequestHandler handler = new
> RenderPageRequestHandler(new PageProvider(page));
> - final String url = rc.urlFor(handler).toString();
> - response.sendRedirect(url);
> - return;
> - }
> + // do not increment page id during ajax processing
> + boolean frozen = page.setFreezePageId(true);
>
> - for (ITargetRespondListener listener : respondListeners)
> + try
> {
> - listener.onTargetRespond(this);
> - }
> + RequestCycle rc = (RequestCycle)requestCycle;
> + Url oldBaseURL = rc.getUrlRenderer().getBaseUrl();
> + WebRequest request =
> (WebRequest)requestCycle.getRequest();
> + Url baseURL =
> Url.parse(request.getHeader("Wicket-Ajax-BaseURL"), request.getCharset());
>
> - final Application app = Application.get();
> + rc.getUrlRenderer().setBaseUrl(baseURL);
>
> - // Determine encoding
> - final String encoding =
> app.getRequestCycleSettings().getResponseRequestEncoding();
> + final WebResponse response =
> (WebResponse)requestCycle.getResponse();
>
> - // Set content type based on markup type for page
> - response.setContentType("text/xml; charset=" + encoding);
> + if (markupIdToComponent.values().contains(page))
> + {
> + // the page itself has been added to the
> request target, we simply issue a redirect back
> + // to the page
> + IRequestHandler handler = new
> RenderPageRequestHandler(new PageProvider(page));
> + final String url =
> rc.urlFor(handler).toString();
> + response.sendRedirect(url);
> + return;
> + }
>
> - // Make sure it is not cached by a client
> - RequestUtils.disableCaching(response);
> + for (ITargetRespondListener listener :
> respondListeners)
> + {
> + listener.onTargetRespond(this);
> + }
>
> - response.write("<?xml version=\"1.0\" encoding=\"");
> - response.write(encoding);
> - response.write("\"?>");
> - response.write("<ajax-response>");
> + final Application app = Application.get();
>
> - // invoke onbeforerespond event on listeners
> - fireOnBeforeRespondListeners();
> + // Determine encoding
> + final String encoding =
> app.getRequestCycleSettings().getResponseRequestEncoding();
>
> - // normal behavior
> - Iterator<CharSequence> it = prependJavascripts.iterator();
> - while (it.hasNext())
> - {
> - CharSequence js = it.next();
> - respondInvocation(response, js);
> - }
> + // Set content type based on markup type for page
> + response.setContentType("text/xml; charset=" +
> encoding);
>
> - // process added components
> - respondComponents(response);
> + // Make sure it is not cached by a client
> + RequestUtils.disableCaching(response);
>
> - fireOnAfterRespondListeners(response);
> + response.write("<?xml version=\"1.0\"
> encoding=\"");
> + response.write(encoding);
> + response.write("\"?>");
> + response.write("<ajax-response>");
>
> - // execute the dom ready javascripts as first javascripts
> - // after component replacement
> - it = domReadyJavascripts.iterator();
> - while (it.hasNext())
> - {
> - CharSequence js = it.next();
> - respondInvocation(response, js);
> + // invoke onbeforerespond event on listeners
> + fireOnBeforeRespondListeners();
> +
> + // normal behavior
> + Iterator<CharSequence> it =
> prependJavascripts.iterator();
> + while (it.hasNext())
> + {
> + CharSequence js = it.next();
> + respondInvocation(response, js);
> + }
> +
> + // process added components
> + respondComponents(response);
> +
> + fireOnAfterRespondListeners(response);
> +
> + // execute the dom ready javascripts as first
> javascripts
> + // after component replacement
> + it = domReadyJavascripts.iterator();
> + while (it.hasNext())
> + {
> + CharSequence js = it.next();
> + respondInvocation(response, js);
> + }
> + it = appendJavascripts.iterator();
> + while (it.hasNext())
> + {
> + CharSequence js = it.next();
> + respondInvocation(response, js);
> + }
> +
> + response.write("</ajax-response>");
> +
> + rc.getUrlRenderer().setBaseUrl(oldBaseURL);
> }
> - it = appendJavascripts.iterator();
> - while (it.hasNext())
> + finally
> {
> - CharSequence js = it.next();
> - respondInvocation(response, js);
> + page.setFreezePageId(frozen);
> }
> -
> - response.write("</ajax-response>");
> -
> - rc.getUrlRenderer().setBaseUrl(oldBaseURL);
> }
>
> /**
>
> Modified:
> wicket/trunk/wicket/src/main/java/org/apache/wicket/request/handler/ListenerInterfaceRequestHandler.java
> URL:
> http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/handler/ListenerInterfaceRequestHandler.java?rev=993571&r1=993570&r2=993571&view=diff
>
> ==============================================================================
> ---
> wicket/trunk/wicket/src/main/java/org/apache/wicket/request/handler/ListenerInterfaceRequestHandler.java
> (original)
> +++
> wicket/trunk/wicket/src/main/java/org/apache/wicket/request/handler/ListenerInterfaceRequestHandler.java
> Wed Sep 8 01:10:15 2010
> @@ -161,9 +161,10 @@ public class ListenerInterfaceRequestHan
> * not.
> */
> Boolean frozen = null;
> -
> +
> if (isAjax)
> {
> + // do not increment page id for ajax
> requests
> frozen = page.setFreezePageId(true);
> }
>
>
>
>