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?
