We should definitely forbid to bind a parameter to itself. Can you pleas
fill a JIRA issue?

On Sat, Feb 5, 2011 at 1:32 PM, Joost Schouten (mailing lists) <
joost...@jsportal.com> wrote:

> 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
>
>


-- 
Best regards,

Igor Drobiazko
http://tapestry5.de

Reply via email to