Package com.redspr.redquerybuilder.core.shared.meta

Examples of com.redspr.redquerybuilder.core.shared.meta.Column


    @Test
    public void testDirtyKeepsValue() throws Exception {
        Session sess = getSession();

        Column col = sess.getDatabase().getMainSchema()
                .findTableOrView("PERSON").getColumn("county");

        final SuggestEditorWidget sew = new SuggestEditorWidget(sess, col);

        final List events = new ArrayList();
View Full Code Here


    protected T getEmptyValue() {
        return null;
    }

    private Column getColumn() {
        Column c = new Column();
        c.setEditor(getEditor());
        return c;
    }
View Full Code Here

    @Override
    public void onDirty() {
        Comparison parent = (Comparison) this.getParentExpression();

        ExpressionColumn otherSide = (ExpressionColumn) parent.getOther(this);
        Column col = otherSide.getColumn();

        Object newEditorKey = EditorWidgetFactory.createKey(col,
                parent.getOperator());

        if (lastColumn != col || !newEditorKey.equals(lastEditorKey)) {

            final Widget w = EditorWidgetFactory.create(newEditorKey, getSession(),
                    col);

            lb.setWidget(w);
            final HasValue<Object> hv = (HasValue<Object>) w;
            hv.addValueChangeHandler(new ValueChangeHandler<Object>() {
                @Override
                public void onValueChange(ValueChangeEvent<Object> event) {
                    value = hv.getValue();
                    if (value instanceof HasValue2) {
                        value = ((HasValue2) value).getValue();
                    }
                    fireDirty();
                }
            });

            if (lastEditorKey != null || value == null) {
                value = col.getEditor().getDefault();
            }

            hv.setValue(value, false);

            lastColumn = col;
            lastEditorKey = newEditorKey;

            String style = col.getStyleName();
            if (style != null) {
                w.addStyleName(style);
            }
        }
    }
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

        return compareType;
    }

    public Operator getOperator() {
        ExpressionColumn leftec = ((ExpressionColumn) getLeft());
        Column lc = leftec.getColumn();
        if (lc == null) {
            leftec.getColumn();
        }
        Type lt = lc.getType();
        Operator o = lt.getOperatorByName(compareType);
        if (o == null) {
            o = lt.getOperators()[0];
            compareType = o.getName();
        }
View Full Code Here

        return o;
    }

    @Override
    public void onDirty() {
        Column col = ((ExpressionColumn) getLeft()).getColumn();

        op.setValue(getOperator());
        op.setAcceptableValues(col.getType().getOperators());
    }
View Full Code Here

        dateType.setEditor(new Editor.DateEditor());
        Type[] types = new Type[]{stringType, dateType, refType, singleRefType};
        database.setTypes(types);

        Table person = new Table("PERSON"); // XXX want case sensitivity?
        Column personId = new Column("id", stringType);
        person.add(personId);
        person.add(new Column("sex", singleRefType));
        person.add(new Column("owner", stringType));
        person.add(new Column("category", refType));
        person.add(new Column("category2", refType));
        person.add(new Column("county", suggestType));
        schema.add(person);

        {
            Table log = new Table("Log");
            log.add(new Column("id", stringType));
            log.add(new Column("date", dateType));
            Column pc = new Column("parent", stringType);
            ConstraintReferential fk = new ConstraintReferential("parentfk",
                    log);
            fk.setRefTable(person);
            fk.setColumns(new Column[] {pc });
            fk.setRefColumns(new Column[] {personId });
            log.add(fk);
            log.add(pc);

            schema.add(log);
        }

        {
            Table order = new Table("Order");
            order.add(new Column("date", dateType));
            Column pc = new Column("parent", stringType);
            ConstraintReferential fk = new ConstraintReferential("orderparentfk",
                    order);
            fk.setRefTable(person);
            fk.setColumns(new Column[] {pc });
            fk.setRefColumns(new Column[] {personId });
View Full Code Here

    @Override
    public Column resolveColumn(String alias, String columnName) {
        for (TableFilter tf : getFilters()) {
            if (alias == null || alias.equals(tf.getAlias())) {
               Column c = tf.getTable().getColumn(columnName);
               if (c != null) {
                   return c;
               }
               // XXX if alias != null should blowup?
               // XXX should blowup if find more than one?
View Full Code Here

                return null;
            }
        } else if (readIf("ALTER")) {
            readIf("COLUMN");
            String columnName = readColumnIdentifier();
            Column column = null; //table.getColumn(columnName);
            if (readIf("RENAME")) {
                read("TO");
                return null;
            } else if (readIf("SET")) {
                if (readIf("DATA")) {
                    // Derby compatibility
                    read("TYPE");
                    Column newColumn = parseColumnForTable(columnName);
                    return null;
                }
                return null;
            } else if (readIf("RESTART")) {
                readIf("WITH");
                Expression start = readExpression();
                return null;
            } else if (readIf("SELECTIVITY")) {
                return null;
            } else {
                Column newColumn = parseColumnForTable(columnName);
                return null;
            }
        }
        throw getSyntaxError();
    }
View Full Code Here

            JsTable jst = meta.getTables().get(i);
            Table t = new Table(jst.getName());
            t.setLabel(jst.getLabel());
            for (int j = 0; j < jst.getColumns().length(); j++) {
                JsColumn jsColumn = jst.getColumns().get(j);
                Column c = new Column(jsColumn.getName(), database.getTypeByName(jsColumn
                        .getType()));
                c.setLabel(jsColumn.getLabel());
                if (jsColumn.getEditor() != null) {
                    c.setEditor(Editor.valueOf(jsColumn.getEditor()));
                }
                c.setStyleName(jsColumn.getStyleName());
                t.add(c);
            }
            database.getMainSchema().add(t);
        }
View Full Code Here

TOP

Related Classes of com.redspr.redquerybuilder.core.shared.meta.Column

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.