Package com.google.visualization.datasource.query

Examples of com.google.visualization.datasource.query.QueryFilter


  }

  public void testFilterOfArithmeticExpression() throws Exception {
    Query query = QueryBuilder.getInstance().parseQuery("Where ((c1+c2)/c3*c4)"
        + " > (c5/c6+year(c7)) and (c8+c9=0 or c10<>c11) ");
    QueryFilter filter = query.getFilter();
    assertTrue(filter instanceof CompoundFilter);
    CompoundFilter f = (CompoundFilter) filter;
    assertEquals(CompoundFilter.LogicalOperator.AND, f.getOperator());
    List<QueryFilter> subFilters = f.getSubFilters();
    assertEquals(2, subFilters.size());
    QueryFilter f1 = subFilters.get(0);
    QueryFilter f2 = subFilters.get(1);

    // f1: ((c1+c2)/c3*c4) > (c5/c6+year(c7))
    ScalarFunctionColumn col1 = new ScalarFunctionColumn(
        Lists.<AbstractColumn>newArrayList(new SimpleColumn("c1"),
            new SimpleColumn("c2")), Sum.getInstance());
View Full Code Here


   * @param query The query.
   * @param queryStringBuilder The string builder holding the string query.
   */
  static void appendWhereClause(Query query, StrBuilder queryStringBuilder) {
    if (query.hasFilter()) {
      QueryFilter queryFilter = query.getFilter();
      queryStringBuilder.append("WHERE ")
          .append(buildWhereClauseRecursively(queryFilter)).append(" ");
    }
  }
View Full Code Here

    if (!query.hasFilter()) {
      return table;
    }

    List<TableRow> newRowList = Lists.newArrayList();
    QueryFilter filter = query.getFilter();
    for (TableRow inputRow : table.getRows()) {
      if (filter.isMatch(table, inputRow)) {
        newRowList.add(inputRow);
      }
    }
    table.setRows(newRowList);
    return table;
View Full Code Here

    selection.addColumn(new AggregationColumn(new SimpleColumn("B"), AggregationType.MAX));
    q.setSelection(selection);
    QuerySort sort = new QuerySort();
    sort.addSort(new ColumnSort(new SimpleColumn("A"), SortOrder.DESCENDING));
    q.setSort(sort);
    QueryFilter filter = new ColumnValueFilter(new SimpleColumn("A"), new TextValue("foo"),
                                               ComparisonFilter.Operator.GT);
    q.setFilter(filter);
    q.setRowLimit(7);
    q.setRowOffset(17);
    QueryLabels labels = new QueryLabels();
View Full Code Here

   * @param query The query.
   * @param queryStringBuilder The string builder holding the string query.
   */
  static void appendWhereClause(Query query, StrBuilder queryStringBuilder) {
    if (query.hasFilter()) {
      QueryFilter queryFilter = query.getFilter();
      queryStringBuilder.append("WHERE ")
          .append(buildWhereClauseRecursively(queryFilter)).append(" ");
    }
  }
View Full Code Here

    }
  }

// The where clause (e.g., WHERE (c1 > 3) AND (NOT(c3 <= c4)))
  final public void whereClause(Query query) throws ParseException, InvalidQueryException {
  QueryFilter filter;
    jj_consume_token(KW_WHERE);
    filter = logicalExpression();
    query.setFilter(filter);
  }
View Full Code Here

  }

// a logical expression, e.g., c1 > c2 or not c1 < 3 and (c3 >= c4)
// currently implemented as simply a call to possibleOrExpression
  final public QueryFilter logicalExpression() throws ParseException, InvalidQueryException {
  QueryFilter filter;
    filter = possibleOrExpression();
      {if (true) return filter;}
    throw new Error("Missing return statement in function");
  }
View Full Code Here

// A possible OR expression, i.e., an OR of several possible AND expressions.
// It is "possible" because it can also match a single expression without any
// ORs and then it is just returned as is.
  final public QueryFilter possibleOrExpression() throws ParseException, InvalidQueryException {
  ArrayList subFilters = new ArrayList();
  QueryFilter filter;
    filter = possibleAndExpression();
      subFilters.add(filter);
    label_8:
    while (true) {
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
View Full Code Here

// A possible AND expression, i.e., an AND of several possible NOT expressions.
// It is "possible" because it can also match a single expression without any
// ANDs and then it is just returned as is.
  final public QueryFilter possibleAndExpression() throws ParseException, InvalidQueryException {
  ArrayList subFilters = new ArrayList();
  QueryFilter filter;
    filter = possibleNotExpression();
      subFilters.add(filter);
    label_9:
    while (true) {
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
View Full Code Here

    throw new Error("Missing return statement in function");
  }

// A primary expression, with an optional NOT
  final public QueryFilter possibleNotExpression() throws ParseException, InvalidQueryException {
  QueryFilter subFilter;
  QueryFilter filter;
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case KW_NOT:
      jj_consume_token(KW_NOT);
      subFilter = primaryExpression();
        filter = new NegationFilter(subFilter);
View Full Code Here

TOP

Related Classes of com.google.visualization.datasource.query.QueryFilter

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.