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

Reply via email to