| Age | Commit message (Collapse) | Author |
|
This change converts the resource classes of the OpenDC web server to
use Java, The Quarkus integration for Java is more mature and the
programming quality of experience is not that much worse.
|
|
This change updates the OpenDC web server to use Panache (provided by
Quarkus) to model entities. Such approach is better supported in Quarkus
and simplifies our implementation.
|
|
This change converts the existing utilities of the web server to Java in
preparation for future changes.
|
|
This change updates the web server to use the Hypersistence Utils
library instead of our custom code to store columns as JSON in H2 and
Postgres.
|
|
This change updates the Quarkus-based web server with a new endpoint for
querying data about the active user including accounting data.
|
|
This change updates the Quarkus-based web server to add support for
tracking and limiting the simulation minutes used by the user in order
to prevent misuse of shared resources.
|
|
This change updates the Quarkus-based web server to limit the default
exception mapper to just WebApplicationException. Other exceptions
should be considered internal server errors and must not be shared with
users.
|
|
This change updates the build configuration to use Spotless for code
formating of both Kotlin and Java.
|
|
This change updates the repository to remove the use of wildcard imports
everywhere. Wildcard imports are not allowed by default by Ktlint as
well as Google's Java style guide.
|
|
This change fixes an issue where the deletion of portfolios would fail
due to no transaction context being active.
|
|
This change updates the Quarkus configuration of the OpenDC web server
to serve as a fully standalone distribution that is capable of serving
the web UI, web API, and experiment runner. Such an approach vastly
simplifies local deployments.
For Docker deployments, we create a custom Quarkus profile that uses
PostgreSQL and disables the web UI.
|
|
This change updates the Quarkus extension for the OpenDC runner to avoid
the REST layer if possible, by providing an implementation of `JobManager`
that directly communicates with the `JobService`. This means the runner
does not have to traverse the authentication layer.
|