Hi, sorry for the late response, I've been on holiday. I'm the author of tapestry-cometd.
Tapestry-cometd has to fool tapestry into thinking there is a "real" request /response when a push is initiated. It does this via a FakeHttpServletRequest (and Response). Note that not all methods are implemented in the fake objects (eg encodeRedirectURL) It looks like your push action is trying to do a redirect. Can you tell me a bit more about what you're trying to do in your push? The main use case for tapestry-cometd is to render a template and return a Block which is used to append, prepend or replace the content in a PushTarget. I have not done a release yet but if you take a look at trunk for tapestry-cometd and tapestry-cometd-demo, you will see a much better chat example. Cheers, Lance. On 22 Apr 2013 09:13, "Tom Nys" <runesmac...@hotmail.com> wrote: > I've looked into tapestry-cometd again. hoping to find a solution. > > but i get the folowing error when trying to implement it in my sidebar > component. > > java.lang.**UnsupportedOperationException > encodeRedirectURL > > Filter stack frames Stack trace > org.lazan.t5.cometd.services.**internal.** > FakeHttpServletResponse.**encodeRedirectURL(** > FakeHttpServletResponse.java:**109) > org.apache.tapestry5.internal.**services.ResponseImpl.** > encodeRedirectURL(**ResponseImpl.java:67) > org.apache.tapestry5.internal.**services.LinkImpl.** > toRedirectURI(LinkImpl.java:**138) > org.apache.tapestry5.internal.**services.** > AjaxLinkComponentEventResultPr**ocessor.processResultValue(** > AjaxLinkComponentEventResultPr**ocessor.java:41) > org.apache.tapestry5.internal.**services.** > AjaxLinkComponentEventResultPr**ocessor.processResultValue(** > AjaxLinkComponentEventResultPr**ocessor.java:27) > org.apache.tapestry5.internal.**services.** > AjaxPageNameComponentEventResu**ltProcessor.**processResultValue(** > AjaxPageNameComponentEventResu**ltProcessor.java:55) > org.apache.tapestry5.internal.**services.** > AjaxPageNameComponentEventResu**ltProcessor.**processResultValue(** > AjaxPageNameComponentEventResu**ltProcessor.java:29) > org.apache.tapestry5.internal.**services.** > AjaxComponentInstanceEventResu**ltProcessor.**processResultValue(** > AjaxComponentInstanceEventResu**ltProcessor.java:56) > org.apache.tapestry5.internal.**services.** > AjaxComponentInstanceEventResu**ltProcessor.**processResultValue(** > AjaxComponentInstanceEventResu**ltProcessor.java:30) > org.apache.tapestry5.internal.**services.** > AjaxComponentEventRequestHandl**er$1.processResultValue(** > AjaxComponentEventRequestHandl**er.java:80) > org.apache.tapestry5.internal.**services.** > ComponentResultProcessorWrappe**r.handleResult(** > ComponentResultProcessorWrappe**r.java:47) > org.apache.tapestry5.internal.**structure.** > ComponentPageElementImpl$6.**handleResult(**ComponentPageElementImpl.java: > **1084) > org.apache.tapestry5.internal.**services.EventImpl$1.invoke(** > EventImpl.java:89) > org.apache.tapestry5.internal.**services.EventImpl$1.invoke(** > EventImpl.java:86) > org.apache.tapestry5.internal.**structure.** > ComponentPageElementResourcesI**mpl.invoke(** > ComponentPageElementResourcesI**mpl.java:146) > org.apache.tapestry5.internal.**services.EventImpl.** > storeResult(EventImpl.java:84) > be.mysite.pages.Dashboard.**dispatchComponentEvent(** > Dashboard.java) > org.apache.tapestry5.internal.**structure.** > ComponentPageElementImpl.**dispatchEvent(**ComponentPageElementImpl.java:* > *927) > org.apache.tapestry5.internal.**structure.** > ComponentPageElementImpl.**processEventTriggering(** > ComponentPageElementImpl.java:**1112) > org.apache.tapestry5.internal.**structure.** > ComponentPageElementImpl.**access$3100(**ComponentPageElementImpl.java:** > 61) > org.apache.tapestry5.internal.**structure.** > ComponentPageElementImpl$5.**invoke(**ComponentPageElementImpl.java:** > 1057) > org.apache.tapestry5.internal.**structure.** > ComponentPageElementImpl$5.**invoke(**ComponentPageElementImpl.java:** > 1054) > org.apache.tapestry5.internal.**structure.** > ComponentPageElementResourcesI**mpl.invoke(** > ComponentPageElementResourcesI**mpl.java:146) > org.apache.tapestry5.internal.**structure.** > ComponentPageElementImpl.**triggerContextEvent(** > ComponentPageElementImpl.java:**1053) > org.apache.tapestry5.internal.**structure.** > InternalComponentResourcesImpl**.triggerContextEvent(** > InternalComponentResourcesImpl**.java:302) > org.apache.tapestry5.internal.**services.PageActivatorImpl.** > activatePage(**PageActivatorImpl.java:34) > org.apache.tapestry5.internal.**services.** > AjaxComponentEventRequestHandl**er.handle(**AjaxComponentEventRequestHandl > **er.java:89) > org.apache.tapestry5.internal.**services.ajax.** > AjaxFormUpdateFilter.handle(**AjaxFormUpdateFilter.java:56) > org.apache.tapestry5.internal.**services.AjaxFilter.handle(** > AjaxFilter.java:42) > org.apache.tapestry5.upload.**internal.services.** > UploadExceptionFilter.handle(**UploadExceptionFilter.java:75) > org.apache.tapestry5.services.**TapestryModule$41.handle(** > TapestryModule.java:2476) > org.apache.tapestry5.internal.**services.** > ComponentRequestHandlerTermina**tor.handleComponentEvent(** > ComponentRequestHandlerTermina**tor.java:43) > org.apache.tapestry5.services.**InitializeActivePageName.** > handleComponentEvent(**InitializeActivePageName.java:**39) > org.lazan.t5.cometd.services.**internal.** > ComponentJSONRendererImpl$1.**invoke(**ComponentJSONRendererImpl.** > java:83) > org.apache.tapestry5.ioc.**internal.services.** > ParallelExecutorImpl$1.call(**ParallelExecutorImpl.java:58) > java.util.concurrent.**FutureTask$Sync.innerRun(** > FutureTask.java:334) > java.util.concurrent.**FutureTask.run(FutureTask.**java:166) > java.util.concurrent.**ThreadPoolExecutor.runWorker(** > ThreadPoolExecutor.java:1145) > java.util.concurrent.**ThreadPoolExecutor$Worker.run(** > ThreadPoolExecutor.java:615) > java.lang.Thread.run(Thread.**java:722) > > Tapestry Framework > > Any ideas on how to fix this? > I think it is becous of the onPassivate inside the page i want to embed it > in. > > Greets > > -----Oorspronkelijk bericht----- From: Taha Siddiqi > Sent: Thursday, April 4, 2013 4:37 PM > To: Tapestry users > Subject: Re: Live support solution > > I recently worked on a tapestry + cometd project. I didn't use the module. > Just created a simple integration and then used standard cometd library > documentation to create a full chat app. It was easy and I am more than > satisfied with the result. > > For integration you can have a look at > > http://tawus.wordpress.com/**2011/06/13/tapestry-magic-15-** > integration-with-cometd/<http://tawus.wordpress.com/2011/06/13/tapestry-magic-15-integration-with-cometd/> > > regards > Taha > > On Apr 4, 2013, at 6:08 PM, Tom Nys wrote: > > First of all, i need 1 on 1 chat between a client and a person from my >> helpdesk. >> >> A lot of our system works on session variables and giving info trough via >> the url. >> I found out that when tapestry-cometD is working in my sidebar (a >> component) it triggers the OnPassivate function of the page it is on. >> >> I've had an error on encodeUrl when trying to use eventlinks in the >> sidebar. (fixed this by bypassing the encodeUrl function in the >> fakehtmlrequest of cometD) but this isn't a nice solution since it might >> have broken some other stuff. >> >> >> -----Oorspronkelijk bericht----- From: Thiago H de Paula Figueiredo >> Sent: Thursday, April 4, 2013 2:17 PM >> To: Tapestry users >> Subject: Re: Live support solution >> >> On Thu, 04 Apr 2013 05:20:52 -0300, Tom Nys <runesmac...@hotmail.com> >> wrote: >> >> Hi there, >>> >> >> Hi! >> >> I’m developing a website in tapestry and trying to implement live >>> support (1 on 1). >>> >>> I tryed implementing tapestry-cometD but it doesn’t support some of the >>> functions already implemented on my pages. >>> >> >> Your question is too vague for us to give a good answer. What features do >> you need? Which one of them are not implemented by tapestry-cometd? >> >> -- >> Thiago H. de Paula Figueiredo >> >> ------------------------------**------------------------------**--------- >> To unsubscribe, e-mail: >> users-unsubscribe@tapestry.**apache.org<users-unsubscr...@tapestry.apache.org> >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> >> ------------------------------**------------------------------**--------- >> To unsubscribe, e-mail: >> users-unsubscribe@tapestry.**apache.org<users-unsubscr...@tapestry.apache.org> >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> > > ------------------------------**------------------------------**--------- > To unsubscribe, e-mail: > users-unsubscribe@tapestry.**apache.org<users-unsubscr...@tapestry.apache.org> > For additional commands, e-mail: users-h...@tapestry.apache.org > >