I think i may need to step away from the idea of puttingit in the sidebar.
since that is the reason for all the problems.
I get following error at some times
I thin it is becous the Onchat function doesn't know where that session is?
part of the onchat function that is called:
Block onChat(ChatMessage inMessage) {
if (chatConversation == null)
chatConversation = new ArrayList<ChatMessage>();
if (!chatConversation.contains(inMessage))
chatConversation.add(inMessage);
return messageBlock;
}
@SetupRender
void setup() {
countOpen = 0;
outMessage = "";
if (chatConversation == null)
chatConversation = new ArrayList<ChatMessage>();
if (chatUsers == null)
chatUsers = new ArrayList<User>();
}
java.lang.IllegalStateException
!session
Filter stack frames Stack trace
org.cometd.server.transport.HttpTransport$HttpContext.setHttpSessionAttribute(HttpTransport.java:177)
org.lazan.t5.cometd.services.internal.BayeuxContextHttpSession.setAttribute(BayeuxContextHttpSession.java:31)
org.apache.tapestry5.internal.services.SessionImpl.setAttribute(SessionImpl.java:57)
org.apache.tapestry5.internal.transform.SessionAttributeWorker$SessionKeyConduit.set(SessionAttributeWorker.java:59)
be.mySite.components.sidepanel.ChatSide.conduit_set_chatConversation(ChatSide.java)
be.mySite.components.sidepanel.ChatSide.onChat(ChatSide.java:82)
be.mySite.components.sidepanel.ChatSide.dispatchComponentEvent(ChatSide.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.ComponentPageElementResourcesImpl.invoke(ComponentPageElementResourcesImpl.java:146)
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1053)
org.apache.tapestry5.internal.services.AjaxComponentEventRequestHandler.handle(AjaxComponentEventRequestHandler.java:110)
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.ComponentRequestHandlerTerminator.handleComponentEvent(ComponentRequestHandlerTerminator.java:43)
org.apache.tapestry5.services.InitializeActivePageName.handleComponentEvent(InitializeActivePageName.java:39)
org.lazan.t5.cometd.services.internal.PageGlobalsComponentRequestFilter.handleComponentEvent(PageGlobalsComponentRequestFilter.java:22)
org.lazan.t5.cometd.services.internal.ComponentJSONRendererImpl$1.invoke(ComponentJSONRendererImpl.java:83)
org.lazan.t5.cometd.services.internal.ComponentJSONRendererImpl$1.invoke(ComponentJSONRendererImpl.java:58)
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)
-----Oorspronkelijk bericht-----
From: Lance Java
Sent: Tuesday, April 30, 2013 9:56 AM
To: Tapestry users
Subject: Re: Live support solution
Hmm... Your use case is really needing the entire server spec in your push
event innit? It seems as if you are generating links in your push event's
block, correct?
Unfortunately, FakeHttpServletResponse does not have an implementation for
encodeURL which is required by AbstractLink to generate links.
The proper solution here is for tapestry-cometd to allow IOC contributions
for all of the unimplemented methods in FakeHttpServletRequest and
FakeHttpServletResponse.
I can see a couple of workarounds:
1. Generate your links by hand in your push block instead of pagelink /
actionlink / eventlink.
2. Don't generate your links in the push block. Somehow generate them in
the page and use javascript to copy them into your push block after it has
rendered.
Cheers,
Lance
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org