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.

Here is the page file:

<?xml version="1.0"?>

<!DOCTYPE page-specification PUBLIC
"-//Apache Software Foundation//Tapestry Specification 3.0//EN"
"http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd";>

<page-specification class="
com.capecomputing.mensana.webportal.pages.ModifyFeeSchedules">

<property-specification name="testGroupList" type="java.util.List"
persistent="yes"/>
<property-specification name="feeScheduleList" type="java.util.List"
persistent="yes"/>
<property-specification name="feeSchedule" type="
com.capecomputing.mensana.domain.FeeSchedule" persistent="yes"/>
<property-specification name="client" type="
com.capecomputing.mensana.domain.Client" persistent="yes"/>
<property-specification name="feeScheduleListMap" type="
org.apache.tapestry.form.ListEditMap" persistent="yes"/>
<property-specification name="action" type="java.lang.String"
persistent="yes"/>

<bean name="delegate" class="
com.capecomputing.mensana.webportal.application.ClaimantSetupDelegate"
lifecycle="request"/>

<!-- Validators -->


<bean name="required" class="org.apache.tapestry.valid.StringValidator"
lifecycle="page">
<set-property name="required" expression="true"/>
<set-property name="clientScriptingEnabled" expression="true"/>
</bean>

<!-- end Validator-->

<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)
   - sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   - sun.reflect.NativeMethodAccessorImpl.invoke(
   NativeMethodAccessorImpl.java:39)
   - sun.reflect.DelegatingMethodAccessorImpl.invoke(
   DelegatingMethodAccessorImpl.java:25)
   - java.lang.reflect.Method.invoke(Method.java:324)
   - org.apache.tapestry.listener.ListenerMap.invokeTargetMethod(
   ListenerMap.java:257)
   - org.apache.tapestry.listener.ListenerMap.access$100(ListenerMap.java:46)

   - org.apache.tapestry.listener.ListenerMap$SyntheticListener.invoke(
   ListenerMap.java:97)
   -
   org.apache.tapestry.listener.ListenerMap$SyntheticListener.actionTriggered
   (ListenerMap.java:102)
   - org.apache.tapestry.form.ListEdit.renderComponent(ListEdit.java:106)

   - org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:857)

   - org.apache.tapestry.AbstractComponent.renderBody(
   AbstractComponent.java:624)
   -
   
com.capecomputing.mensana.webportal.components.SingleSubmitForm.renderComponent
   (SingleSubmitForm.java:363)
   - org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:857)

   - org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:118)

   - org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:857)

   - org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:300)
   - org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:368)

   - org.apache.tapestry.engine.AbstractEngine.renderResponse(
   AbstractEngine.java:749)
   - org.apache.tapestry.engine.DirectService.service(DirectService.java:174)

   - org.apache.tapestry.engine.AbstractEngine.service(
   AbstractEngine.java:889)
   - org.apache.tapestry.ApplicationServlet.doService(
   ApplicationServlet.java:198)
   -
   
com.capecomputing.mensana.webportal.application.MensanaApplicationServlet.doService
   (MensanaApplicationServlet.java:107)
   - org.apache.tapestry.ApplicationServlet.doPost(
   ApplicationServlet.java:327)
   - javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
   - javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   - org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
   ApplicationFilterChain.java:237)
   - org.apache.catalina.core.ApplicationFilterChain.doFilter(
   ApplicationFilterChain.java:157)
   - org.apache.catalina.core.StandardWrapperValve.invoke(
   StandardWrapperValve.java:214)
   - org.apache.catalina.core.StandardValveContext.invokeNext(
   StandardValveContext.java:104)
   - org.apache.catalina.core.StandardPipeline.invoke(
   StandardPipeline.java:520)
   - org.apache.catalina.core.StandardContextValve.invokeInternal(
   StandardContextValve.java:198)
   - org.apache.catalina.core.StandardContextValve.invoke(
   StandardContextValve.java:152)
   - org.apache.catalina.core.StandardValveContext.invokeNext(
   StandardValveContext.java:104)
   - org.apache.catalina.core.StandardPipeline.invoke(
   StandardPipeline.java:520)
   - org.apache.catalina.core.StandardHostValve.invoke(
   StandardHostValve.java:137)
   - org.apache.catalina.core.StandardValveContext.invokeNext(
   StandardValveContext.java:104)
   - org.apache.catalina.valves.ErrorReportValve.invoke(
   ErrorReportValve.java:118)
   - org.apache.catalina.core.StandardValveContext.invokeNext(
   StandardValveContext.java:102)
   - org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:535)

   - org.apache.catalina.core.StandardValveContext.invokeNext(
   StandardValveContext.java:102)
   - org.apache.catalina.core.StandardPipeline.invoke(
   StandardPipeline.java:520)
   - org.apache.catalina.core.StandardEngineValve.invoke(
   StandardEngineValve.java:109)
   - org.apache.catalina.core.StandardValveContext.invokeNext(
   StandardValveContext.java:104)
   - org.apache.catalina.core.StandardPipeline.invoke(
   StandardPipeline.java:520)
   - org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)

   - org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

   - org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)

   - org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
   - org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
   - org.apache.jk.common.ChannelSocket.processConnection(
   ChannelSocket.java:675)
   - org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
   - org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
   ThreadPool.java:683)
   - java.lang.Thread.run(Thread.java:534)



Thanks again




On 10/27/05, Ron Piterman <[EMAIL PROTECTED]> wrote:
>
> Are you using tapestry 3 or 4 ?
>
> try changin the initialization to a lazy one:
>
> private Map x;
> public Map getX() {
> if (x == null)
> x = createX();
> return x;
> }
>
> you have to set x to null on the detach event.
>
> plus: please sent the page and exception stack trace
>
> Cheers,
> Ron
>
>
>
> ציטוט Doug Lochart:
> > Since I have not heard anything I assume its a trivial issue ... maybe
> > it is but its NOT a double click issue which the archives are full of.
> > This exception happens when the page is being activated for the FIRST
> > time. PLEASE read this kindly offer me some direction. As always we
> > are under
> > the gun. -- thanks
> >
> > All,
> >
> > I have looked through all of the archives and most issues related to
> > this exception
> > revolve around a Form Submission or a double click. My issue is
> different
> > and I am perplexed. The Exception happens during the initial rendering
> phase
> >
> > I have a page that has a List passed to it from another page before
> being
> > activated. The page being activated is very simple. It has a ListEdit
> > component to
> > iterate over a collection. I turned on tapestry debugging to see if I
> > could get any more info but i did
> > not. The exception is happening during the initial rendering of the
> page.
> > I don't even get to see the page before the exception occurs.
> >
> > I load my ListEditMap in the pageBeginRender() method as in the
> > publisher example
> >
> > public void pageBeginRender(final PageEvent event)
> > {
> > if ( getFeeScheduleListMap() == null ) {
> > ListEditMap map = new ListEditMap();
> > Iterator ii = getFeeScheduleList().iterator();
> > while ( ii.hasNext()) {
> > FeeSchedule fee = (FeeSchedule)ii.next();
> > map.add( new Long( fee.getFeeScheduleID() ), fee );
> > }
> > }
> > setFeeScheduleListMap( map );
> > }
> >
> > My synchronize method looks like this:
> >
> > public void synchronizeFeeSchedules(IRequestCycle cycle) {
> > ListEditMap map = getFeeScheduleListMap();
> > FeeSchedule feeSchedule = (FeeSchedule) map.getValue();
> >
> > if (feeSchedule == null) {
> > _logger.debug("fee schedule is null");
> > IValidationDelegate delegate =
> > (IValidationDelegate)getBeans().getBean("delegate");
> > delegate.record("Out Of Date Request.",null);
> > throw new PageRedirectException(this);
> > }
> > setFeeSchedule( feeSchedule );
> > }
> >
> > Can someone please shed some light on what is happening? I am really not
> too
> > sure on the whole page recorder side of things.
> >
> > Thanks
> >
> > Doug
> >
> >
> >
> > --
> > What profits a man if he gains the whole world yet loses his soul?
> >
>
>
> ---------------------------------------------------------------------
> 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