FAQ



JEAF Maven Plugin

#

Question

Answer

#

Question

Answer

1.1

Why is JEAF Maven Plugin need in build process?

  1. JEAF Maven Plugin simplifies the overall configuration of JEAF and reduces the time needed to keep configuration up to date

  2. JEAF Maven Plugin analyzes the application's class path during build time and stores the relevant information in an optimized form. This helps to significantly improve the overall startup up of the application as no intensive class path scanning needs top be done.



JEAF Generator

#

Question

Answer

#

Question

Answer

2.1

When executing JEAF Generator Maven Plugin a warning with error code 9102 about file system references is written to the logs

Depending on how you export XMI files from your MagicDraw model it might happen that the files contain information about file systems paths. This should not be an issue on the machine where you exported the files. However, it may lead to problems on other devices or your CI/CD infrastructure where file system paths might not be the same.

 

How to solve this issue?

Root cause when using MagicDraw for this problem is a setting in your MagicDraw UML project. There it is possible to configure an XMI path that makes use of variables. This variable causes that a file path will also be part in the generated XMI files.

 

As soon as you remove the variable no file system reference will be used inside the generated XMI files.

2.2

When generating code for a REST resource then warning about incompatible types (error-code 9101 or 9103) is written to output logs

When working with OpenAPI and REST there are some restrictions concerning the data types that can be used in Java. This warning tells you that in a specific REST operation a incompatible parameter or return type is used. This will lead to an invalid request / response.

The following Java date types are considered to not be OpenAPI compatible:

  • java.time.LocalDateTime, java.time.LocalTime: OpenAPI expects RFC 3339 Section 5.6 full date-time notation. This also includes information about timezone. However time zones are not supported by Java classes LocalDateTime and java.time.LocalTime.

2.3

Generated OpenAPI spec contains comment

"Property "xyz" is marked as deprecated. However OpenAPI does not support to mark references to complex types as deprecated."

What does that mean?

JEAF Generator supports to mark various elements in the UML model as deprecated. This information is also added to the generated code and OpenAPI specification.
However, there are cases where OpenAPI does not allow to mark an element as deprecated. Namely this is the case for single valued references to other complex types like a 0..1 association to another object. In this case the generated Java code will still contain the deprecation but the OpenAPI specification will not have "deprecation: true". Instead only as comment inside the file is created.

During code generation also a warning with code 9154 is added to logs.