From fed8cbbb457ba7f1377ee355ed6e24782f70f1a3 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Wed, 10 Jan 2024 19:52:22 -0600 Subject: [PATCH] CE-781 Make tie-break for sorting do backends earlier than everything else --- .../core/model/metadata/MetaDataProducerHelper.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/MetaDataProducerHelper.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/MetaDataProducerHelper.java index 7a52a890..977a552b 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/MetaDataProducerHelper.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/MetaDataProducerHelper.java @@ -95,6 +95,7 @@ public class MetaDataProducerHelper //////////////////////////////////////////////////////////////////////////////////////////// // sort them by sort order, then by the type that they return - specifically - doing apps // // after all other types (as apps often try to get other types from the instance) // + // also - do backends earlier than others (e.g., tables may expect backends to exist) // //////////////////////////////////////////////////////////////////////////////////////////// producers.sort(Comparator .comparing((MetaDataProducerInterface p) -> p.getSortOrder()) @@ -105,11 +106,15 @@ public class MetaDataProducerHelper Class outputType = p.getClass().getMethod("produce", QInstance.class).getReturnType(); if(outputType.equals(QAppMetaData.class)) { - return (1); + return (2); + } + else if(outputType.equals(QBackendMetaData.class)) + { + return (0); } else { - return (0); + return (1); } } catch(Exception e)