diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/permissions/PermissionsHelper.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/permissions/PermissionsHelper.java index 3f79d968..f076f682 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/permissions/PermissionsHelper.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/permissions/PermissionsHelper.java @@ -436,7 +436,7 @@ public class PermissionsHelper } } - if(hasPermission(actionInput.getSession(), permissionBaseName, effectivePermissionSubType)) + if(hasPermission(QContext.getQSession(), permissionBaseName, effectivePermissionSubType)) { return (PermissionCheckResult.ALLOW); } @@ -534,9 +534,9 @@ public class PermissionsHelper return; } - if(!hasPermission(actionInput.getSession(), permissionBaseName, effectivePermissionSubType)) + if(!hasPermission(QContext.getQSession(), permissionBaseName, effectivePermissionSubType)) { - // LOG.debug("Throwing permission denied for: " + getPermissionName(permissionBaseName, effectivePermissionSubType) + " for " + actionInput.getSession().getUser()); + // LOG.debug("Throwing permission denied for: " + getPermissionName(permissionBaseName, effectivePermissionSubType) + " for " + QContext.getQSession().getUser()); throw (new QPermissionDeniedException("Permission denied.")); } } diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/values/QPossibleValueTranslator.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/values/QPossibleValueTranslator.java index 4da2ff62..9d7ed1a7 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/values/QPossibleValueTranslator.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/values/QPossibleValueTranslator.java @@ -34,6 +34,7 @@ import java.util.Objects; import java.util.Set; import com.kingsrook.qqq.backend.core.actions.customizers.QCodeLoader; import com.kingsrook.qqq.backend.core.actions.tables.QueryAction; +import com.kingsrook.qqq.backend.core.context.QContext; import com.kingsrook.qqq.backend.core.exceptions.QValueException; import com.kingsrook.qqq.backend.core.logging.QLogger; import com.kingsrook.qqq.backend.core.model.actions.tables.query.QCriteriaOperator; @@ -67,28 +68,31 @@ public class QPossibleValueTranslator { private static final QLogger LOG = QLogger.getLogger(QPossibleValueTranslator.class); - private final QInstance qInstance; - private final QSession session; - /////////////////////////////////////////////////////// // top-level keys are pvsNames (not table names) // // 2nd-level keys are pkey values from the PVS table // /////////////////////////////////////////////////////// - private Map> possibleValueCache; + private Map> possibleValueCache = new HashMap<>(); // todo not commit - remove instance & session - use Context + /******************************************************************************* + ** Constructor + ** + *******************************************************************************/ + public QPossibleValueTranslator() + { + } + + + /******************************************************************************* ** *******************************************************************************/ public QPossibleValueTranslator(QInstance qInstance, QSession session) { - this.qInstance = qInstance; - this.session = session; - - this.possibleValueCache = new HashMap<>(); } @@ -141,7 +145,7 @@ public class QPossibleValueTranslator { try { - QTableMetaData joinTable = qInstance.getTable(queryJoin.getJoinTable()); + QTableMetaData joinTable = QContext.getQInstance().getTable(queryJoin.getJoinTable()); for(QFieldMetaData field : joinTable.getFields().values()) { String joinFieldName = Objects.requireNonNullElse(queryJoin.getAlias(), joinTable.getName()) + "." + field.getName(); @@ -152,7 +156,7 @@ public class QPossibleValueTranslator /////////////////////////////////////////////// // avoid circling-back upon the source table // /////////////////////////////////////////////// - QPossibleValueSource possibleValueSource = qInstance.getPossibleValueSource(field.getPossibleValueSourceName()); + QPossibleValueSource possibleValueSource = QContext.getQInstance().getPossibleValueSource(field.getPossibleValueSourceName()); if(QPossibleValueSourceType.TABLE.equals(possibleValueSource.getType()) && table.getName().equals(possibleValueSource.getTableName())) { continue; @@ -212,7 +216,7 @@ public class QPossibleValueTranslator *******************************************************************************/ public String translatePossibleValue(QFieldMetaData field, Serializable value) { - QPossibleValueSource possibleValueSource = qInstance.getPossibleValueSource(field.getPossibleValueSourceName()); + QPossibleValueSource possibleValueSource = QContext.getQInstance().getPossibleValueSource(field.getPossibleValueSourceName()); if(possibleValueSource == null) { LOG.error("Missing possible value source named [" + field.getPossibleValueSourceName() + "] when formatting value for field [" + field.getName() + "]"); @@ -414,7 +418,7 @@ public class QPossibleValueTranslator if(queryJoin.getSelect()) { String aliasOrTableName = Objects.requireNonNullElse(queryJoin.getAlias(), queryJoin.getJoinTable()); - primePvsCacheTableListingHashLoader(qInstance.getTable(queryJoin.getJoinTable()), fieldsByPvsTable, pvsesByTable, aliasOrTableName + ".", queryJoin.getJoinTable(), limitedToFieldNames); + primePvsCacheTableListingHashLoader(QContext.getQInstance().getTable(queryJoin.getJoinTable()), fieldsByPvsTable, pvsesByTable, aliasOrTableName + ".", queryJoin.getJoinTable(), limitedToFieldNames); } } @@ -474,7 +478,7 @@ public class QPossibleValueTranslator { for(QFieldMetaData field : table.getFields().values()) { - QPossibleValueSource possibleValueSource = qInstance.getPossibleValueSource(field.getPossibleValueSourceName()); + QPossibleValueSource possibleValueSource = QContext.getQInstance().getPossibleValueSource(field.getPossibleValueSourceName()); if(possibleValueSource != null && possibleValueSource.getType().equals(QPossibleValueSourceType.TABLE)) { if(limitedToFieldNames != null && !limitedToFieldNames.contains(fieldNamePrefix + field.getName())) @@ -510,7 +514,7 @@ public class QPossibleValueTranslator try { - String primaryKeyField = qInstance.getTable(tableName).getPrimaryKeyField(); + String primaryKeyField = QContext.getQInstance().getTable(tableName).getPrimaryKeyField(); for(List page : CollectionUtils.getPages(values, 1000)) { @@ -531,7 +535,7 @@ public class QPossibleValueTranslator { if(possibleValueSource.getType().equals(QPossibleValueSourceType.TABLE)) { - QTableMetaData table = qInstance.getTable(possibleValueSource.getTableName()); + QTableMetaData table = QContext.getQInstance().getTable(possibleValueSource.getTableName()); for(String recordLabelField : CollectionUtils.nonNullList(table.getRecordLabelFields())) { QFieldMetaData field = table.getField(recordLabelField);