subSelect.setBaseExpression(getBaseExpression().rebuildOn(newBase)); newItems.add(new ReportItem(item.getName(), item.getAttributeExpression().twistedForBaseAndContext(newBase, getBuilder(), getBaseExpression()))); List<Expression> groupByExpressions = new ArrayList<Expression>(reportQuery.getGroupByExpressions().size()); for (Expression groupByExpression : reportQuery.getGroupByExpressions()) { groupByExpressions.add(groupByExpression.twistedForBaseAndContext(newBase, getBuilder(), getBaseExpression())); List<Expression> orderByExpressions = new ArrayList<Expression>(reportQuery.getOrderByExpressions().size()); for (Expression orderByExpression : reportQuery.getOrderByExpressions()) { orderByExpressions.add(orderByExpression.twistedForBaseAndContext(newBase, getBuilder(), getBaseExpression())); List<Expression> unionExpressions = new ArrayList<Expression>(reportQuery.getUnionExpressions().size()); for (Expression unionExpression : reportQuery.getUnionExpressions()) { unionExpressions.add(unionExpression.twistedForBaseAndContext(newBase, getBuilder(), getBaseExpression())); reportQuery.setSelectionCriteria(reportQuery.getSelectionCriteria().twistedForBaseAndContext(newBase, getBuilder(), getBaseExpression()));
subSelect.setBaseExpression(getBaseExpression().rebuildOn(newBase)); newItems.add(new ReportItem(item.getName(), item.getAttributeExpression().twistedForBaseAndContext(newBase, getBuilder(), getBaseExpression()))); List<Expression> groupByExpressions = new ArrayList<Expression>(reportQuery.getGroupByExpressions().size()); for (Expression groupByExpression : reportQuery.getGroupByExpressions()) { groupByExpressions.add(groupByExpression.twistedForBaseAndContext(newBase, getBuilder(), getBaseExpression())); List<Expression> orderByExpressions = new ArrayList<Expression>(reportQuery.getOrderByExpressions().size()); for (Expression orderByExpression : reportQuery.getOrderByExpressions()) { orderByExpressions.add(orderByExpression.twistedForBaseAndContext(newBase, getBuilder(), getBaseExpression())); List<Expression> unionExpressions = new ArrayList<Expression>(reportQuery.getUnionExpressions().size()); for (Expression unionExpression : reportQuery.getUnionExpressions()) { unionExpressions.add(unionExpression.twistedForBaseAndContext(newBase, getBuilder(), getBaseExpression())); reportQuery.setSelectionCriteria(reportQuery.getSelectionCriteria().twistedForBaseAndContext(newBase, getBuilder(), getBaseExpression()));
subSelect.setBaseExpression(subSelect.getBaseExpression().twistedForBaseAndContext(newBase, context, oldBase)); newItems.add(new ReportItem(item.getName(), item.getAttributeExpression().twistedForBaseAndContext(newBase, context, getBaseExpression()))); List<Expression> groupByExpressions = new ArrayList<Expression>(getSubQuery().getGroupByExpressions().size()); for (Expression groupByExpression : getSubQuery().getGroupByExpressions()) { groupByExpressions.add(groupByExpression.twistedForBaseAndContext(newBase, context, getBaseExpression())); List<Expression> orderByExpressions = new ArrayList<Expression>(getSubQuery().getOrderByExpressions().size()); for (Expression orderByExpression : getSubQuery().getOrderByExpressions()) { orderByExpressions.add(orderByExpression.twistedForBaseAndContext(newBase, context, getBaseExpression())); List<Expression> unionByExpressions = new ArrayList<Expression>(getSubQuery().getUnionExpressions().size()); for (Expression unionExpression : getSubQuery().getUnionExpressions()) { unionByExpressions.add(unionExpression.twistedForBaseAndContext(newBase, context, getBaseExpression())); reportQuery.setSelectionCriteria(getSubQuery().getSelectionCriteria().twistedForBaseAndContext(newBase, context, getBaseExpression()));
subSelect.setBaseExpression(subSelect.getBaseExpression().twistedForBaseAndContext(newBase, context, oldBase)); newItems.add(new ReportItem(item.getName(), item.getAttributeExpression().twistedForBaseAndContext(newBase, context, getBaseExpression()))); List<Expression> groupByExpressions = new ArrayList<Expression>(getSubQuery().getGroupByExpressions().size()); for (Expression groupByExpression : getSubQuery().getGroupByExpressions()) { groupByExpressions.add(groupByExpression.twistedForBaseAndContext(newBase, context, getBaseExpression())); List<Expression> orderByExpressions = new ArrayList<Expression>(getSubQuery().getOrderByExpressions().size()); for (Expression orderByExpression : getSubQuery().getOrderByExpressions()) { orderByExpressions.add(orderByExpression.twistedForBaseAndContext(newBase, context, getBaseExpression())); List<Expression> unionByExpressions = new ArrayList<Expression>(getSubQuery().getUnionExpressions().size()); for (Expression unionExpression : getSubQuery().getUnionExpressions()) { unionByExpressions.add(unionExpression.twistedForBaseAndContext(newBase, context, getBaseExpression())); reportQuery.setSelectionCriteria(getSubQuery().getSelectionCriteria().twistedForBaseAndContext(newBase, context, getBaseExpression()));