Chapter 44. What's new in previous releases.

Table of Contents

Core improvements
Caching
Transactions
Security
Application configuration parameters and DOML attributes
Other improvements
Patches

This chapter lists the new or updated features associated with DODS 5.1.

Core improvements

New DODS is independent from Enhydra. For more information, see "DODS independence" ( html, pdf), the fifth chapter of the document "Using DODS" ( html, pdf).

Pointer lazyLoading is implemented.

Caching

  • Changed caching: there is only one type of caching - LRU (least recently used) caching. LRU cache extends class LinkedHashMap which is standard jdk1.4 class.

  • Data object cache is transformed into DataStruct cache (LRU cache).

  • Full caching is a special case of LRU caching. It is unbounded LRU cache in which are put all table rows during the cache initialization.

  • Added query caching. Query cache is devided in two parts: simple query cache and complex query cache.

  • Added new transaction cache. It stores DOs from the same transaction. It is a HashMap.

  • Added possibility of disabling and enabling caching.

  • Added possibility of separete cache refreshing.

  • Usage of caches is configurable - parameteres in application conf file.

  • Added Global cache (Wrapper) that synchronizes all DataStruct caches.

  • Added negative list to DataStruct cache to hide DataStructs from using while are out of synchronization.

  • Logging again works thru Enhydra logging API. There are two implementations: Classic and Log4j.

  • DatabaseManager API is fixed, and generated classes don't contain anonymous classes for comparison (implementing CompareDO and CompareDS). Also xxxDO.cloneUnique() bug is fixed.

Transactions

  • Many new features about transactions are implemented.

  • Fixed transactions, the change of cache content is performed after commit() of the transaction.

  • Added a lot of new transactions parameters in configuration file.

  • Transactions are detailly explained in document "Inside DODS" ( html, pdf).

Security

  • Implemented methods for security that check user access rights.

  • Added attributes genereSecure and generateInsecure on database, table and column level in DOML file that define generating secure methods (methods with check of user access rights) and insecure methods (methods without check of user access rights).

  • Security is detailly explained in the Chapter "Security" of the document "Inside DODS" (html, pdf).

Application configuration parameters and DOML attributes

  • Provided possibility of overwritting Vendor from DOML file by DODS Ant task. The possibility also added in DODS generator.

  • In application's configuration file can be defined default table parameters on DatabaseManager and Database level and table parameters for every table.

  • In application's configuration file can be defined default cache parameters on DatabaseManager and Database level and cache parameters for every table.

  • Added switches for generating secure and insecure methods on database, table and column level in DOML file.

  • Added switches for multi databases and lazy loading in DOML file.

  • Added index element in DOML file. Added support for unique and clustered indexes.

  • In application's configuration file can be defined transacion parameters : AutoSave, AutoWrite, TransactionCaches, TransactionCheck,...

  • Updated DOML file.

Other improvements

  • CloneUnique patch is added - cloneUnique method didn't work because of DO changes - double DataStruct. Problem is solved.

  • Cleaning of DODS interfaces - Now we are compatible with Enhydra 5.0.

  • Removed anonymous classes for column compare (in DataStruct and DO classes).

  • DODS_HOME is not necessary at runtime, dodsConf and vendor xmls are in dbmanager.jar.

  • Separated DODS building (out of Enhydra). In Enhydra building are just copied DODS jars.

  • Dods Generator is replaced by new DODS-Ejen based on xsl transformation, Jakarta Ant and Ejen project.

  • Provided possibility for users to make their own template sets.

  • TemplateDir parameter in Ant task defines base directory of DODS templates.

  • Removed Dods GUI.

  • Dods.conf is in xml format (DodsConf.xml). It is splitted, there is one file for every database vendor. DodsConf has just information about location of templates and vendor configuration files.

  • Included informix.jar and oracle.jar as examples of databases that differ from standard (jars are placed in lib/dbvendors directory).

  • DODS generator creates java code independent of database. Database dependency is relocated to Database Manager (dbmanager.jar).

  • In DatabaseManager is put only standard funcionality of databases and made possibility for users to create their own jars. This is done dinamically (declare it in configuration file).

  • Multi databases included in DODS. This is possibility of working with more than one database at the same time.

  • SQLSplitter is included in DODS Generator as a tool (options) for creating more separated SQL files (for creating tables, creating indexes, primary keys, foreign keys...).

  • Added possibility to DODS to convert DOML file into four types of papers: html, pdf, xmi and ptl. This can be done from DODS Generator Wizard, or manually.

  • New command-line script for convertion of DOML 3.1 and 5.0 file into DOML 6.0 file.

  • Fixed thread safe lazy-loading.

  • DODS applications can use Microsoft JDBC driver, if the parameter SelectMethod is set to cursor.

    example:

    DatabaseManager.DB.sid1.Connection.Url = "jdbc:microsoft:sqlserver://192.168.0.22:1433;DatabaseName=discRack;SelectMethod=cursor".

  • Added possibility of selecting oids from database (for given "where" condition) and removing DOs with these oids from the DataStruct cache.

  • Added possibility of writing queries (which execution time is greater then parameter maxExecuteTime) into applications EventLog file.

  • Added new methods for maintaing table and cache statistics.

  • Implemented unDelete and undo methods of DOs.

  • Added new DODS document "Inside DODS" ( html, pdf) that detailly explains caching, transactions and new parameters in DODS.

  • added DODS FAQs (Frequently Asked Questions) to DODS documentation.