Hi Martin, static methods can not be final as you can not overload them. The keyword is without any effect on static methods.
It's similar to 'private final'. If you mind I can leave them but I find it confusing. I will split my commits into functional and non-functional changes in future, you are absolutely right. Sorry for the confusion. Am 08.09.2010 um 20:38 schrieb Martin Grigorov: > 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); >> } >> >> >> >>
