I'm receiving this same type of exception message when attempting to alter the SetupRender phase result of the component I'm applying my mixin to. Is this expected behavior? It seems that a lack of the ability to override the components' or mixins' phases is a limiting factor for mixins' usefulness.
On 10/10/07, Kristian Marinkovic <[EMAIL PROTECTED]> wrote: > hi howard, > > i receive an exception when i assign two mixins which > both return a value on the same render phase method > > public class FirstMixin { > boolean setupRender() {return true;} > } > public class SecondMixin { > boolean setupRender() {return true;} > } > > @MixinClasses({FirstMixin.class,SecondMixin.class}) > private TextField dealerNo; > > is this an invalid use case (using latest from SVN)? could > this problem be reated to > https://issues.apache.org/jira/browse/TAPESTRY-1805 > > funny thing: the stacktrace points to the EventImpl > class that says : > > @SuppressWarnings("unchecked") > public boolean storeResult(Object result) > { > // Given that this method is *only* invoked from code > // that is generated at runtime and proven to be correct, > // this should never, ever happen. But what the hell, > // let's check anyway. > > if (_aborted) > throw new IllegalStateException(ServicesMessages > .componentEventIsAborted(_methodDescription)); > > :) > > g, > kris > > > Exception: > # org.apache.tapestry.ioc.internal.util.TapestryException > Can not store result from invoking method > com.poi.cross.adm.licensing.mixins.SecondMixin.setupRender() (at > SecondMixin.java:5), because an event result value has already been > obtained from some other event handler method. > > location > classpath:com/poi/cross/adm/licensing/components/DealerSearch.tml, > line 3, column 27 > 1 <div xmlns:t= > "http://tapestry.apache.org/schema/tapestry_5_0_0.xsd"> > 2 <div id="search"> > 3 <form t:id="dealerForm"> > 4 <div t:id="errors" /> > 5 <label t:id="dealerNoLabel">Dealer No.</label> > 6 <input t:id="dealerNo" type="text" maxlength="5" size="10" /> > 7 <a t:id="searchDealer">Search</a> > 8 <a t:id="newDealer">New</a> > > # java.lang.IllegalStateException > Can not store result from invoking method > com.poi.cross.adm.licensing.mixins.SecondMixin.setupRender() (at > SecondMixin.java:5), because an event result value has already been > obtained from some other event handler method. > > Stack trace > > * > org.apache.tapestry.internal.services.EventImpl.storeResult(EventImpl.java:58) > * > com.poi.cross.adm.licensing.mixins.SecondMixin.setupRender(SecondMixin.java) > * > org.apache.tapestry.internal.structure.ComponentPageElementImpl$12$1.run(ComponentPageElementImpl.java:480) > * > org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:931) > * > org.apache.tapestry.internal.structure.ComponentPageElementImpl.access$0(ComponentPageElementImpl.java:915) > * > org.apache.tapestry.internal.structure.ComponentPageElementImpl$12.render(ComponentPageElementImpl.java:484) > * > org.apache.tapestry.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:58) > * > org.apache.tapestry.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:40) > * > org.apache.tapestry.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:71) > * > org.apache.tapestry.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:81) > * > org.apache.tapestry.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:72) > * > org.apache.tapestry.services.TapestryModule$13.service(TapestryModule.java:1099) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]