Package com.redspr.redquerybuilder.core.client.command

Examples of com.redspr.redquerybuilder.core.client.command.CommandBuilder


    @Test
    public void testParseAndGenerateIn() throws Exception {
        String sql0 = "SELECT x.id FROM Person x"
            + " WHERE x.category IN (?, ?)";
        List<Object> args0 = args("1", "2");
        CommandBuilder cb = new CommandBuilder(getSession(), sql0, args0);

        Select s = cb.getSelect();
        cb.fireDirty(); // XXX encapsulation

        // collect initial non-sense...
        String sql1 = "SELECT X.ID\nFROM PERSON X\n"
            + "WHERE (X.CATEGORY IN (?, ?))";
        List<Object> args1 = new ArrayList<Object>();
View Full Code Here


    @Test
    public void testParseAndGenerateNotIn() throws Exception {
        String sql0 = "SELECT x.id FROM Person x"
            + " WHERE x.category NOT IN (?, ?)";
        List<Object> args0 = args("1", "2");
        CommandBuilder cb = new CommandBuilder(getSession(), sql0, args0);

        Select s = cb.getSelect();
        cb.fireDirty(); // XXX encapsulation

        // collect initial non-sense...
        String sql1 = "SELECT X.ID\nFROM PERSON X\n"
            + "WHERE (X.CATEGORY NOT IN (?, ?))";
        List<Object> args1 = new ArrayList<Object>();
View Full Code Here

    public void testMultiToSingle() throws Exception {
        Session sess = getSession();

        String sql0 = "SELECT x.id FROM Person x"
                + " WHERE x.category IN (?, ?)";
        CommandBuilder cb = new CommandBuilder(sess, sql0, args("A", "B"));
        RootPanel.get().add(cb);
        Select s = cb.getSelect();

        cb.fireDirty();

        {
            Comparison comp = (Comparison) s.getCondition();
            Parameter right = (Parameter) comp.getRight();
            Element selectElmt = right.getElement();

            String html = "<select class='gwt-ListBox' multiple='multiple' size='2'>"
                    + "<option value='A'>A</option>"
                    + "<option value='B'>B</option>"
                    + "<option value='C'>C</option>" + "</select>";
            assertEquals(html, selectElmt);

            assertEquals("SELECT X.ID\nFROM PERSON X\nWHERE (X.CATEGORY IN (?, ?))", s.getSQL(args()));


            // change to sex
            ExpressionColumn left2 = (ExpressionColumn) comp.getLeft();
            left2.updateColumn("X", sess.getDatabase().getMainSchema()
                    .findTableOrView("PERSON").getColumn("category2"));
            cb.fireDirty();
        }

        {
            Comparison comp = (Comparison) s.getCondition();
            Parameter right = (Parameter) comp.getRight();
            Element selectElmt = right.getElement();

            String html = "<select class='gwt-ListBox' multiple='multiple' size='2'>"
                    + "<option value='X'>X</option>"
                    + "<option value='Y'>Y</option>"
                    + "<option value='Z'>Z</option>" + "</select>";
            assertEquals(html, selectElmt);

            assertEquals("SELECT X.ID\nFROM PERSON X\nWHERE (X.category2 IN ?)", s.getSQL(args()));

            // change to sex
            ExpressionColumn left2 = (ExpressionColumn) comp.getLeft();
            left2.updateColumn("X", sess.getDatabase().getMainSchema()
                    .findTableOrView("PERSON").getColumn("sex"));
            cb.fireDirty();
        }

        {
            Comparison comp = (Comparison) s.getCondition();
            Parameter right = (Parameter) comp.getRight();
View Full Code Here

    public void testChangeFromStringToDateEditor() throws Exception {
        Session sess = getSession();

        String sql0 = "SELECT x.id FROM Log x"
                + " WHERE x.id = ?";
        CommandBuilder cb = new CommandBuilder(sess, sql0, args("A"));
        RootPanel.get().add(cb);
        Select s = cb.getSelect();

        cb.fireDirty();

        {
            Comparison comp = (Comparison) s.getCondition();

            // change to sex
            ExpressionColumn left2 = (ExpressionColumn) comp.getLeft();
            left2.updateColumn("X", sess.getDatabase().getMainSchema()
                    .findTableOrView("LOG").getColumn("date"));


            final List<Object> args = new ArrayList<Object>();
            cb.addValueChangeHandler(new ValueChangeHandler<Select>() {
                @Override
                public void onValueChange(ValueChangeEvent<Select> event) {
                    event.getValue().getSQL(args);
                }
            });
View Full Code Here

        Session sess = getSession();

        sess.getDatabase().getMainSchema()
        .findTableOrView("PERSON").getColumn("owner").setEditor(new Editor.SelectEditor());

        CommandBuilder cb = new CommandBuilder(sess, "SELECT x.id FROM Person x", null);
        RootPanel.get().add(cb);
        Select s = cb.getSelect();

        Comparison c = s.addFirstCondition();
        s.fireDirty();
        ExpressionColumn left2 = (ExpressionColumn) c.getLeft();
        left2.updateColumn("X", sess.getDatabase().getMainSchema()
View Full Code Here

    public void testOptionSelectedFromBootstrap() throws Exception {
        Session sess = getSession();

        List<Object> args = new ArrayList<Object>();
        args.add("M");
        CommandBuilder cb = new CommandBuilder(sess, "SELECT x.id FROM Person x WHERE sex = ?", args);
        RootPanel.get().add(cb);
        Select s = cb.getSelect();

        Comparison c = (Comparison) s.getCondition();
        Parameter p = (Parameter) c.getRight();
        SelectEditorWidget sew = (SelectEditorWidget) p.getEditorWidget();
        assertEquals("M", sew.getValue());
View Full Code Here

        Session sess = createSession(config);

        List<Object> args = new ArrayList<Object>();
        args.add("M");
        CommandBuilder cb = new CommandBuilder(sess, "SELECT x.id FROM Person x WHERE sex = ?", args);
        RootPanel.get().add(cb);
        Select s = cb.getSelect();

        // only now give them the enumeration
        Collection<Suggestion> s2 = new ArrayList();
        s2.add(new MultiWordSuggestion("M", "M"));
        s2.add(new MultiWordSuggestion("F", "F"));
View Full Code Here

        String sql0 = "SELECT x.id FROM Person x"
                + " WHERE x.id=? OR x.id=?";
        List<Object> args = new ArrayList<Object>();
        args.add("13");
        args.add("15");
        CommandBuilder cb = new CommandBuilder(sess, sql0, args);
        RootPanel.get().add(cb);
        Select s = cb.getSelect();

       // cb.fireDirty();

        ConditionAndOr andOr = (ConditionAndOr) s.getCondition();
        Comparison comp = (Comparison) andOr.getLeft();
View Full Code Here

    private CommandBuilder createCommandBuilder(final Configuration config2, String sql,
            List<Object> args) throws Exception {
        final Session session = new Session(config2);

        final CommandBuilder builder = new CommandBuilder(session, sql, args);

        session.getMsgBus().addHandler(TableEvent.TYPE,
                new TableEventHandler() {
                    @Override
                    public void onTable(TableEvent e) {
                        ObjectArray expr;
                        if (session.getFilters().size() > 0) {
                            config2.fireOnTableChange(session.getFilters());
                            // XXX need to do distinct?
                            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()));
                            }
                        } else {
                            expr = null;
                        }
                        builder.getSelect().setExpressions(expr);
                    }
                });

        builder.addValueChangeHandler(new ValueChangeHandler<Select>() {
            @Override
            public void onValueChange(ValueChangeEvent<Select> event) {
                List<Object> args = new ArrayList<Object>();
                String sql = event.getValue().getSQL(args);
View Full Code Here

TOP

Related Classes of com.redspr.redquerybuilder.core.client.command.CommandBuilder

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.