Skip to content

Latest commit

 

History

History
26 lines (15 loc) · 1.74 KB

README.md

File metadata and controls

26 lines (15 loc) · 1.74 KB

Core microservices for the Playground

This is a Micronaut library project which implements the core microservices used by the Playground to run Epsilon scripts and visualise models and metamodels.

Endpoints

  • POST /emfatic2plantuml: transforms a metamodel written in Emfatic to a PlantUML class diagram.
  • POST /flexmi2plantuml: transforms a model written in Flexmi that conforms to a metamodel written in Emfatic to a PlantUML class diagram.
  • POST /xmi2plantuml: transforms a model written in XMI that conforms to a metamodel written in Emfatic to a PlantUML class diagram.
  • POST /epsilon: runs an Epsilon script against a given set of metamodels (written in Emfatic) and models (written in Flexmi or XMI). The first model can alternatively be a JSON document.

The *2plantuml endpoints use in-memory caches to avoid rendering the same diagram multiple times. These caches are limited in size by default: for further configuration, consult the Micronaut Cache documentation.

Configuration options

Besides the default Micronaut options, the endpoints can be configured through these environment variables:

  • PLAYGROUND_TIMEOUT_MILLIS: timeout in milliseconds for any Epsilon scripts being executed by the playground. Default is 60000 (60s).

Request options

The endpoints are CORS-aware: by default, they allow requests from any origin with any headers and a Max-Age set to 1 hour, but only with the methods listed above.

Requests are limited to a maximum of 100kB by default.