This page will conain a nicely formatted, consolidated requirements specification.

1. Goals

The goal of this effort is to create a database mapping tool. There shall be a plugin mechanism to easily integrate implementation for certain problem domains. It is not intended to extend functionality to create UML diagrams, as this is already covered by wide-spread, freely available tools.

2. Constraints

The tool shall be published under the Apache Software License. Therefore all components used must be available with a license that is deemed compatible with the Apache Software License by the Apache Foundation. All code directly contributed to the effort (i.e. not in form of a class library) must have the copyright assigned to the Apache Foundation to enable integration into an Apache project.

3. History

4. Requirements

The following items are the rough requirements for the mapping workbench.

4.1 Overall / Plugin Mechanism

The mapping workbench shall be a framework where distinct modules can be included for distinct tasks. The module have the responsibility for drawing the user interface (within the common UI of the mapping workbench). The plugin mechanism consists of the following functions:

4.2 Read & Edit OBJ repository declaration

4.3 Read & Edit database schema

4.4 Parse existing java source hierarchy

Parse a tree of java sources, extract all useable information and display it. Can be a source for data to be transformed.

4.5 Generate java sources

Possibly can be integrated with 4.4 later so synchronization can be done. Currently parsing and generating will have to be independent.

4.6 Read class file hierarchy

Similar to 4.4 it shall be possible to parse existing class files and extract all useable information. Can be a source for data to be transformed.

4.7 Map existing database schema and existing java sources/classes

Could be a responsibility of the repository editor (copy'n'pasting database fields to class fields)