Package org.eclipse.persistence.queries

Examples of org.eclipse.persistence.queries.ReportQuery


     */
    @Override
    public void visit(SimpleSelectStatement expression) {

      // First create the subquery
      ReportQuery subquery = buildSubquery(expression);

      // Now create the IN expression
      if (hasNot) {
        queryExpression = leftExpression.notIn(subquery);
      }
View Full Code Here


        }
        if (getContainingDescriptor() == null) {
            // Assign an artificial query key to represent the alias.
            DirectQueryKey alias = new DirectQueryKey();
            alias.setField(new DatabaseField(this.name));
            ReportQuery subQuery = ((FromSubSelectExpression)getBaseExpression()).getSubSelect().getSubQuery();
            alias.setDescriptor(subQuery.getDescriptor());
            this.queryKey = alias;
            return alias;
        }
        return super.getQueryKeyOrNull();
    }
View Full Code Here

     * INTERNAL:
     * Return the report item that this is an alias for.
     */
    public ReportItem getItem() {
        if (this.item == null) {
            ReportQuery subQuery = ((FromSubSelectExpression)getBaseExpression()).getSubSelect().getSubQuery();
            this.item = subQuery.getItem(this.name);
            if (this.item == null) {
                throw QueryException.invalidQueryKeyInExpression(this.name);
            }
        }
        return this.item;
View Full Code Here

            if (valueToApply.equals(QueryType.ReadAll)) {
                newQuery = new ReadAllQuery();
            } else if (valueToApply.equals(QueryType.ReadObject)) {
                newQuery = new ReadObjectQuery();
            } else if (valueToApply.equals(QueryType.Report)) {
                newQuery = new ReportQuery();
                if (query.isObjectLevelReadQuery()) {
                    ((ReportQuery)newQuery).addAttribute("root", ((ReportQuery)newQuery).getExpressionBuilder());
                }
            } else if (valueToApply.equals(QueryType.ResultSetMapping)) {
                newQuery = new ResultSetMappingQuery();
View Full Code Here

    query.dontUseDistinct();
    this.query = query;
  }

  private void initializeReportQuery() {
    ReportQuery query = new ReportQuery();
    query.returnWithoutReportQueryResult();
    query.dontUseDistinct();
    this.query = query;
  }
View Full Code Here

   * {@inheritDoc}
   */
  @Override
  public void visit(UnionClause expression) {

    ReportQuery subquery = queryContext.buildSubquery((SimpleSelectStatement) expression.getQuery());
    Expression union = null;

    if (expression.isUnion()) {
      if (expression.hasAll()) {
        union = query.getExpressionBuilder().unionAll(subquery);
View Full Code Here

     */
    public <E, C extends Collection<E>> Predicate isNotMember(Expression<E> elem, Expression<C> collection){
        if (((InternalSelection)elem).isFrom()){
            ((FromImpl)elem).isLeaf = false;
        }
        ReportQuery subQuery = new ReportQuery();
        subQuery.setReferenceClass(((ExpressionImpl)elem).getJavaType());
        org.eclipse.persistence.expressions.ExpressionBuilder elemBuilder = new org.eclipse.persistence.expressions.ExpressionBuilder();
        org.eclipse.persistence.expressions.Expression collectionExp =((InternalSelection)collection).getCurrentNode();
        org.eclipse.persistence.expressions.Expression elemExp =((InternalSelection)elem).getCurrentNode();

        subQuery.setExpressionBuilder(elemBuilder);
        subQuery.setShouldRetrieveFirstPrimaryKey(true);
        subQuery.setSelectionCriteria(elemBuilder.equal(collectionExp).and(collectionExp.equal(elemExp)));

        return new CompoundExpressionImpl(metamodel, ((InternalSelection)elem).getCurrentNode().notExists(subQuery), buildList(elem, collection), "isNotMemeber");
    }
View Full Code Here

        if (type == null) {
            throw new IllegalArgumentException("DynamicHelper.createQuery: Dynamic type not found: " + typeName);
        }

        return new ReportQuery(type.getJavaClass(), builder);
    }
View Full Code Here

     * INTERNAL
     * Apply this node to the passed query
     */
    public void applyToQuery(ObjectLevelReadQuery theQuery, GenerationContext context) {
        if (theQuery.isReportQuery()){
            ReportQuery reportQuery = (ReportQuery)theQuery;
            reportQuery.addAttribute(resolveAttribute(), generateExpression(context));
            reportQuery.dontRetrievePrimaryKeys();
        }
    }
View Full Code Here

                // Now the reference class of the query needs to be reversed.
                // See the bug description for an explanation.
                ExpressionBuilder countBuilder = baseExp.getBuilder();
                ExpressionBuilder outerBuilder = new ExpressionBuilder();

                ReportQuery subSelect = new ReportQuery(newDescriptor.getJavaClass(), countBuilder);
                subSelect.setShouldRetrieveFirstPrimaryKey(true);

                // Make sure the outerBuilder does not appear on the left of the
                // subselect.
                // Putting a builder on the left is desirable to trigger an
                // optimization.
                subSelect.setSelectionCriteria(baseExp.equal(outerBuilder));
                SubSelectExpression sub = new SubSelectExpression(subSelect, ((BaseExpression) baseExp).getBaseExpression());
                this.setBaseExpression(outerBuilder);
                this.children.setElementAt(outerBuilder, 0);
            } else {
                // case 4: composite PK, DISTINCT, outer join =>
View Full Code Here

TOP

Related Classes of org.eclipse.persistence.queries.ReportQuery

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.