From acb311ee52958712787fce5f1b59305c7dc0019c Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Sat, 5 Aug 2023 20:09:11 -0500 Subject: [PATCH] Make robust in case called twice --- .../model/tables/QQQTablesMetaDataProvider.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/tables/QQQTablesMetaDataProvider.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/tables/QQQTablesMetaDataProvider.java index ea318182..2652468b 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/tables/QQQTablesMetaDataProvider.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/tables/QQQTablesMetaDataProvider.java @@ -50,9 +50,20 @@ public class QQQTablesMetaDataProvider *******************************************************************************/ public void defineAll(QInstance instance, String persistentBackendName, String cacheBackendName, Consumer backendDetailEnricher) throws QException { - instance.addTable(defineQQQTable(persistentBackendName, backendDetailEnricher)); - instance.addTable(defineQQQTableCache(cacheBackendName, backendDetailEnricher)); - instance.addPossibleValueSource(defineQQQTablePossibleValueSource()); + if(instance.getTable(QQQTable.TABLE_NAME) == null) + { + instance.addTable(defineQQQTable(persistentBackendName, backendDetailEnricher)); + } + + if(instance.getTable(QQQ_TABLE_CACHE_TABLE_NAME) == null) + { + instance.addTable(defineQQQTableCache(cacheBackendName, backendDetailEnricher)); + } + + if(instance.getPossibleValueSource(QQQTable.TABLE_NAME) == null) + { + instance.addPossibleValueSource(defineQQQTablePossibleValueSource()); + } }