I played around with the enhancementworkers and I can see one
possibility to modify e.g the renderBody method more or less proxy
like: using the addMethod method from the EnhancementOperation class
to add a renderBody method to the subclass with a body like this:
System.out.println("start");
super.renderBody($$);
System.out.println("end");
This will work for the moment. But it's not very cooperative. What
happens when a second enhancementworker also wants to modify the
renderBody method? I think that's a last one wins situation or?
Unless there is some javassist magic I don't know about, I think it is
not possible to add a proxy behaviour to the components.
Is there another way? I can't see a service point where I could add a
logging interceptor to the components.
thanks,
Markus
On 8/9/05, Markus Joschko <[EMAIL PROTECTED]> wrote:
> OK, I had a look at the ComponentConstructorImpl and the EnhancementWorkers.
> Is this the right place to go? Should I make an enhancementworker out
> of the logging interceptor?
> Is it possible to add a proxy with an enhancementworker (don't think
> so as they are chained) or do I have to add the logging lines to the
> renderBody method (as e.g. seen in EnhancementOperationImpl)?
> But then I wonder how to add a line at the beginning and a line at the
> end of the method?
> Any help?
> Thanks,
> Markus
>
> On 8/8/05, Markus Joschko <[EMAIL PROTECTED]> wrote:
> > I never wanted to question the decision to use hivemind. For me it's
> > always fun to learn new concepts. The only problem is to get started
> > if you have a usecase in mind and no time to learn from the basics.
> > So may be you can give me the starting point, how to handle the
> > enhancer (just where to look to grasp the concepts)?
> >
> > Thanks,
> > Markus
> >
> > On 8/8/05, Howard Lewis Ship <[EMAIL PROTECTED]> wrote:
> > > People keep asking me "why HiveMind? why not Spring?" It's because of
> > > stuff like this ... HiveMind provides a particular kind of flexibility
> > > and late binding that Spring simply can't express. Spring's focus is
> > > a simple IoC container used to build applications. HiveMind is a more
> > > complex IoC container used to build frameworks.
> > >
> > > On 8/8/05, Markus Joschko <[EMAIL PROTECTED]> wrote:
> > > > Oh, sorry, yes thats complete nonsense. I meant logging interceptor.
> > > > But even this is nonsense. I just had the logging interceptor example
> > > > from hivemind and the IComponent interface open in browser and IDE and
> > > > came out with this example ;-)
> > > >
> > > > Maybe you can give me a starting point how to add or where to find the
> > > > enhancer.
> > > > Coming from springland I'm a little bit helpless currently....
> > > >
> > > > But nice to know that this flexibility is given in the framework.
> > > >
> > > >
> > > > On 8/8/05, Howard Lewis Ship <[EMAIL PROTECTED]> wrote:
> > > > > Every page and component class is run through the enhancer, so if you
> > > > > wanted that behaviour, you could add it quite easily.
> > > > >
> > > > > Did you mean "login interceptor" around renderBody()? That seems
> > > > > very, very odd.
> > > > >
> > > > > I *could* see adding PageValidationListener to your pages, with an
> > > > > implementation that, say, checked against meta data to determine if
> > > > > access to a page should be allowed. That's reasonable.
> > > > >
> > > > > On 8/8/05, Markus Joschko <[EMAIL PROTECTED]> wrote:
> > > > > > Hi,
> > > > > > I'm just wondering if it's possible for an external library to front
> > > > > > all components with a proxy by configuration?
> > > > > >
> > > > > > I saw some hivemind.xml which have promising names like e.g.
> > > > > > tapestry.enhance.xml
> > > > > > E.g. would it be possible to add a loginterceptor around
> > > > > > IComponent.renderBody calls?
> > > > > >
> > > > > > Sorry if this question is totally stupid but I'm still fighting to
> > > > > > understand the way hivemind works and tapestry is internally wired.
> > > > > >
> > > > > > Thanks,
> > > > > > Markus
> > > > > >
> > > > > > ---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Howard M. Lewis Ship
> > > > > Independent J2EE / Open-Source Java Consultant
> > > > > Creator, Jakarta Tapestry
> > > > > Creator, Jakarta HiveMind
> > > > >
> > > > > Professional Tapestry training, mentoring, support
> > > > > and project work. http://howardlewisship.com
> > > > >
> > > > > ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > > >
> > > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > >
> > > >
> > >
> > >
> > > --
> > > Howard M. Lewis Ship
> > > Independent J2EE / Open-Source Java Consultant
> > > Creator, Jakarta Tapestry
> > > Creator, Jakarta HiveMind
> > >
> > > Professional Tapestry training, mentoring, support
> > > and project work. http://howardlewisship.com
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]