Tapestry
  1. Tapestry
  2. TAPESTRY-1437

Unnecessary logging of MalformedURLException while searching for component templates

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 4.1.2
    • Fix Version/s: 4.1.2
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      Windowx XP
      JDK 5.0
      JBoss 4.0.5

      Description

      The latest snapshot of Tapestry logs some failed attempts to find a specless component template emitting a long exception trace and so polluting the server log with unnecessary errors. Besides these errors all works like expected.
      These exception should be catched and ignored because I don't have "selection/MonthSelection_de.html", there is only "selection/MonthSelection.html".
      Although "java.net.MalformedURLException: Path selection/MonthSelection.html does not start with a "/" character" is thrown the template "selection/MonthSelection.html" IS being found!

      The logged stacktrace is the following:
      2007-05-03 14:14:55,402 DEBUG [tapestry.parse.TemplateSource] Searching for localized version of template for classpath:com/face/h4p/webreporting/components/selection/MonthSelection in locale Deutsch
      2007-05-03 14:14:55,511 ERROR [org.apache.tapestry.web.ServletWebContext] Error getting context resource 'selection/MonthSelection_de.html': Path selection/MonthSelection_de.html does not start with a "/" character
      java.net.MalformedURLException: Path selection/MonthSelection_de.html does not start with a "/" character
      at org.apache.catalina.core.ApplicationContext.getResource(ApplicationContext.java:472)
      at org.apache.catalina.core.ApplicationContextFacade.getResource(ApplicationContextFacade.java:174)
      at org.apache.tapestry.web.ServletWebContext.getResource(ServletWebContext.java:78)
      at $WebContext_11251d540b2.getResource($WebContext_11251d540b2.java)
      at $WebContext_11251d5406e.getResource($WebContext_11251d5406e.java)
      at org.apache.tapestry.web.LocalizedWebContextResourceFinder.isExistingResource(LocalizedWebContextResourceFinder.java:85)
      at org.apache.tapestry.web.LocalizedWebContextResourceFinder.resolve(LocalizedWebContextResourceFinder.java:75)
      at org.apache.tapestry.web.WebContextResource.getLocalization(WebContextResource.java:59)
      at org.apache.tapestry.l10n.DefaultResourceLocalizer.findLocalization(DefaultResourceLocalizer.java:36)
      at $ResourceLocalizer_11251d54172.findLocalization($ResourceLocalizer_11251d54172.java)
      at $ResourceLocalizer_11251d54080.findLocalization($ResourceLocalizer_11251d54080.java)
      at org.apache.tapestry.asset.ContextAssetFactory.findAsset(ContextAssetFactory.java:73)
      at org.apache.tapestry.asset.ContextAssetFactory.assetExists(ContextAssetFactory.java:53)
      at $AssetFactory_11251d5416e.assetExists($AssetFactory_11251d5416e.java)
      at org.apache.tapestry.services.impl.TemplateSourceImpl.findSpeclessTemplate(TemplateSourceImpl.java:297)
      at org.apache.tapestry.services.impl.TemplateSourceImpl.findTemplate(TemplateSourceImpl.java:260)
      at org.apache.tapestry.services.impl.TemplateSourceImpl.getTemplate(TemplateSourceImpl.java:186)
      at $TemplateSource_11251d54090.getTemplate($TemplateSource_11251d54090.java)
      at org.apache.tapestry.services.impl.ComponentTemplateLoaderImpl.loadTemplate(ComponentTemplateLoaderImpl.java:56)
      at $ComponentTemplateLoader_11251d54107.loadTemplate($ComponentTemplateLoader_11251d54107.java)
      at org.apache.tapestry.pageload.PageLoader.loadTemplateForComponent(PageLoader.java:623)
      at org.apache.tapestry.BaseComponent.readTemplate(BaseComponent.java:92)
      at org.apache.tapestry.BaseComponent.finishLoad(BaseComponent.java:122)
      at $MonthSelection_49.finishLoad($MonthSelection_49.java)
      at org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:403)
      at org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:391)
      at org.apache.tapestry.pageload.PageLoader.loadPage(PageLoader.java:588)
      at $IPageLoader_11251d540fd.loadPage($IPageLoader_11251d540fd.java)
      at $IPageLoader_11251d540fe.loadPage($IPageLoader_11251d540fe.java)
      at org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:119)
      at $IPageSource_11251d5405a.getPage($IPageSource_11251d5405a.java)
      at org.apache.tapestry.engine.RequestCycle.loadPage(RequestCycle.java:239)
      at org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:226)
      at org.apache.tapestry.engine.RequestCycle.activate(RequestCycle.java:573)
      at org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod(ListenerMethodInvokerImpl.java:177)
      at org.apache.tapestry.listener.ListenerMethodInvokerImpl.searchAndInvoke(ListenerMethodInvokerImpl.java:129)
      at org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod(ListenerMethodInvokerImpl.java:70)
      at org.apache.tapestry.listener.SyntheticListener.actionTriggered(SyntheticListener.java:52)
      at org.apache.tapestry.binding.ListenerMethodBinding.actionTriggered(ListenerMethodBinding.java:77)
      at org.apache.tapestry.listener.ListenerInvokerTerminator.invokeListener(ListenerInvokerTerminator.java:50)
      at $ListenerInvoker_11251d5408c.invokeListener($ListenerInvoker_11251d5408c.java)
      at org.apache.tapestry.link.DirectLink.trigger(DirectLink.java:101)
      at org.apache.tapestry.engine.DirectService.triggerComponent(DirectService.java:166)
      at org.apache.tapestry.engine.DirectService.service(DirectService.java:142)
      at $IEngineService_11251d540e7.service($IEngineService_11251d540e7.java)
      at org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:72)
      at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:246)
      at org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:54)
      at $WebRequestServicer_11251d540c0.service($WebRequestServicer_11251d540c0.java)
      at $WebRequestServicer_11251d540bc.service($WebRequestServicer_11251d540bc.java)
      at org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:61)
      at $ServletRequestServicer_11251d540a2.service($ServletRequestServicer_11251d540a2.java)
      at org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
      at $ServletRequestServicerFilter_11251d5409e.service($ServletRequestServicerFilter_11251d5409e.java)
      at $ServletRequestServicer_11251d540a4.service($ServletRequestServicer_11251d540a4.java)
      at org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
      at $ServletRequestServicerFilter_11251d5409c.service($ServletRequestServicerFilter_11251d5409c.java)
      at $ServletRequestServicer_11251d540a4.service($ServletRequestServicer_11251d540a4.java)
      at org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
      at $ServletRequestServicerFilter_11251d540a0.service($ServletRequestServicerFilter_11251d540a0.java)
      at $ServletRequestServicer_11251d540a4.service($ServletRequestServicer_11251d540a4.java)
      at $ServletRequestServicer_11251d54096.service($ServletRequestServicer_11251d54096.java)
      at org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
      at org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:104)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
      at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
      at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
      at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
      at org.apache.catalina.valves.FastCommonAccessLogValve.invoke(FastCommonAccessLogValve.java:495)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
      at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
      at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
      at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
      at java.lang.Thread.run(Thread.java:595)
      2007-05-03 14:14:55,526 ERROR [org.apache.tapestry.web.ServletWebContext] Error getting context resource 'selection/MonthSelection.html': Path selection/MonthSelection.html does not start with a "/" character
      java.net.MalformedURLException: Path selection/MonthSelection.html does not start with a "/" character
      at org.apache.catalina.core.ApplicationContext.getResource(ApplicationContext.java:472)
      at org.apache.catalina.core.ApplicationContextFacade.getResource(ApplicationContextFacade.java:174)
      at org.apache.tapestry.web.ServletWebContext.getResource(ServletWebContext.java:78)
      at $WebContext_11251d540b2.getResource($WebContext_11251d540b2.java)
      at $WebContext_11251d5406e.getResource($WebContext_11251d5406e.java)
      at org.apache.tapestry.web.LocalizedWebContextResourceFinder.isExistingResource(LocalizedWebContextResourceFinder.java:85)
      at org.apache.tapestry.web.LocalizedWebContextResourceFinder.resolve(LocalizedWebContextResourceFinder.java:75)
      at org.apache.tapestry.web.WebContextResource.getLocalization(WebContextResource.java:59)
      at org.apache.tapestry.l10n.DefaultResourceLocalizer.findLocalization(DefaultResourceLocalizer.java:36)
      at $ResourceLocalizer_11251d54172.findLocalization($ResourceLocalizer_11251d54172.java)
      at $ResourceLocalizer_11251d54080.findLocalization($ResourceLocalizer_11251d54080.java)
      at org.apache.tapestry.asset.ContextAssetFactory.findAsset(ContextAssetFactory.java:73)
      at org.apache.tapestry.asset.ContextAssetFactory.assetExists(ContextAssetFactory.java:53)
      at $AssetFactory_11251d5416e.assetExists($AssetFactory_11251d5416e.java)
      at org.apache.tapestry.services.impl.TemplateSourceImpl.findSpeclessTemplate(TemplateSourceImpl.java:297)
      at org.apache.tapestry.services.impl.TemplateSourceImpl.findTemplate(TemplateSourceImpl.java:260)
      at org.apache.tapestry.services.impl.TemplateSourceImpl.getTemplate(TemplateSourceImpl.java:186)
      at $TemplateSource_11251d54090.getTemplate($TemplateSource_11251d54090.java)
      at org.apache.tapestry.services.impl.ComponentTemplateLoaderImpl.loadTemplate(ComponentTemplateLoaderImpl.java:56)
      at $ComponentTemplateLoader_11251d54107.loadTemplate($ComponentTemplateLoader_11251d54107.java)
      at org.apache.tapestry.pageload.PageLoader.loadTemplateForComponent(PageLoader.java:623)
      at org.apache.tapestry.BaseComponent.readTemplate(BaseComponent.java:92)
      at org.apache.tapestry.BaseComponent.finishLoad(BaseComponent.java:122)
      at $MonthSelection_49.finishLoad($MonthSelection_49.java)
      at org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:403)
      at org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:391)
      at org.apache.tapestry.pageload.PageLoader.loadPage(PageLoader.java:588)
      at $IPageLoader_11251d540fd.loadPage($IPageLoader_11251d540fd.java)
      at $IPageLoader_11251d540fe.loadPage($IPageLoader_11251d540fe.java)
      at org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:119)
      at $IPageSource_11251d5405a.getPage($IPageSource_11251d5405a.java)
      at org.apache.tapestry.engine.RequestCycle.loadPage(RequestCycle.java:239)
      at org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:226)
      at org.apache.tapestry.engine.RequestCycle.activate(RequestCycle.java:573)
      at org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod(ListenerMethodInvokerImpl.java:177)
      at org.apache.tapestry.listener.ListenerMethodInvokerImpl.searchAndInvoke(ListenerMethodInvokerImpl.java:129)
      at org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod(ListenerMethodInvokerImpl.java:70)
      at org.apache.tapestry.listener.SyntheticListener.actionTriggered(SyntheticListener.java:52)
      at org.apache.tapestry.binding.ListenerMethodBinding.actionTriggered(ListenerMethodBinding.java:77)
      at org.apache.tapestry.listener.ListenerInvokerTerminator.invokeListener(ListenerInvokerTerminator.java:50)
      at $ListenerInvoker_11251d5408c.invokeListener($ListenerInvoker_11251d5408c.java)
      at org.apache.tapestry.link.DirectLink.trigger(DirectLink.java:101)
      at org.apache.tapestry.engine.DirectService.triggerComponent(DirectService.java:166)
      at org.apache.tapestry.engine.DirectService.service(DirectService.java:142)
      at $IEngineService_11251d540e7.service($IEngineService_11251d540e7.java)
      at org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:72)
      at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:246)
      at org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:54)
      at $WebRequestServicer_11251d540c0.service($WebRequestServicer_11251d540c0.java)
      at $WebRequestServicer_11251d540bc.service($WebRequestServicer_11251d540bc.java)
      at org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:61)
      at $ServletRequestServicer_11251d540a2.service($ServletRequestServicer_11251d540a2.java)
      at org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
      at $ServletRequestServicerFilter_11251d5409e.service($ServletRequestServicerFilter_11251d5409e.java)
      at $ServletRequestServicer_11251d540a4.service($ServletRequestServicer_11251d540a4.java)
      at org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
      at $ServletRequestServicerFilter_11251d5409c.service($ServletRequestServicerFilter_11251d5409c.java)
      at $ServletRequestServicer_11251d540a4.service($ServletRequestServicer_11251d540a4.java)
      at org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
      at $ServletRequestServicerFilter_11251d540a0.service($ServletRequestServicerFilter_11251d540a0.java)
      at $ServletRequestServicer_11251d540a4.service($ServletRequestServicer_11251d540a4.java)
      at $ServletRequestServicer_11251d54096.service($ServletRequestServicer_11251d54096.java)
      at org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
      at org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:104)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
      at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
      at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
      at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
      at org.apache.catalina.valves.FastCommonAccessLogValve.invoke(FastCommonAccessLogValve.java:495)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
      at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
      at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
      at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
      at java.lang.Thread.run(Thread.java:595)

        Issue Links

          Activity

          Hide
          Jesse Kuhnert added a comment -
          Show
          Jesse Kuhnert added a comment - See TAPESTRY-1396 .

            People

            • Assignee:
              Jesse Kuhnert
              Reporter:
              Andrej Aschenbrenner
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development