You mean you could do something like <property name="hidden" initial-value="true" /> <parameter name="hidden"/>
?? (don't think so). Or you just refer about playing with properties and paramters? I know there are other ways to achieve 1700 but I thought an "initial-value" might be clearer, just because it seems to me that also the creatot of Dialog got confused with that :-) To me that "default-value" instead of "default-binding" was very confusing and I think it was the same kind of confusion. Well, let's see if anybody think this is interesting, otherwise it was just a good occasion for me to have a look at wonderful Tapestry code :-) On 8/9/07, andyhot <[EMAIL PROTECTED]> wrote: > I'm not against 1699 at all! > I'm just saying that it's also a documentation problem > > As for 1700, I think the traditional way of doing something like that > has been to declare and use both a parameter and a property... so > i'm not sure if what you're suggesting will help or confuse users - > waiting for > more comments on this. > > Martino Piccinato wrote: > > Hi Andy, > > > > I do not agree, it's not just a documentation problem I've opened a > > bug for the specific Dialog problem: > > > > https://issues.apache.org/jira/browse/TAPESTRY-1699 > > > > I think default use just doesn't behave the way you expect it to > > behave (that is a bug, even though a minor one). > > > > But I think there's also a generic enhancement to parameters that > > could be made that I describe in > > > > https://issues.apache.org/jira/browse/TAPESTRY-1700 > > > > I think this could provide a new interesting feature and many > > misunderstanding like the one me and Andrea (I guess) had. > > > > If you think it's useful I could provide some code > > > > > > On 8/9/07, andyhot <[EMAIL PROTECTED]> wrote: > > > >> Well, it looks like the hidden parameter is an in-out one, > >> and it's probably that way by design I guess. The 'value' and 'index' > >> parameters of @For > >> work similarly but that's more straightforward after reading the docs. > >> > >> Anyway, I think we should just document this. > >> > >> Martino Piccinato wrote: > >> > >>> 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] > >>> > >>> > >>> > >>> > >> --------------------------------------------------------------------- > >> 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] > > > > > > > > > --------------------------------------------------------------------- > 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]