From e11a23ccc0570346ac5cf4e6c70a137d0d67716a Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Thu, 12 Jun 2025 16:48:47 -0500 Subject: [PATCH] Make sortMetaDataProducers a public method (qbit producer can use it); add childJoin().isOneToOne --- .../model/metadata/MetaDataProducerHelper.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 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 14a056ba..0e0f1fea 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 @@ -177,6 +177,18 @@ public class MetaDataProducerHelper ///////////////////////////////////////////////////////////////////////////////////////////// // sort them by sort order, then by the type that they return, as set up in the static map // ///////////////////////////////////////////////////////////////////////////////////////////// + sortMetaDataProducers(producers); + + return (producers); + } + + + + /*************************************************************************** + ** + ***************************************************************************/ + public static void sortMetaDataProducers(List> producers) + { producers.sort(Comparator .comparing((MetaDataProducerInterface p) -> p.getSortOrder()) .thenComparing((MetaDataProducerInterface p) -> @@ -191,11 +203,10 @@ public class MetaDataProducerHelper return (0); } })); - - return (producers); } + /******************************************************************************* ** Recursively find all classes in the given package, that implement MetaDataProducerInterface ** run them, and add their output to the given qInstance. @@ -417,7 +428,7 @@ public class MetaDataProducerHelper return (null); } - ChildJoinFromRecordEntityGenericMetaDataProducer producer = new ChildJoinFromRecordEntityGenericMetaDataProducer(childTableName, parentTableName, possibleValueFieldName, childTable.childJoin().orderBy()); + ChildJoinFromRecordEntityGenericMetaDataProducer producer = new ChildJoinFromRecordEntityGenericMetaDataProducer(childTableName, parentTableName, possibleValueFieldName, childTable.childJoin().orderBy(), childTable.childJoin().isOneToOne()); producer.setSourceClass(entityClass); return producer; }