### OpenAPI Model Generation

This module generates model classes from the open-api specification of the sumission api.

Usage: ``mvn compile`` generates all models into the package ``de.fitko.fitconnect.api.domain.model`` under
**src/main/java**.

### Config

The relevant config parameters are listed below.

````xml

<configuration>
    <!-- open api spec url -->
    <inputSpec>${submission-api.baseurl}/${submission-api.version}/${submission-api.spec}</inputSpec>

    <!-- language generator -->
    <generatorName>java</generatorName>

    <!-- validation is currently disabled, otherwise the generation fails due to duplicate entries -->
    <skipValidateSpec>true</skipValidateSpec>

    <!-- use jackson annotations -->
    <library>resttemplate</library>

    <!-- target package name -->
    <modelPackage>de.fitko.fitconnect.api.domain.model.submission</modelPackage>

    <!-- target folder to write files into -->
    <configOptions>
        <sourceFolder>../../../src/main/java</sourceFolder>
    </configOptions>
</configuration>

````

### Draft/Todo

Currently there are some @Nullable and @NonNull annotations from ```javax.annotations``` that need to be replaced and
german comments from the api spec.

In a further step the cleaned and post-processed model classes can be updated in the original ``api/domain/model``
package of the ``api`` module