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
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
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org