From ffb97f6b8ece32f3d0aa07fc5d8e302bb7abccc3 Mon Sep 17 00:00:00 2001 From: Konrad Neitzel Date: Fri, 20 Feb 2026 20:01:19 +0100 Subject: [PATCH] Refactor RolePlay application structure and enhance configuration - Remove the RolePlayApplication class as part of the restructuring. - Update pom.xml to include new dependencies for YAML configuration and H2 database support. - Modify API package imports in ModelResource, SessionResource, and TurnResource to use the generated API package. - Update application.yml to configure H2 datasource and enable Liquibase migrations at startup. --- pom.xml | 21 +++++++++++- .../neitzel/roleplay/RolePlayApplication.java | 33 ------------------- .../roleplay/fascade/ModelResource.java | 2 +- .../roleplay/fascade/SessionResource.java | 2 +- .../roleplay/fascade/TurnResource.java | 2 +- src/main/resources/application.yml | 13 +++++++- 6 files changed, 35 insertions(+), 38 deletions(-) delete mode 100644 src/main/java/de/neitzel/roleplay/RolePlayApplication.java diff --git a/pom.xml b/pom.xml index 17ccea4..47fb3d3 100644 --- a/pom.xml +++ b/pom.xml @@ -56,6 +56,14 @@ io.quarkus quarkus-hibernate-validator + + io.quarkus + quarkus-config-yaml + + + io.quarkus + quarkus-jdbc-h2 + io.quarkus quarkus-liquibase @@ -92,6 +100,17 @@ quarkus-maven-plugin ${quarkus.plugin.version} true + + + + build + + package + + ${quarkus.package.skip} + + + org.codehaus.mojo @@ -126,7 +145,7 @@ ${project.basedir}/src/main/resources/openapi-roleplay-public-v1.yml jaxrs-spec ${project.build.directory}/generated-sources/openapi - de.neitzel.roleplay.fascade.api + de.neitzel.roleplay.generated.api de.neitzel.roleplay.fascade.model true diff --git a/src/main/java/de/neitzel/roleplay/RolePlayApplication.java b/src/main/java/de/neitzel/roleplay/RolePlayApplication.java deleted file mode 100644 index 4d78336..0000000 --- a/src/main/java/de/neitzel/roleplay/RolePlayApplication.java +++ /dev/null @@ -1,33 +0,0 @@ -package de.neitzel.roleplay; - -import io.quarkus.runtime.Quarkus; -import io.quarkus.runtime.QuarkusApplication; -import io.quarkus.runtime.annotations.QuarkusMain; - -/** - * Application entry point for the RolePlay service. - */ -@QuarkusMain -public final class RolePlayApplication implements QuarkusApplication { - - /** - * Starts the Quarkus application. - * - * @param args command-line arguments - */ - public static void main(final String[] args) { - Quarkus.run(RolePlayApplication.class, args); - } - - /** - * Runs after the Quarkus runtime starts. - * - * @param args command-line arguments - * @return the process exit code - */ - @Override - public int run(final String... args) { - return 0; - } -} - diff --git a/src/main/java/de/neitzel/roleplay/fascade/ModelResource.java b/src/main/java/de/neitzel/roleplay/fascade/ModelResource.java index faa1953..93234b3 100644 --- a/src/main/java/de/neitzel/roleplay/fascade/ModelResource.java +++ b/src/main/java/de/neitzel/roleplay/fascade/ModelResource.java @@ -1,8 +1,8 @@ package de.neitzel.roleplay.fascade; import de.neitzel.roleplay.business.ModelService; -import de.neitzel.roleplay.fascade.api.ModelsApi; import de.neitzel.roleplay.fascade.model.ModelListResponse; +import de.neitzel.roleplay.generated.api.ModelsApi; import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; diff --git a/src/main/java/de/neitzel/roleplay/fascade/SessionResource.java b/src/main/java/de/neitzel/roleplay/fascade/SessionResource.java index 7e7f3f7..fa5a0dd 100644 --- a/src/main/java/de/neitzel/roleplay/fascade/SessionResource.java +++ b/src/main/java/de/neitzel/roleplay/fascade/SessionResource.java @@ -1,9 +1,9 @@ package de.neitzel.roleplay.fascade; import de.neitzel.roleplay.business.SessionService; -import de.neitzel.roleplay.fascade.api.SessionsApi; import de.neitzel.roleplay.fascade.model.CreateSessionRequest; import de.neitzel.roleplay.fascade.model.SessionResponse; +import de.neitzel.roleplay.generated.api.SessionsApi; import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; import jakarta.ws.rs.NotFoundException; diff --git a/src/main/java/de/neitzel/roleplay/fascade/TurnResource.java b/src/main/java/de/neitzel/roleplay/fascade/TurnResource.java index 342b533..ce4a79f 100644 --- a/src/main/java/de/neitzel/roleplay/fascade/TurnResource.java +++ b/src/main/java/de/neitzel/roleplay/fascade/TurnResource.java @@ -1,9 +1,9 @@ package de.neitzel.roleplay.fascade; import de.neitzel.roleplay.business.SessionService; -import de.neitzel.roleplay.fascade.api.TurnsApi; import de.neitzel.roleplay.fascade.model.TurnRequest; import de.neitzel.roleplay.fascade.model.TurnResponse; +import de.neitzel.roleplay.generated.api.TurnsApi; import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; import jakarta.ws.rs.NotFoundException; diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index d4b6c76..63e784e 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,9 +1,20 @@ quarkus: application: name: roleplay + resteasy-reactive: + scan: + paths: de.neitzel.roleplay.fascade,de.neitzel.roleplay.business,de.neitzel.roleplay.common,de.neitzel.roleplay.data + http: + root-path: / + datasource: + db-kind: h2 + jdbc: + url: jdbc:h2:mem:roleplay;DB_CLOSE_DELAY=-1 + username: sa + password: "" liquibase: change-log: db/migration/changelog.xml - migrate-at-start: false + migrate-at-start: true rest-client: ollama-api: url: http://debian:11434