diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/scripts/ExecuteCodeAction.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/scripts/ExecuteCodeAction.java index 09f6ebba..c142fc1f 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/scripts/ExecuteCodeAction.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/scripts/ExecuteCodeAction.java @@ -142,6 +142,7 @@ public class ExecuteCodeAction executeCodeInput.setCodeReference(new QCodeReference().withInlineCode(scriptRevision.getContents()).withCodeType(QCodeType.JAVA_SCRIPT)); // todo - code type as attribute of script!! ExecuteCodeAction.addApiUtilityToContext(context, scriptRevision); + context.put("qqq", new QqqScriptUtils()); ExecuteCodeAction.setExecutionLoggerInExecuteCodeInput(input, scriptRevision, executeCodeInput); return (executeCodeInput); diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/scripts/ScriptApi.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/scripts/QqqScriptUtils.java similarity index 95% rename from qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/scripts/ScriptApi.java rename to qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/scripts/QqqScriptUtils.java index fa2f7154..f34b420a 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/scripts/ScriptApi.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/scripts/QqqScriptUtils.java @@ -49,11 +49,15 @@ import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableMetaData; ** etc, plus object constructors). ** ** Before scripts knew about the API, this class made sense and was used. - ** But, now that scripts do know about the API, it feels like this class could + ** But, when scripts gained knowledge of the API, then it felt like this class could ** be deleted... but, what about, a QQQ deployment without the API module... ** In that case, we might still want this class... think about it. + ** + ** And/Or - it turns out - sometimes using QQQ directly is "better" (?) than using + ** an api - so - this object may be available for other use cases (e.g., getting + ** a record's backendDetails (e.g., for full json from a source backend api)). *******************************************************************************/ -public class ScriptApi implements Serializable +public class QqqScriptUtils implements Serializable { /******************************************************************************* diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/scripts/TestScriptActionInterface.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/scripts/TestScriptActionInterface.java index 92499b87..f665cf12 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/scripts/TestScriptActionInterface.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/scripts/TestScriptActionInterface.java @@ -81,6 +81,9 @@ public interface TestScriptActionInterface *******************************************************************************/ default void execute(TestScriptInput input, TestScriptOutput output) throws QException { + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // todo - could this be merged with the various other script runners, to use ExecuteCodeAction.setupExecuteCodeInput?? // + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ExecuteCodeInput executeCodeInput = new ExecuteCodeInput(); executeCodeInput.setContext(new HashMap<>()); diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/scripts/ScriptApiTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/scripts/QqqScriptUtilsTest.java similarity index 97% rename from qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/scripts/ScriptApiTest.java rename to qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/scripts/QqqScriptUtilsTest.java index a2208185..3758b3d5 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/scripts/ScriptApiTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/scripts/QqqScriptUtilsTest.java @@ -40,7 +40,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; /******************************************************************************* ** Unit test for com.kingsrook.qqq.backend.core.actions.scripts.ScriptApi *******************************************************************************/ -class ScriptApiTest extends BaseTest +class QqqScriptUtilsTest extends BaseTest { /******************************************************************************* @@ -49,7 +49,7 @@ class ScriptApiTest extends BaseTest @Test void test() throws QException { - ScriptApi api = new ScriptApi(); + QqqScriptUtils api = new QqqScriptUtils(); assertThat(api.newFilterCriteria()).isInstanceOf(QFilterCriteria.class); assertThat(api.newFilterOrderBy()).isInstanceOf(QFilterOrderBy.class); assertThat(api.newQueryFilter()).isInstanceOf(QQueryFilter.class);