mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-17 20:50:44 +00:00
Feedback from code reviews
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"));
|
||||
}
|
||||
|
@ -25,6 +25,7 @@ package com.kingsrook.sampleapp;
|
||||
import com.kingsrook.qqq.backend.core.exceptions.QException;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotEquals;
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
@ -37,10 +38,21 @@ class SampleCliTest
|
||||
**
|
||||
*******************************************************************************/
|
||||
@Test
|
||||
void test() throws QException
|
||||
void testExitSuccess() throws QException
|
||||
{
|
||||
int exitCode = new SampleCli().runForExitCode(new String[] { "--meta-data" });
|
||||
int exitCode = new SampleCli().run(new String[] { "--meta-data" });
|
||||
assertEquals(0, exitCode);
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
**
|
||||
*******************************************************************************/
|
||||
@Test
|
||||
void testNotExitSuccess() throws QException
|
||||
{
|
||||
int exitCode = new SampleCli().run(new String[] { "asdfasdf" });
|
||||
assertNotEquals(0, exitCode);
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user