Check if javalin classes are available before using (made dep on javalin optional)

This commit is contained in:
2025-05-29 19:16:06 -05:00
parent 69b46570cb
commit b82b25156e

View File

@ -30,6 +30,7 @@ import com.kingsrook.qqq.backend.core.exceptions.QException;
import com.kingsrook.qqq.backend.core.logging.QLogger;
import com.kingsrook.qqq.backend.core.model.metadata.QInstance;
import com.kingsrook.qqq.backend.core.model.metadata.code.QCodeReference;
import com.kingsrook.qqq.backend.core.utils.ClassPathUtils;
import com.kingsrook.qqq.backend.javalin.QJavalinMetaData;
import com.kingsrook.qqq.frontend.materialdashboard.model.metadata.MaterialDashboardFieldMetaData;
import com.kingsrook.qqq.middleware.javalin.metadata.JavalinRouteProviderMetaData;
@ -67,10 +68,13 @@ public class FormAdjusterRegistry
onLoadAdjusters.clear();
}
////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
// if we need to register the javalin router, do so (only once per qInstance) //
////////////////////////////////////////////////////////////////////////////////
// note, javalin is optional dep, so make sure it's available before try to use it //
/////////////////////////////////////////////////////////////////////////////////////
if(!didRegisterRouteProvider)
{
if(ClassPathUtils.isClassAvailable(QJavalinMetaData.class.getName()))
{
QJavalinMetaData javalinMetaData = QJavalinMetaData.ofOrWithNew(qInstance);
javalinMetaData.withRouteProvider(new JavalinRouteProviderMetaData()
@ -80,6 +84,7 @@ public class FormAdjusterRegistry
);
qInstance.add(new RunFormAdjusterProcess().produce(qInstance));
}
didRegisterRouteProvider = true;
lastRegisteredQInstance = qInstance;