Uploaded image for project: 'Tapestry 5'
  1. Tapestry 5
  2. TAP5-571

Misplaced <t:parameter> results in an inscrutable exception

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.1.0.0
    • Fix Version/s: 5.1.0.4
    • Component/s: tapestry-core
    • Labels:
      None

      Description

      If <t:parameter> is used not inside a component, a inscrutable exception occurs. The message of the exception doesn't tell at all what the reason was.
      PageLoaderProcessor should catch the IllegalStateException inside the method parameter(ParameterToken) and throw TapestryException containing the location of the current token. This will provide a reasonable exception report.

      java.lang.IllegalStateException: Stack is empty.
      at org.apache.tapestry5.ioc.util.Stack.checkIfEmpty(Stack.java:119)
      at org.apache.tapestry5.ioc.util.Stack.peek(Stack.java:131)
      at org.apache.tapestry5.internal.services.PageLoaderProcessor.parameter(PageLoaderProcessor.java:594)
      at org.apache.tapestry5.internal.services.PageLoaderProcessor.loadTemplateForComponent(PageLoaderProcessor.java:519)
      at org.apache.tapestry5.internal.services.PageLoaderProcessor.workComponentQueue(PageLoaderProcessor.java:834)
      at org.apache.tapestry5.internal.services.PageLoaderProcessor.loadPage(PageLoaderProcessor.java:392)
      at org.apache.tapestry5.internal.services.PageLoaderImpl.loadPage(PageLoaderImpl.java:59)
      at $PageLoader_11ff4e54e7f.loadPage($PageLoader_11ff4e54e7f.java)
      at org.apache.tapestry5.internal.services.PagePoolCache.checkout(PagePoolCache.java:210)
      at org.apache.tapestry5.internal.services.PagePoolImpl.checkout(PagePoolImpl.java:99)

      To reproduce the problem create the following page:

      <html xml:space="default" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
      <body>
      <t:unless test="some condition">
      Foo
      </t:unless>
      <t:parameter name="else">
      Bar
      </t:parameter>
      </body>
      </html>

        Attachments

          Activity

            People

            • Assignee:
              hlship Howard M. Lewis Ship
              Reporter:
              igor.drobiazko Igor Drobiazko
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: