Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.7
    • Fix Version/s: 2.7
    • Component/s: ExpressionCompiler
    • Labels:
      None
    • Environment:
      tapestry

      Description

      Sorry for the wording,

      Under artificial property I ment a property that is not appearing in

      the component/page class as normal or abstract getter/setter.

      Artificial property - property declared in the .jwc or .page files.

      For example you might have a component called Basket

      You will have a Basket.java -

      public abstract class BasketComponent extends BaseComponent

      { public abstract boolean isProperty(); }

      Then you will have a component descriptor

      Basket.jwc

      <component .... ... ... class="... ... BasketComponent">

      <property name="property"/>

      <property name="artificialProperty" initial-value="false"/>

      </component>

      As you can see component has two properties "property" and

      "artificial". One of them appears in the java class as abstract

      getter, another one do not appear anywhere except component

      specification, however component specification may contain a OGNL

      expression with all it's properties:

      In this case "property || artificialProperty" which brings the error.

      Links to the source code:

      Java class: http://bookie.googlecode.com/svn/trunk/bookie-web/src/main/java/org/bookie/web/components/TabPanel.java

      JWC descriptor:

      http://bookie.googlecode.com/svn/trunk/bookie-web/src/main/webapp/WEB-INF/TabPanel.jwc

      Error appearing in:

      <component id="link" type="DirectLink">

      <binding name="listener" value="listener:doClick"/>

      <binding name="parameters" value="blockId"/>

      <binding name="disabled" value="ognl: tabSelected || readonly"/>

      <binding name="async" value="ognl: !(tabSelected || readonly)"/>

      </component>

      When evaluating

      "ognl: tabSelected || readonly"

        Activity

        Hide
        Igor Drobiazko added a comment -
        Show
        Igor Drobiazko added a comment - Hi Jesse, here is another problem we faced. Our component Border uses a quite complex ognl expression to create a menu. The expression creates a list of MenuItem. These items are passed as a parameter into the Menud component. http://bookie.googlecode.com/svn/trunk/bookie-web/src/main/webapp/WEB-INF/Border.jwc http://bookie.googlecode.com/svn/trunk/bookie-web/src/main/webapp/WEB-INF/Menu.jwc http://bookie.googlecode.com/svn/trunk/bookie-web/src/main/java/org/bookie/web/components/Menu.java http://bookie.googlecode.com/svn/trunk/bookie-web/src/main/java/org/bookie/web/components/MenuItem.java
        Hide
        Igor Drobiazko added a comment -

        Attached html file containing exception description.

        Show
        Igor Drobiazko added a comment - Attached html file containing exception description.
        Hide
        Jesse Kuhnert added a comment -

        I'm not even going to try to explaining how it's fixed...It's fixed.

        Show
        Jesse Kuhnert added a comment - I'm not even going to try to explaining how it's fixed...It's fixed.

          People

          • Assignee:
            Jesse Kuhnert
            Reporter:
            Jesse Kuhnert
          • Votes:
            2 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development