From 1eae1d6dc42607a68add4cb3c1d6ca1db51b06a5 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Wed, 10 Apr 2024 08:51:44 -0500 Subject: [PATCH 1/2] Remove hard-coded registration of known backend-modules from QBackendModuleDispatcher, in favor of all modules self-registering in static-init block --- .../backend/QBackendModuleDispatcher.java | 51 +------------------ .../backend/QBackendModuleInterface.java | 2 +- .../enumeration/EnumerationBackendModule.java | 5 ++ .../memory/MemoryBackendModule.java | 7 +++ .../mock/MockBackendModule.java | 6 +++ .../backend/module/api/APIBackendModule.java | 6 +++ .../module/filesystem/s3/S3BackendModule.java | 5 ++ .../module/rdbms/RDBMSBackendModule.java | 6 ++- 8 files changed, 36 insertions(+), 52 deletions(-) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/QBackendModuleDispatcher.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/QBackendModuleDispatcher.java index 2b218bd6..d8069f0d 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/QBackendModuleDispatcher.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/QBackendModuleDispatcher.java @@ -27,21 +27,18 @@ import java.util.Map; import com.kingsrook.qqq.backend.core.exceptions.QModuleDispatchException; import com.kingsrook.qqq.backend.core.logging.QLogger; import com.kingsrook.qqq.backend.core.model.metadata.QBackendMetaData; -import static com.kingsrook.qqq.backend.core.logging.LogUtils.logPair; /******************************************************************************* ** This class is responsible for loading a backend module, by its name, and ** returning an instance. ** - ** TODO - make this mapping runtime-bound, not pre-compiled in. - ** *******************************************************************************/ public class QBackendModuleDispatcher { private static final QLogger LOG = QLogger.getLogger(QBackendModuleDispatcher.class); - private static Map backendTypeToModuleClassNameMap; + private static Map backendTypeToModuleClassNameMap = new HashMap<>(); @@ -50,51 +47,6 @@ public class QBackendModuleDispatcher *******************************************************************************/ public QBackendModuleDispatcher() { - initBackendTypeToModuleClassNameMap(); - } - - - - /******************************************************************************* - ** - *******************************************************************************/ - private static void initBackendTypeToModuleClassNameMap() - { - if(backendTypeToModuleClassNameMap != null) - { - return; - } - - Map newMap = new HashMap<>(); - - String[] moduleClassNames = new String[] - { - // todo - let modules somehow "export" their types here? - // e.g., backend-core shouldn't need to "know" about the modules. - "com.kingsrook.qqq.backend.core.modules.backend.implementations.mock.MockBackendModule", - "com.kingsrook.qqq.backend.core.modules.backend.implementations.memory.MemoryBackendModule", - "com.kingsrook.qqq.backend.core.modules.backend.implementations.enumeration.EnumerationBackendModule", - "com.kingsrook.qqq.backend.module.rdbms.RDBMSBackendModule", - "com.kingsrook.qqq.backend.module.filesystem.local.FilesystemBackendModule", - "com.kingsrook.qqq.backend.module.filesystem.s3.S3BackendModule", - "com.kingsrook.qqq.backend.module.api.APIBackendModule" - }; - - for(String moduleClassName : moduleClassNames) - { - try - { - Class moduleClass = Class.forName(moduleClassName); - QBackendModuleInterface module = (QBackendModuleInterface) moduleClass.getConstructor().newInstance(); - newMap.put(module.getBackendType(), moduleClassName); - } - catch(Exception e) - { - LOG.debug("Backend module could not be loaded", e, logPair("moduleClassName", moduleClassName)); - } - } - - backendTypeToModuleClassNameMap = newMap; } @@ -104,7 +56,6 @@ public class QBackendModuleDispatcher *******************************************************************************/ public static void registerBackendModule(QBackendModuleInterface moduleInstance) { - initBackendTypeToModuleClassNameMap(); String backendType = moduleInstance.getBackendType(); if(backendTypeToModuleClassNameMap.containsKey(backendType)) { diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/QBackendModuleInterface.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/QBackendModuleInterface.java index 64ce0c3c..547763ff 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/QBackendModuleInterface.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/QBackendModuleInterface.java @@ -39,7 +39,7 @@ import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableBackendDetails /******************************************************************************* ** Interface that a QBackendModule must implement. ** - ** Note, some methods all have a default version, which throws a 'not implemented' + ** Note, all methods have a default version, which throws a 'not implemented' ** exception. ** *******************************************************************************/ diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/enumeration/EnumerationBackendModule.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/enumeration/EnumerationBackendModule.java index 7beb1ec2..53c1c594 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/enumeration/EnumerationBackendModule.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/enumeration/EnumerationBackendModule.java @@ -25,6 +25,7 @@ package com.kingsrook.qqq.backend.core.modules.backend.implementations.enumerati import com.kingsrook.qqq.backend.core.actions.interfaces.CountInterface; import com.kingsrook.qqq.backend.core.actions.interfaces.QueryInterface; import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableBackendDetails; +import com.kingsrook.qqq.backend.core.modules.backend.QBackendModuleDispatcher; import com.kingsrook.qqq.backend.core.modules.backend.QBackendModuleInterface; @@ -37,6 +38,10 @@ import com.kingsrook.qqq.backend.core.modules.backend.QBackendModuleInterface; *******************************************************************************/ public class EnumerationBackendModule implements QBackendModuleInterface { + static + { + QBackendModuleDispatcher.registerBackendModule(new EnumerationBackendModule()); + } /******************************************************************************* ** Method where a backend module must be able to provide its type (name). diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/memory/MemoryBackendModule.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/memory/MemoryBackendModule.java index 4d6a93cb..f83d83ff 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/memory/MemoryBackendModule.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/memory/MemoryBackendModule.java @@ -28,6 +28,7 @@ import com.kingsrook.qqq.backend.core.actions.interfaces.DeleteInterface; import com.kingsrook.qqq.backend.core.actions.interfaces.InsertInterface; import com.kingsrook.qqq.backend.core.actions.interfaces.QueryInterface; import com.kingsrook.qqq.backend.core.actions.interfaces.UpdateInterface; +import com.kingsrook.qqq.backend.core.modules.backend.QBackendModuleDispatcher; import com.kingsrook.qqq.backend.core.modules.backend.QBackendModuleInterface; @@ -42,6 +43,12 @@ import com.kingsrook.qqq.backend.core.modules.backend.QBackendModuleInterface; *******************************************************************************/ public class MemoryBackendModule implements QBackendModuleInterface { + static + { + QBackendModuleDispatcher.registerBackendModule(new MemoryBackendModule()); + } + + /******************************************************************************* ** Method where a backend module must be able to provide its type (name). *******************************************************************************/ diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/mock/MockBackendModule.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/mock/MockBackendModule.java index 9ee92353..e530e759 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/mock/MockBackendModule.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/mock/MockBackendModule.java @@ -28,6 +28,7 @@ import com.kingsrook.qqq.backend.core.actions.interfaces.InsertInterface; import com.kingsrook.qqq.backend.core.actions.interfaces.QueryInterface; import com.kingsrook.qqq.backend.core.actions.interfaces.UpdateInterface; import com.kingsrook.qqq.backend.core.model.metadata.QBackendMetaData; +import com.kingsrook.qqq.backend.core.modules.backend.QBackendModuleDispatcher; import com.kingsrook.qqq.backend.core.modules.backend.QBackendModuleInterface; @@ -40,6 +41,11 @@ import com.kingsrook.qqq.backend.core.modules.backend.QBackendModuleInterface; *******************************************************************************/ public class MockBackendModule implements QBackendModuleInterface { + static + { + QBackendModuleDispatcher.registerBackendModule(new MockBackendModule()); + } + /******************************************************************************* ** Method where a backend module must be able to provide its type (name). *******************************************************************************/ diff --git a/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/APIBackendModule.java b/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/APIBackendModule.java index 486d2db6..9214829c 100644 --- a/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/APIBackendModule.java +++ b/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/APIBackendModule.java @@ -30,6 +30,7 @@ import com.kingsrook.qqq.backend.core.actions.interfaces.QueryInterface; import com.kingsrook.qqq.backend.core.actions.interfaces.UpdateInterface; import com.kingsrook.qqq.backend.core.model.metadata.QBackendMetaData; import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableBackendDetails; +import com.kingsrook.qqq.backend.core.modules.backend.QBackendModuleDispatcher; import com.kingsrook.qqq.backend.core.modules.backend.QBackendModuleInterface; import com.kingsrook.qqq.backend.module.api.actions.APICountAction; import com.kingsrook.qqq.backend.module.api.actions.APIDeleteAction; @@ -44,6 +45,11 @@ import com.kingsrook.qqq.backend.module.api.actions.APIUpdateAction; *******************************************************************************/ public class APIBackendModule implements QBackendModuleInterface { + static + { + QBackendModuleDispatcher.registerBackendModule(new APIBackendModule()); + } + /******************************************************************************* ** Method where a backend module must be able to provide its type (name). *******************************************************************************/ diff --git a/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/s3/S3BackendModule.java b/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/s3/S3BackendModule.java index d613dced..f9f75b25 100644 --- a/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/s3/S3BackendModule.java +++ b/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/s3/S3BackendModule.java @@ -29,6 +29,7 @@ import com.kingsrook.qqq.backend.core.actions.interfaces.QueryInterface; import com.kingsrook.qqq.backend.core.actions.interfaces.UpdateInterface; import com.kingsrook.qqq.backend.core.model.metadata.QBackendMetaData; import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableBackendDetails; +import com.kingsrook.qqq.backend.core.modules.backend.QBackendModuleDispatcher; import com.kingsrook.qqq.backend.core.modules.backend.QBackendModuleInterface; import com.kingsrook.qqq.backend.module.filesystem.base.FilesystemBackendModuleInterface; import com.kingsrook.qqq.backend.module.filesystem.base.actions.AbstractBaseFilesystemAction; @@ -48,6 +49,10 @@ public class S3BackendModule implements QBackendModuleInterface, FilesystemBacke { public static final String BACKEND_TYPE = "s3"; + static + { + QBackendModuleDispatcher.registerBackendModule(new S3BackendModule()); + } /******************************************************************************* ** For filesystem backends, get the module-specific action base-class, that helps diff --git a/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/RDBMSBackendModule.java b/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/RDBMSBackendModule.java index b1bffa96..5a84d73b 100644 --- a/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/RDBMSBackendModule.java +++ b/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/RDBMSBackendModule.java @@ -35,6 +35,7 @@ import com.kingsrook.qqq.backend.core.logging.QLogger; import com.kingsrook.qqq.backend.core.model.actions.AbstractTableActionInput; import com.kingsrook.qqq.backend.core.model.metadata.QBackendMetaData; import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableBackendDetails; +import com.kingsrook.qqq.backend.core.modules.backend.QBackendModuleDispatcher; import com.kingsrook.qqq.backend.core.modules.backend.QBackendModuleInterface; import com.kingsrook.qqq.backend.module.rdbms.actions.AbstractRDBMSAction; import com.kingsrook.qqq.backend.module.rdbms.actions.RDBMSAggregateAction; @@ -55,7 +56,10 @@ public class RDBMSBackendModule implements QBackendModuleInterface { private static final QLogger LOG = QLogger.getLogger(RDBMSBackendModule.class); - + static + { + QBackendModuleDispatcher.registerBackendModule(new RDBMSBackendModule()); + } /******************************************************************************* ** Method where a backend module must be able to provide its type (name). From 731d1e266a00b67c60c820cb6916c7edb904541b Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Wed, 10 Apr 2024 09:05:43 -0500 Subject: [PATCH 2/2] Remove withBackendType(String), to encourage usage instead of with/set method that takes the module class, so the module will be init'ed and registered --- .../core/model/metadata/QBackendMetaData.java | 12 ------------ .../enumeration/EnumerationCountActionTest.java | 2 +- .../enumeration/EnumerationQueryActionTest.java | 2 +- .../filesystem/local/FilesystemBackendModule.java | 5 +++++ .../s3/model/metadata/S3BackendMetaData.java | 13 ------------- .../qqq/backend/module/filesystem/TestUtils.java | 9 +++++---- .../qqq/languages/javascript/TestUtils.java | 3 ++- .../backend/javalin/QJavalinImplementationTest.java | 3 ++- .../kingsrook/qqq/backend/javalin/TestUtils.java | 4 +++- 9 files changed, 19 insertions(+), 34 deletions(-) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/QBackendMetaData.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/QBackendMetaData.java index eb63b7f4..628fa870 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/QBackendMetaData.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/QBackendMetaData.java @@ -155,18 +155,6 @@ public class QBackendMetaData implements TopLevelMetaDataInterface - /******************************************************************************* - ** Fluent setter, returning generically, to help sub-class fluent flows - *******************************************************************************/ - @SuppressWarnings("unchecked") - public T withBackendType(String backendType) - { - this.backendType = backendType; - return (T) this; - } - - - /******************************************************************************* ** *******************************************************************************/ diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/enumeration/EnumerationCountActionTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/enumeration/EnumerationCountActionTest.java index 0d0336b9..b1ff66ab 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/enumeration/EnumerationCountActionTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/enumeration/EnumerationCountActionTest.java @@ -89,7 +89,7 @@ class EnumerationCountActionTest extends BaseTest QInstance instance = QContext.getQInstance(); instance.addBackend(new QBackendMetaData() .withName("enum") - .withBackendType("enum") + .withBackendType(EnumerationBackendModule.class) ); instance.addTable(new QTableMetaData() diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/enumeration/EnumerationQueryActionTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/enumeration/EnumerationQueryActionTest.java index 909c9f7c..cf44a7b6 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/enumeration/EnumerationQueryActionTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/enumeration/EnumerationQueryActionTest.java @@ -167,7 +167,7 @@ class EnumerationQueryActionTest extends BaseTest QInstance instance = QContext.getQInstance(); instance.addBackend(new QBackendMetaData() .withName("enum") - .withBackendType("enum") + .withBackendType(EnumerationBackendModule.class) ); instance.addTable(new QTableMetaData() diff --git a/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/local/FilesystemBackendModule.java b/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/local/FilesystemBackendModule.java index 820915ff..2f18d291 100644 --- a/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/local/FilesystemBackendModule.java +++ b/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/local/FilesystemBackendModule.java @@ -31,6 +31,7 @@ import com.kingsrook.qqq.backend.core.actions.interfaces.UpdateInterface; import com.kingsrook.qqq.backend.core.logging.QLogger; import com.kingsrook.qqq.backend.core.model.metadata.QBackendMetaData; import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableBackendDetails; +import com.kingsrook.qqq.backend.core.modules.backend.QBackendModuleDispatcher; import com.kingsrook.qqq.backend.core.modules.backend.QBackendModuleInterface; import com.kingsrook.qqq.backend.module.filesystem.base.FilesystemBackendModuleInterface; import com.kingsrook.qqq.backend.module.filesystem.base.actions.AbstractBaseFilesystemAction; @@ -53,6 +54,10 @@ public class FilesystemBackendModule implements QBackendModuleInterface, Filesys public static final String BACKEND_TYPE = "filesystem"; + static + { + QBackendModuleDispatcher.registerBackendModule(new FilesystemBackendModule()); + } /******************************************************************************* ** For filesystem backends, get the module-specific action base-class, that helps diff --git a/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/s3/model/metadata/S3BackendMetaData.java b/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/s3/model/metadata/S3BackendMetaData.java index 652913f7..2475b6b5 100644 --- a/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/s3/model/metadata/S3BackendMetaData.java +++ b/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/s3/model/metadata/S3BackendMetaData.java @@ -50,19 +50,6 @@ public class S3BackendMetaData extends AbstractFilesystemBackendMetaData - /******************************************************************************* - ** Fluent setter for backendType - ** - *******************************************************************************/ - @Override - public S3BackendMetaData withBackendType(String backendType) - { - setBackendType(backendType); - return this; - } - - - /******************************************************************************* ** Getter for bucketName ** diff --git a/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/TestUtils.java b/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/TestUtils.java index 68c99d28..acad9100 100644 --- a/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/TestUtils.java +++ b/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/TestUtils.java @@ -40,6 +40,7 @@ import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableMetaData; import com.kingsrook.qqq.backend.core.model.session.QSession; import com.kingsrook.qqq.backend.core.modules.authentication.implementations.MockAuthenticationModule; import com.kingsrook.qqq.backend.core.modules.backend.implementations.memory.MemoryBackendModule; +import com.kingsrook.qqq.backend.core.modules.backend.implementations.mock.MockBackendModule; import com.kingsrook.qqq.backend.core.processes.implementations.etl.streamed.StreamedETLProcess; import com.kingsrook.qqq.backend.module.filesystem.base.model.metadata.Cardinality; import com.kingsrook.qqq.backend.module.filesystem.base.model.metadata.RecordFormat; @@ -63,16 +64,16 @@ public class TestUtils public static final String BACKEND_NAME_S3 = "s3"; public static final String BACKEND_NAME_S3_SANS_PREFIX = "s3sansPrefix"; public static final String BACKEND_NAME_MOCK = "mock"; - public static final String BACKEND_NAME_MEMORY = "memory"; + public static final String BACKEND_NAME_MEMORY = "memory"; public static final String TABLE_NAME_PERSON_LOCAL_FS_JSON = "person-local-json"; public static final String TABLE_NAME_PERSON_LOCAL_FS_CSV = "person-local-csv"; public static final String TABLE_NAME_BLOB_LOCAL_FS = "local-blob"; - public static final String TABLE_NAME_ARCHIVE_LOCAL_FS = "local-archive"; + public static final String TABLE_NAME_ARCHIVE_LOCAL_FS = "local-archive"; public static final String TABLE_NAME_PERSON_S3 = "person-s3"; public static final String TABLE_NAME_BLOB_S3 = "s3-blob"; public static final String TABLE_NAME_PERSON_MOCK = "person-mock"; - public static final String TABLE_NAME_BLOB_S3_SANS_PREFIX = "s3-blob-sans-prefix"; + public static final String TABLE_NAME_BLOB_S3_SANS_PREFIX = "s3-blob-sans-prefix"; public static final String PROCESS_NAME_STREAMED_ETL = "etl.streamed"; public static final String LOCAL_PERSON_CSV_FILE_IMPORTER_PROCESS_NAME = "localPersonCsvFileImporter"; @@ -403,7 +404,7 @@ public class TestUtils public static QBackendMetaData defineMockBackend() { return (new QBackendMetaData() - .withBackendType("mock") + .withBackendType(MockBackendModule.class) .withName(BACKEND_NAME_MOCK)); } diff --git a/qqq-language-support-javascript/src/test/java/com/kingsrook/qqq/languages/javascript/TestUtils.java b/qqq-language-support-javascript/src/test/java/com/kingsrook/qqq/languages/javascript/TestUtils.java index a7eab8b5..a094c1c9 100644 --- a/qqq-language-support-javascript/src/test/java/com/kingsrook/qqq/languages/javascript/TestUtils.java +++ b/qqq-language-support-javascript/src/test/java/com/kingsrook/qqq/languages/javascript/TestUtils.java @@ -29,6 +29,7 @@ import com.kingsrook.qqq.backend.core.model.metadata.authentication.QAuthenticat import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldMetaData; import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldType; import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableMetaData; +import com.kingsrook.qqq.backend.core.modules.backend.implementations.memory.MemoryBackendModule; /******************************************************************************* @@ -74,7 +75,7 @@ public class TestUtils { return (new QBackendMetaData() .withName(DEFAULT_BACKEND_NAME) - .withBackendType("memory")); + .withBackendType(MemoryBackendModule.class)); } diff --git a/qqq-middleware-javalin/src/test/java/com/kingsrook/qqq/backend/javalin/QJavalinImplementationTest.java b/qqq-middleware-javalin/src/test/java/com/kingsrook/qqq/backend/javalin/QJavalinImplementationTest.java index 76a879b0..9ae16b60 100644 --- a/qqq-middleware-javalin/src/test/java/com/kingsrook/qqq/backend/javalin/QJavalinImplementationTest.java +++ b/qqq-middleware-javalin/src/test/java/com/kingsrook/qqq/backend/javalin/QJavalinImplementationTest.java @@ -39,6 +39,7 @@ import com.kingsrook.qqq.backend.core.model.metadata.QInstance; import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldMetaData; import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldType; import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableMetaData; +import com.kingsrook.qqq.backend.core.modules.backend.implementations.mock.MockBackendModule; import com.kingsrook.qqq.backend.core.utils.JsonUtils; import com.kingsrook.qqq.backend.core.utils.SleepUtils; import kong.unirest.HttpResponse; @@ -964,7 +965,7 @@ class QJavalinImplementationTest extends QJavalinTestBase Function makeNewInstanceWithBackendName = (backendName) -> { QInstance newInstance = new QInstance(); - newInstance.addBackend(new QBackendMetaData().withName(backendName).withBackendType("mock")); + newInstance.addBackend(new QBackendMetaData().withName(backendName).withBackendType(MockBackendModule.class)); if(!"invalid".equals(backendName)) { diff --git a/qqq-middleware-javalin/src/test/java/com/kingsrook/qqq/backend/javalin/TestUtils.java b/qqq-middleware-javalin/src/test/java/com/kingsrook/qqq/backend/javalin/TestUtils.java index ae5d2694..54794851 100644 --- a/qqq-middleware-javalin/src/test/java/com/kingsrook/qqq/backend/javalin/TestUtils.java +++ b/qqq-middleware-javalin/src/test/java/com/kingsrook/qqq/backend/javalin/TestUtils.java @@ -74,6 +74,7 @@ import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableMetaData; import com.kingsrook.qqq.backend.core.model.savedviews.SavedViewsMetaDataProvider; import com.kingsrook.qqq.backend.core.model.scripts.ScriptsMetaDataProvider; import com.kingsrook.qqq.backend.core.model.statusmessages.QWarningMessage; +import com.kingsrook.qqq.backend.core.modules.backend.implementations.memory.MemoryBackendModule; import com.kingsrook.qqq.backend.core.processes.implementations.mock.MockBackendStep; import com.kingsrook.qqq.backend.module.rdbms.jdbc.ConnectionManager; import com.kingsrook.qqq.backend.module.rdbms.jdbc.QueryManager; @@ -226,7 +227,7 @@ public class TestUtils public static QBackendMetaData defineMemoryBackend() { return new QBackendMetaData() - .withBackendType("memory") + .withBackendType(MemoryBackendModule.class) .withName(BACKEND_NAME_MEMORY); } @@ -274,6 +275,7 @@ public class TestUtils } + /******************************************************************************* ** *******************************************************************************/