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