Done https://issues.apache.org/jira/browse/WICKET-4227

Best regards,
Michal Wegrzyn

> -----Original Message-----
> From: Martin Grigorov [mailto:mgrigo...@apache.org]
> Sent: Monday, November 14, 2011 13:43
> To: users@wicket.apache.org
> Subject: Re: abort loading lazy components
>
> Ticket + quickstart
>
> On Mon, Nov 14, 2011 at 2:39 PM, Michal Wegrzyn
> <michal.wegr...@onior.com> wrote:
> > Just tried with 1.5.3 - unfortunately I still get an exception.
> >
> >> -----Original Message-----
> >> From: Martin Grigorov [mailto:mgrigo...@apache.org]
> >> Sent: Thursday, November 10, 2011 14:50
> >> To: users@wicket.apache.org
> >> 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
> >> <michal.wegr...@onior.com> wrote:
> >> >> -----Original Message-----
> >> >> From: Martin Grigorov [mailto:mgrigo...@apache.org]
> >> >> Sent: Thursday, November 10, 2011 9:48
> >> >> To: users@wicket.apache.org
> >> >> 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
> >> >> <michal.wegr...@onior.com> 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:michal.wegr...@onior.com]
> >> >> >> Sent: Friday, November 04, 2011 11:56
> >> >> >> To: users@wicket.apache.org
> >> >> >> 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:mgrigo...@apache.org]
> >> >> >> > Sent: Thursday, November 03, 2011 17:54
> >> >> >> > To: users@wicket.apache.org
> >> >> >> > 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
> >> >> >> > <michal.wegr...@onior.com> 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:michal.wegr...@onior.com]
> >> >> >> > >> Sent: Wednesday, November 02, 2011 16:11
> >> >> >> > >> To: users@wicket.apache.org
> >> >> >> > >> 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:mgrigo...@apache.org]
> >> >> >> > >> Sent: Wednesday, November 02, 2011 15:54
> >> >> >> > >> To: users@wicket.apache.org
> >> >> >> > >> Subject: Re: abort loading lazy components
> >> >> >> > >>
> >> >> >> > >> On Wed, Nov 2, 2011 at 4:49 PM, Michal Wegrzyn
> >> >> >> > >> <michal.wegr...@onior.com> 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: users-unsubscr...@wicket.apache.org
> >> >> >> > For additional commands, e-mail: users-
> h...@wicket.apache.org
> >> >> >
> >> >> >
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> Martin Grigorov
> >> >> jWeekend
> >> >> Training, Consulting, Development
> >> >> http://jWeekend.com
> >> >>
> >> >> -----------------------------------------------------------------
> ---
> >> -
> >> >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> >> >> For additional commands, e-mail: users-h...@wicket.apache.org
> >> >
> >> >
> >>
> >>
> >>
> >> --
> >> Martin Grigorov
> >> jWeekend
> >> Training, Consulting, Development
> >> http://jWeekend.com
> >>
> >> --------------------------------------------------------------------
> -
> >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> >> For additional commands, e-mail: users-h...@wicket.apache.org
> >
> >
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to