mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-18 13:10:44 +00:00
Merge branch 'dev' into feature/QQQ-38-app-home-widgets
This commit is contained in:
@ -22,7 +22,6 @@
|
||||
package com.kingsrook.sampleapp;
|
||||
|
||||
|
||||
import com.kingsrook.qqq.backend.core.exceptions.QException;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.QInstance;
|
||||
import com.kingsrook.qqq.frontend.picocli.QPicoCliImplementation;
|
||||
|
||||
@ -37,7 +36,8 @@ public class SampleCli
|
||||
*******************************************************************************/
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new SampleCli().run(args);
|
||||
int exitCode = new SampleCli().run(args);
|
||||
System.exit(exitCode);
|
||||
}
|
||||
|
||||
|
||||
@ -45,31 +45,20 @@ public class SampleCli
|
||||
/*******************************************************************************
|
||||
**
|
||||
*******************************************************************************/
|
||||
private void run(String[] args)
|
||||
int run(String[] args)
|
||||
{
|
||||
try
|
||||
{
|
||||
int exitCode = runForExitCode(args);
|
||||
System.exit(exitCode);
|
||||
QInstance qInstance = SampleMetaDataProvider.defineInstance();
|
||||
QPicoCliImplementation qPicoCliImplementation = new QPicoCliImplementation(qInstance);
|
||||
|
||||
return (qPicoCliImplementation.runCli("my-sample-cli", args));
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
System.exit(-1);
|
||||
return (-1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
**
|
||||
*******************************************************************************/
|
||||
int runForExitCode(String[] args) throws QException
|
||||
{
|
||||
QInstance qInstance = SampleMetaDataProvider.defineInstance();
|
||||
QPicoCliImplementation qPicoCliImplementation = new QPicoCliImplementation(qInstance);
|
||||
int exitCode = qPicoCliImplementation.runCli("my-sample-cli", args);
|
||||
return exitCode;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -22,7 +22,6 @@
|
||||
package com.kingsrook.sampleapp;
|
||||
|
||||
|
||||
import com.kingsrook.qqq.backend.core.instances.QInstanceValidator;
|
||||
import com.kingsrook.qqq.backend.core.model.metadata.QInstance;
|
||||
import com.kingsrook.qqq.backend.javalin.QJavalinImplementation;
|
||||
import io.javalin.Javalin;
|
||||
@ -71,6 +70,24 @@ public class SampleJavalinServer
|
||||
config.enableCorsForAllOrigins();
|
||||
}).start(PORT);
|
||||
javalinService.routes(qJavalinImplementation.getRoutes());
|
||||
|
||||
/////////////////////////////////////////////////////////////////
|
||||
// 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"));
|
||||
}
|
||||
|
Reference in New Issue
Block a user