Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

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.

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

jeaf-generator-sample-project

Top level project of sample.

accounting-model

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.

https://anaptecs.atlassian.net/wiki/spaces/JEAF/pages/568885560/Export+UML+Model+from+MagicDraw+UML#Define-XMI-as-Input-for-JEAF-Generator

https://bitbucket.org/anaptecs/jeaf-generator-samples/src/master/accounting-model/

accounting-service-objects

Project contains the service objects that are generated from the UML model

Generating Code for Services

https://bitbucket.org/anaptecs/jeaf-generator-samples/src/master/accounting-service-objects/

accounting-services-api

Project contains the service interfaces of the generated services of the sample project.

Generating Code for Services

https://bitbucket.org/anaptecs/jeaf-generator-samples/src/master/accounting-services-api/

accounting-services-api-runtime

Project contains the generated runtime classes for services that are required by JEAF

Generating Code for Services

https://bitbucket.org/anaptecs/jeaf-generator-samples/src/master/accounting-services-api-runtime/

accounting-rest

Project contains the generated REST facade for services

Generating Code for Services

https://bitbucket.org/anaptecs/jeaf-generator-samples/src/master/accounting-rest/

accounting-services-impl

Project contains the generated stubs for service implementations.

Generating Code for Components

https://bitbucket.org/anaptecs/jeaf-generator-samples/src/master/accounting-services-impl/

accounting-services-impl-runtime

Project contains the generated runtime classes for components.

Generating Code for Components

https://bitbucket.org/anaptecs/jeaf-generator-samples/src/master/accounting-services-impl-runtime/

accounting-persistent-objects

Project contains the generated persistent classes.

Generating Code for Persistence

https://bitbucket.org/anaptecs/jeaf-generator-samples/src/master/accounting-persistent-objects/

accounting-domain-objects

Project contains the generated domain objects.

Generating Code for Domain Objects

https://bitbucket.org/anaptecs/jeaf-generator-samples/src/master/accounting-domain-objects/

accounting-pojos

Project contains the generated POJOs.

Generating Code for POJOs

https://bitbucket.org/anaptecs/jeaf-generator-samples/src/master/accounting-pojos/

accounting-object-mappers

Project contains generated Object Mappers.

Generating Code for Object Mappings

https://bitbucket.org/anaptecs/jeaf-generator-samples/src/master/accounting-object-mappers/

accounting-activities-api

Project contains the generated interfaces for activities.

Generating Code for Activities

https://bitbucket.org/anaptecs/jeaf-generator-samples/src/master/accounting-activities-api/

accounting-activities-impl

Project contains the generated stubs for activities.

Generating Code for Activities

https://bitbucket.org/anaptecs/jeaf-generator-samples/src/master/accounting-activities-impl/

accounting-service-providers-api

Project contains the generated interface for service providers.

Generating Code for Service Providers

https://bitbucket.org/anaptecs/jeaf-generator-samples/src/master/accounting-service-providers-api/

accounting-service-providers-impl

Project contains the generated stubs for service provider implementations.

Generating Code for Service Providers

https://bitbucket.org/anaptecs/jeaf-generator-samples/src/master/accounting-service-providers-impl/

accounting-junit-testcases

Project contains the generated stubs to test services.

Generating Code for Services

https://bitbucket.org/anaptecs/jeaf-generator-samples/src/master/accounting-junit-testcases/

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 (wink)

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

  • No labels