I'm experiencing weird error during the tapestry-core integration test. The
page AssetDemo fails due to template parsing error. Looks like the
expression ${context:images/asf_logo_wide.gif} cannot be parsed anymore. Any
hints?
[ERROR] RequestExceptionHandler Processing of request failed with uncaught
exception: Exception assembling root component of page nested/AssetDemo:
Could not convert 'context:images/asf_logo_wide.gif' into a component
parameter binding: Error parsing property expression
'context:images/asf_logo_wide.gif': Unable to parse input at character
position 8.
java.lang.RuntimeException: Exception assembling root component of page
nested/AssetDemo: Could not convert 'context:images/asf_logo_wide.gif' into
a component parameter binding: Error parsing property expression
'context:images/asf_logo_wide.gif': Unable to parse input at character
position 8.
at
org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.assembleRootComponent(ComponentAssemblerImpl.java:110)
at
org.apache.tapestry5.internal.pageload.PageLoaderImpl.loadPage(PageLoaderImpl.java:159)
at $PageLoader_12819c96eb2.loadPage($PageLoader_12819c96eb2.java)
at
org.apache.tapestry5.internal.services.PagePoolCache.checkout(PagePoolCache.java:210)
at
org.apache.tapestry5.internal.services.PagePoolImpl.checkout(PagePoolImpl.java:99)
at $PagePool_12819c96eb1.checkout($PagePool_12819c96eb1.java)
at
org.apache.tapestry5.internal.services.RequestPageCacheImpl.get(RequestPageCacheImpl.java:51)
at $RequestPageCache_12819c96eb0.get($RequestPageCache_12819c96eb0.java)
at $RequestPageCache_12819c96e7d.get($RequestPageCache_12819c96e7d.java)
at
org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:55)
at
org.apache.tapestry5.services.TapestryModule$35.handle(TapestryModule.java:2282)
at
$PageRenderRequestHandler_12819c96e81.handle($PageRenderRequestHandler_12819c96e81.java)
at
$PageRenderRequestHandler_12819c96e7b.handle($PageRenderRequestHandler_12819c96e7b.java)
at
org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48)
at
org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:47)
at
$ComponentRequestFilter_12819c96e79.handlePageRender($ComponentRequestFilter_12819c96e79.java)
at
$ComponentRequestHandler_12819c96e7c.handlePageRender($ComponentRequestHandler_12819c96e7c.java)
at
$ComponentRequestHandler_12819c96e5e.handlePageRender($ComponentRequestHandler_12819c96e5e.java)
at
org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45)
at $Dispatcher_12819c96e5b.dispatch($Dispatcher_12819c96e5b.java)
at $Dispatcher_12819c96e5d.dispatch($Dispatcher_12819c96e5d.java)
at $Dispatcher_12819c96e55.dispatch($Dispatcher_12819c96e55.java)
at
org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:307)
at
org.apache.tapestry5.integration.app1.services.AppModule$2.service(AppModule.java:104)
at $RequestFilter_12819c96e54.service($RequestFilter_12819c96e54.java)
at $RequestHandler_12819c96e56.service($RequestHandler_12819c96e56.java)
at
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
at $RequestFilter_12819c96e53.service($RequestFilter_12819c96e53.java)
at $RequestHandler_12819c96e56.service($RequestHandler_12819c96e56.java)
at
org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:964)
at $RequestHandler_12819c96e56.service($RequestHandler_12819c96e56.java)
at
org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:954)
at $RequestHandler_12819c96e56.service($RequestHandler_12819c96e56.java)
at
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85)
at $RequestHandler_12819c96e56.service($RequestHandler_12819c96e56.java)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:1)
at
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
at $RequestHandler_12819c96e56.service($RequestHandler_12819c96e56.java)
at $RequestHandler_12819c96e46.service($RequestHandler_12819c96e46.java)
at
org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:258)
at
org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
at
$HttpServletRequestHandler_12819c96e48.service($HttpServletRequestHandler_12819c96e48.java)
at
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
at
$HttpServletRequestFilter_12819c96e4a.service($HttpServletRequestFilter_12819c96e4a.java)
at
$HttpServletRequestFilter_12819c96e45.service($HttpServletRequestFilter_12819c96e45.java)
at
$HttpServletRequestHandler_12819c96e48.service($HttpServletRequestHandler_12819c96e48.java)
at
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:907)
at
$HttpServletRequestHandler_12819c96e48.service($HttpServletRequestHandler_12819c96e48.java)
at
$HttpServletRequestHandler_12819c96e43.service($HttpServletRequestHandler_12819c96e43.java)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:324)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: Could
not convert 'context:images/asf_logo_wide.gif' into a component parameter
binding: Error parsing property expression
'context:images/asf_logo_wide.gif': Unable to parse input at character
position 8. [at
classpath:org/apache/tapestry5/integration/app1/pages/nested/AssetDemo.tml,
line 31]
at
org.apache.tapestry5.internal.services.BindingSourceImpl.newBinding(BindingSourceImpl.java:85)
at
$BindingSource_12819c96eeb.newBinding($BindingSource_12819c96eeb.java)
at
$BindingSource_12819c96ea0.newBinding($BindingSource_12819c96ea0.java)
at
org.apache.tapestry5.internal.services.PageElementFactoryImpl.parseAttributeExpansionExpression(PageElementFactoryImpl.java:117)
at
org.apache.tapestry5.internal.services.PageElementFactoryImpl.newAttributeElement(PageElementFactoryImpl.java:64)
at
$PageElementFactory_12819c96eea.newAttributeElement($PageElementFactory_12819c96eea.java)
at
$PageElementFactory_12819c96ec1.newAttributeElement($PageElementFactory_12819c96ec1.java)
at
org.apache.tapestry5.internal.pageload.PageLoaderImpl$13.execute(PageLoaderImpl.java:994)
at
org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.runActions(ComponentAssemblerImpl.java:207)
at
org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.assembleRootComponent(ComponentAssemblerImpl.java:88)
... 66 more
Caused by: java.lang.RuntimeException: Error parsing property expression
'context:images/asf_logo_wide.gif': Unable to parse input at character
position 8.
at
org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1438)
at
org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.build(PropertyConduitSourceImpl.java:1307)
at
org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.create(PropertyConduitSourceImpl.java:1257)
at
$PropertyConduitSource_12819c96ef4.create($PropertyConduitSource_12819c96ef4.java)
at
org.apache.tapestry5.internal.bindings.PropBindingFactory.newBinding(PropBindingFactory.java:49)
at
$BindingFactory_12819c96ef5.newBinding($BindingFactory_12819c96ef5.java)
at
$BindingFactory_12819c96eec.newBinding($BindingFactory_12819c96eec.java)
at
org.apache.tapestry5.internal.services.BindingSourceImpl.newBinding(BindingSourceImpl.java:81)
... 75 more
Caused by: java.lang.RuntimeException: Unable to parse input at character
position 8
at
org.apache.tapestry5.internal.antlr.BaseLexer.reportError(BaseLexer.java:50)
at org.antlr.runtime.Lexer.nextToken(Lexer.java:94)
at
org.antlr.runtime.CommonTokenStream.fillBuffer(CommonTokenStream.java:119)
at org.antlr.runtime.CommonTokenStream.LT(CommonTokenStream.java:238)
at
org.apache.tapestry5.internal.antlr.PropertyExpressionParser.start(PropertyExpressionParser.java:94)
at
org.apache.tapestry5.internal.services.PropertyConduitSourceImpl.parse(PropertyConduitSourceImpl.java:1434)
... 82 more
Caused by: NoViableAltException(':'@[1:1: Tokens : ( LPAREN | RPAREN |
LBRACKET | RBRACKET | COMMA | BANG | NULL | TRUE | FALSE | THIS | IDENTIFIER
| SAFEDEREF | WS | STRING | NUMBER_OR_RANGEOP );])
at org.antlr.runtime.DFA.noViableAlt(DFA.java:158)
at org.antlr.runtime.DFA.predict(DFA.java:116)
at
org.apache.tapestry5.internal.antlr.PropertyExpressionLexer.mTokens(PropertyExpressionLexer.java:1210)
at org.antlr.runtime.Lexer.nextToken(Lexer.java:84)
... 86 more
--
Best regards,
Igor Drobiazko
http://tapestry5.de/blog