Package org.apache.metamodel.query

Examples of org.apache.metamodel.query.FilterItem


        q.select(s2);
        q.from(f1);
        q.from(f2);
        SelectItem s3 = new SelectItem(table1.getColumnByName(COLUMN_CONTRIBUTOR_CONTRIBUTOR_ID));
        SelectItem s4 = new SelectItem(table2.getColumnByName(COLUMN_ROLE_CONTRIBUTOR_ID));
        q.where(new FilterItem(s3, OperatorType.EQUALS_TO, s4));
        assertEquals(
                "SELECT contributor.name, role.name FROM MetaModelSchema.contributor, MetaModelSchema.role WHERE contributor.contributor_id = role.contributor_id",
                q.toString());

        DataSet data = dc.executeQuery(q);
View Full Code Here


                .parseQuery(dc, "SELECT foo FROM sch.tbl WHERE (bar = 'baz' OR (baz > 5 AND baz < 7))");
        assertEquals("SELECT tbl.foo FROM sch.tbl WHERE (tbl.bar = 'baz' OR (tbl.baz > 5 AND tbl.baz < 7))", q.toSql());

        FilterClause wc = q.getWhereClause();
        assertEquals(1, wc.getItemCount());
        FilterItem item = wc.getItem(0);
        assertTrue(item.isCompoundFilter());

        FilterItem[] childItems = item.getChildItems();
        assertEquals(2, childItems.length);

        FilterItem bazConditions = childItems[1];
        assertTrue(bazConditions.isCompoundFilter());
    }
View Full Code Here

    public void testWhereIn() throws Exception {
        Query q = MetaModelHelper.parseQuery(dc, "SELECT foo FROM sch.tbl WHERE foo IN ('a','b',5)");
        assertEquals("SELECT tbl.foo FROM sch.tbl WHERE tbl.foo IN ('a' , 'b' , '5')", q.toSql());

        FilterItem whereItem = q.getWhereClause().getItem(0);
        assertEquals(OperatorType.IN, whereItem.getOperator());
        Object operand = whereItem.getOperand();
        assertTrue(operand instanceof List);
        assertEquals("a", ((List<?>) operand).get(0));
        assertEquals("b", ((List<?>) operand).get(1));
        assertEquals(5, ((List<?>) operand).get(2));
    }
View Full Code Here

        // GROUP BY tbl.foo
        assertNotNull(q.getGroupByClause().getItem(0).getSelectItem().getColumn());

        // HAVING COUNT(*) > 2
        FilterItem havingItem = q.getHavingClause().getItem(0);
        assertNull(havingItem.getExpression());
        assertNotNull(havingItem.getSelectItem().getFunction());
        assertEquals("*", havingItem.getSelectItem().getExpression());

        // ORDER BY tbl.foo ASC
        OrderByItem orderByItem = q.getOrderByClause().getItem(0);
        assertNull(orderByItem.getSelectItem().getExpression());
        assertNotNull(orderByItem.getSelectItem().getColumn());
View Full Code Here

    q.select(actorTable.getColumns());
    q.getSelectClause().getItem(0).setAlias("foo-bar");
    assertEquals(
        "SELECT a.`actor_id` AS foo-bar, a.`first_name`, a.`last_name`, a.`last_update` FROM sakila.`actor` a",
        q.toString());
    FilterItem f1 = new FilterItem(q.getSelectClause().getItem(0), OperatorType.EQUALS_TO, 5);
    FilterItem f2 = new FilterItem(q.getSelectClause().getItem(0), OperatorType.EQUALS_TO, 8);
    q.where(new FilterItem(f1, f2));

    DataSet dataSet = dc.executeQuery(q);
    TableModel tableModel = new DataSetTableModel(dataSet);
    assertEquals(4, tableModel.getColumnCount());
    assertEquals(2, tableModel.getRowCount());
View Full Code Here

        final Date date = DateUtils.get(2013, Month.JANUARY, 23);
        final Timestamp dateTime = new Timestamp(0l);

        final List<FilterItem> children = new ArrayList<FilterItem>();
        children.add(new FilterItem(new SelectItem(new MutableColumn("foo")), OperatorType.EQUALS_TO, "hello\n 'world'"));
        children.add(new FilterItem(new SelectItem(new MutableColumn("bar")), OperatorType.EQUALS_TO, 123));
        children.add(new FilterItem(new SelectItem(new MutableColumn("baz").setType(ColumnType.DATE)),
                OperatorType.EQUALS_TO, date));
        children.add(new FilterItem(new SelectItem(new MutableColumn("saz").setType(ColumnType.TIMESTAMP)),
                OperatorType.EQUALS_TO, dateTime));

        final FilterItem filterItem = new FilterItem(children);

        SalesforceDataContext.rewriteFilterItem(sb, filterItem);

        assertEquals(
                "FOOBAR: (foo = 'hello\\n \\'world\\'' OR bar = 123 OR baz = 2013-01-23 OR saz = 1970-01-01T00:00:00+0000)",
View Full Code Here

        data2.add(new Object[] { 4, "trying harder", "try" });

        DataSet ds1 = createDataSet(new SelectItem[] { si1, si2, si3, si4 }, data1);
        DataSet ds2 = createDataSet(new SelectItem[] { si5, si6, si7 }, data2);
        FilterItem[] onConditions = new FilterItem[1];
        onConditions[0] = new FilterItem(si4, OperatorType.EQUALS_TO, si5);

        DataSet result = MetaModelHelper.getLeftJoin(ds1, ds2, onConditions);
        List<Object[]> objectArrays = result.toObjectArrays();
        assertEquals("[1, peter, 18, 1, 1, class president, clpr]", Arrays.toString(objectArrays.get(0)));
        assertEquals("[2, tom, 19, 2, 2, bad boy, bb]", Arrays.toString(objectArrays.get(1)));
View Full Code Here

        data2.add(new Object[] { 4, "trying harder", "try" });

        DataSet ds1 = createDataSet(new SelectItem[] { si1, si2, si3, si4 }, data1);
        DataSet ds2 = createDataSet(new SelectItem[] { si5, si6, si7 }, data2);
        FilterItem[] onConditions = new FilterItem[1];
        onConditions[0] = new FilterItem(si4, OperatorType.EQUALS_TO, si5);

        DataSet result = MetaModelHelper.getRightJoin(ds1, ds2, onConditions);
        List<Object[]> objectArrays = result.toObjectArrays();
        assertEquals("[1, peter, 18, 1, 1, class president, clpr]", Arrays.toString(objectArrays.get(0)));
        assertEquals("[2, tom, 19, 2, 2, bad boy, bb]", Arrays.toString(objectArrays.get(1)));
View Full Code Here

    public void testTripleCarthesianProductWithWhereItems() throws Exception {
        DataSet ds1 = createDataSet1();
        DataSet ds2 = createDataSet2();
        DataSet[] dataSets = new DataSet[] { ds1, ds2, };
        FilterItem w1 = new FilterItem(ds1.getSelectItems()[0], OperatorType.EQUALS_TO, "f");
        DataSet dataSet = MetaModelHelper.getCarthesianProduct(dataSets, w1);
        assertEquals(2, dataSet.getSelectItems().length);
        for (int i = 0; i < 1 * 3; i++) {
            assertTrue("Assertion failed at i=" + i, dataSet.next());
            assertEquals("f", dataSet.getRow().getValue(0));
View Full Code Here

        List<SelectItem> selectItems2 = Arrays.asList(item3);

        DataSet ds1 = new EmptyDataSet(selectItems1);
        DataSet ds2 = new EmptyDataSet(selectItems2);

        DataSet joinedDs = MetaModelHelper.getLeftJoin(ds1, ds2, new FilterItem[] { new FilterItem(item2,
                OperatorType.EQUALS_TO, item3) });

        assertEquals(SubSelectionDataSet.class, joinedDs.getClass());
        assertEquals("[foo AS f, bar AS b, baz AS z]", Arrays.toString(joinedDs.getSelectItems()));

        DataSetHeader header1 = new SimpleDataSetHeader(selectItems1);
        Row row = new DefaultRow(header1, new Object[] { 1, 2 }, null);
        ds1 = new InMemoryDataSet(header1, row);

        joinedDs = MetaModelHelper.getLeftJoin(ds1, ds2, new FilterItem[] { new FilterItem(item2,
                OperatorType.EQUALS_TO, item3) });
        assertEquals("[foo AS f, bar AS b, baz AS z]", Arrays.toString(joinedDs.getSelectItems()));
        assertTrue(joinedDs.next());
        assertEquals("Row[values=[1, 2, null]]", joinedDs.getRow().toString());
        assertFalse(joinedDs.next());
View Full Code Here

TOP

Related Classes of org.apache.metamodel.query.FilterItem

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.