-- James Mitchell Software Engineer / Open Source Evangelist EdgeTech, Inc. 678.910.8017 AIM: jmitchtx
----- Original Message ----- From: "Craig McClanahan" <[EMAIL PROTECTED]>
To: "Struts Developers List" <dev@struts.apache.org>
Sent: Wednesday, January 12, 2005 9:18 PM
Subject: Re: svn repository
Your approach definitely makes sense ... and memorializes a great acronym to boot .
Don't get the MADs mad at you :-)
Craig
On Wed, 12 Jan 2005 19:43:37 -0500, James Mitchell <[EMAIL PROTECTED]> wrote:> > Note that this particular separation (of the model APIs and DAO) has > been done already ... core/trunk/struts-examples/mailreader. We'd > only need to make all the incantations of mailreader use this common > code base to reduce some of the duplication.
Yes, I noticed that a few weeks ago. I don't intend to change that, in fact, I plan to build on it....see below.
> > However, you're going to end up with different implementations no > matter what ... they exist to illustrate different technological > approaches to building the same app, to facilitate comparisons.
I am applying a strategy that builds the variations of mailreader apps by repeating a process that, for each mailreader app:
a) copies the "common" or "standard" base file structure and files to a target dir b) copies **/*.* over top of that c) generates any docs/javadocs/etc and wars the artifact (would also run the full test suite....yes I'm volunteering ;)
This process would repeat for each "one-off mailreader"....like so:
-- default -- apps/trunk/mailreader/standard apps/trunk/mailreader/el apps/trunk/mailreader/shale apps/trunk/mailreader/jericho apps/trunk/mailreader/resources (impl using commons-resources) apps/trunk/mailreader/chain (probably don't need this any more) apps/trunk/mailreader/tiles (this is not the tiles doc app)
-- optional -- apps/trunk/mailreader/j2ee (mostly xdoclet generated ejb 3.0 against HSSQLDB) apps/trunk/mailreader/spring apps/trunk/mailreader/resources-hibernate (HSSQLDB with Hibernate) apps/trunk/mailreader/spring-hibernate (it's a beautiful thing) apps/trunk/mailreader/resources-jdbc (HSSQLDB with JDBC)
There's a main project.xml in apps/trunk/ Each mailreader app project.xml extends that and overrides only what it needs to for that specific app. More or less why Maven was invented in the first place (from what I've read).
This way we don't have to have full blown webapp structures that duplicate 95% of the code. Only the files that are actually different than the "standard" will exist in these "one off"'s....what do we call these anyway? "Mailreader app demo"? (MAD)
So, in the end, if you were to add some new button or page to the standard app, they would all inherit it. And if something changes that breaks any one of the "MAD"s (LOL), the extensive test coverage would catch that....yes I'm volunteering again ;)
Does that make sense the way I explained it?
> > Craig >
-- James Mitchell Software Engineer / Open Source Evangelist EdgeTech, Inc. 678.910.8017 AIM: jmitchtx
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]