I did something similar here. It is actually a Tapestry app where you can define the data model, and then download a zipped up project directory that contains all the CRUD classes, pages, and template files. I'll probably redefine it once I've got my head around Tap4, as it only works with 3 right now. Velocity templates are used for the actual generation.
The main problem seems to be the differences in the persistence layer. Someone has proposed Cayenne, others Hibernate, while we have been using Apache's OJB. Since most of the files depend on the persistence layer objects, it is very hard to have a generic solution which will work for everyone. Hibernate does seem to have the most support out there, but we prefer the Apache license to the GPL. Code generation is a perfectly valid technique so long as you are aware of its limitations. We use it as a starting point, and a way to quickly prototype applications, and have had no problems there. There are limitations, but also many benefits. I tend to agree with the idea that it is so much simpler to go with a targetted generator as opposed to a general one that it would be more worthwhile to approach from that direction, but please keep me up to date with what you decide to do because if there are places where reuse is possible, I'd happily pitch in. Spencer On 11/24/05, Pedro Abelleira Seco <[EMAIL PROTECTED]> wrote: > > For my current project I wrote a generator for the entity clases, > hibernate files, DAOs, CRUD pages in Tapestry, etc. I suppose that most > people doing Tapestry projects with many forms have some generator tool > or even some reflection magic to not having to generate anything > (alghough this, for a medium sized project as mine, doesn't pay the > effort). > > The main problem is the enviroment which your application defines. My > forms have some visual and code conventions (as how to set the title, > some own developed components for security, related entities, etc.). > > So, for a medium sized app a generic generator would not be suitable. > For simple apps Trails seems to be a good enough tool. > > BTW, my generator took 2 days of work, being so focused in our > conventions, it turned out to be very simple to implement. I suspect > that the generic case would be enormously more difficult and not really > very useful, IMHO. > > My 2 cents, anyways. > Pedro > > > El Xov, 24-11-2005 a las 13:02 +0000, John Coleman escribió: > > I am working on a project to create a Tapestry application generator. > This will be for lightweight applications, i.e. the typical web > application not requiring EJB and a application server, and all that heavy > J2EE stuff. > > > > The idea is that a enterprise model is designed using a GUI tool. This > will define a set of entity object interfaces, services and persistence > layer. > > > > >From these a set of Tapestry components will be generated; i.e. create > entity page, retrieve entity page, update entity page, etc... and then a > HiveMind service business class encapsulating the CRUD persistence and > anything else, and hooking into the persistence layer - I'm using Cayenne at > the moment. It will also wire up the services using a generated hivemodule. > Everything will be well decoupled and pluggable, lightweight, using the > minimum number of frameworks/technologies. > > > > I wonder if others are interested in this venture, people with > Tapestry/HiveMind/Cayenne and Velocity would be ideal. If so, it would be > nice to set up an open source project. > > > > If you know of anything simlar, please let me know. > > > > John > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
