Finally I think we were both wrong and that I opened two useless tickets: in fact, as stated in the documentation default-value attribute now accept any kind of binding and actually CREATES the binding if no other binding is present.
In your case: org.apache.tapestry.binding.AbstractBinding.createReadOnlyBindingException( AbstractBinding.java:115)) when I call into my rewindFormComponent method this code: setStartRow(sliderValue); and I set into jwc file: <parameter name="startRow" required="no" cache="true" default-value="ognl:0"/> means that at some point, during rewind, some of your code/components is calling a "setStartRow" to update the binding but the binding is invariant (ognl:0 is a costant!) so it's a read only binding (you can't "change the value" of a constant) so the ReadOnlyBindingException is correctly throwned. What you should do (if you really need to change the bound value) is bind to a containing component method (e.g. value="ognl:currentRow") that will contain the logic of when to return the default value and when not to. It's also possible NOT TO BIND the parameter by default, initializing the parameter method after the component finishLoad() phase, in your case it would be: In jwc: <parameter name="startRow"/> In component: public void finishLoad() { super.finishLoad(); setStartRow(0); } The fact is that default-value with invariant values (literal, ognl:<constant>, ecc.) make sense just if it's a read only binding, At the same time default-value with ognl expressions referring to containing component methods would break component encapsulation making assumptions on the exact method signature the containing component should implement (also its optional/default status would be questionable...). As for my specific Dialog component problem I think there's still a bug because the component IS actually trying to "write" the invariant default-value binding in hide/show methods so after 2 invalid ticket I hope I'm goig to open a valid one now. On 7/30/07, Martino Piccinato <[EMAIL PROTECTED]> wrote: > Posted one for the parameter issue > > https://issues.apache.org/jira/browse/TAPESTRY-1682 > > and another one for the Dialog component: > > https://issues.apache.org/jira/browse/TAPESTRY-1683 > > I didn't do it first because I was trying to investigate myself but I > really have no time to do this now. > > Ciao > > Martino > > On 7/30/07, Andrea Chiumenti <[EMAIL PROTECTED]> wrote: > > Well, I try to investigate into this, meanwhile if you could be so kind to > > post a jira... > > > > ciao, > > kiuma > > > > On 7/30/07, Martino Piccinato <[EMAIL PROTECTED]> wrote: > > > > > > Well, I'm having a very similar behaviour with Dialog component that > > > by default has a true parameter for optional parameter "hidden". > > > > > > <parameter name="hidden" default-value="true" /> > > > > > > It seems that if you set a constant value ("ognl:0" or "true") to a > > > parameter then the parameter itself is regarded as "Invariant" by > > > AbstractBinding that will refuse you to use any setter on it (it does > > > not have a reference to a method but to a... constant) and throw the > > > exception. > > > I don't have the exception if I just "override" the constant default > > > value with an ognl reference to a couple of setters/getters method > > > (returning the default value in case the property is not initialized). > > > > > > In my opinion this is a bug with "parameter" but I haven't been able > > > to investigate more and I'm quite surprised nobody stepped into this > > > problem before, see my neglected Dialog mails of some days ago :-) > > > > > > > > > > > > On 7/30/07, Andrea Chiumenti <[EMAIL PROTECTED]> wrote: > > > > this is the stack trace > > > > > > > > > > > org.apache.tapestry.binding.AbstractBinding.createReadOnlyBindingException > > > ( > > > > AbstractBinding.java:115) > > > > org.apache.tapestry.binding.ExpressionBinding.setObject( > > > > ExpressionBinding.java:196) > > > > $EditTable_16.setStartRow($EditTable_16.java) > > > > org.jfly.web.components.edittable.EditTable.rewindFormComponent( > > > > EditTable.java:541) > > > > > > > > On 7/30/07, Andrea Chiumenti <[EMAIL PROTECTED]> wrote: > > > > > > > > > > Hello! > > > > > I'm having this exception ( > > > > > > > > org.apache.tapestry.binding.AbstractBinding.createReadOnlyBindingException > > > > > (AbstractBinding.java:115)) when I call into my rewindFormComponent > > > method > > > > > this code: > > > > > > > > > > setStartRow(sliderValue); > > > > > > > > > > and I set into jwc file: > > > > > <parameter name="startRow" required="no" cache="true" > > > > > default-value="ognl:0"/> > > > > > > > > > > > > > > > Who can help me please ? > > > > > > > > > > Thx, kiuma > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]