From b82b25156e603a51ed811876f652d5e97756a459 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Thu, 29 May 2025 19:16:06 -0500 Subject: [PATCH] Check if javalin classes are available before using (made dep on javalin optional) --- .../formadjuster/FormAdjusterRegistry.java | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/kingsrook/qqq/frontend/materialdashboard/actions/formadjuster/FormAdjusterRegistry.java b/src/main/java/com/kingsrook/qqq/frontend/materialdashboard/actions/formadjuster/FormAdjusterRegistry.java index 91b0394..7d60430 100644 --- a/src/main/java/com/kingsrook/qqq/frontend/materialdashboard/actions/formadjuster/FormAdjusterRegistry.java +++ b/src/main/java/com/kingsrook/qqq/frontend/materialdashboard/actions/formadjuster/FormAdjusterRegistry.java @@ -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,19 +68,23 @@ public class FormAdjusterRegistry onLoadAdjusters.clear(); } - //////////////////////////////////////////////////////////////////////////////// - // if we need to register the javalin router, do so (only once per qInstance) // - //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////////// + // 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) { - QJavalinMetaData javalinMetaData = QJavalinMetaData.ofOrWithNew(qInstance); - javalinMetaData.withRouteProvider(new JavalinRouteProviderMetaData() - .withHostedPath("/material-dashboard-backend/form-adjuster/{identifier}/{event}") - .withMethods(List.of("POST")) - .withProcessName(RunFormAdjusterProcess.NAME) - ); + if(ClassPathUtils.isClassAvailable(QJavalinMetaData.class.getName())) + { + QJavalinMetaData javalinMetaData = QJavalinMetaData.ofOrWithNew(qInstance); + javalinMetaData.withRouteProvider(new JavalinRouteProviderMetaData() + .withHostedPath("/material-dashboard-backend/form-adjuster/{identifier}/{event}") + .withMethods(List.of("POST")) + .withProcessName(RunFormAdjusterProcess.NAME) + ); - qInstance.add(new RunFormAdjusterProcess().produce(qInstance)); + qInstance.add(new RunFormAdjusterProcess().produce(qInstance)); + } didRegisterRouteProvider = true; lastRegisteredQInstance = qInstance;