Tapestry 5
  1. Tapestry 5
  2. TAP5-1088

Bean editor model for <class name> already contains a property model for property <property name> when combining model parameter with add parameter of BeanEditor or BeanEditForm

    Details

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

      Description

      I'm getting exception in my app:

      Render queue error in SetupRender[Details:itemeditor]: Bean editor model for org.apache.tapestry5.integration.app7.data.Item already contains a property model for property 'displayName'.

      Not sure if this is a bug or my misunderstanding of some T5 concepts.

      Here is my use case:

      I have 'Index' page displaying a list of items in a grid. Every row in the grid has an 'Edit' link (pagelink) that leads to 'Details' page where I can edit selected item using BeanEditor component. After clicking Submit application should redirect me back to 'Index' page where I can see the list with updated item. I may want to click 'Edit' once again and repeat the use case, but now at this place I get an exception I noted above.

      Here's my 'Item' class:

      package org.apache.tapestry5.integration.app7.data;

      public class Item {

      private int id;

      public Item(int id)

      { this.id = id; }

      public int getId() { return id; }

      public void setId(int id) { this.id = id; }

      public String getDisplayName()

      { return "Item #" + id; }

      }

      and a part of beaneditor markup on Details page:

      <t:beaneditor t:id="itemEditor" object="item" add="displayName"
      submitLabel="Apply Edit">

      You can see I declare new property (displayName) for the Item bean model. This works fine the first time I navigate to the Details page, but fails on the second time.

      To illustrate the exception I wrote a simple test case (see attachment). I took app6 integration test of tapestry-core tests as a reference (from trunk version on github) and implemented the test case in a new test application (app7).

      Hope this will help to understand the issue.

        Activity

          People

          • Assignee:
            Howard M. Lewis Ship
            Reporter:
            Dmitry Gusev
          • Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development