Hi Thiago!

Thanks for your response

but I do not get you. What do you mean by "checking the generated xml"?

Maybe I have to provide some more info about what I am trying to achieve...
We are using several layers (different SVN's, MVN projects) to create customized applications just by using java OO principles (means we override spring services or hibernate entities per layer, override tml's, thanks to Igor and you we override global message catalogs aso). Each layer provides it's own module thus is a fully running T5 app and we can reuse the functionality from each layer without copy and paste. Unfortunately in my special case I have to override some hardcoded component functionality from an "upper layer". But just creating a derived class seems not to be an option as tapestry creates the components based on the field type and how should it be aware of my derived component? I found an InjectionProvider but this class only injecting services, not components. To make tapestry aware of my derived class I am quite sure I have to specify it somewhere in the ioc config section. So the ideal solution would be a "component inject service" which I can use to return "B" in case an instance of "A" is requested... Sorry english is not my native language so hopefully the description is understandable. I mean worst case workaround might be to override the tml, copy and paste the full content and replace the compent "A" by "B". But intercepting a service would allow me (and all of us) to transparently inject derivded components without the need of touching tml's.

Jens



Am 14.08.11 14:07, schrieb Thiago H. de Paula Figueiredo:
On Sat, 13 Aug 2011 09:26:27 -0300, Jens Breitenstein <mailingl...@j-b-s.de> wrote:

hi All!

Hi!

Have you checked the generated HTML?


I have some trouble concerning component inheritance. My scenario is something like:


A.tml
----
<div xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd";
     xmlns:p="tapestry:parameter" class="mini-basket-items">
<t:extension-point id="MBIV">
<a href="${valueForA}"/>
</t:extension-point>
</div>


A.class
------
public class A
{
     public String getValueForA()
     {
         return "a";
     }
}


B.class
------
public class B extends A
{
     public String getValueForA()
     {
         return "b";
     }
}



there is no tml provided by B thus A's tml should be fully reused. the expression "valueForA" always returns "a" and the overridden method in class "B" is never called. is there additional configuration required to make it working?


Thanks again

Jens



---------------------------------------------------------------------
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

Reply via email to