/** * INTERNAL: * Subclasses that need to add field to an expresison should override this method. */ public void postInitialize(AbstractSession session) { if (includeTenantCriteria) { Expression expression = getDescriptor().getQueryManager().getAdditionalJoinExpression(); ExpressionBuilder builder = (expression == null) ? new ExpressionBuilder() : expression.getBuilder(); for (DatabaseField discriminatorField : tenantDiscriminatorFields.keySet()) { String property = tenantDiscriminatorFields.get(discriminatorField); // Add the tenant discriminator field context property as the parameter. // Do not initialize the database field with the property as it could be tenant.id // and we do not want to de-qualify it. DatabaseField newField = new DatabaseField(); newField.setName(property, session.getPlatform()); Expression tenantIdExpression = builder.and(builder.getField(discriminatorField).equal(builder.getProperty(newField))); if (expression == null) { expression = tenantIdExpression; } else { expression = expression.and(tenantIdExpression); } } getDescriptor().getQueryManager().setAdditionalJoinExpression(expression); } }
/** * INTERNAL: * Subclasses that need to add field to an expresison should override this method. */ public void postInitialize(AbstractSession session) { if (includeTenantCriteria) { Expression expression = getDescriptor().getQueryManager().getAdditionalJoinExpression(); ExpressionBuilder builder = (expression == null) ? new ExpressionBuilder() : expression.getBuilder(); for (DatabaseField discriminatorField : tenantDiscriminatorFields.keySet()) { String property = tenantDiscriminatorFields.get(discriminatorField); // Add the tenant discriminator field context property as the parameter. // Do not initialize the database field with the property as it could be tenant.id // and we do not want to de-qualify it. DatabaseField newField = new DatabaseField(); newField.setName(property, session.getPlatform()); Expression tenantIdExpression = builder.and(builder.getField(discriminatorField).equal(builder.getProperty(newField))); if (expression == null) { expression = tenantIdExpression; } else { expression = expression.and(tenantIdExpression); } } getDescriptor().getQueryManager().setAdditionalJoinExpression(expression); } }
setAdditionalJoinExpression(getMultipleTableJoinExpression().and(getAdditionalJoinExpression()));
setAdditionalJoinExpression(getMultipleTableJoinExpression().and(getAdditionalJoinExpression()));
getDescriptor().getQueryManager().setAdditionalJoinExpression(localAdditionalExpression.and(parentAdditionalExpression)); } else if (parentAdditionalExpression != null) { getDescriptor().getQueryManager().setAdditionalJoinExpression(parentAdditionalExpression);
getDescriptor().getQueryManager().setAdditionalJoinExpression(localAdditionalExpression.and(parentAdditionalExpression)); } else if (parentAdditionalExpression != null) { getDescriptor().getQueryManager().setAdditionalJoinExpression(parentAdditionalExpression);
getDescriptor().getQueryManager().setAdditionalJoinExpression(localAdditionalExpression.and(parentAdditionalExpression)); } else if (parentAdditionalExpression != null) { getDescriptor().getQueryManager().setAdditionalJoinExpression(parentAdditionalExpression);
getDescriptor().getQueryManager().setAdditionalJoinExpression(getOnlyInstancesExpression().and(getDescriptor().getQueryManager().getAdditionalJoinExpression()));
getDescriptor().getQueryManager().setAdditionalJoinExpression(getOnlyInstancesExpression().and(getDescriptor().getQueryManager().getAdditionalJoinExpression()));
getDescriptor().getQueryManager().setAdditionalJoinExpression(getOnlyInstancesExpression().and(getDescriptor().getQueryManager().getAdditionalJoinExpression()));
setAdditionalJoinExpression(getMultipleTableJoinExpression().and(getAdditionalJoinExpression()));