I have submitted a patch for https://issues.apache.org/jira/browse/TAP5-1663 .
The patch contains integration tests and is quite short so I would be happy if someone applies it or at least reviews it if something is not quite right. Here is the description given with the patch: This patch is rather small (entire patch file is 253 lines long), and contains integration tests. Patch Summary: Files changed 4: 1. BindParameterWorker: Here is the main logic for inspecting published parameters. Also the Exception text is changed to contain info that formal and published parameters are searched. 2. BindParameterDemo.java 3. BindParameterDemo.tml - Added publish1 component with EchoValueWithId mixin. 4. CoreBehaviorsTests.java - public void bindparameter() - added few assertions for detecting if the published value is there. It is the same concept as the EchoValue mixins - public void bindparameter_nomatchingparameter() - changed asserted value of the exception text. Files added 1: 1. EchoValueWithId mixin in integration/app1: Same as EchoValue mixin except it does take id as a parameter and doesn't use the container's clientId. This is needed because it is applied to a Publish1 component that is not a clientElement. Public API changes: none Internal API changes: none Performance issues: - BindParameterWorker has a recursive search (iterative implementation) for published parameters in embeddedComponents. I think this is better than changing public and internal interfaces to contain metadata for published parameters etc. A alternative implementation would be to put this metadata in ComponentModel, something like isPublishedParameter or getPublishedParameters. I think this is not necessary especially because no one has issued a need for it. Cheers, Dragan Sahpaski On Wed, Oct 5, 2011 at 7:41 AM, Dragan Sahpaski <dragan.sahpa...@gmail.com>wrote: > Hi, > Yes here is the JIRA https://issues.apache.org/jira/browse/TAP5-1663 > > Cheers > > > On Wed, Oct 5, 2011 at 5:29 AM, Steve Eynon < > steve.ey...@alienfactory.co.uk> wrote: > >> Hi, >> >> I've just run into this myself, my Mixin attaches to a Grid and needs >> the rowIndex parameter from the embedded GridRows component. >> >> Is there a JIRA number for this so I can track the changes and perhaps >> patch T5.2.6? >> >> Steve. >> >> >> On 23 September 2011 20:58, Taha Hafeez Siddiqi >> <tawus.tapes...@gmail.com> wrote: >> > Hi Dragan >> > >> > It definitely deserves a JIRA! >> > >> > regards >> > Taha >> > >> > On Sep 23, 2011, at 6:13 PM, Dragan Sahpaski wrote: >> > >> >> Hi, >> >> Currently the @BindParameter annotation (that binds a parameter of a >> mixin >> >> to a parameter in the component the mixin is applied to), >> >> can be applied only to formal parameters of the containing component >> and not >> >> to parameters that are inherited by the containing component by >> embedded >> >> components. >> >> I think it is natural that inherited parameters are included in the >> search >> >> for parameters to bind to with the @BindParameter annotation. >> >> Here is a motivating example: >> >> >> >> public class MyComponent{ >> >> @Component(parameters = >> >> "blankOption=inherit:blankOption", publishParameters="blankOption") >> >> private Select select; >> >> } >> >> >> >> public class MyMixin{ >> >> @BindParameter >> >> private BlankOption blankOption; >> >> } >> >> >> >> And we get: >> >> >> >> org.apache.tapestry5.ioc.util.UnknownValueException >> >> Containing component MyComponent does not contain a formal parameter >> >> matching any of (blank), blankOption. >> >> >> >> I'll be grateful if someone supports this and than I would be happy to >> >> create a JIRA and possibly a patch for it. >> >> >> >> Cheers, >> >> Dragan Sahpaski >> > >> > >> > --------------------------------------------------------------------- >> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> > For additional commands, e-mail: users-h...@tapestry.apache.org >> > >> > >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> >