You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Felix Scheffer (JIRA)" <ji...@apache.org> on 2015/03/23 03:11:11 UTC

[jira] [Commented] (TAP5-2268) @Property may generate a method that conflicts with an existing one, without error, and with unpredictable results

    [ https://issues.apache.org/jira/browse/TAP5-2268?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14375285#comment-14375285 ] 

Felix Scheffer commented on TAP5-2268:
--------------------------------------

Looks like 5.4 is not affected:

{code}
Caused by: java.lang.IllegalArgumentException: Unable to create new accessor method public com.fscheffer.testproject.TestObject2 getRow() on class com.fscheffer.testproject.pages.Test as the method is already implemented.
	at org.apache.tapestry5.internal.plastic.PlasticFieldImpl.introduceAccessorMethod(PlasticFieldImpl.java:363)
	at org.apache.tapestry5.internal.plastic.PlasticFieldImpl.createAccessors(PlasticFieldImpl.java:322)
	at org.apache.tapestry5.internal.plastic.PlasticFieldImpl.createAccessors(PlasticFieldImpl.java:305)
	at org.apache.tapestry5.internal.transform.PropertyWorker.createAccessorsForField(PropertyWorker.java:47)
	at org.apache.tapestry5.internal.transform.PropertyWorker.transform(PropertyWorker.java:39)
	at $ComponentClassTransformWorker2_2c41b30bbab9.transform(Unknown Source)
	at $ComponentClassTransformWorker2_2c41b30bbaab.transform(Unknown Source)
	at org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl$3.run(ComponentInstantiatorSourceImpl.java:316)
	at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:56)
	... 76 more
{code}

Close as fixed in 5.4?

> @Property may generate a method that conflicts with an existing one, without error, and with unpredictable results
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: TAP5-2268
>                 URL: https://issues.apache.org/jira/browse/TAP5-2268
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3.7
>            Reporter: Alexey Chalov
>            Priority: Minor
>
> Page class can contain 2 conflicting pieces for displaying html table like that:
> @Property(write=false)
> private List<Item> items;
> or
> public GridDataSource getItems() {
>     ....
> }
> This causes no error then these 2 constructs present in page class, but behaviour is unpredictable: either accessor for GridDataSource or property generated accessor can be used when page is generated. Restarting/redeploying application can change this behaviour to any of these 2 choices in unpredictable manner. More oftenly (as I noticed 90% data source accessor is used when table content is generated), but about ~10% is left on generated accessor. Tested under Tomcat 7.
> It would be nice if exception will rise in such situaŠµions to prevent accidental programming error.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)