Package org.apache.metamodel.schema

Examples of org.apache.metamodel.schema.Table


    assertNotNull(fooColumn);

    dc = Converters.addTypeConverter(dc, fooColumn,
        new StringToIntegerConverter());

    Table table = dc.getDefaultSchema().getTableByName("table");
    Query query = dc.query().from(table).select(table.getColumns())
        .toQuery();
    assertEquals("SELECT table.foo, table.bar FROM schema.table",
        query.toSql());

    DataSet ds = dc.executeQuery(query);
View Full Code Here


    converters.put(fooColumn, new StringToIntegerConverter());
    DataContext converted = Converters.addTypeConverter(source, fooColumn,
        new StringToIntegerConverter());

    // only select "bar" which is not converted
    Table table = converted.getDefaultSchema().getTableByName("table");
    Query query = converted.query().from(table).select("bar").toQuery();
    assertEquals("SELECT table.bar FROM schema.table", query.toSql());

    DataSet ds = converted.executeQuery(query);
    assertEquals(InMemoryDataSet.class, ds.getClass());
View Full Code Here

public class ConvertersTest extends TestCase {

    public void testAutoDetectConverters() throws Exception {
        final MockUpdateableDataContext decoratedDataContext = new MockUpdateableDataContext();
        final Table table = decoratedDataContext.getDefaultSchema().getTables()[0];
        Map<Column, TypeConverter<?, ?>> converters = Converters.autoDetectConverters(decoratedDataContext, table, 2);
        assertEquals(1, converters.size());
        assertEquals(
                "[Column[name=foo,columnNumber=0,type=VARCHAR,nullable=null,nativeType=null,columnSize=null]]",
                converters.keySet().toString());
        assertEquals(StringToIntegerConverter.class, converters.values().iterator().next().getClass());

        final UpdateableDataContext dc = Converters.addTypeConverters(decoratedDataContext, converters);

        DataSet ds = dc.query().from(table).select(table.getColumns()).execute();
        assertEquals(ConvertedDataSet.class, ds.getClass());
        assertTrue(ds.next());
        assertEquals("Row[values=[1, hello]]", ds.getRow().toString());
        assertEquals(Integer.class, ds.getRow().getValue(0).getClass());
        assertEquals(1, ds.getRow().getValue(0));
        assertTrue(ds.next());
        assertEquals(Integer.class, ds.getRow().getValue(0).getClass());
        assertEquals(2, ds.getRow().getValue(0));
        assertTrue(ds.next());
        assertEquals(Integer.class, ds.getRow().getValue(0).getClass());
        assertEquals(3, ds.getRow().getValue(0));
        assertFalse(ds.next());
        ds.close();

        dc.executeUpdate(new UpdateScript() {
            @Override
            public void run(UpdateCallback callback) {
                callback.insertInto(table).value("foo", 4).value("bar", "mrrrrh").execute();
            }
        });

        // query the decorator
        ds = dc.query().from(table).select(table.getColumns()).where("foo").eq(4).execute();
        assertTrue(ds.next());
        assertEquals("Row[values=[4, mrrrrh]]", ds.getRow().toString());
        assertEquals(Integer.class, ds.getRow().getValue(0).getClass());
        assertEquals(4, ds.getRow().getValue(0));
        assertFalse(ds.next());
View Full Code Here

        assertEquals(3, physicalValuesList.size());
        for (Object[] physicalValues : physicalValuesList) {
            assertEquals("foo is expected to be string", String.class, physicalValues[0].getClass());
        }

        final Table table = dc.getDefaultSchema().getTables()[0];
        Map<Column, TypeConverter<?, ?>> converters = Converters.autoDetectConverters(dc, table, 1000);
        assertEquals(1, converters.size());
        dc = Converters.addTypeConverters(dc, converters);

        final Query q = dc.query().from(table).select("foo").toQuery();
View Full Code Here

        return new DefaultRow(new SimpleDataSetHeader(items), values);
    }

    protected List<Row> getRowsToUpdate() {
        final DataContext dc = _updateCallback.getDataContext();
        final Table table = getTable();
        final List<FilterItem> whereItems = getWhereItems();
        final DataSet dataSet = dc.query().from(table).select(table.getColumns()).where(whereItems).execute();
        final List<Row> rows = dataSet.toRows();
        return rows;
    }
View Full Code Here

    final Schema schema = dc.getDefaultSchema();
    assertEquals("Schema[name=/dependencies]", schema.toString());
    assertEquals("[/dependency]", Arrays.toString(schema.getTableNames()));

    final Table table = schema.getTableByName("/dependency");
    assertEquals("[row_id, /artifactId, /groupId, /version, /scope]",
        Arrays.toString(table.getColumnNames()));

    // perform a regular query
    DataSet ds = dc.query().from(table).select(table.getColumns())
        .execute();
    assertTrue(ds.next());
    assertEquals("Row[values=[0, joda-time, joda-time, 1.5.2, compile]]",
        ds.getRow().toString());
View Full Code Here

    assertEquals("Schema[name=/root]", schema.toString());
    assertEquals("[/employee, /organization]",
        Arrays.toString(schema.getTableNames()));

    // organization assertions
    final Table organizationTable = schema.getTableByName("/organization");
    {
      assertEquals("[row_id, /name, @type]",
          Arrays.toString(organizationTable.getColumnNames()));

      DataSet ds = dc.query().from(organizationTable)
          .select(organizationTable.getColumns()).execute();
      assertTrue(ds.next());
      assertEquals("Row[values=[0, Company A, governmental]]", ds
          .getRow().toString());
      assertTrue(ds.next());
      assertEquals("Row[values=[1, Company B, company]]", ds.getRow()
          .toString());
      assertTrue(ds.next());
      assertEquals("Row[values=[2, Company C, company]]", ds.getRow()
          .toString());
      assertFalse(ds.next());
      ds.close();
    }

    // employee assertions
    final Table employeeTable = schema.getTableByName("/employee");
    {
      assertEquals(
          "[row_id, /name, /gender, index(/root/organization/employees), index(/root/organization)]",
          Arrays.toString(employeeTable.getColumnNames()));

      DataSet ds = dc.query().from(employeeTable)
          .select(employeeTable.getColumns()).execute();
      assertTrue(ds.next());
      assertEquals("Row[values=[0, John Doe, M, 0, 0]]", ds.getRow()
          .toString());
      assertTrue(ds.next());
      assertEquals("Row[values=[1, Jane Doe, F, 0, 0]]", ds.getRow()
          .toString());
      assertTrue(ds.next());
      assertEquals("Row[values=[2, Peter, M, 1, 1]]", ds.getRow()
          .toString());
      assertTrue(ds.next());
      assertEquals("Row[values=[3, Bob, M, 1, 1]]", ds.getRow()
          .toString());
      assertTrue(ds.next());
      assertEquals("Row[values=[4, Cindy, F, 1, 1]]", ds.getRow()
          .toString());
      assertTrue(ds.next());
      assertEquals("Row[values=[5, John, M, 1, 1]]", ds.getRow()
          .toString());
      assertTrue(ds.next());
      assertEquals("Row[values=[6, James, M, 2, 2]]", ds.getRow()
          .toString());
      assertTrue(ds.next());
      assertEquals("Row[values=[7, Suzy, F, 2, 2]]", ds.getRow()
          .toString());
      assertTrue(ds.next());
      assertEquals("Row[values=[8, Carla, F, 3, 2]]", ds.getRow()
          .toString());
      assertTrue(ds.next());
      assertEquals("Row[values=[9, Vincent, M, 3, 2]]", ds.getRow()
          .toString());
      assertTrue(ds.next());
      assertEquals("Row[values=[10, Barbara, F, 3, 2]]", ds.getRow()
          .toString());
      assertFalse(ds.next());
      ds.close();
    }

    // do a join
    {
      Column fk = employeeTable
          .getColumnByName("index(/root/organization)");
      assertNotNull(fk);
      Column empName = employeeTable.getColumnByName("/name");
      assertNotNull(empName);
      Column orgId = organizationTable.getColumnByName("row_id");
      assertNotNull(orgId);
      Column orgName = organizationTable.getColumnByName("/name");
      assertNotNull(orgName);
View Full Code Here

        while (rs.next()) {
            String pkTableName = rs.getString(3);
            String pkColumnName = rs.getString(4);

            Column pkColumn = null;
            Table pkTable = schema.getTableByName(pkTableName);
            if (pkTable != null) {
                pkColumn = pkTable.getColumnByName(pkColumnName);
            }
            if (logger.isDebugEnabled()) {
                logger.debug("Found primary key relation: tableName=" + pkTableName + ",columnName=" + pkColumnName
                        + ", matching column: " + pkColumn);
            }

            String fkTableName = rs.getString(7);
            String fkColumnName = rs.getString(8);
            Column fkColumn = null;
            Table fkTable = schema.getTableByName(fkTableName);
            if (fkTable != null) {
                fkColumn = fkTable.getColumnByName(fkColumnName);
            }
            if (logger.isDebugEnabled()) {
                logger.debug("Found foreign key relation: tableName=" + fkTableName + ",columnName=" + fkColumnName
                        + ", matching column: " + fkColumn);
            }
View Full Code Here

            return;
        }
        dataContext = new SugarCrmDataContext(BASE_URL + "/", getUsername(), getPassword(), "Test");

        final Schema schema = dataContext.getDefaultSchema();
        final Table table = schema.getTableByName("Prospects");
        final Column[] numberColumns = table.getNumberColumns();
        final Column[] booleanColumns = table.getBooleanColumns();
        final Column[] timeBasedColumns = table.getTimeBasedColumns();
        assertTrue(numberColumns.length > 0);
        assertTrue(booleanColumns.length > 0);
        assertTrue(timeBasedColumns.length > 0);

        DataSet ds = dataContext.query().from(table).selectAll().limit(5).execute();
View Full Code Here

        final String[] tokens = tokenizePath(columnName, 3);
        if (tokens != null) {
            final Schema schema = getSchemaByToken(tokens[0]);
            if (schema != null) {
                final Table table = schema.getTableByName(tokens[1]);
                if (table != null) {
                    final Column column = table.getColumnByName(tokens[2]);
                    if (column != null) {
                        return column;
                    }
                }
            }
View Full Code Here

TOP

Related Classes of org.apache.metamodel.schema.Table

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.