From 8601347d972cd55f8b282bcacb79d8cb802fbbc9 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Mon, 6 Jan 2025 08:40:30 -0600 Subject: [PATCH] Update to use QApplicationJavalinServer instead of QJavalinImplementation --- .../sampleapp/SampleJavalinServer.java | 55 ++----------------- .../sampleapp/SampleJavalinServerTest.java | 3 +- 2 files changed, 5 insertions(+), 53 deletions(-) diff --git a/qqq-sample-project/src/main/java/com/kingsrook/sampleapp/SampleJavalinServer.java b/qqq-sample-project/src/main/java/com/kingsrook/sampleapp/SampleJavalinServer.java index 2db652d5..4ab4f375 100644 --- a/qqq-sample-project/src/main/java/com/kingsrook/sampleapp/SampleJavalinServer.java +++ b/qqq-sample-project/src/main/java/com/kingsrook/sampleapp/SampleJavalinServer.java @@ -23,10 +23,8 @@ package com.kingsrook.sampleapp; import com.kingsrook.qqq.backend.core.logging.QLogger; -import com.kingsrook.qqq.backend.core.model.metadata.QInstance; -import com.kingsrook.qqq.backend.javalin.QJavalinImplementation; +import com.kingsrook.qqq.middleware.javalin.QApplicationJavalinServer; import com.kingsrook.sampleapp.metadata.SampleMetaDataProvider; -import io.javalin.Javalin; /******************************************************************************* @@ -36,12 +34,6 @@ public class SampleJavalinServer { private static final QLogger LOG = QLogger.getLogger(SampleJavalinServer.class); - private static final int PORT = 8000; - - private QInstance qInstance; - - private Javalin javalinService; - /******************************************************************************* @@ -49,7 +41,7 @@ public class SampleJavalinServer *******************************************************************************/ public static void main(String[] args) { - new SampleJavalinServer().startJavalinServer(); + new SampleJavalinServer().start(); } @@ -57,38 +49,11 @@ public class SampleJavalinServer /******************************************************************************* ** *******************************************************************************/ - public void startJavalinServer() + public void start() { try { - qInstance = SampleMetaDataProvider.defineInstance(); - - QJavalinImplementation qJavalinImplementation = new QJavalinImplementation(qInstance); - javalinService = Javalin.create(config -> - { - config.router.apiBuilder(qJavalinImplementation.getRoutes()); - // todo - not all? - config.bundledPlugins.enableCors(cors -> cors.addRule(corsRule -> corsRule.anyHost())); - }).start(PORT); - - ///////////////////////////////////////////////////////////////// - // set the server to hot-swap the q instance before all routes // - ///////////////////////////////////////////////////////////////// - QJavalinImplementation.setQInstanceHotSwapSupplier(() -> - { - try - { - return (SampleMetaDataProvider.defineInstance()); - } - catch(Exception e) - { - LOG.warn("Error hot-swapping meta data", e); - return (null); - } - }); - javalinService.before(QJavalinImplementation::hotSwapQInstance); - - javalinService.after(ctx -> ctx.res().setHeader("Access-Control-Allow-Origin", "http://localhost:3000")); + new QApplicationJavalinServer(new SampleMetaDataProvider()).start(); } catch(Exception e) { @@ -96,16 +61,4 @@ public class SampleJavalinServer } } - - - /******************************************************************************* - ** - *******************************************************************************/ - public void stopJavalinServer() - { - if(javalinService != null) - { - javalinService.stop(); - } - } } diff --git a/qqq-sample-project/src/test/java/com/kingsrook/sampleapp/SampleJavalinServerTest.java b/qqq-sample-project/src/test/java/com/kingsrook/sampleapp/SampleJavalinServerTest.java index 0c6310d7..54722ff9 100644 --- a/qqq-sample-project/src/test/java/com/kingsrook/sampleapp/SampleJavalinServerTest.java +++ b/qqq-sample-project/src/test/java/com/kingsrook/sampleapp/SampleJavalinServerTest.java @@ -38,8 +38,7 @@ class SampleJavalinServerTest void testStartStop() { SampleJavalinServer sampleJavalinServer = new SampleJavalinServer(); - sampleJavalinServer.startJavalinServer(); - sampleJavalinServer.stopJavalinServer(); + sampleJavalinServer.start(); } } \ No newline at end of file