Cannot reference property from property expression if backing type is abstract 
and property is defined in interface 
--------------------------------------------------------------------------------------------------------------------

                 Key: TAP5-921
                 URL: https://issues.apache.org/jira/browse/TAP5-921
             Project: Tapestry 5
          Issue Type: Bug
          Components: tapestry-core
    Affects Versions: 5.1.0.5
            Reporter: Peter Rietzler


Here is a simple example: 

public interface HasName {
        String getName();
}

public abstract class AbstractBean implements HasName {
}

public class TestPage {

        @Property
        private AbstractBean bean;

        public void onActivate() {
                bean = new AbstractBean() {
                        public void setName(String name) {
                        }
                };
        }
}


TestPage.tml
...
        <h1>${bean.name}</h1>
...

Error message is:

Exception assembling root component of page manager/tools/TestPage: Could not 
convert 'bean.name' into a component parameter binding: Class 
smarter.ecommerce.smeco.manager.pages.tools.AbstractBean does not contain a 
property named 'name' (within property expression 'bean.name'). Available 
properties: class, componentResources.

Everything works fine if I change the bean class to:

public abstract class AbstractBean implements HasName {
  public abstract String getName();
}


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to