Konstantin has done some stuff too. You two should communicate more :o) Anyway I also have some ideas. If you follow Ant2's development you already know that Ant is going to have some neat deployment system for tasks/datatypes/etc, something similar to a .war file. Our approach should also be along that design, and we should discuss it thoroughly to prevent mistakes.
Ara. > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] > Sent: Saturday, January 05, 2002 5:32 PM > To: Ara Abrahamian; 'Erik Hatcher'; [EMAIL PROTECTED] > Subject: XDoclet documentation / GUI > > Howdy, > > I have done some hacking on a gui that uses xjavadoc to parse classes, and > then reads an xml config file that describes each tag and their usage. > this > tag information is organised within an enclosing domain (ex: all weblogic > ejb tags). This file contains enough meta information both to configure a > gui and create tag docs. See attached file for an example. > > All we need to create HTML docs is an XSL stylesheet, and ant can apply > the > XSLT transformation between the xml file and the stylesheet, and we'll end > up with a fully documented (and nicely formatted) tag set (provided the > xml > contains all the info ;-). (We can even take it further and use Apache FOP > or Stylebook to create even fancier docs). This also enforces rigid rules > for document writers, which will result in more consistent docs. > > By the way, the gui works pretty good, but it's a little wet behind the > ears. It organises all classes under groups (Various EJBs, Struts, Web > etc.) > in a tree pane on the left. the classes' methods are also in this tree. By > selecting a class or method, the right panel will display a tabbed pane > with > different tag groups. This is the panel which is constructed from the xml > file. The xml also describes under which conditions a tag is appropriate > or > not, and displays only the tags that make sense to the selected class or > method. Tooltips and stuff. Each class or method is "categorised" by > looking > at the class definition (for example, is this a subclass of > javax.ejb.SessionBean?), but also at the tag level (does this SessionBean > class have an @ejb:bean type="Stateless" tag?). Each tag is applicable to > one or many such categories of classes and methods. > > I guess the next steps with this gui would be to: > 1) Get code mutation (tag addition/removal/update in the source code). > Waiting for xjavadoc to handle this. > 2) Merge it with Middlegen, which is another gui I wrote that can generate > CMP EJB XDoclet annotated source code that maps to a database schema. It > handles relations too, and is pretty neat. > http://boss.bekk.no/boss/middlegen/. It has some 500 downloads, but the > discussion is a bit slow. I'm hoping to get some more contributers. > 3) Upload the whole thing somewhere. Right now, I have both guis under the > same Middlegen source tree. I guess the best would be to separate > xdoclet/xjavadoc/xdoclet-gui from each other. Both guis will be tightly > coupled, so I think it's ok to leave it where it is. We should change the > licence and file header. > > Ok, thats all I had on my mind. It's fun working with you all. > > Aslak. > > > -----Original Message----- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED]]On Behalf Of Ara > > Abrahamian > > Sent: 4. januar 2002 15:32 > > To: 'Erik Hatcher'; [EMAIL PROTECTED] > > Subject: RE: [Xdoclet-user] NullPointerException <template> - help! > > > > > > Hi, > > > > Well, you know it's an open source project and hardly OS projects with > > volunteers follow a strict schedule. Anyway I think there's not much > > left to do for 1.1 release (maybe some changes here and there and some > > jboss stuff). So next week I hope we'll release it :o) > > > > Regarding documentation: > > It's way more than my and many other team members' ability to write all > > the docs, we're busy ppl as anyone is. I would love to see some > > contribution in this regard from user community, specially I'm very > > interested in converting from html-based docs to an xml+xsl+stylebook > > system (we actually need it for some new sub-projects too, the GUI tool > > for example) and some more docs/tutorial/examples. We really have some > > big goals for next releases. > > > > Cheers, > > Ara. > > > > > -----Original Message----- > > > From: [EMAIL PROTECTED] [mailto:xdoclet-user- > > > [EMAIL PROTECTED]] On Behalf Of Erik Hatcher > > > Sent: Friday, January 04, 2002 5:14 PM > > > To: [EMAIL PROTECTED] > > > Subject: Re: [Xdoclet-user] NullPointerException <template> - help! > > > > > > Thanks again, Ara! > > > > > > The {0} worked great, of course, after building XDoclet from CVS. > > > > > > Is there a timeframe set for the next official release? I'm curious, > > as > > > I'm > > > writing about XDoclet and while running off of CVS is fine for me for > > now, > > > I'd rather a release version support the examples I'll be showing. > > > > > > Also, the link to the XDoclet site is wrong on the live resources page > > > (http://xdoclet.sourceforge.net/resources.html). It says "xdoclet", > > but > > > goes to the Sourceforge "ejbdoclet" site. This has caught me > > off-guard a > > > few times. > > > > > > XDoclet rocks! I'd like to see its documentation improved > > substantially > > > though, and may jump in to assist with that at some point in the > > future. > > > Its not been easy to track down exactly how to get rolling with custom > > > templates. All the "pieces" are there but more examples and > > explanations > > > of > > > things like {0} and forAllClasses needs to be easy to find. > > > > > > Thanks for a great product. Keep up the good work! :) > > > > > > Erik > > > > > > > > > ----- Original Message ----- > > > From: "Ara Abrahamian" <[EMAIL PROTECTED]> > > > To: "'Erik Hatcher'" <[EMAIL PROTECTED]>; > > > <[EMAIL PROTECTED]> > > > Sent: Friday, January 04, 2002 6:16 AM > > > Subject: RE: [Xdoclet-user] NullPointerException <template> - help! > > > > > > > > > > Use either {0} (for per-class output) or forAllClasses (for-all > > output). > > > > I strongly recommend you latest code from cvs and I also recommend > > you > > > > to read latest cvs's core/docs/architecture.html and the > > auto-generated > > > > template descriptions. > > > > > > > > Ara. > > > > > > > > > -----Original Message----- > > > > > From: [EMAIL PROTECTED] > > [mailto:xdoclet-user- > > > > > [EMAIL PROTECTED]] On Behalf Of Erik Hatcher > > > > > Sent: Friday, January 04, 2002 2:25 PM > > > > > To: [EMAIL PROTECTED] > > > > > Subject: Re: [Xdoclet-user] NullPointerException <template> - > > help! > > > > > > > > > > Many thanks to both Ara and Matthew. Your quick and accurate > > replies > > > > were > > > > > most appreciated! > > > > > > > > > > Using the <XDoclet:forAllClasses> worked great. I tried using {0} > > in > > > > the > > > > > destination file instead and all I got was a file with "{0}" in > > its > > > > name - > > > > > so is this feature a post-1.0.1 feature? I'm sticking with 1.0.1 > > for > > > > the > > > > > time being as I have plenty of other variables in my equation and > > I'm > > > > > trying > > > > > to minimize them as much as possible. > > > > > > > > > > In my particular case, the forAllClasses is the approach I need, > > but > > > > I'm > > > > > curious why the {0} doesn't work. I'm also assuming the "XDt" > > prefix > > > > for > > > > > tags is post-1.0.1, right? > > > > > > > > > > Thanks again, > > > > > Erik > > > > > > > > > > > > > > > ----- Original Message ----- > > > > > From: "Ara Abrahamian" <[EMAIL PROTECTED]> > > > > > To: "'Erik Hatcher'" <[EMAIL PROTECTED]>; > > > > > <[EMAIL PROTECTED]> > > > > > Sent: Friday, January 04, 2002 3:59 AM > > > > > Subject: RE: [Xdoclet-user] NullPointerException <template> - > > help! > > > > > > > > > > > > > > > > There should be a problem in your template file. It throws NPE > > > > because > > > > > > getCurrentClass() in className() return null, in other words you > > > > want to > > > > > > get the current class name but no current class is set. You > > should > > > > use > > > > > > template tags which set it and iterate over classes > > > > > > (XDtClass:forAllClasses for example). > > > > > > > > > > > > Basically templates are run in two modes: per-class and for-all. > > You > > > > > > designate per-class mode by simply adding a {0} in > > destinationFile, > > > > and > > > > > > xdoclet will substitute it with the class name. In for-all mode, > > > > > > template is run for all specified classes matching the criteria > > > > > > (deriving from x, having tag y, etc), so you have to do a > > > > forAllClasses > > > > > > and then move on to work on each class and generate an output > > file > > > > based > > > > > > on those classes. > > > > > > > > > > > > Ara. > > > > > > > > > > > > > -----Original Message----- > > > > > > > From: [EMAIL PROTECTED] > > > > [mailto:xdoclet-user- > > > > > > > [EMAIL PROTECTED]] On Behalf Of Erik Hatcher > > > > > > > Sent: Friday, January 04, 2002 4:46 AM > > > > > > > To: [EMAIL PROTECTED] > > > > > > > Subject: [Xdoclet-user] NullPointerException <template> - > > help! > > > > > > > > > > > > > > I'm using this build.xml piece: > > > > > > > > > > > > > > <xdoclet sourcepath="${src.dir}" > > > > > > > destdir="${build.dir}" > > > > > > > classpathref="xdoclet.classpath"> > > > > > > > <fileset dir="${src.dir}"> > > > > > > > <include name="**/*.java" /> > > > > > > > </fileset> > > > > > > > <template templateFile="temp.template" > > > > > > > destinationfile="temp.properties"></template> > > > > > > > </xdoclet> > > > > > > > > > > > > > > [xdoclet] (TemplateEngine.invokeMethod 524 ) > > Invoking > > > > method > > > > > > > failed: > > > > > > > lassName , line=1 of template file: C:\test\temp.template > > > > > > > [xdoclet] java.lang.NullPointerException > > > > > > > [xdoclet] at xdoclet.SubTask.className(SubTask.java:576) > > > > > > > [xdoclet] at java.lang.reflect.Method.invoke(Native > > Method) > > > > > > > [xdoclet] at > > > > > > > xdoclet.util.TemplateEngine.invokeMethod(TemplateEngine.java > > > > > > > 520) > > > > > > > [xdoclet] at > > > > > > > xdoclet.util.TemplateEngine.invokeContentMethod(TemplateEngi > > > > > > > e.java:627) > > > > > > > [xdoclet] at > > > > > > > xdoclet.util.TemplateEngine.generate(TemplateEngine.java:428 > > > > > > > > > > > > > > [xdoclet] at > > > > > > > xdoclet.SubTask.generateFileUsingTemplate(SubTask.java:3052) > > > > > > > [xdoclet] at > > > > > > > xdoclet.TemplateSubTask.execute(TemplateSubTask.java:33) > > > > > > > [xdoclet] at > > > > > > > xdoclet.DocletTask$DocletMain.start(DocletTask.java:284) > > > > > > > [xdoclet] at java.lang.reflect.Method.invoke(Native > > Method) > > > > > > > [xdoclet] at > > > > > > > com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.jav > > > > > > > > > > > > > > I've tried this with both Ant 1.4.1 and the latest (from CVS) > > > > version > > > > > > and > > > > > > > get the same error. > > > > > > > > > > > > > > I'm using XDoclet 1.0.1 release version. > > > > > > > > > > > > > > Any help is greatly appreciated. > > > > > > > > > > > > > > Thanks, > > > > > > > Erik > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > Xdoclet-user mailing list > > > > > > > [EMAIL PROTECTED] > > > > > > > https://lists.sourceforge.net/lists/listinfo/xdoclet-user > > > > > > > > > > > > > > > > > > _________________________________________________________ > > > > > > Do You Yahoo!? > > > > > > Get your free @yahoo.com address at http://mail.yahoo.com > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > Xdoclet-user mailing list > > > > > [EMAIL PROTECTED] > > > > > https://lists.sourceforge.net/lists/listinfo/xdoclet-user > > > > > > > > > > > > _________________________________________________________ > > > > Do You Yahoo!? > > > > Get your free @yahoo.com address at http://mail.yahoo.com > > > > > > > > > > > > > > > > > _______________________________________________ > > > Xdoclet-user mailing list > > > [EMAIL PROTECTED] > > > https://lists.sourceforge.net/lists/listinfo/xdoclet-user > > > > > > _________________________________________________________ > > Do You Yahoo!? > > Get your free @yahoo.com address at http://mail.yahoo.com > > > > > > _______________________________________________ > > Xdoclet-user mailing list > > [EMAIL PROTECTED] > > https://lists.sourceforge.net/lists/listinfo/xdoclet-user _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com _______________________________________________ Xdoclet-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/xdoclet-devel
