tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Barker" <>
Subject Re: 6.x feature wishlist
Date Thu, 09 Aug 2007 01:58:40 GMT

"Remy Maucherat" <> wrote in message
> Remy Maucherat wrote:
>>> You can get the attributes now by setting debug logging on 
>>> o.a.t.u.IntrospectionUtils.  It wouldn't be hard to do in general (e.g. 
>>> make IntrospectionUtils.setAttribute return boolean instead of void, and 
>>> warn in Digester.startElement if no rules are configured, but make the 
>>> later configurable so that the TC shutdown digester doesn't produce a 
>>> ton of warnings).  However, it means that our fork of Digester 
>>> increasingly moves away from c-d.
>> This would be a great strategy (and there's no reason not to include it 
>> in the current 6.0.x branch if it's simple). I'll play with it and see 
>> what it does.
> After experimenting, this works great, but (there's a but) there's a 
> glitch with the fake "className" attribute (or whatever replacement is 
> used to pass to the object creation rule).
> I don't know how to avoid it in a simple way without a hack. Bill, any 
> ideas ?

We're pretty consistant in our attribute names in server.xml, so while it 
isn't the cleanest solution, it should work for us.  How about adding to 
Digester (depending on taste) either
        setFakeAttributes(String [] names)
        setFakeAttributes(List<String> names)
The second lets us hide the lookup in List.contains, the first makes the 
caller simplier for a small list of exclusions.  Then 
Digester.addSetProperties can pass it on to the setPropertiesRule.

If this was for c-d, then we'd probably need:
       setFakeAttributes(Map<Class, List<String>> names)
but that seems like overkill for our fork of Digester.

> Rémy 

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message