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)

Reply via email to