From fe0c9f4b9c4c4405249f1de437c39291f22df5bd Mon Sep 17 00:00:00 2001 From: James Maes Date: Sun, 22 Jun 2025 08:11:08 -0500 Subject: [PATCH] Test commit - sync between machines --- .../core/model/data/QRecordEntity.java | 1 + qqq-middleware-javalin/pom.xml | 8 ++- .../javalin/QApplicationJavalinServer.java | 55 +++++++++++++++++-- 3 files changed, 59 insertions(+), 5 deletions(-) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/data/QRecordEntity.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/data/QRecordEntity.java index f681aa58..26dfc195 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/data/QRecordEntity.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/data/QRecordEntity.java @@ -594,6 +594,7 @@ public abstract class QRecordEntity { Field tableNameField = entityClass.getDeclaredField("TABLE_NAME"); String tableNameValue = (String) tableNameField.get(null); + return (tableNameValue); } catch(Exception e) diff --git a/qqq-middleware-javalin/pom.xml b/qqq-middleware-javalin/pom.xml index 43ff6aef..c8c8a231 100644 --- a/qqq-middleware-javalin/pom.xml +++ b/qqq-middleware-javalin/pom.xml @@ -36,7 +36,7 @@ 1.9.10 - 6.3.0 + 6.6.0 @@ -117,6 +117,12 @@ assertj-core test + + com.kingsrook.qqq + qqq-middleware-api + 0.26.0-integration-20250615-161253 + compile + diff --git a/qqq-middleware-javalin/src/main/java/com/kingsrook/qqq/middleware/javalin/QApplicationJavalinServer.java b/qqq-middleware-javalin/src/main/java/com/kingsrook/qqq/middleware/javalin/QApplicationJavalinServer.java index ad470daa..e962e174 100644 --- a/qqq-middleware-javalin/src/main/java/com/kingsrook/qqq/middleware/javalin/QApplicationJavalinServer.java +++ b/qqq-middleware-javalin/src/main/java/com/kingsrook/qqq/middleware/javalin/QApplicationJavalinServer.java @@ -26,6 +26,7 @@ import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; import java.util.function.Consumer; +import com.kingsrook.qqq.api.javalin.QJavalinApiHandler; import com.kingsrook.qqq.backend.core.exceptions.QException; import com.kingsrook.qqq.backend.core.exceptions.QInstanceValidationException; import com.kingsrook.qqq.backend.core.instances.AbstractQQQApplication; @@ -74,11 +75,12 @@ public class QApplicationJavalinServer private Integer port = 8000; private boolean serveFrontendMaterialDashboard = true; - private String frontendMaterialDashboardHostedPath = "/"; // TODO - Things like this should be moved into a central configuration file system, so that it can be changed in userspace without code changes. + private String frontendMaterialDashboardHostedPath = "/"; // TODO - Things like this should be moved into a central configuration file system, so that it can be changed in userspace without code changes. private boolean serveLegacyUnversionedMiddlewareAPI = true; - private List middlewareVersionList = List.of(new MiddlewareVersionV1()); - private List additionalRouteProviders = null; - private Consumer javalinConfigurationCustomizer = null; + private boolean serveApplicationApi = true; + private List middlewareVersionList = List.of(new MiddlewareVersionV1()); // TODO - Seems like this should be null by default, and only set if the application developer wants to serve versioned middleware APIs. @DK + private List additionalRouteProviders = null; + private Consumer javalinConfigurationCustomizer = null; private QJavalinMetaData javalinMetaData = null; private long lastQInstanceHotSwapMillis; @@ -170,6 +172,20 @@ public class QApplicationJavalinServer } } + if(serveApplicationApi) + { + try + { + QJavalinApiHandler qJavalinApiHandler = new QJavalinApiHandler(qInstance); + config.router.apiBuilder(qJavalinApiHandler.getRoutes()); + } + catch(Exception e) + { + LOG.error("Unable to add application API routes to Javalin service.", e); + throw new RuntimeException(e); + } + } + ///////////////////////////////////// // versioned qqq middleware routes // ///////////////////////////////////// @@ -738,4 +754,35 @@ public class QApplicationJavalinServer { this.frontendMaterialDashboardHostedPath = frontendMaterialDashboardHostedPath; } + + /******************************************************************************* + ** Getter for serveApplicationApi + *******************************************************************************/ + public boolean getServeApplicationApi() + { + return (this.serveApplicationApi); + } + + + + /******************************************************************************* + ** Setter for serveApplicationApi + *******************************************************************************/ + public void setServeApplicationApi(boolean serveApplicationApi) + { + this.serveApplicationApi = serveApplicationApi; + } + + + + /******************************************************************************* + ** Fluent setter for serveApplicationApi + *******************************************************************************/ + public QApplicationJavalinServer withServeApplicationApi(boolean serveApplicationApi) + { + this.serveApplicationApi = serveApplicationApi; + return (this); + } + + }