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);
>>                       }
>> 
>> 
>> 
>> 

Reply via email to