No there is no reason ... it was a cut-n-paste situation and I did not
realize that it would have that effect. Now I see.
I guess I am still unclear as to the lifecycle of a persistent vs non
persistent property. Could you help me understand
the lifecycle of a NON Persistent property? Assume the page has a form.

thanks

doug

On 10/27/05, Oleg Batrashev <[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> Your problem is that property "feeSchedule" must NOT be persistent.
> "feeSchedule" is like iteration variable inside ListEdit component. So
> its being updated from your "synchronizeFeeSchedules" method on every
> iteration of ListEdit during render phase. But no persistent property
> may be updated after pageBeginRender of render phase.
>
> Generally, you do not need to do every variable persistent, only a few
> ones. What you did is made variable 'i' (ie feeSchedule in your case)
> in 'for(int i=0; ... )' persistent. Is there any reason for this?
>
> Oleg
>
> On 10/27/05, Doug Lochart <[EMAIL PROTECTED]> wrote:
> > Ron ... thanks for helping.
> >
> > I am using Tapestry 3.0.3 --- we have no time to take the tapestry 4
> plunge
> > I thought I was doing lazy initialization in pageBeginRender() if this
> is
> > not what you mean please explain what/where you
> > you are talking about. All properties being used are persistent.
> >
> > As I stated in the email this is the first time the page is being loaded
> and
> > I never get to see it. all I see is the stacktrace
> > Also, I am not using the Detach event could you explain that as well.
> >
> > <property-specification name="feeSchedule" type="
> > com.capecomputing.mensana.domain.FeeSchedule" persistent="yes"/>
>
> > <component id="feeScheduleListEditMap" type="ListEdit">
> > <binding name="source" expression="feeScheduleListMap.keys"/>
> > <binding name="value" expression="feeScheduleListMap.key"/>
> > <binding name="listener" expression="listeners.synchronizeFeeSchedules
> "/>
> > <static-binding name="element" value="tr"/>
> > </component>
> >
> > <component id="inputFeeAmount" type="MoneyFieldComponent">
> > <binding name="moneyField" expression="feeSchedule.amountAsString"/>
> > </component>
> >
> > </page-specification>
> >
> >
> > Here is the stack trace:
> >
> > Page recorder for page ModifyFeeSchedules is locked after a commit(),
> but
> > received a change to property feeSchedule of component
> > ModifyFeeSchedules. Stack
> > Trace:
> >
> > - org.apache.tapestry.record.PageRecorder.observeChange(
> > PageRecorder.java:119)
> > - org.apache.tapestry.Tapestry.fireObservedChange(Tapestry.java:1339)
> > - org.apache.tapestry.AbstractComponent.fireObservedChange(
> > AbstractComponent.java:304)
> > -
> >
> com.capecomputing.mensana.webportal.pages.ModifyFeeSchedules$Enhance_24.setFeeSchedule
> (ModifyFeeSchedules$Enhance_24.java)
> >
> > -
> >
> com.capecomputing.mensana.webportal.pages.ModifyFeeSchedules.synchronizeFeeSchedules
> > (ModifyFeeSchedules.java:174)
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


--
What profits a man if he gains the whole world yet loses his soul?

Reply via email to