On Thursday, January 31, 2002, at 07:56 PM, James Strachan wrote:
> Hi Robert > > ----- Original Message ----- > From: "robert burrell donkin" <[EMAIL PROTECTED]> >> i still want to find a fix for that problem of circular references. i'd >> really like to see what you think about the solution i've started on. > (don' >> t worry i haven't really done much work on it so it'll be no problem to >> back it out again.) >> >> i think that fundamentally any solution comes around to being able to >> find >> out which beans have been evaluated earlier (in the recursion) and not >> evaluating any bean which has been evaluated earlier in the recursion. it >> seems to me that the context is a good place to add new functionality >> since it can be shared between different output implementations (i'm >> still >> keen on that bean navigator you were talking about). so, the idea is that >> to store an (optional) parent context in context. when you're evaluating >> the next level in a recursion, rather than starting with a new context, >> you start with a child context of the current level - and you check that >> the bean you're about to recursively evaluate isn't already an ancester >> of >> the current context. > > Sounds the right approach to me. Maybe just a Set of all beans traversed > would do, then as the bean tree is walked duplicates can be ignored. > > >> what do you think and should i hold off while you're looking at >> generating >> digester rulesets? > > Go for it - after the work I've done today (which didn't change things > that > much) we shouldn't tread on each others toes. > > Just as I was doing a commit I noticed my copy of the code was out of > date, > so we've maybe merged codebases already ;-) our emails keep crossing in the middle - but all's well that ends well! as luck would have it, i think that our codebases have merged without too many problems :) i'll hold off working on that cyclic bug for a while (maybe i'll have a think about (c) on your list since we've got a willing victim whose promised to do (b)) until i know that you're not making changes to the core. - robert -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
