You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wicket.apache.org by Martin Grigorov <mg...@apache.org> on 2010/09/08 20:38:31 UTC
Re: svn commit: r993571 - in /wicket/trunk/wicket/src/main/java/org/apache/wicket:
ajax/AbstractDefaultAjaxBehavior.java ajax/AjaxRequestTarget.java request/handler/ListenerInterfaceRequestHandler.java
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, <pe...@apache.org> 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);
> }
>
>
>
>
Re: svn commit: r993571 - in /wicket/trunk/wicket/src/main/java/org/apache/wicket: ajax/AbstractDefaultAjaxBehavior.java ajax/AjaxRequestTarget.java request/handler/ListenerInterfaceRequestHandler.java
Posted by Peter Ertl <pe...@gmx.org>.
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, <pe...@apache.org> 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);
>> }
>>
>>
>>
>>