mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-17 20:50:44 +00:00
Update to use QApplicationJavalinServer instead of QJavalinImplementation
This commit is contained in:
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -38,8 +38,7 @@ class SampleJavalinServerTest
|
||||
void testStartStop()
|
||||
{
|
||||
SampleJavalinServer sampleJavalinServer = new SampleJavalinServer();
|
||||
sampleJavalinServer.startJavalinServer();
|
||||
sampleJavalinServer.stopJavalinServer();
|
||||
sampleJavalinServer.start();
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user