Do you do any redirecting in your onActivate? (eg do you return another
page under some conditions).

Can you show me the (simplified) code that's firing for your push?

I think I might have spotted a bug, tapestry-cometd will always pass
EMPTY_EVENT_CONTEXT as the page activation context for push events. Perhaps
this is causing your issue?

https://github.com/uklance/tapestry-cometd/blob/master/src/main/java/org/lazan/t5/cometd/services/internal/PushManagerImpl.java#L60
On 23 Apr 2013 08:15, "Tom Nys" <runesmac...@hotmail.com> wrote:

> I found that the problem accurs in the onActivate() function.
>
> Our pages give information between eachotter trought the activationcontext.
> Since it's a fake request it doesn't have this context, and or pages are
> made that they redirect when the context is empty.
> removing this check is not realy an option. I guess that putting the chat
> in the sidebar is just impossible becous of this?
>
> -----Oorspronkelijk bericht----- From: Lance Java
> Sent: Monday, April 22, 2013 6:14 PM
> To: Tapestry users
> Subject: Re: Live support solution
>
> Also, do you have a security framework that might be getting in the way?
> Perhaps this framework is returning a login page Link because it can't find
> the session on the Fake request.
> On 22 Apr 2013 16:56, "Lance Java" <lance.j...@googlemail.com> wrote:
>
>  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<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/ChatServiceImpl.java>
>>
>>
>> https://github.com/uklance/**tapestry-cometd-demo/blob/**
>> master/src/main/java/org/**lazan/t5/cometddemo/services/**internal/**
>> ChatSubscriptionListener.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-****>
>>>> <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/**<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<http://tapestry.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<http://tapestry.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 <http://tapestry.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