You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Howard M. Lewis Ship (Created) (JIRA)" <ji...@apache.org> on 2011/10/21 01:50:10 UTC

[jira] [Created] (TAP5-1713) A property expression that generates a list can not reference public static field

A property expression that generates a list can not reference public static field
---------------------------------------------------------------------------------

                 Key: TAP5-1713
                 URL: https://issues.apache.org/jira/browse/TAP5-1713
             Project: Tapestry 5
          Issue Type: Bug
          Components: tapestry-core
    Affects Versions: 5.3
            Reporter: Howard M. Lewis Ship


So in my template,

  context="[ foo, bar ]"

And in my code:

  public static Foo FOO = Foo.FOO;  // Foo is an enum type

This fails:

org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:254)
org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:372)
com.fivoosh.components.SilkPageLink.getfieldvalue_context(SilkPageLink.java)
com.fivoosh.components.SilkPageLink.getContext(SilkPageLink.java)
org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:254)
org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:372)
org.apache.tapestry5.corelib.components.PageLink.getfieldvalue_context(PageLink.java)
org.apache.tapestry5.corelib.components.PageLink.beginRender(PageLink.java:57)
org.apache.tapestry5.corelib.components.PageLink.beginRender(PageLink.java)
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:202)
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:133)
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:209)


Replacing the field with:

  public Foo getFoo() { return Foo.FOO ; }

works.  There's the workaround, anyway.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Closed] (TAP5-1713) A property expression that generates a list can not reference public static field

Posted by "Howard M. Lewis Ship (Closed) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-1713?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship closed TAP5-1713.
--------------------------------------

       Resolution: Fixed
    Fix Version/s: 5.3
         Assignee: Howard M. Lewis Ship
    
> A property expression that generates a list can not reference public static field
> ---------------------------------------------------------------------------------
>
>                 Key: TAP5-1713
>                 URL: https://issues.apache.org/jira/browse/TAP5-1713
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3
>            Reporter: Howard M. Lewis Ship
>            Assignee: Howard M. Lewis Ship
>              Labels: property-expression
>             Fix For: 5.3
>
>
> So in my template,
>   context="[ foo, bar ]"
> And in my code:
>   public static Foo FOO = Foo.FOO;  // Foo is an enum type
> This fails:
> java.lang.IncompatibleClassChangeError
> Expected non-static field com.example.pages.MyPage.FOO
> * org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:254)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:372)
> * com.fivoosh.components.SilkPageLink.getfieldvalue_context(SilkPageLink.java)
> * com.fivoosh.components.SilkPageLink.getContext(SilkPageLink.java)
> * org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:254)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:372)
> * org.apache.tapestry5.corelib.components.PageLink.getfieldvalue_context(PageLink.java)
> * org.apache.tapestry5.corelib.components.PageLink.beginRender(PageLink.java:57)
> * org.apache.tapestry5.corelib.components.PageLink.beginRender(PageLink.java)
> * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:202)
> * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:133)
> * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:209)
> Replacing the field with:
>   public Foo getFoo() { return Foo.FOO ; }
> works.  There's the workaround, anyway.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TAP5-1713) A property expression that generates a list can not reference public static field

Posted by "Hudson (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TAP5-1713?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13132898#comment-13132898 ] 

Hudson commented on TAP5-1713:
------------------------------

Integrated in tapestry-trunk-freestyle #598 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/598/])
    TAP5-1713: Add (inefficient) fix for case where the field is static
TAP5-1713: Create failing test case for bug

hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1187422
Files : 
* /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PropertyConduitSourceImpl.java

hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1187421
Files : 
* /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PropertyConduitSourceImplTest.java

                
> A property expression that generates a list can not reference public static field
> ---------------------------------------------------------------------------------
>
>                 Key: TAP5-1713
>                 URL: https://issues.apache.org/jira/browse/TAP5-1713
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3
>            Reporter: Howard M. Lewis Ship
>            Assignee: Howard M. Lewis Ship
>              Labels: property-expression
>             Fix For: 5.3
>
>
> So in my template,
>   context="[ foo, bar ]"
> And in my code:
>   public static Foo FOO = Foo.FOO;  // Foo is an enum type
> This fails:
> java.lang.IncompatibleClassChangeError
> Expected non-static field com.example.pages.MyPage.FOO
> * org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:254)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:372)
> * com.fivoosh.components.SilkPageLink.getfieldvalue_context(SilkPageLink.java)
> * com.fivoosh.components.SilkPageLink.getContext(SilkPageLink.java)
> * org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:254)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:372)
> * org.apache.tapestry5.corelib.components.PageLink.getfieldvalue_context(PageLink.java)
> * org.apache.tapestry5.corelib.components.PageLink.beginRender(PageLink.java:57)
> * org.apache.tapestry5.corelib.components.PageLink.beginRender(PageLink.java)
> * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:202)
> * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:133)
> * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:209)
> Replacing the field with:
>   public Foo getFoo() { return Foo.FOO ; }
> works.  There's the workaround, anyway.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TAP5-1713) A property expression that generates a list can not reference public static field

Posted by "Hudson (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TAP5-1713?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13132898#comment-13132898 ] 

Hudson commented on TAP5-1713:
------------------------------

Integrated in tapestry-trunk-freestyle #598 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/598/])
    TAP5-1713: Add (inefficient) fix for case where the field is static
TAP5-1713: Create failing test case for bug

hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1187422
Files : 
* /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PropertyConduitSourceImpl.java

hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1187421
Files : 
* /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PropertyConduitSourceImplTest.java

                
> A property expression that generates a list can not reference public static field
> ---------------------------------------------------------------------------------
>
>                 Key: TAP5-1713
>                 URL: https://issues.apache.org/jira/browse/TAP5-1713
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3
>            Reporter: Howard M. Lewis Ship
>            Assignee: Howard M. Lewis Ship
>              Labels: property-expression
>             Fix For: 5.3
>
>
> So in my template,
>   context="[ foo, bar ]"
> And in my code:
>   public static Foo FOO = Foo.FOO;  // Foo is an enum type
> This fails:
> java.lang.IncompatibleClassChangeError
> Expected non-static field com.example.pages.MyPage.FOO
> * org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:254)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:372)
> * com.fivoosh.components.SilkPageLink.getfieldvalue_context(SilkPageLink.java)
> * com.fivoosh.components.SilkPageLink.getContext(SilkPageLink.java)
> * org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:254)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:372)
> * org.apache.tapestry5.corelib.components.PageLink.getfieldvalue_context(PageLink.java)
> * org.apache.tapestry5.corelib.components.PageLink.beginRender(PageLink.java:57)
> * org.apache.tapestry5.corelib.components.PageLink.beginRender(PageLink.java)
> * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:202)
> * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:133)
> * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:209)
> Replacing the field with:
>   public Foo getFoo() { return Foo.FOO ; }
> works.  There's the workaround, anyway.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Closed] (TAP5-1713) A property expression that generates a list can not reference public static field

Posted by "Howard M. Lewis Ship (Closed) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-1713?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship closed TAP5-1713.
--------------------------------------

       Resolution: Fixed
    Fix Version/s: 5.3
         Assignee: Howard M. Lewis Ship
    
> A property expression that generates a list can not reference public static field
> ---------------------------------------------------------------------------------
>
>                 Key: TAP5-1713
>                 URL: https://issues.apache.org/jira/browse/TAP5-1713
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3
>            Reporter: Howard M. Lewis Ship
>            Assignee: Howard M. Lewis Ship
>              Labels: property-expression
>             Fix For: 5.3
>
>
> So in my template,
>   context="[ foo, bar ]"
> And in my code:
>   public static Foo FOO = Foo.FOO;  // Foo is an enum type
> This fails:
> java.lang.IncompatibleClassChangeError
> Expected non-static field com.example.pages.MyPage.FOO
> * org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:254)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:372)
> * com.fivoosh.components.SilkPageLink.getfieldvalue_context(SilkPageLink.java)
> * com.fivoosh.components.SilkPageLink.getContext(SilkPageLink.java)
> * org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:254)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:372)
> * org.apache.tapestry5.corelib.components.PageLink.getfieldvalue_context(PageLink.java)
> * org.apache.tapestry5.corelib.components.PageLink.beginRender(PageLink.java:57)
> * org.apache.tapestry5.corelib.components.PageLink.beginRender(PageLink.java)
> * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:202)
> * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:133)
> * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:209)
> Replacing the field with:
>   public Foo getFoo() { return Foo.FOO ; }
> works.  There's the workaround, anyway.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (TAP5-1713) A property expression that generates a list can not reference public static field

Posted by "Howard M. Lewis Ship (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-1713?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship updated TAP5-1713:
---------------------------------------

    Description: 
So in my template,

  context="[ foo, bar ]"

And in my code:

  public static Foo FOO = Foo.FOO;  // Foo is an enum type

This fails:

java.lang.IncompatibleClassChangeError

Expected non-static field com.example.pages.MyPage.FOO

* org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
* org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:254)
* org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:372)
* com.fivoosh.components.SilkPageLink.getfieldvalue_context(SilkPageLink.java)
* com.fivoosh.components.SilkPageLink.getContext(SilkPageLink.java)
* org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
* org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:254)
* org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:372)
* org.apache.tapestry5.corelib.components.PageLink.getfieldvalue_context(PageLink.java)
* org.apache.tapestry5.corelib.components.PageLink.beginRender(PageLink.java:57)
* org.apache.tapestry5.corelib.components.PageLink.beginRender(PageLink.java)
* org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:202)
* org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:133)
* org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:209)


Replacing the field with:

  public Foo getFoo() { return Foo.FOO ; }

works.  There's the workaround, anyway.


  was:
So in my template,

  context="[ foo, bar ]"

And in my code:

  public static Foo FOO = Foo.FOO;  // Foo is an enum type

This fails:

org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:254)
org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:372)
com.fivoosh.components.SilkPageLink.getfieldvalue_context(SilkPageLink.java)
com.fivoosh.components.SilkPageLink.getContext(SilkPageLink.java)
org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:254)
org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:372)
org.apache.tapestry5.corelib.components.PageLink.getfieldvalue_context(PageLink.java)
org.apache.tapestry5.corelib.components.PageLink.beginRender(PageLink.java:57)
org.apache.tapestry5.corelib.components.PageLink.beginRender(PageLink.java)
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:202)
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:133)
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:209)


Replacing the field with:

  public Foo getFoo() { return Foo.FOO ; }

works.  There's the workaround, anyway.


    
> A property expression that generates a list can not reference public static field
> ---------------------------------------------------------------------------------
>
>                 Key: TAP5-1713
>                 URL: https://issues.apache.org/jira/browse/TAP5-1713
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3
>            Reporter: Howard M. Lewis Ship
>              Labels: property-expression
>
> So in my template,
>   context="[ foo, bar ]"
> And in my code:
>   public static Foo FOO = Foo.FOO;  // Foo is an enum type
> This fails:
> java.lang.IncompatibleClassChangeError
> Expected non-static field com.example.pages.MyPage.FOO
> * org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:254)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:372)
> * com.fivoosh.components.SilkPageLink.getfieldvalue_context(SilkPageLink.java)
> * com.fivoosh.components.SilkPageLink.getContext(SilkPageLink.java)
> * org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:254)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:372)
> * org.apache.tapestry5.corelib.components.PageLink.getfieldvalue_context(PageLink.java)
> * org.apache.tapestry5.corelib.components.PageLink.beginRender(PageLink.java:57)
> * org.apache.tapestry5.corelib.components.PageLink.beginRender(PageLink.java)
> * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:202)
> * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:133)
> * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:209)
> Replacing the field with:
>   public Foo getFoo() { return Foo.FOO ; }
> works.  There's the workaround, anyway.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (TAP5-1713) A property expression that generates a list can not reference public static field

Posted by "Howard M. Lewis Ship (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-1713?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship updated TAP5-1713:
---------------------------------------

    Description: 
So in my template,

  context="[ foo, bar ]"

And in my code:

  public static Foo FOO = Foo.FOO;  // Foo is an enum type

This fails:

java.lang.IncompatibleClassChangeError

Expected non-static field com.example.pages.MyPage.FOO

* org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
* org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:254)
* org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:372)
* com.fivoosh.components.SilkPageLink.getfieldvalue_context(SilkPageLink.java)
* com.fivoosh.components.SilkPageLink.getContext(SilkPageLink.java)
* org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
* org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:254)
* org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:372)
* org.apache.tapestry5.corelib.components.PageLink.getfieldvalue_context(PageLink.java)
* org.apache.tapestry5.corelib.components.PageLink.beginRender(PageLink.java:57)
* org.apache.tapestry5.corelib.components.PageLink.beginRender(PageLink.java)
* org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:202)
* org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:133)
* org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:209)


Replacing the field with:

  public Foo getFoo() { return Foo.FOO ; }

works.  There's the workaround, anyway.


  was:
So in my template,

  context="[ foo, bar ]"

And in my code:

  public static Foo FOO = Foo.FOO;  // Foo is an enum type

This fails:

org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:254)
org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:372)
com.fivoosh.components.SilkPageLink.getfieldvalue_context(SilkPageLink.java)
com.fivoosh.components.SilkPageLink.getContext(SilkPageLink.java)
org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:254)
org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:372)
org.apache.tapestry5.corelib.components.PageLink.getfieldvalue_context(PageLink.java)
org.apache.tapestry5.corelib.components.PageLink.beginRender(PageLink.java:57)
org.apache.tapestry5.corelib.components.PageLink.beginRender(PageLink.java)
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:202)
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:133)
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:209)


Replacing the field with:

  public Foo getFoo() { return Foo.FOO ; }

works.  There's the workaround, anyway.


    
> A property expression that generates a list can not reference public static field
> ---------------------------------------------------------------------------------
>
>                 Key: TAP5-1713
>                 URL: https://issues.apache.org/jira/browse/TAP5-1713
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3
>            Reporter: Howard M. Lewis Ship
>              Labels: property-expression
>
> So in my template,
>   context="[ foo, bar ]"
> And in my code:
>   public static Foo FOO = Foo.FOO;  // Foo is an enum type
> This fails:
> java.lang.IncompatibleClassChangeError
> Expected non-static field com.example.pages.MyPage.FOO
> * org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:254)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:372)
> * com.fivoosh.components.SilkPageLink.getfieldvalue_context(SilkPageLink.java)
> * com.fivoosh.components.SilkPageLink.getContext(SilkPageLink.java)
> * org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:254)
> * org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:372)
> * org.apache.tapestry5.corelib.components.PageLink.getfieldvalue_context(PageLink.java)
> * org.apache.tapestry5.corelib.components.PageLink.beginRender(PageLink.java:57)
> * org.apache.tapestry5.corelib.components.PageLink.beginRender(PageLink.java)
> * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:202)
> * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:133)
> * org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:209)
> Replacing the field with:
>   public Foo getFoo() { return Foo.FOO ; }
> works.  There's the workaround, anyway.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira