You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@velocity.apache.org by Claude Brisson <cl...@renegat.net.INVALID> on 2019/04/18 17:24:18 UTC

velocity-tool-model submodule

Hi all.

I have pushed in the 'model' branch a proposal for the 
velocity-tools-model submodule, which is a complete rewrite of my good 
old Velosurf library.

The rationale is to be able to define and expose a model to the view layer:

  - the model definition gathers entities and their attributes (which 
are sql queries)
  - you can start with an empty model and let it reverse enginer 
all/specific tables, columns and joins in a schema
  - attributes type is either scalar (string/number...), row or rowset
  - the main idea is to be able to write thinks like: 
$book.publisher.address.zip or #foreach($author.books)
  - the Java API lets you write thinks like: Instance book = 
model.getEntity("book").fetch(1); book.set("title", "foo"); book.update();
  - you can provide your own POJOs for the instances of each entity, 
whose getters and setters will automatically be called
  - the VTL objects are wrappers around the Model, Entity and Instance 
objects
  - the way SQL objects and values are mapped is highly configurable

For those of you who would like to take a look at it, while waiting for 
a more elaborate documentation, here are some links:

  - example configuration : https://s.apache.org/AWmN

  - example model definition : https://s.apache.org/Y14w

  - source code in svn viewvc : https://s.apache.org/oFJY

  - javadoc (still quite empty) : 
https://velocity.apache.org/tools/model/apidocs/

There is still a lot of documentation and tests to write, but it is 
already functional.

Of couse, every feedback is welcome.


   Claude



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@velocity.apache.org
For additional commands, e-mail: dev-help@velocity.apache.org