===============================================
- Simple UML diagram
- .clay files are actually just XML
- Clay loader reads XML and creates a POJO to represent the database
- Read database metadata
- Look at exported keys to build relationships
- Uses database object created by clay or JDBC loader
- Creates boilerplate code for CRUD operations
- For each database table, the following are generated:
- A domain object, DAO, and JUnit test
- A controller, a REST resource, views (with Boostrap CSS), and corresponding MVC JUnit tests
The is a maven project that requires Java 1.7 and should be built using:
mvn clean install
- Create a Maven Java Web Application project with Spring Framework 4.1.6, Tiles 3.0.5, Jetty 9.2.10, Spring Security 4.0.1, Hibernate 4.3.9.Final, and Jackson 2.5.2.
- Open src/test/resources/Model.clay and edit tables as necessary
- Run Protogen goals: mvn edu.uiowa.icts:protogen:2.0.5-SNAPSHOT:generate
- Run JUnit, all tests should pass
- export create table script from Clay as ${artifactId}.sql and run liquibase
- start Jetty with JRE VM arguments: -Xms2000m -Xmx2000m -XX:MaxPermSize=2000m
Update log4j.properties to change location or log levels
The project is released under version 2.0 of the Apache License.