Vaadin

Vaadin technology is available at http://vaadin.com/home

MinuteProject 4 Vaadin is in incubator phase, MinuteProject is prototyping the generation of a data web analytic interface (reporting/dashboard + CRUD) on top of the DB API .

A sample application can be found at http://petshopvaadin.minuteproject.cloudbees.net/PetshopApplUI

Run

The delivery is shipped with a demonstration:
In sample: start-petshop-database.bat
In demo/config : demo-draft-features-vaadin-spring-hibernate.cmd (do not forget to be in java 1.6)

For the user's specific model follow the Tutorial
  • to configure your model specificities (connection);
  • and adapt your targets to point
    • to mp-template-config-bsla-hibernate-last-feature.xml (same target configuration as in /demo/config/mp-bsla-hibernate-vaadin-last-features.xml);
    • to mp-template-config-vaadin-last-features.xml.

The rest of the page deals with the generation coming from the demo.

Generation

It provides the following output:
  • in output/petshopHibernate: a complete DB-API based on spring/hibernate with advanced DAO (see demo ).
  • in output/petshopVaadin/src/main/java: the draft version of a database browsing application:
    • Vaadin application classes (entry points URL). One for each table + one global to the model;
    • Vaadin container classes (that handle the backend DAO calls). One for each table;
    • Vaadin form classes (that handle the user input for each entity). One for each table;
    • Vaadin entity list classes (that handle the display of the entity list). One for each table;
    • Vaadin menu class. One for the model;
    • Vaadin view classes. One for each table;
      • SplitPanel to handle the display of list of entity and associated detail and form;
      • Main view to handle the display of the previous view and navigation tree;
      • Search view;
    • Vaadin window class. One for the model;
  • in output/petshopVaadin/src/main/resources
    • Vaadin web.xml file. One application per entity (except many-2-many) + one global.

Dependencies

Back-end artifacts have their dependencies handle by maven (do not forget to install manually the mp-bsla-x.y.z.jar (target\mp-bsla > install_maven) and jta.jar).
Vaadin Front-end artifacts are dependent of:
- vaadin.jar
- tookit productivity tools from Vaadin add-on.
- NavigationTree class (not yet shipped with distribution) in trunk/minuteArchitecture/targets/mp-vaadin/src/main/java/ available on svn here

Packaging

The packaging is not finalized yet.
Here are the sources to add in the following order.
  1. petshopHibernate/src/main/java
  2. petshopHibernate/src/test/resources (important for local connection pool)
  3. petshopHibernate/src/main/resources
  4. petshopVaadin/src/main/java

Copy petshopVaadin/src/main/web.xml to WebContent/WEB-INF

Improvements

The following improvements are foreseen:
- integration of the spring application context in web.xml;
- integration with maven;
- continue the CRUD implementation;

Test

Once everything compile and the database is up:
Start vaadin server and try http://localhost:8888/PetshopAppl

For Adresses

mp-vaadin-petshop-address-list.jpg

For Items

mp-vaadin-petshop-item-list.jpg