|
From: Darren D. <da...@da...> - 2004-11-06 00:45:49
|
On Friday 05 November 2004 16:19, Andy Depue wrote: > I wonder if one could device a way to separate it enough so that it could > be paired with different already-existing BeanFactorys? For example, > some people are experimenting with configuration formats other than > XML... it would be cool if this tool could work for those alternate > formats (such as a database based Spring config or a Groovy based Spring > config)... Let the alternate config implementations create their internal > representation of the config and then use this internal representation as > the basis for all beandocs. I'm not very familiar to the internal > workings of the BeanFactory or ApplicationContext, so I'm not sure if > this is braindead easy or pipe dream impossible? A standard internal representation of bean factory configurations, entirely= =20 seperate from the config itself is ideal. I'm not completely au fait with= =20 this aspect of Spring - the last time I tried to figure it out, I got a bit= =20 lost in the distinction between the bean definition readers and the bean=20 factories. I found it difficult to see clear distinction between the two=20 aspects - I should delve into this again. The current code in the beandoc tool essentially works this way now. It=20 parses the config files to produce in-memory DOM representations, and then= =20 works on this representation, decorating it with additional attributes=20 based on beandoc configuration to make the XSLT part much simpler. The=20 output of HTML and the .dot files (used to make the graphs) is generated=20 from this decorated DOM and not the actual config files. Input file=20 parsing would be trivial to refactor into an interfaced plug-in for=20 beandoc. Any input file in any format existing or new could be used to create the=20 same DOM, so long as the parsers can be written for it - as they already=20 have been for XML of course. So this would be a perfectly adequate format= =20 for that standard representation. =2D-=20 Darren Davison Public Key: #DD356B0D |