Package com.redspr.redquerybuilder.core.client.table

Examples of com.redspr.redquerybuilder.core.client.table.TableFilter


                    public void onTable(TableEvent e) {
                        if (session.getFilters().size() > 0) {
                            config.fireOnTableChange(session.getFilters());
                            // XXX need to do distinct?
                            ObjectArray expr = ObjectArray.newInstance();
                            TableFilter tf = session.getFilters().get(0);
                            String alias = tf.getAlias();
                            for (Column col : tf.getTable().getColumns()) {
                                expr.add(new ExpressionColumn(session, null, alias,
                                    col.getName()));
                            }
                            builder.getSelect().setExpressions(expr);
                        } else {
View Full Code Here


      }
      return null;
  }

  public TableFilter createTableFilter(Table t) {
      TableFilter tf = new TableFilter(this, t, TableFilter.newAlias(), select);
      select.addTableFilter(tf, true); // XXX really is true?
      return tf;
  }
View Full Code Here

      select.addTableFilter(tf, true); // XXX really is true?
      return tf;
  }

  public TableFilter getOrCreateTableFilter(Table t) {
      TableFilter tf = getTableFilter(t);
      if (tf == null) {
          tf = createTableFilter(t);
      }
      return tf;
  }
View Full Code Here

        reg2 = getSession().getMsgBus().addHandler(TableEvent.TYPE, this);
    }

    public void selectConstraintRef(ConstraintReferential ref) {
        TableFilter targetTf = JoinHelper.getOrCreateFor(getSession(), ref);
        this.tableAlias = targetTf.getAlias();
        this.columnName = targetTf.getTable().getColumns().iterator().next()
                .getName();

    }
View Full Code Here

    @Override
    public void onDirty() {
        hp.clear();

        TableFilter tf = null;
        for (TableFilter tf2 : getSession().getFilters()) {
            if (StringUtils.equals(tableAlias, tf2.getAlias())) {
                tf = tf2;
                break;
            } else if (tf == null) {
                tf = tf2;
            }
        }

        Object hotValue = getColumn();

        Command hotCommand = null;
        while (tf != null) {
            final CommandListBox ght = new CommandListBox(this);
            hp.insert(ght, 0);
            List<Command> items = new ArrayList();
//           hotCommand = new ClearCommand();
//            items.add(hotCommand);

            for (Constraint c : tf.getTable().getConstraints()) {
                if (c instanceof ConstraintReferential) {
                    ConstraintReferential cr = (ConstraintReferential) c;
                    if (!cr.isHidden()) {
                        Command command = new ConstraintCommand(cr);
                        if (cr == hotValue) {
                            hotCommand = command;
                        }
                        items.add(command);
                    }
                }
            }

            for (Column c : tf.getTable().getColumns()) {
                if (!c.isHidden()) {
                    Command command = new ColumnCommand(tf.getAlias(), c);
                    if (c == hotValue) {
                        hotCommand = command;
                    }
                    items.add(command);
                }
View Full Code Here

    public Comparison(Session session2) {
        super(session2);

        // XXX why do this defaulting here? Not just do it in ExpressionColumn?
        TableFilter tf = getSession().getFilters().get(0);
        Column col = null;
        for (Column col2 : tf.getTable().getColumns()) {
            if (!col2.isHidden()) {
                col = col2;
                break;
            }
        }
        if (col == null) {
            throw new RuntimeException("No visible column");
        }

        setLeft(new ExpressionColumn(getSession(), null, tf.getAlias(),
                col.getName()));
        setRight(new Parameter(getSession()));
        compareType = col.getType().getOperators()[0].getName();
        init();
    }
View Full Code Here

         buff.appendExceptFirst(", ");
         buff.append(expressions.get(i).getSQL(args));
         }
        }
        buff.append("\nFROM ");
        TableFilter filter = null;
        if (filters.size() > 0) {
            filter = filters.get(0);
        }
        if (filter != null) {
            buff.resetCount();
            int i = 0;
            do {
            buff.appendExceptFirst("\n");
            buff.append(filter.getSQL(i++ > 0, args));
            filter = filter.getJoin();
            } while (filter != null);
        } else {
         buff.resetCount();
         int i = 0;
         for (TableFilter f : filters) {
View Full Code Here

    public void updateTable(Table tt) {
        if (tt == null) {
            filters.clear();
        } else if (getFilters().size() == 0) {
            TableFilter filter = new TableFilter(session, tt, TableFilter
                    .newAlias(), Select.this);
            addTableFilter(filter, true); // XXX really is true?
        } else {
            getFilters().get(0).setTable(tt);
        }
View Full Code Here

            Callback counter = new BaseSqlWidget.Callback() {
                @Override
                public void handle(BaseSqlWidget w) {
                    if (w instanceof ExpressionColumn) {
                        ExpressionColumn ec = (ExpressionColumn) w;
                        TableFilter tf = ec.getTableFilter();
                        if (used.add(tf)) {
                            if (tf.getJoinCondition() != null) {
                                tf.getJoinCondition().traverse(this);
                            }
                        }
                    }
                }
            };

            if (getCondition() != null) {
                getCondition().traverse(counter);
            }

            boolean removed;
            do {
                removed = false;
                TableFilter prev = filters.get(0);
                TableFilter x = prev.getJoin();
                while (x != null) {
                    if (!used.contains(x)) {
                        // look for used in all other filters?
                        int i = filters.indexOf(x);
                        if (i > 0) {
                            filters.remove(i);
                        }
                            // XXX why is this the case?
                            // just when comma seperated?
                        prev.setJoin(x.getJoin());
                        removed = true;
                    }
                    prev = x;
                    x = x.getJoin();
                }
            } while (removed);

        }
    }
View Full Code Here

        assertTrue(s != null);
        ExpressionColumn ec = (ExpressionColumn) s.getExpressions().get(0);
        assertEquals("ID", ec.getSQL(new ArrayList()));

        assertEquals(1, s.getFilters().size());
        TableFilter tf = s.getFilters().get(0);
        assertTrue(tf != null);
        assertEquals("PERSON", tf.getTable().getName());

        Comparison c = (Comparison) s.getCondition();

        assertEquals("SELECT ID\nFROM PERSON\nWHERE (SEX = ?)", s.getSQL(new ArrayList()));
    }
View Full Code Here

TOP

Related Classes of com.redspr.redquerybuilder.core.client.table.TableFilter

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.