Chapter 1. Data Object Design Studio

The Data Object Design Studio (DODS), shown in Figure 1, is a tool which, for the given doml file, can generate SQL script files for creating tables (for each table separately and one cumulative file for creating all tables), one file for deleting all tables, and/or java code for data objects described in the given doml file. DODS also has possibility to compile generated java classes and to parse SQL files (to split cumulative SQL into more separated SQL files using SQLSplitter tool).

Figure 1: DODS Generator Wizard

Data objects described in the given DOML file correspond to tables in the database. Each data object has attributes, which describe database columns, and reference attributes, which refer to other data objects. Reference attributes let you create a hierarchy of data objects (for example, many-to-one or many-to-many relationships).

For the given DOML, DODS generates all of the code to implement it. For example:

For each data object, DODS generates a set of source files. For example, if your DOML file includes the definition of an entity named "thing," then DODS would generate the following:

DODS is one part of Enhydra 5.3 and Enhydra 6.3. If Enhydra 5.3(1) is installed, so is DODS. In this case, DODS home directory is: <enhydra_home>/dods.

Since this version, DODS has become independent from Enhydra, which means that can be used without it. In this case, DODS home directory <dods_home> is the directory in which independent DODS is installed.

Note: DODS have methods: getTableName(), getHandle(), getVersion(), getNewVersion(), getOId(), getVersionColumnName(), getOIdColumnName(), getOriginDatabase(), getPrimaryKeyName() and the same set methods. Due to a possible method name collisions, please do not call your columns of tables by names: tableName, handle, version, newVersion, oId, versionColumnName, oIdColumnName, originDatabase, primaryKeyName. These DODS methods are deprecated and will be removed in the future DODS version. New methods have syntax get_xxx() and set_xxx(…), so, the columns names should not start with "_" sign.

Also, DODS has method getConfigurationAdministration() that is not deprecated, so, column name configurationAdministration also must not be used.

DODS independence is detailly explained in the chapter DODS independence.