JEAF Generator Sample
Preparation
Please ensure, before you jump into the sample code, that you are familiar with the model driven development process in general. You will find further information about that on the following sides:
Download JEAF Generator Sample Project
If you want to work with JEAF Generator we strongly recommend to checkout our sample project. Jumping through the code is a very meaningful thing to do besides reading all the documentation.
anaptecs Git Repository
Clone latest version directly from our Git repository: https://bitbucket.org/anaptecs/jeaf-generator-samples.gitMaven Repository
Download the latest released version of the JEAF Generator Samples directly from Maven Central
Maven Central Repository
Structure of the example project
As you can see in our Modelling Guidelines JEAF Generator is able to generate lots of different types of code based on the UML model. To ensure a better overview in the example project we created an independent Maven sub module for every content type that will be generated.
Maven Project | Description | Git Repository Link |
---|---|---|
| Top level project of sample. |
|
| Project contains the UML model of the sample project as well as the appropriate XMI export and an HTML export of the model. Sub module that make use of JEAF Generator reference the packaged UML model via Maven dependency. | |
| Project contains the service objects that are generated from the UML model | |
| Project contains the service interfaces of the generated services of the sample project. | |
| Project contains the generated runtime classes for services that are required by JEAF | |
| Project contains the generated REST facade for services | |
| Project contains the generated stubs for service implementations. | |
| Project contains the generated runtime classes for components. | |
| Project contains the generated persistent classes. | |
| Project contains the generated domain objects. | |
| Project contains the generated POJOs. | |
| Project contains generated Object Mappers. | |
| Project contains the generated interfaces for activities. | |
| Project contains the generated stubs for activities. | |
| Project contains the generated interface for service providers. | |
| Project contains the generated stubs for service provider implementations. | |
| Project contains the generated stubs to test services. |
In general the configuration of the sample project is a very good baseline to setup your projects.
However in case of the sample project all output will be written to src-gen
/ res-gen
. This will ensure that also code / resources that actually are only generated once are always up-to-date. However in real life this is not a good setup as manual code will be overwritten every time JEAF Generator will be executed
UML Model
As mentioned several times before JEAF Generator needs an UML model as input for code generation. This sample project here uses a very simple UML model that was created to demonstrate modelling and code generation. Thus the model concentrates mostly on how to model but not on correct representation of a special business.
Most important parts of the model will be shown here. In addition the sample project also contains the MagicDraw UML project files as well as an HTML export of the model.
Service Interface
Components
Persistent Classes
Activities
POJOs
Object Mappings
Role Definitions
Service Providers