Making my head spin ... I'll try and reason this one out.

On Thu, Apr 9, 2009 at 9:41 AM, Blšták Peter <peter.bls...@softec.sk> wrote:
> Hi
>
> I have a problem with inherit parameter binding in 5.1.0.2 and 5.1.0.1 
> release (5.0.18 is OK).
> Inherited value is lost if count of inheritance in stack for one component 
> parameter is more than 1 (not sure if this is good description).
>
> Example will be the best description of my problem...
>
> First are mentioned responses generated by T5.1 and T5 a bellow is source 
> code for page and components.
>
> Can you please help me ?
> Is this a bug of T5.1 or inherit binding is discontinued ?
>
> Thanks
>
> P.
>
>
>
> Tapestry 5.1.0.2:
>
> During render of Contact page is lost parameter value for component c3.
>
>                        <div>test value by property</div>
>                        <div>test value by property</div>
>                        <div></div>
>
>                        <div>literal value</div>
>                        <div>literal value</div>
>                        <div></div>
>
> System.out:
> C1.parameter = test value by property
> C2.parameter = test value by property
> C1.parameter = test value by property
> C3.parameter = test value by property
> C2.parameter = test value by property
> C1.parameter = null
> C1.parameter = literal value
> C2.parameter = literal value
> C1.parameter = literal value
> C3.parameter = literal value
> C2.parameter = literal value
> C1.parameter = null
> ---
>
> Tapestry 5.0.18:
>
> C3 component has its value:
>                        <div>test value by property</div>
>                        <div>test value by property</div>
>                        <div>test value by property</div>
>
>                        <div>literal value</div>
>                        <div>literal value</div>
>                        <div>literal value</div>
>
> System.out:
> C1.parameter = test value by property
> C2.parameter = test value by property
> C1.parameter = test value by property
> C3.parameter = test value by property
> C2.parameter = test value by property
> C1.parameter = test value by property
> C1.parameter = literal value
> C2.parameter = literal value
> C1.parameter = literal value
> C3.parameter = literal value
> C2.parameter = literal value
> C1.parameter = literal value
>
> --------
>
> Page Contact:
>
> public class Contact
> {
>        public String getValue() {
>                return "test value by property";
>        }
> }
>
> <html t:type="layout" title="Contact org.example"
>      xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd";
>      xmlns:p="tapestry:parameter">
>
>    <p>Contact org.example ...</p>
>                        <t:c1 parameter="value"/>
>                        <t:c2 parameter="value"/>
>                        <t:c3 parameter="value"/>
>
>                        <t:c1 parameter="literal:literal value"/>
>                        <t:c2 parameter="literal:literal value"/>
>                        <t:c3 parameter="literal:literal value"/>
>
> </html>
>
> --------
>
> Component C1:
>
> public class C1 {
>
>       �...@parameter
>        private Object parameter;
>
>        public Object getParameter() {
>                return parameter;
>        }
>
>       �...@beforerendertemplate
>        void bedoreTemplate(MarkupWriter writer) {
>                System.out.println("C1.parameter = " + 
> String.valueOf(parameter));
>        }
> }
>
> <div 
> xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd";>${parameter}</div>
>
>
> --------
>
> Component C2:
>
> public class C2 {
>
>       �...@parameter
>        private Object parameter;
>
>       �...@beforerendertemplate
>        void bedoreTemplate(MarkupWriter writer) {
>                System.out.println("C2.parameter = " + 
> String.valueOf(parameter));
>        }
> }
>
> <t:c1 xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd"; 
> t:parameter="inherit:parameter" />
>
> --------
>
> Component C3:
>
> public class C3 {
>
>       �...@parameter()
>        private Object parameter;
>
>       �...@beforerendertemplate
>        void bedoreTemplate(MarkupWriter writer) {
>                System.out.println("C3.parameter = " + 
> String.valueOf(parameter));
>        }
> }
>
> <t:c2 xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd"; 
> t:parameter="inherit:parameter" />
>
>



-- 
Howard M. Lewis Ship

Creator Apache Tapestry and Apache HiveMind

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to