I get the feeling that your push action is returning a Link (or a page or
something) when it should return a Block. I'm not sure why else tapestry
would try and call response.encodeRedirectURL(...)

Take another look at the demo, there are two topics defined in ChatService:

/chatservice/users - the java.util.Collection of users is broadcast on this
topic whenever
a user enters or leaves the chatroom

/chatservice/chat - All chat messages are broadcast to this topic.

Then there is a page with two PushTargets (one for each topic)
https://github.com/uklance/tapestry-cometd-demo/blob/master/src/main/resources/org/lazan/t5/cometddemo/pages/Chat.tml

The main guts of the demo is in these two classes:
https://github.com/uklance/tapestry-cometd-demo/blob/master/src/main/java/org/lazan/t5/cometddemo/services/internal/ChatServiceImpl.java

https://github.com/uklance/tapestry-cometd-demo/blob/master/src/main/java/org/lazan/t5/cometddemo/services/internal/ChatSubscriptionListener.java
 On 22 Apr 2013 15:58, "Tom Nys" <runesmac...@hotmail.com> wrote:

> Well i'm trying to put the chatmessages into a div thats in my sidebar
> (admin side of my application).
>
> I have the error on all the pages that have an OnPassivate() method.
>
> I tryed the demo application but i didn't understand everything that's
> happening so i'm tryng to start from scratch (looking at the wiki pages you
> posted)
> I also think one of the problems is that we use an ssl connection (no real
> proof here) and the chat also needs to be encrypted. i don't know if this
> chat is.
>
> What i need the application to eventually do:
>
> a client can log onto the site and open a chat with an admin.
> the admin gets a notice and clicks on the name of that client to open the
> chat with him.
> they start chatting and the admin eventually closes that chat. he can then
> choos anothcer client that opened the chat.
>
> The side of the admin needs to be in the sidebar component wich appears on
> every page of our application so he can go to the details of that user and
> don't lose the chat.
>
> The client side is just a page for the moment (so no specials there, just
> a simple chat reciever-sender like on your wiki).
>
> Greets
> Runesmacher
> -----Oorspronkelijk bericht----- From: Lance Java
> Sent: Monday, April 22, 2013 4:17 PM
> To: Tapestry users
> Subject: Re: Live support solution
>
> 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-****<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/<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.**a**pache.org<http://apache.org>
>>> <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.**a**pache.org<http://apache.org>
>>> <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.**a**pache.org<http://apache.org>
>> <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