Ticket + quickstart

On Mon, Nov 14, 2011 at 2:39 PM, Michal Wegrzyn
<[email protected]> wrote:
> Just tried with 1.5.3 - unfortunately I still get an exception.
>
>> -----Original Message-----
>> From: Martin Grigorov [mailto:[email protected]]
>> Sent: Thursday, November 10, 2011 14:50
>> To: [email protected]
>> Subject: Re: abort loading lazy components
>>
>> This is fixed in 1.5.3 (currently in voting)
>>
>> On Thu, Nov 10, 2011 at 3:37 PM, Michal Wegrzyn
>> <[email protected]> wrote:
>> >> -----Original Message-----
>> >> From: Martin Grigorov [mailto:[email protected]]
>> >> Sent: Thursday, November 10, 2011 9:48
>> >> To: [email protected]
>> >> Subject: Re: abort loading lazy components
>> >>
>> >> Hi,
>> >>
>> >> I see no solution for your case.
>> >> Using BookmarkablePageLink works as you confirmed but I'm not aware
>> of
>> >> clean way to cancel running Ajax requests and replace them with
>> >> completely new one.
>> >>
>> >> XMLHttpRequest has #abort() method which cancels the request but
>> this
>> >> will lead co "socket close exception"s in the server side.
>> >>
>> >
>> > Right, I've already looked at XMLHttpRequest#abort(). It wouldn't be
>> a "clean" solution anyway.
>> >
>> >> The best approach I see is to use the same AjaxChannel name for all
>> >> LazyLoadPanels and the AjaxLinks. The LazyLoadPanels should use type
>> >> QUEUE and the AjaxLinks - type DROP. This way all LazyLoadPanels
>> will
>> >> load sequencially and if you click an AjaxLink it will cancel all
>> >> pending LazyLoadPanels and will schedule the execution of the
>> AjaxLink
>> >> after the end of the currently loading LazyLoadPanel
>> >>
>> >> HTH
>> >
>> > That's what I've already done - Wicket schedules and executes
>> AjaxLink action (it does not wait for other lazy panels - so far, so
>> good ), but then (already during handling new ajax request) Wicket
>> throws exception. Isn't it a Wicket bug?
>> >
>> > 15:31:11.847 user [http-8888-2] WARN
>>  o.a.w.r.h.render.WebPageRenderer - The Buffered response should be
>> handled by BufferedResponseRequestHandler
>> > 15:32:24.028 user [http-8888-5] ERROR
>> o.a.wicket.DefaultExceptionMapper - Unexpected error occurred
>> > org.apache.wicket.request.handler.ComponentNotFoundException: Could
>> not find component
>> 'folders:listContainer:itemList:29:itemPanel:folder:children' on page
>> 'class package.MyPage
>> >        at
>> org.apache.wicket.request.handler.PageAndComponentProvider.getComponent
>> (PageAndComponentProvider.java:167)
>> >        at
>> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.getCo
>> mponent(ListenerInterfaceRequestHandler.java:92)
>> >        at
>> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respo
>> nd(ListenerInterfaceRequestHandler.java:169)
>> >        at
>> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(Re
>> questCycle.java:750)
>> >        at
>> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerSta
>> ck.java:64)
>> >        at
>> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:
>> 252)
>> >        at
>> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycl
>> e.java:209)
>> >        at
>> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(Re
>> questCycle.java:280)
>> >        at
>> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilte
>> r.java:162)
>> >        at
>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java
>> :218)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
>> ationFilterChain.java:235)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
>> terChain.java:206)
>> >        at
>> package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
>> ationFilterChain.java:235)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
>> terChain.java:206)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:368)
>> >        at
>> org.springframework.security.web.access.intercept.FilterSecurityInterce
>> ptor.invoke(FilterSecurityInterceptor.java:109)
>> >        at
>> org.springframework.security.web.access.intercept.FilterSecurityInterce
>> ptor.doFilter(FilterSecurityInterceptor.java:83)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.access.ExceptionTranslationFilter.doFi
>> lter(ExceptionTranslationFilter.java:97)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.session.SessionManagementFilter.doFilt
>> er(SessionManagementFilter.java:100)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.authentication.AnonymousAuthentication
>> Filter.doFilter(AnonymousAuthenticationFilter.java:78)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.servletapi.SecurityContextHolderAwareR
>> equestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.d
>> oFilter(RequestCacheAwareFilter.java:35)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.authentication.AbstractAuthenticationP
>> rocessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:18
>> 7)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.authentication.logout.LogoutFilter.doF
>> ilter(LogoutFilter.java:105)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.context.SecurityContextPersistenceFilt
>> er.doFilter(SecurityContextPersistenceFilter.java:79)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainP
>> roxy.java:169)
>> >        at
>> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Del
>> egatingFilterProxy.java:237)
>> >        at
>> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegatin
>> gFilterProxy.java:167)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
>> ationFilterChain.java:235)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
>> terChain.java:206)
>> >        at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal
>> ve.java:233)
>> >        at
>> org.apache.catalina.core.StandardContextValve.__invoke(StandardContextV
>> alve.java:191)
>> >        at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal
>> ve.java)
>> >        at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav
>> a:127)
>> >        at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav
>> a:102)
>> >        at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve
>> .java:109)
>> >        at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
>> 298)
>> >        at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:8
>> 57)
>> >        at
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process
>> (Http11Protocol.java:588)
>> >        at
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>> >        at java.lang.Thread.run(Unknown Source) 15:32:24.050 user
>> [http-8888-5] ERROR o.a.w.request.RequestHandlerStack - Error detaching
>> RequestHandler
>> > org.apache.wicket.request.handler.ComponentNotFoundException: Could
>> not find component
>> 'folders:listContainer:itemList:29:itemPanel:folder:children' on page
>> 'class package.MyPage
>> >        at
>> org.apache.wicket.request.handler.PageAndComponentProvider.getComponent
>> (PageAndComponentProvider.java:167)
>> >        at
>> org.apache.wicket.request.handler.logger.ListenerInterfaceLogData.<init
>> >(ListenerInterfaceLogData.java:51)
>> >        at
>> org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.detac
>> h(ListenerInterfaceRequestHandler.java:134)
>> >        at
>> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.detach(Req
>> uestCycle.java:761)
>> >        at
>> org.apache.wicket.request.RequestHandlerStack.detach(RequestHandlerStac
>> k.java:180)
>> >        at
>> org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java
>> :565)
>> >        at
>> org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:5
>> 08)
>> >        at
>> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(Re
>> questCycle.java:284)
>> >        at
>> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilte
>> r.java:162)
>> >        at
>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java
>> :218)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
>> ationFilterChain.java:235)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
>> terChain.java:206)
>> >        at
>> package.MyRequestContextFilter.doFilter(MyRequestContextFilter.java:43)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
>> ationFilterChain.java:235)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
>> terChain.java:206)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:368)
>> >        at
>> org.springframework.security.web.access.intercept.FilterSecurityInterce
>> ptor.invoke(FilterSecurityInterceptor.java:109)
>> >        at
>> org.springframework.security.web.access.intercept.FilterSecurityInterce
>> ptor.doFilter(FilterSecurityInterceptor.java:83)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.access.ExceptionTranslationFilter.doFi
>> lter(ExceptionTranslationFilter.java:97)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.session.SessionManagementFilter.doFilt
>> er(SessionManagementFilter.java:100)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.authentication.AnonymousAuthentication
>> Filter.doFilter(AnonymousAuthenticationFilter.java:78)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.servletapi.SecurityContextHolderAwareR
>> equestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.d
>> oFilter(RequestCacheAwareFilter.java:35)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.authentication.AbstractAuthenticationP
>> rocessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:18
>> 7)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.authentication.logout.LogoutFilter.doF
>> ilter(LogoutFilter.java:105)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.context.SecurityContextPersistenceFilt
>> er.doFilter(SecurityContextPersistenceFilter.java:79)
>> >        at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.do
>> Filter(FilterChainProxy.java:380)
>> >        at
>> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainP
>> roxy.java:169)
>> >        at
>> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Del
>> egatingFilterProxy.java:237)
>> >        at
>> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegatin
>> gFilterProxy.java:167)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
>> ationFilterChain.java:235)
>> >        at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
>> terChain.java:206)
>> >        at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal
>> ve.java:233)
>> >        at
>> org.apache.catalina.core.StandardContextValve.__invoke(StandardContextV
>> alve.java:191)
>> >        at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal
>> ve.java)
>> >        at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav
>> a:127)
>> >        at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav
>> a:102)
>> >        at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve
>> .java:109)
>> >        at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
>> 298)
>> >        at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:8
>> 57)
>> >        at
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process
>> (Http11Protocol.java:588)
>> >        at
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>> >        at java.lang.Thread.run(Unknown Source)
>> > 15:32:24.183 user [http-8888-2] WARN
>>  o.a.w.r.h.render.WebPageRenderer - The Buffered response should be
>> handled by BufferedResponseRequestHandler
>> >
>> >
>> >> On Thu, Nov 10, 2011 at 10:37 AM, Michal Wegrzyn
>> >> <[email protected]> wrote:
>> >> > Hi,
>> >> >
>> >> > Could you please tell me what is the status of this issue?
>> >> > Should I create a Jira issue and/or quickstart or is it won't
>> >> fix/invalid?
>> >> >
>> >> > Best regards,
>> >> > Michal Wegrzyn
>> >> >
>> >> >> -----Original Message-----
>> >> >> From: Michal Wegrzyn [mailto:[email protected]]
>> >> >> Sent: Friday, November 04, 2011 11:56
>> >> >> To: [email protected]
>> >> >> Subject: RE: abort loading lazy components
>> >> >>
>> >> >> Thanks for an update Martin.
>> >> >>
>> >> >> Unfortunately using IAjaxCallDecorator#decorateScript() prevents
>> >> >> handling request (nothing happens).
>> >> >> If I append the stop script directly to ajax request target
>> (before
>> >> >> sending event), then request proceeds, but the first lazy
>> component
>> >> is
>> >> >> not loaded.
>> >> >>
>> >> >> Also, the stop script breaks ajax indicators (both from lazy
>> >> components
>> >> >> and indicating links). Exceptions still are present, but page
>> isn't
>> >> >> crashing.
>> >> >>
>> >> >> So far the closest solution was using BookmarkablePageLink, but
>> it
>> >> is
>> >> >> not ajax and it is just a workaround.
>> >> >>
>> >> >> Isn't there a way to prevent Wicket from handling "old" ajax
>> >> requests?
>> >> >> I assume that's how it should work with DROP channel.
>> >> >>
>> >> >> Best regards,
>> >> >> Michal Wegrzyn
>> >> >>
>> >> >> > -----Original Message-----
>> >> >> > From: Martin Grigorov [mailto:[email protected]]
>> >> >> > Sent: Thursday, November 03, 2011 17:54
>> >> >> > To: [email protected]
>> >> >> > Subject: Re: abort loading lazy components
>> >> >> >
>> >> >> > Here is something that I didn't know so far:
>> >> >> > http://stackoverflow.com/questions/930237/javascript-cancel-
>> stop-
>> >> >> image-
>> >> >> > requests/1468452#1468452
>> >> >> >
>> >> >> > It seems there is a way to simulate browser's stop button with
>> >> >> > JavaScript.
>> >> >> > Try to use that code from IAjaxCallDecorator#decorateScript()
>> for
>> >> >> your
>> >> >> > AjaxLink.
>> >> >> >
>> >> >> > On Thu, Nov 3, 2011 at 3:00 PM, Michal Wegrzyn
>> >> >> > <[email protected]> wrote:
>> >> >> > > I've just debugged and indeed problem is that there is no
>> >> component
>> >> >> > with id "29".
>> >> >> > > So clearly Wicket looks for an lazy "children" component from
>> >> >> > outdated DataView component.
>> >> >> > >
>> >> >> > > Michal
>> >> >> > >
>> >> >> > >> -----Original Message-----
>> >> >> > >> From: Michal Wegrzyn [mailto:[email protected]]
>> >> >> > >> Sent: Wednesday, November 02, 2011 16:11
>> >> >> > >> To: [email protected]
>> >> >> > >> Subject: RE: abort loading lazy components
>> >> >> > >>
>> >> >> > >> It is triggered when there is already new "itemList" (it
>> >> extends
>> >> >> > >> DataView), so I suppose that
>> >> >> > >> PageAndComponentProvider looks for "itemList:29", which does
>> >> not
>> >> >> > exists
>> >> >> > >> anymore.
>> >> >> > >>
>> >> >> > >> Scenario:
>> >> >> > >>
>> >> >> > >> - Page is loaded but lazy components
>> >> >> > >> ('folders:listContainer:itemList:itemPanel:folder:children')
>> >> are
>> >> >> > still
>> >> >> > >> loading
>> >> >> > >> - User triggers folder change (itemList is replaced)
>> >> >> > >> - Exception occurs
>> >> >> > >>
>> >> >> > >> If user triggers folder change when lazy components are
>> >> completely
>> >> >> > >> loaded (or during loading the last one) there is no
>> exception
>> >> at
>> >> >> > all.
>> >> >> > >>
>> >> >> > >> Best Regards,
>> >> >> > >> Michal Wegrzyn
>> >> >> > >>
>> >> >> > >> -----Original Message-----
>> >> >> > >> From: Martin Grigorov [mailto:[email protected]]
>> >> >> > >> Sent: Wednesday, November 02, 2011 15:54
>> >> >> > >> To: [email protected]
>> >> >> > >> Subject: Re: abort loading lazy components
>> >> >> > >>
>> >> >> > >> On Wed, Nov 2, 2011 at 4:49 PM, Michal Wegrzyn
>> >> >> > >> <[email protected]> wrote:
>> >> >> > >> > 15:32:24.028 user [http-8888-5] ERROR
>> >> >> > >> o.a.wicket.DefaultExceptionMapper - Unexpected error
>> occurred
>> >> >> > >> >
>> org.apache.wicket.request.handler.ComponentNotFoundException:
>> >> >> > Could
>> >> >> > >> not find component
>> >> >> > >>
>> 'folders:listContainer:itemList:29:itemPanel:folder:children'
>> >> on
>> >> >> > page
>> >> >> > >> 'class package.MyPage
>> >> >> > >>
>> >> >> > >> Do you know how this is triggered ?
>> >> >> > >
>> >> >> > >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > --
>> >> >> > Martin Grigorov
>> >> >> > jWeekend
>> >> >> > Training, Consulting, Development
>> >> >> > http://jWeekend.com
>> >> >> >
>> >> >> > ---------------------------------------------------------------
>> ---
>> >> ---
>> >> >> > To unsubscribe, e-mail: [email protected]
>> >> >> > For additional commands, e-mail: [email protected]
>> >> >
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Martin Grigorov
>> >> jWeekend
>> >> Training, Consulting, Development
>> >> http://jWeekend.com
>> >>
>> >> --------------------------------------------------------------------
>> -
>> >> To unsubscribe, e-mail: [email protected]
>> >> For additional commands, e-mail: [email protected]
>> >
>> >
>>
>>
>>
>> --
>> Martin Grigorov
>> jWeekend
>> Training, Consulting, Development
>> http://jWeekend.com
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>
>



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to