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
>
>

Reply via email to