Hi,
Several months ago on the struts-user list there was a discussion on
automatically deriving Java classes from a datamodel and creating
beans to be used in forms. See:
[EMAIL PROTECTED]/msg01589.html
In the interim we have done some prototyping work to define a datamodel in
XML and XSLT stylesheets to generate Java code.
We now would like to propose this as a new Commons package.
The proposal text follows below and a zip file containing the initial
source base is attached.
Best,
--
Michael Gerdau
Nick Afshartous
datamodel-proposal.zip
Proposal for Jakarta Commons Datamodel package
(0) rationale
The goal of this package is to provide a framework for
defining and automatically generating Beans used to encapsulate data
retrieved from a database, and the corresponding JDBC access code.
The input to the code generation (datamodel definition) is an XML
configuration file that is translated via XSLT.
Possible future directions:
- Java code generation for a business object layer and a
declarative mechanism to express business rules.
- generation of default jsp/struts-"snippets" to be included
into display/edit pages as well as SQL-scripts and
data-access code written in other languages (i.e. C/C++).
- integration with the DataSource API and the Jakarta Commons
Connection Pool package.
- Java code generation for protocols other than JDBC
(1) scope of the subproject
The package shall create and maintain a datamodel package written in the Java
language and XSL stylesheets, designed to be used independently of any
larger product or framework and distributed under the ASF license.
(1.5) Interaction With Other Packages
Datamodel relies on:
Java Development Kit (Version 1.2 or later)
Java API for XML 1.0 or later compliant XML parser
(Xerces, XP, etc.), SAX 2.0 compliant XML parser recommended
DOM Level 1 compliant XML processor (Xalan, Xt,
etc.), DOM Level 2 recommended
[at a later stage] JUnit Testing Framework
(Version 3.2 or later) - for unit tests only, not required for
deployment
(2) identify the initial source for the package
The initial codebase was contributed by Michael
Gerdau and Nick Afshartous from a working project and can be
distributed under the Apache license. The source is attached.
(2.1) identify the base name for the package
org.apache.commons.datamodel
(3) Jakarta-Commons resources
(3.1) mailing list
Until traffic justifies, the package will use the
Jakarta-Commons list for communications.
(3.2) CVS repositories
For the time being, the package will use a root
branch of the Jakarta-Commons CVS.
(3.3) Bugzilla
The package should be listed as a component of
under the Jakarta-Commons Bugzilla entry.
(3.4) Jyve FAQ (when available)
commons-datamodel
(4) identify the initial set of committers to be listed in the
Status File.
Nick Afshartous
Michael Gerdau