Oki....

actually that is the basic reason for me looking into digester that deep.
I'm still fumbling with the clustering stuff (And I tossed it in another
package following Remys feelings about transactions and cluster in tomcat).
However I need some way to plug into tomcat, I do that by creating a
Manager.
But as I need more configuration and more objects (to let the user choose if
he wants a Multicast cluster (Bip's idea) or a RMI cluster or a JSpaces
cluster or whatever, I need to add rules.
I want to impact the ContextRuleSet class as little as possible so I
searched for another way to plug myself in :-)

Ok, I go on coding.

Cheers, Mika

----- Original Message -----
From: "Craig R. McClanahan" <[EMAIL PROTECTED]>
To: "Jakarta Commons Developers List" <[EMAIL PROTECTED]>
Sent: Thursday, December 13, 2001 1:30 AM
Subject: Re: Self configuring Objects or is it possible to change the rule
set during the parse phase?


>
>
> On Thu, 13 Dec 2001, Mika Goeckel wrote:
>
> > Date: Thu, 13 Dec 2001 01:25:22 +0100
> > From: Mika Goeckel <[EMAIL PROTECTED]>
> > Reply-To: Jakarta Commons Developers List
<[EMAIL PROTECTED]>
> > To: Jakarta Commons Developers List <[EMAIL PROTECTED]>
> > Subject: Re: Self configuring Objects or is it possible to change the
> >     rule set during the parse phase?
> >
> > Hey fast man! :-)
> >
> > Yes, I've figured out how to extend digester to call that sort of method
i
> > was after. And I found the problem you mentioned.
> > A way around that would involve passing the match variable to the rules.
An
> > object then would have it's position in the tree.
> >
> > The goal I'm after is to enable developers to add new subtree-rules
without
> > having to change and recompile the core code of tomcat for example.
> > A side effect would be that it would be possible to better capsulate the
> > configuration. Now all created classes are coupled to the startup.*
classes
> > that set the configuration.
> >
> > If I would provide the code, how would I get it in? Is commons organised
> > like tomcat with vote?
> >
>
> Yes, it is, but I cannot imagine anyone turning down enhancements to
> Digester (like a specialized match variable) that didn't break backwards
> compatibility.
>
> Note that any change to Tomcat's startup classes
> (org.apache.catalina.startup.*) would have to be proposed to TOMCAT-DEV,
> not here.
>
> > Cheers, Mika
> >
>
> Craig
>
>
> > ----- Original Message -----
> > From: "Craig R. McClanahan" <[EMAIL PROTECTED]>
> > To: "Jakarta Commons Developers List" <[EMAIL PROTECTED]>
> > Sent: Thursday, December 13, 2001 1:13 AM
> > Subject: Re: Self configuring Objects or is it possible to change the
rule
> > set during the parse phase?
> >
> >
> > >
> > >
> > > On Thu, 13 Dec 2001, Mika Goeckel wrote:
> > >
> > > > Date: Thu, 13 Dec 2001 00:35:58 +0100
> > > > From: Mika Goeckel <[EMAIL PROTECTED]>
> > > > Reply-To: Jakarta Commons Developers List
> > <[EMAIL PROTECTED]>
> > > > To: [EMAIL PROTECTED]
> > > > Subject: Self configuring Objects or is it possible to change the
rule
> > > >     set during the parse phase?
> > > >
> > > > Hi!
> > > >
> > > > Is it possible to add rules to the ruleset of a digester after the
> > > > parse has been started?  The reason for that is, that it would
enable
> > > > us to put the knowledge about child objects within something like a
> > > > configure() method of a just created object.
> > > >
> > > > For example if someone creates a complicated valve with subobjects
in
> > > > tomcat, the knowledge that a valve needs to be created is for
example
> > > > in org.apache.catalina.startup.ContextRuleset.  Now if someone needs
a
> > > > Valve with subobjects configured via digester he/she has to change
the
> > > > ContextRuleset class.
> > > >
> > >
> > > It would be technically feasible to add new rules as you suggest.
> > > However, I'm not sure it would really meet the goals you are after.
In
> > > your example, let's say that a particular Valve had a subobject named
> > > "Foo".  You could then conceivably add a new rule that matched the
pattern
> > > "Server/Service/Engine/Host/Context/Valve/Foo" -- but this would match
a
> > > "Foo" subelement on *any* Valve, not just the particular one you are
> > > configuring.  You'd need to be very careful about having unique
subelement
> > > names, or define your own Rules matcher that matched the above pattern
> > > *only* if the className attribute of the Valve was the one you were
> > > looking for.
> > >
> > > > If it would be possible to call a configure method on the specific
> > > > implementation of a class, it could itself add the rules for childs.
> > > >
> > > > A class could implement a ProvideRules interface defined in the
> > > > digester package to let the digester know that it wants to provide
> > > > additional rules.
> > > >
> > > > Comments please?
> > > >
> > >
> > > The approach I took in the Workflow project (in
jakarta-commons-sandbox
> > > right now) was to let the application configure all the RuleSet
entries it
> > > wanted before starting the parse in the first place.  That seems to
deal
> > > with most of the use cases I've run into so far.
> > >
> > > Craig
> > >
> > >
> > >
> > > --
> > > To unsubscribe, e-mail:
> > <mailto:[EMAIL PROTECTED]>
> > > For additional commands, e-mail:
> > <mailto:[EMAIL PROTECTED]>
> > >
> >
> >
> > --
> > To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
> > For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>
> >
> >
>
>
> --
> To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>
>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to