mardi 3 mars 2015

The generator provides new objects usable in the templates in order to generate native JDBC requests.

These new objects are $jdbcFactory and $jdbcExample :

With these new objects it's now very easy to generate DAO based on JDBC.Another object has been added, the $h2 object.This utility object can be used to generate the DDL for a "create table" statement in a "H2 database"It has been design to facilitate the generation of JUnit tests using a H2 database "in memory".Example :

The columns comments stored in the database are now available in the model.
The comments are now retrieved from the database and exposed in the model.
They can be used in the templates.
Example : $field.databaseComment

When generating the repository model it's now possible to use "regular expressions" to filter the table names.
One "regular expression" to "include" and another one to "exclude" table names.
The "regular expressions" are based on the standard Java RegEx provided by the JDK.
Example :

When updating the repository model, the links are now updated when some "foreign keys" have changed in the databaseSome bugs have been fixed

Especially the bug regarding duplicated attribute names. In the previous versions when an entity referenced another entity twice the same attribute name was used twice. Now the new system eliminates this risk by adding a number at the end of the name ( ie "author", "author2", "author3", ... )

mercredi 2 avril 2014

Telosys Tools 2.1.0 is a major version. It comes with some important new features.

Eclipse plugin improvement

The user interface has been improved (more intuitive, less manual operations)

The templates are now organized in "bundles"
A "bundle" is a set of templates, when a bundle is downloaded from GitHub is now immediately available (without any manual installation).
The "generation" process is now possible bundle by bundle

Static resources can been added in a bundle
A bundle can contain "static resources" that are just copied in their destination folder.
It's useful for different kind of static files (.css, .js, .properties, .xml, etc)

If you need other packages variables, they can be defined in the tab "Variables"
With a name like "DAO_PKG", "SERVICE_PKG", etc... ( ending with "_PKG" )

These variables can be used in the templates (.vm files) and in the targets definition ( templates.cfg file ). In the targets each variable ending by "_PKG" and used in the folder definition is transformed into a folder path ( ie : "org.foo.bar" becomes "org/foo/bar" ). Hence the package variables can be used to define the destination of the code generation.

Examples in a template :

import ${ROOT_PKG}.cache.${entity.name}Cache ;

Examples in targets definition (destination folder) :

${SRC}/${ENTITY_PKG}

${SRC}/${ROOT_PKG}/cache

NB : For an existing project these two variables must be defined before any code generation. (your previous package configuration will be lost )Check their values in "Properties / Telosys Tools : Packages" after installation of this new version

Database configuration :

With Telosys Tools 2.0.6 it's no longer useful to define the databases with a text editor (databases.dbcfg file ).