That's an unrelated but known issue.

On Wed, 28 May 2014 17:42:19 -0300, Bogdan Ivascu <ivascu.bogdan...@gmail.com> wrote:

An interesting issue with the atmos library. I put the webSocket code in my
Layout component and there are no issues when I navigate about between
pages that wrap themselves in this layout. I do encounter a NullPointer
when this Layout contains another Layout and then the page. To be more
clear: MainPagesLayout -> MemberHomePage: works nicely. MainPagesLayout ->
EmailLayout -> EmailInboxPage: throws NullPointer exception.

Stack below in case anyone has the time to look at it:

2014-May-28 16:31:36 internal.services.DefaultRequestExceptionHandler
java.lang.NullPointerException
at org.apache.tapestry5.json.JSONObject.printValue(JSONObject.java:887)
    at org.apache.tapestry5.json.JSONArray.print(JSONArray.java:436)
at org.apache.tapestry5.json.JSONObject.printValue(JSONObject.java:859)
    at org.apache.tapestry5.json.JSONObject.print(JSONObject.java:830)
at org.apache.tapestry5.json.JSONObject.printValue(JSONObject.java:853)
    at org.apache.tapestry5.json.JSONArray.print(JSONArray.java:436)
at org.apache.tapestry5.json.JSONObject.printValue(JSONObject.java:859)
    at org.apache.tapestry5.json.JSONObject.print(JSONObject.java:830)
    at
org.apache.tapestry5.json.JSONCollection.toString(JSONCollection.java:47)
    at
org.apache.tapestry5.json.JSONCollection.toString(JSONCollection.java:63)
    at
org.apache.tapestry5.internal.services.DocumentLinkerImpl.add(DocumentLinkerImpl.java:228)
    at
org.apache.tapestry5.internal.services.DocumentLinkerImpl.add(DocumentLinkerImpl.java:219)
    at
org.apache.tapestry5.internal.services.DocumentLinkerImpl.addDynamicScriptBlock(DocumentLinkerImpl.java:204)
    at
org.apache.tapestry5.internal.services.DocumentLinkerImpl.addScriptElements(DocumentLinkerImpl.java:158)
    at
org.apache.tapestry5.internal.services.DocumentLinkerImpl.updateDocument(DocumentLinkerImpl.java:123)
    at
org.apache.tapestry5.services.TapestryModule$25.renderMarkup(TapestryModule.java:1898)
    at $MarkupRenderer_7643a5097d2.renderMarkup(Unknown Source)
    at $MarkupRenderer_7643a5097cd.renderMarkup(Unknown Source)
    at
org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:47)
    at $PageMarkupRenderer_7643a5097cb.renderPageMarkup(Unknown Source)
    at
org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:67)
at $PageResponseRenderer_7643a5097c7.renderPageResponse(Unknown Source)
    at
org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:64)
    at
org.apache.tapestry5.services.TapestryModule$38.handle(TapestryModule.java:2222)
    at $PageRenderRequestHandler_7643a5097c9.handle(Unknown Source)
    at $PageRenderRequestHandler_7643a509765.handle(Unknown Source)
    at
org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48)
    at
org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:47)
at $ComponentRequestHandler_7643a509766.handlePageRender(Unknown Source)
    at
com.ar.model.security.AdminProtectionFilter.handlePageRender(AdminProtectionFilter.java:54)
at $ComponentRequestFilter_7643a509763.handlePageRender(Unknown Source) at $ComponentRequestHandler_7643a509766.handlePageRender(Unknown Source)
    at
com.ar.model.security.PageProtectionFilter.handlePageRender(PageProtectionFilter.java:53)
at $ComponentRequestFilter_7643a509762.handlePageRender(Unknown Source) at $ComponentRequestHandler_7643a509766.handlePageRender(Unknown Source)
    at
org.lazan.t5.atmosphere.services.internal.PageGlobalsComponentRequestFilter.handlePageRender(PageGlobalsComponentRequestFilter.java:28)
at $ComponentRequestHandler_7643a509766.handlePageRender(Unknown Source) at $ComponentRequestHandler_7643a50972c.handlePageRender(Unknown Source)
    at
org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45)
    at $Dispatcher_7643a50972f.dispatch(Unknown Source)
    at $Dispatcher_7643a509729.dispatch(Unknown Source)
    at
org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:302)
    at
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
    at $RequestHandler_7643a50972a.service(Unknown Source)
    at
org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:902)
    at $RequestHandler_7643a50972a.service(Unknown Source)
    at
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:892)
    at $RequestHandler_7643a50972a.service(Unknown Source)
    at
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
    at $RequestHandler_7643a50972a.service(Unknown Source)
    at com.ar.services.AppModule$1.service(AppModule.java:137)
    at $RequestFilter_7643a509724.service(Unknown Source)
    at $RequestHandler_7643a50972a.service(Unknown Source)
    at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:105)
    at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:95)
    at
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
    at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:119)
    at $RequestHandler_7643a50972a.service(Unknown Source)
    at $RequestHandler_7643a50971d.service(Unknown Source)
    at
org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:253)
    at
org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
    at $HttpServletRequestHandler_7643a50971f.service(Unknown Source)
    at
org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
    at $HttpServletRequestHandler_7643a50971f.service(Unknown Source)
    at
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
    at $HttpServletRequestFilter_7643a50971b.service(Unknown Source)
    at $HttpServletRequestHandler_7643a50971f.service(Unknown Source)
    at
org.lazan.t5.atmosphere.services.internal.HttpServletHttpServletRequestFilter.service(HttpServletHttpServletRequestFilter.java:72)
    at
org.lazan.t5.atmosphere.services.internal.AtmosphereHttpServletRequestFilter.service(AtmosphereHttpServletRequestFilter.java:50)
    at $HttpServletRequestHandler_7643a50971f.service(Unknown Source)
    at
org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852)
    at $HttpServletRequestHandler_7643a50971f.service(Unknown Source)
    at $HttpServletRequestHandler_7643a509719.service(Unknown Source)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171)
    at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
    at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
    at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
    at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
    at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:326)
    at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
    at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
    at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
    at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)


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



--
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to