From 2f787036d08975019d81dc53d2c5cff356b2f780 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Fri, 9 Sep 2022 15:13:28 -0500 Subject: [PATCH] Update to set QFieldSection label from name; try to avoid backend-module-not-defined errors --- .../core/instances/QInstanceEnricher.java | 17 +++++++++++++++++ .../model/metadata/tables/QFieldSection.java | 13 +++++++++++++ .../backend/QBackendModuleDispatcher.java | 6 ++++-- 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/instances/QInstanceEnricher.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/instances/QInstanceEnricher.java index d56f830a..272adebe 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/instances/QInstanceEnricher.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/instances/QInstanceEnricher.java @@ -130,6 +130,10 @@ public class QInstanceEnricher { generateTableFieldSections(table); } + else + { + table.getSections().forEach(this::enrich); + } if(CollectionUtils.nullSafeHasContents(table.getRecordLabelFields()) && !StringUtils.hasContent(table.getRecordLabelFormat())) { @@ -215,6 +219,19 @@ public class QInstanceEnricher + /******************************************************************************* + ** + *******************************************************************************/ + private void enrich(QFieldSection section) + { + if(!StringUtils.hasContent(section.getLabel())) + { + section.setLabel(nameToLabel(section.getName())); + } + } + + + /******************************************************************************* ** *******************************************************************************/ diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/tables/QFieldSection.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/tables/QFieldSection.java index 3324e581..c1369e65 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/tables/QFieldSection.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/tables/QFieldSection.java @@ -63,6 +63,19 @@ public class QFieldSection + /******************************************************************************* + ** + *******************************************************************************/ + public QFieldSection(String name, QIcon icon, Tier tier, List fieldNames) + { + this.name = name; + this.icon = icon; + this.tier = tier; + this.fieldNames = fieldNames; + } + + + /******************************************************************************* ** Getter for name ** 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 19161379..b52ad1d0 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 @@ -65,7 +65,7 @@ public class QBackendModuleDispatcher return; } - backendTypeToModuleClassNameMap = new HashMap<>(); + Map newMap = new HashMap<>(); String[] moduleClassNames = new String[] { @@ -84,13 +84,15 @@ public class QBackendModuleDispatcher { Class moduleClass = Class.forName(moduleClassName); QBackendModuleInterface module = (QBackendModuleInterface) moduleClass.getConstructor().newInstance(); - backendTypeToModuleClassNameMap.put(module.getBackendType(), moduleClassName); + newMap.put(module.getBackendType(), moduleClassName); } catch(Exception e) { LOG.debug("Backend module [{}] could not be loaded: {}", moduleClassName, e.getMessage()); } } + + backendTypeToModuleClassNameMap = newMap; }