No, i just meant "playing with properties and parameters" :)
On 8/9/07, Martino Piccinato <[EMAIL PROTECTED]> wrote: > > 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] > > -- Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr Tapestry / Tacos developer Open Source / JEE Consulting