Hmm. Interesting.

1. Are there any javascript errors in the console?
2. Which version of Tapestry are you using?
3. Try adding an ajax eventlink to the page that's not in a PushTarget
(normal page render). Is it affected in the same way?
4. Is the markup for the link in 3 any different from the PushTarget link
markup?
5. Can you capture the json for the PushTarget update?
On 16 Jun 2014 23:22, "Bogdan Ivascu" <ivascu.bogdan...@gmail.com> wrote:

> That did it. Sorry to keep hitting this nail but, I stumbled across another
> one. As described above, the push targets will "prepend" a block on every
> update. Inside this bock, I have eventLinks that are rendered correctly
> after I put in the configuration. These eventLinks are supposed to be ajax.
> The eventLink rendered with the last block correctly calls the page via
> ajax, however all other eventLinks in blocks already displayed no longer
> make ajax calls. It looks as if they get deregistered somehow from the
> Tapestry "onClick" handler that makes ajax calls.
>
> Thanks.
>
>
> On Mon, Jun 16, 2014 at 3:40 AM, Lance Java <lance.j...@googlemail.com>
> wrote:
>
> > See the "configuration" section here
> > https://github.com/uklance/tapestry-offline
> > On 16 Jun 2014 05:44, "Bogdan Ivascu" <ivascu.bogdan...@gmail.com>
> wrote:
> >
> > > Makes sense, thanks for the reply.
> > >
> > > Another thing that is odd. I seem to have trouble while rendering
> > > eventLinks inside a block that is a delagate of a pushTarget.
> > >
> > > in tml:
> > > <atmos:pushTarget ...>
> > >     <t:delegate to="tokenPlayHistoryBlock"/>
> > > </atmos:pushTarget>
> > >
> > > <t:block t:id="tokenPlayedByUser">
> > >     a bunch of html markup
> > > </t:block>
> > >
> > > in the java class
> > > public Block getTokenPlayHistoryBlock(){
> > >    switch based on conditions
> > >   retun blockXXX;
> > > }
> > >
> > > Above works great until I try to add an eventLink in block:
> > >
> > > <t:block t:id="tokenPlayedByUser">
> > >        a bunch of html markup
> > >     <a t:id="sentTokenPreviewLink">THIS BREAKS IT</a>
> > > </t:block>
> > >
> > > Error:
> > > 2014-Jun-16 00:29:09 ioc.internal.RecursiveServiceCreationCheckWrapper
> > > org.apache.tapestry5.ioc.internal.OperationException: *Symbol
> > > 'tapestry-offline.serverName' is not defined.*
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.java:121)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:88)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1124)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl.provide(MasterObjectProviderImpl.java:45)
> > >     at $MasterObjectProvider_23570e7547da.provide(Unknown Source)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:871)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:57)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateInjection(InternalUtils.java:257)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.util.InternalUtils.access$000(InternalUtils.java:50)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.util.InternalUtils$4.invoke(InternalUtils.java:289)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.util.InternalUtils$4.invoke(InternalUtils.java:286)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1124)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:293)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.util.InternalUtils$23.invoke(InternalUtils.java:1488)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.util.InternalUtils$23.invoke(InternalUtils.java:1483)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1124)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.util.InternalUtils.createConstructorConstructionPlan(InternalUtils.java:1480)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.ConstructorServiceCreator.getPlan(ConstructorServiceCreator.java:52)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.ConstructorServiceCreator.createObject(ConstructorServiceCreator.java:61)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1124)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:29)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:46)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.AdvisorStackBuilder.createObject(AdvisorStackBuilder.java:63)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:54)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1124)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:66)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:54)
> > >     at $OfflineRequestGlobals_23570e7549e2.delegate(Unknown Source)
> > >     at $OfflineRequestGlobals_23570e7549e2.getContextPath(Unknown
> Source)
> > >     at
> > >
> > >
> >
> org.lazan.t5.offline.internal.OfflineRequest.getContextPath(OfflineRequest.java:28)
> > >     at $Request_23570e75482d.getContextPath(Unknown Source)
> > >     at $Request_23570e7547ee.getContextPath(Unknown Source)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.services.ComponentEventLinkEncoderImpl.createComponentEventLink(ComponentEventLinkEncoderImpl.java:161)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.services.linktransform.LinkTransformerInterceptor.createComponentEventLink(LinkTransformerInterceptor.java:44)
> > >     at
> > >
> $ComponentEventLinkEncoder_23570e754816.createComponentEventLink(Unknown
> > > Source)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.services.LinkSourceImpl.createComponentEventLink(LinkSourceImpl.java:89)
> > >     at $LinkSource_23570e754873.createComponentEventLink(Unknown
> Source)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.createComponentEventLink(ComponentPageElementResourcesImpl.java:105)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.createEventLink(ComponentPageElementImpl.java:1251)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.createEventLink(InternalComponentResourcesImpl.java:206)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.corelib.components.EventLink.createLink(EventLink.java:58)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.corelib.base.AbstractComponentEventLink.beginRender(AbstractComponentEventLink.java:57)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.corelib.base.AbstractComponentEventLink.beginRender(AbstractComponentEventLink.java)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:202)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:133)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:209)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:72)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:124)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.services.PageRenderQueueImpl$1.renderMarkup(PageRenderQueueImpl.java:142)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.services.RenderCommandComponentEventResultProcessor.renderMarkup(RenderCommandComponentEventResultProcessor.java:78)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.services.PageRenderQueueImpl$Bridge.renderMarkup(PageRenderQueueImpl.java:62)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.services.PageRenderQueueImpl.renderPartial(PageRenderQueueImpl.java:159)
> > >     at $PageRenderQueue_23570e7548b7.renderPartial(Unknown Source)
> > >     at $PageRenderQueue_23570e7548b6.renderPartial(Unknown Source)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.services.PartialMarkupRendererTerminator.renderMarkup(PartialMarkupRendererTerminator.java:45)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.services.TapestryModule$37.renderMarkup(TapestryModule.java:2141)
> > >     at $PartialMarkupRenderer_23570e7549a3.renderMarkup(Unknown Source)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.services.TapestryModule$36.renderMarkup(TapestryModule.java:2125)
> > >     at $PartialMarkupRenderer_23570e7549a3.renderMarkup(Unknown Source)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.services.TapestryModule$35.renderMarkup(TapestryModule.java:2107)
> > >     at $PartialMarkupRenderer_23570e7549a3.renderMarkup(Unknown Source)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.services.TapestryModule$34.renderMarkup(TapestryModule.java:2091)
> > >     at $PartialMarkupRenderer_23570e7549a3.renderMarkup(Unknown Source)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.services.TapestryModule$33.renderMarkup(TapestryModule.java:2073)
> > >     at $PartialMarkupRenderer_23570e7549a3.renderMarkup(Unknown Source)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.services.TapestryModule$32.renderMarkup(TapestryModule.java:2048)
> > >     at $PartialMarkupRenderer_23570e7549a3.renderMarkup(Unknown Source)
> > >     at $PartialMarkupRenderer_23570e7549a2.renderMarkup(Unknown Source)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.services.AjaxPartialResponseRendererImpl.renderPartialPageMarkup(AjaxPartialResponseRendererImpl.java:89)
> > >     at
> > >
> $AjaxPartialResponseRenderer_23570e7549a0.renderPartialPageMarkup(Unknown
> > > Source)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.services.RenderCommandComponentEventResultProcessor.processResultValue(RenderCommandComponentEventResultProcessor.java:58)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.services.RenderCommandComponentEventResultProcessor.processResultValue(RenderCommandComponentEventResultProcessor.java:34)
> > >     at
> > > $ComponentEventResultProcessor_23570e7549e4.processResultValue(Unknown
> > > Source)
> > >     at
> > > $ComponentEventResultProcessor_23570e75499f.processResultValue(Unknown
> > > Source)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.services.AjaxComponentEventRequestHandler$1.processResultValue(AjaxComponentEventRequestHandler.java:80)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.services.ComponentResultProcessorWrapper.handleResult(ComponentResultProcessorWrapper.java:47)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$6.handleResult(ComponentPageElementImpl.java:1084)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.services.EventImpl$1.invoke(EventImpl.java:89)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.services.EventImpl$1.invoke(EventImpl.java:86)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1124)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.invoke(ComponentPageElementResourcesImpl.java:146)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.services.EventImpl.storeResult(EventImpl.java:84)
> > >     at
> > >
> > >
> >
> com.ar.pages.member.playground.PlaygroundApplication.dispatchComponentEvent(PlaygroundApplication.java)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:927)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1112)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3100(ComponentPageElementImpl.java:61)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$5.invoke(ComponentPageElementImpl.java:1057)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$5.invoke(ComponentPageElementImpl.java:1054)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1124)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.invoke(ComponentPageElementResourcesImpl.java:146)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1053)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.services.AjaxComponentEventRequestHandler.handle(AjaxComponentEventRequestHandler.java:110)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.services.ajax.AjaxFormUpdateFilter.handle(AjaxFormUpdateFilter.java:56)
> > >     at $ComponentEventRequestHandler_23570e7549a1.handle(Unknown
> Source)
> > >     at $ComponentEventRequestHandler_23570e754924.handle(Unknown
> Source)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
> > >     at $ComponentEventRequestHandler_23570e754926.handle(Unknown
> Source)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.upload.internal.services.UploadExceptionFilter.handle(UploadExceptionFilter.java:75)
> > >     at $ComponentEventRequestHandler_23570e754926.handle(Unknown
> Source)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.services.TapestryModule$41.handle(TapestryModule.java:2476)
> > >     at $ComponentEventRequestHandler_23570e754926.handle(Unknown
> Source)
> > >     at $ComponentEventRequestHandler_23570e75484c.handle(Unknown
> Source)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handleComponentEvent(ComponentRequestHandlerTerminator.java:43)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.services.InitializeActivePageName.handleComponentEvent(InitializeActivePageName.java:39)
> > >     at
> $ComponentRequestHandler_23570e75484e.handleComponentEvent(Unknown
> > > Source)
> > >     at
> > >
> > >
> >
> com.ar.model.security.AdminProtectionFilter.handleComponentEvent(AdminProtectionFilter.java:42)
> > >     at
> $ComponentRequestFilter_23570e75484a.handleComponentEvent(Unknown
> > > Source)
> > >     at
> $ComponentRequestHandler_23570e75484e.handleComponentEvent(Unknown
> > > Source)
> > >     at
> > >
> > >
> >
> com.ar.model.security.PageProtectionFilter.handleComponentEvent(PageProtectionFilter.java:42)
> > >     at
> $ComponentRequestFilter_23570e754849.handleComponentEvent(Unknown
> > > Source)
> > >     at
> $ComponentRequestHandler_23570e75484e.handleComponentEvent(Unknown
> > > Source)
> > >     at
> > >
> > >
> >
> org.lazan.t5.atmosphere.services.internal.PageGlobalsComponentRequestFilter.handleComponentEvent(PageGlobalsComponentRequestFilter.java:22)
> > >     at
> $ComponentRequestHandler_23570e75484e.handleComponentEvent(Unknown
> > > Source)
> > >     at
> $ComponentRequestHandler_23570e754814.handleComponentEvent(Unknown
> > > Source)
> > >     at
> > >
> > >
> >
> org.lazan.t5.offline.services.internal.OfflineComponentRendererImpl$1.invoke(OfflineComponentRendererImpl.java:112)
> > >     at
> > >
> > >
> >
> org.lazan.t5.offline.services.internal.OfflineComponentRendererImpl$1.invoke(OfflineComponentRendererImpl.java:100)
> > >     at
> > >
> > >
> >
> org.apache.tapestry5.ioc.internal.services.ParallelExecutorImpl$1.call(ParallelExecutorImpl.java:58)
> > >     at java.util.concurrent.FutureTask.run(Unknown Source)
> > >     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
> Source)
> > >     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
> Source)
> > >     at java.lang.Thread.run(Unknown Source)
> > >
> > >  What is it with this "Symbol 'tapestry-offline.serverName'"? Not event
> > > sure it is related to the atmosphere library, but seems to work in all
> > > other places, except when I put it into a pushTarget. I event tried to
> > > create the link in a separate method and return the URL. Same thing, as
> > > soon as I go componenResources.createEventLink, the error pops up.
> > >
> > > Thanks very much,
> > > Bogdan.
> > >
> > >
> > >
> > > On Sun, Jun 15, 2014 at 3:30 PM, Lance Java <lance.j...@googlemail.com
> >
> > > wrote:
> > >
> > > > The disconnect event is fired by atmosphere under the hood
> > > > (AtmosphereResourceEventListener.onDisconnect). Further reading here:
> > > >
> > > > https://github.com/Atmosphere/atmosphere/wiki/onDisconnect-tricks
> > > >
> > > >
> > > >
> > >
> >
> http://atmosphere.github.io/atmosphere/apidocs/org/atmosphere/cpr/AtmosphereResourceEventListener.html
> > > >
> > > > If you'll notice in the chat demo, I use a HttpSessionListener to
> > cleanup
> > > > any chat users that might not have disconnected
> > > >
> > > >
> > > >
> > >
> >
> https://github.com/uklance/tapestry-atmosphere/blob/master/tapestry-atmosphere-demo/src/main/webapp/WEB-INF/web.xml
> > > >
> > > >
> > > >
> > >
> >
> https://github.com/uklance/tapestry-atmosphere/blob/master/tapestry-atmosphere-demo/src/main/java/org/lazan/t5/atmosphere/demo/services/ChatHttpSessionListener.java
> > > >  On 15 Jun 2014 02:41, "Bogdan Ivascu" <ivascu.bogdan...@gmail.com>
> > > wrote:
> > > >
> > > > > Sorry, not that I read it, I should have been more specific. I do
> see
> > > the
> > > > > contribution of the ChatTopicListener in AppModule and the
> > "onConnect"
> > > > > method gets called as expected when any push target creates a new
> > > > > AtmosphereResource. The one that I don't see called is the
> > > "onDisconnect"
> > > > > method.
> > > > >
> > > > >
> > > > > On Sat, Jun 14, 2014 at 8:42 PM, Bogdan Ivascu <
> > > > ivascu.bogdan...@gmail.com
> > > > > >
> > > > > wrote:
> > > > >
> > > > > > Hi Lance,
> > > > > >   What is the way to listen for someone connecting and
> > disconnecting
> > > > from
> > > > > > a topic? I see that you have "TopicListenerImpl" and
> > > > > > "ChatTopicListenerImpl" having methods that listen for this type
> of
> > > > > thing.
> > > > > > I don't see how they are used though.
> > > > > >
> > > > > > Thanks,
> > > > > > Bogdan.
> > > > > >
> > > > > >
> > > > > > On Wed, May 21, 2014 at 3:33 AM, Lance Java <
> > > lance.j...@googlemail.com
> > > > >
> > > > > > wrote:
> > > > > >
> > > > > >> I've implemented this feature in tapestry-cometd but it's not
> been
> > > > > >> implemented in tapestry-atmosphere yet. I think it's only a
> couple
> > > of
> > > > > >> lines
> > > > > >> of javascript.
> > > > > >>
> > > > > >> I have just updated the outstanding issue with a possible
> solution
> > > > here:
> > > > > >> https://github.com/uklance/tapestry-atmosphere/issues/5
> > > > > >>
> > > > > >> Pull requests welcomed!!
> > > > > >> On 21 May 2014 04:21, "Bogdan Ivascu" <
> ivascu.bogdan...@gmail.com
> > >
> > > > > wrote:
> > > > > >>
> > > > > >> > I ended up using your atmosphere implementation and it works
> > like
> > > a
> > > > > >> charm,
> > > > > >> > so many thanks for that. I have an additional questions
> though.
> > > When
> > > > > >> > returning the block to the client, basically your ChatDemo
> class
> > > > > >> > (
> > > > > >> >
> > > > > >> >
> > > > > >>
> > > > >
> > > >
> > >
> >
> https://github.com/uklance/tapestry-atmosphere/blob/master/tapestry-atmosphere-demo/src/main/java/org/lazan/t5/atmosphere/demo/pages/ChatDemo.java#L65
> > > > > >> > )
> > > > > >> > ->onChatMessage  method, I want to be able to execute some
> > client
> > > > > >> > javascript
> > > > > >> > that will parse a Long number and make it into a date using
> > > > momentjs.
> > > > > >> Where
> > > > > >> > can I patch in this piece of code? I tried changing the return
> > > type
> > > > of
> > > > > >> the
> > > > > >> > method to void and using AjaxRespRenderer to display the block
> > and
> > > > > then
> > > > > >> > call the javascript without much success. What would be a good
> > > > > solution
> > > > > >> > here, listen on the client side for some event to be triggered
> > or
> > > > > >> somehow
> > > > > >> > make an ajax addScript() call from the server.
> > > > > >> >
> > > > > >> > Thanks,
> > > > > >> > Bogdan.
> > > > > >> >
> > > > > >> >
> > > > > >> > On Tue, May 13, 2014 at 12:15 PM, Bogdan Ivascu
> > > > > >> > <ivascu.bogdan...@gmail.com>wrote:
> > > > > >> >
> > > > > >> > > Hi Lance,
> > > > > >> > >   I did see numerous discussions around your implementation.
> > My
> > > > goal
> > > > > >> here
> > > > > >> > > is to try and get a better understanding of where and how
> this
> > > > > >> framework
> > > > > >> > > can be extended. I am however pressed for time and if I
> cannot
> > > get
> > > > > it
> > > > > >> to
> > > > > >> > > work, I will most likely end up using your implementation.
> > > > > >> > >
> > > > > >> > > Thanks,
> > > > > >> > > Bogdan.
> > > > > >> > >
> > > > > >> > >
> > > > > >> > > On Tue, May 13, 2014 at 3:34 AM, Lance Java <
> > > > > >> lance.j...@googlemail.com
> > > > > >> > >wrote:
> > > > > >> > >
> > > > > >> > >> Take a look at tapestry-atmosphere [1] and tapestry-cometd
> > [2]
> > > > > >> > >>
> > > > > >> > >> [1] https://github.com/uklance/tapestry-atmosphere
> > > > > >> > >> [2] https://github.com/uklance/tapestry-cometd
> > > > > >> > >> On 13 May 2014 02:10, "Bogdan Ivascu" <
> > > > ivascu.bogdan...@gmail.com>
> > > > > >> > wrote:
> > > > > >> > >>
> > > > > >> > >> > Hi everyone,
> > > > > >> > >> >   I want to add webSocket support for my tapestry project
> > and
> > > > > need
> > > > > >> a
> > > > > >> > few
> > > > > >> > >> > pointers. What I have is a dead simple Servlet,
> > implementing
> > > > the
> > > > > >> java
> > > > > >> > >> > WebSocket api. I would like to bring this servlet into my
> > > > > tapestry
> > > > > >> > >> project
> > > > > >> > >> > and have it managed by tapestry itself. To be more
> clear, I
> > > > don't
> > > > > >> want
> > > > > >> > >> to
> > > > > >> > >> > use the ignore path functionality to expose it, but
> rather
> > > have
> > > > > >> > >> tapestry's
> > > > > >> > >> > filter control the access to this servlet.
> > > > > >> > >> >
> > > > > >> > >> > The biggest problem that I have right now is that I don't
> > > have
> > > > a
> > > > > >> clear
> > > > > >> > >> > understanding of what I need to do to make this happen.
> > Will
> > > > this
> > > > > >> > >> servlet
> > > > > >> > >> > be a service or a page with no tml, where would it sit,
> how
> > > do
> > > > I
> > > > > >> > >> configure
> > > > > >> > >> > tapestry so that it knows to create a new instance for
> each
> > > > > >> request.
> > > > > >> > >> >
> > > > > >> > >> > A nudge of where I could document myself regarding this
> > type
> > > of
> > > > > >> > >> integration
> > > > > >> > >> > would be most welcome.
> > > > > >> > >> >
> > > > > >> > >> > Thank you,
> > > > > >> > >> > Bogdan.
> > > > > >> > >> >
> > > > > >> > >>
> > > > > >> > >
> > > > > >> > >
> > > > > >> >
> > > > > >>
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Reply via email to