From 1a8980b2752b3714cf75604ca1ea93e3249fd63d Mon Sep 17 00:00:00 2001 From: Tim Chamberlain Date: Mon, 8 Jul 2024 18:41:44 -0500 Subject: [PATCH] hotfix - added getQueryJoins to allow adding joins in table sync query --- .../AbstractTableSyncTransformStep.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/tablesync/AbstractTableSyncTransformStep.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/tablesync/AbstractTableSyncTransformStep.java index d9b882b9..37652098 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/tablesync/AbstractTableSyncTransformStep.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/tablesync/AbstractTableSyncTransformStep.java @@ -49,6 +49,7 @@ import com.kingsrook.qqq.backend.core.model.actions.tables.query.QCriteriaOperat import com.kingsrook.qqq.backend.core.model.actions.tables.query.QFilterCriteria; import com.kingsrook.qqq.backend.core.model.actions.tables.query.QQueryFilter; import com.kingsrook.qqq.backend.core.model.actions.tables.query.QueryInput; +import com.kingsrook.qqq.backend.core.model.actions.tables.query.QueryJoin; import com.kingsrook.qqq.backend.core.model.actions.tables.query.QueryOutput; import com.kingsrook.qqq.backend.core.model.data.QRecord; import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldMetaData; @@ -430,6 +431,12 @@ public abstract class AbstractTableSyncTransformStep extends AbstractTransformSt queryInput.setAssociationNamesToInclude(associationNamesToInclude); } + Collection joins = getQueryJoins(); + if(CollectionUtils.nullSafeHasContents(joins)) + { + queryInput.setQueryJoins(getQueryJoins()); + } + QueryOutput queryOutput = new QueryAction().execute(queryInput); return (buildExistingRecordsMap(destinationTableForeignKeyField, queryOutput.getRecords())); } @@ -443,7 +450,7 @@ public abstract class AbstractTableSyncTransformStep extends AbstractTransformSt ** Note, if you're overriding this method, you'll likely also want & need to ** override getExistingRecord. *******************************************************************************/ - protected Map, QRecord> buildExistingRecordsMap(String destinationTableForeignKeyField, List existingRecordList) + protected Map, QRecord> buildExistingRecordsMap(String destinationTableForeignKeyField, List existingRecordList) throws QException { Map, QRecord> existingRecordsByForeignKey = new HashMap<>(); for(QRecord record : existingRecordList) @@ -455,6 +462,16 @@ public abstract class AbstractTableSyncTransformStep extends AbstractTransformSt + /******************************************************************************* + ** + *******************************************************************************/ + protected List getQueryJoins() + { + return null; + } + + + /******************************************************************************* ** *******************************************************************************/