Hi,

I had the following:

@Property
@Parameter(value="actionZone")
private String actionZone;

which caused the exception at [2]. I would not expect this behaviour
based on the documentation at [1] and am wondering if I should file a
bug report. The situation probably won't happen a lot and in all
honesty having the default value for a property the same as my
property name does not deserve beauty prize. Though still I have
provided the default "value" for a String parameter which should have
a default literal binding and thus do not expect the generated
getActionZone() method to be invoked. (Hence the StackOverflowError).

My quick fix was to change it to:

@Property
@Parameter(value="literal:actionZone")
private String actionZone;

But I do believe there is nothing wrong with my first option. And if
Tapesty is clever enough to change the default binding if it finds a
property by that name maybe an Exception should be thrown in the case
that the default is bound to itself.

Cheers,
Joost



[1] http://tapestry.apache.org/tapestry5/guide/parameters.html

[2]: the exception:


java.lang.StackOverflowError
        at 
org.apache.tapestry5.internal.transform.PropertyWorker$2.advise(PropertyWorker.java:100)
        at 
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
        at 
com.jsportal.projectportal.client.http.components.table.TimeExpenseTable.getActionZone(TimeExpenseTable.java)
        at $PropertyConduit_12df355dff1.get($PropertyConduit_12df355dff1.java)
        at 
org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
        at 
org.apache.tapestry5.internal.transform.ParameterWorker$2$1.readFromBinding(ParameterWorker.java:314)
        at 
org.apache.tapestry5.internal.transform.ParameterWorker$2$1.get(ParameterWorker.java:413)
        at 
com.jsportal.projectportal.client.http.components.table.TimeExpenseTable._$get_actionZone(TimeExpenseTable.java)
        at 
com.jsportal.projectportal.client.http.components.table.TimeExpenseTable._$readaccess_actionZone(TimeExpenseTable.java)
        at $FieldAccess_12df355dfd9.read($FieldAccess_12df355dfd9.java)
        at 
org.apache.tapestry5.internal.services.DelegateFieldAccess.read(DelegateFieldAccess.java:38)
        at 
org.apache.tapestry5.internal.transform.PropertyWorker$2.advise(PropertyWorker.java:100)
        at 
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
        at 
com.jsportal.projectportal.client.http.components.table.TimeExpenseTable.getActionZone(TimeExpenseTable.java)
        at $PropertyConduit_12df355dff1.get($PropertyConduit_12df355dff1.java)
        at 
org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
        at 
org.apache.tapestry5.internal.transform.ParameterWorker$2$1.readFromBinding(ParameterWorker.java:314)
        at 
org.apache.tapestry5.internal.transform.ParameterWorker$2$1.get(ParameterWorker.java:413)
        at 
com.jsportal.projectportal.client.http.components.table.TimeExpenseTable._$get_actionZone(TimeExpenseTable.java)
        at 
com.jsportal.projectportal.client.http.components.table.TimeExpenseTable._$readaccess_actionZone(TimeExpenseTable.java)
        at $FieldAccess_12df355dfd9.read($FieldAccess_12df355dfd9.java)
        at 
org.apache.tapestry5.internal.services.DelegateFieldAccess.read(DelegateFieldAccess.java:38)
        at 
org.apache.tapestry5.internal.transform.PropertyWorker$2.advise(PropertyWorker.java:100)
        at 
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
        at 
com.jsportal.projectportal.client.http.components.table.TimeExpenseTable.getActionZone(TimeExpenseTable.java)
        at $PropertyConduit_12df355dff1.get($PropertyConduit_12df355dff1.java)
        at 
org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
        at 
org.apache.tapestry5.internal.transform.ParameterWorker$2$1.readFromBinding(ParameterWorker.java:314)
        at 
org.apache.tapestry5.internal.transform.ParameterWorker$2$1.get(ParameterWorker.java:413)
        at 
com.jsportal.projectportal.client.http.components.table.TimeExpenseTable._$get_actionZone(TimeExpenseTable.java)
        at 
com.jsportal.projectportal.client.http.components.table.TimeExpenseTable._$readaccess_actionZone(TimeExpenseTable.java)
        at $FieldAccess_12df355dfd9.read($FieldAccess_12df355dfd9.java)
        at 
org.apache.tapestry5.internal.services.DelegateFieldAccess.read(DelegateFieldAccess.java:38)
        at 
org.apache.tapestry5.internal.transform.PropertyWorker$2.advise(PropertyWorker.java:100)
        at 
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
        at 
com.jsportal.projectportal.client.http.components.table.TimeExpenseTable.getActionZone(TimeExpenseTable.java)
        at $PropertyConduit_12df355dff1.get($PropertyConduit_12df355dff1.java)
        at 
org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
        at 
org.apache.tapestry5.internal.transform.ParameterWorker$2$1.readFromBinding(ParameterWorker.java:314)
        at 
org.apache.tapestry5.internal.transform.ParameterWorker$2$1.get(ParameterWorker.java:413)
        at 
com.jsportal.projectportal.client.http.components.table.TimeExpenseTable._$get_actionZone(TimeExpenseTable.java)
        at 
com.jsportal.projectportal.client.http.components.table.TimeExpenseTable._$readaccess_actionZone(TimeExpenseTable.java)
        at $FieldAccess_12df355dfd9.read($FieldAccess_12df355dfd9.java)
etc......

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to