Package org.apache.metamodel

Examples of org.apache.metamodel.DataContext


        testHandlingOfEmptyLines(dc);
    }

    public void testHandlingOfEmptyLinesSingleLinesSupport() throws Exception {
        // test with only single line values
        DataContext dc = new CsvDataContext(new File("src/test/resources/csv_with_empty_lines.csv"),
                new CsvConfiguration(1, false, false));
        testHandlingOfEmptyLines(dc);
    }
View Full Code Here


        assertFalse(ds.next());
        ds.close();
    }

    public void testEmptyFileNoHeaderLine() throws Exception {
        DataContext dc = new CsvDataContext(new File("src/test/resources/empty_file.csv"), new CsvConfiguration(
                CsvConfiguration.NO_COLUMN_NAME_LINE));
        assertEquals(1, dc.getDefaultSchema().getTableCount());

        Table table = dc.getDefaultSchema().getTables()[0];
        assertEquals("empty_file.csv", table.getName());
        assertEquals(0, table.getColumnCount());
    }
View Full Code Here

        assertEquals("empty_file.csv", table.getName());
        assertEquals(0, table.getColumnCount());
    }

    public void testUnexistingHeaderLine() throws Exception {
        DataContext dc = new CsvDataContext(new File("src/test/resources/csv_people.csv"), new CsvConfiguration(20));
        assertEquals(1, dc.getDefaultSchema().getTableCount());

        Table table = dc.getDefaultSchema().getTables()[0];
        assertEquals("csv_people.csv", table.getName());
        assertEquals(0, table.getColumnCount());
    }
View Full Code Here

    }

    public void testInconsistentColumns() throws Exception {
        CsvConfiguration conf = new CsvConfiguration(CsvConfiguration.DEFAULT_COLUMN_NAME_LINE, "UTF8", ',', '"', '\\',
                true);
        DataContext dc = new CsvDataContext(new File("src/test/resources/csv_inconsistent_columns.csv"), conf);
        DataSet ds = dc.query().from("csv_inconsistent_columns.csv").select("hello").and("world").execute();
        assertTrue(ds.next());
        assertTrue(ds.next());

        try {
            ds.next();
View Full Code Here

        assertTrue(ds.next());
        assertFalse(ds.next());
    }

    public void testApproximatedCountSmallFile() throws Exception {
        DataContext dc = new CsvDataContext(new File("src/test/resources/csv_people.csv"));

        Table table = dc.getDefaultSchema().getTables()[0];
        Query q = dc.query().from(table).selectCount().toQuery();
        SelectItem selectItem = q.getSelectClause().getItem(0);
        selectItem.setFunctionApproximationAllowed(true);

        DataSet ds = dc.executeQuery(q);
        assertTrue(ds.next());
        Object[] values = ds.getRow().getValues();
        assertEquals(1, values.length);
        assertEquals(9, ((Long) ds.getRow().getValue(selectItem)).intValue());
        assertEquals(9, ((Long) values[0]).intValue());
View Full Code Here

        assertEquals("[michael]", Arrays.toString(result.get(0)));
        assertEquals("[hillary]", Arrays.toString(result.get(1)));
    }

    public void testGetFromInputStream() throws Exception {
        DataContext dc = null;

        // repeat this step a few times to test temp-file creation, see Ticket
        // #437
        for (int i = 0; i < 5; i++) {
            File file = new File("src/test/resources/tickets.csv");
            FileInputStream inputStream = new FileInputStream(file);
            dc = new CsvDataContext(inputStream, new CsvConfiguration());
        }

        Schema schema = dc.getDefaultSchema();
        String name = schema.getTable(0).getName();
        assertTrue(name.startsWith("metamodel"));
        assertTrue(name.endsWith("csv"));

        // Test two seperate reads to ensure that the temp file is working
View Full Code Here

        doTicketFileTests(dc);
    }

    public void testMultilineExample() throws Exception {
        File file = new File("src/test/resources/tickets.csv");
        DataContext dc = new CsvDataContext(file);
        Schema schema = dc.getDefaultSchema();
        Table table = schema.getTableByName("tickets.csv");
        Column descColumn = table.getColumnByName("_description");

        assertNotNull(table);
        assertNotNull(descColumn);
View Full Code Here

        ds.close();
    }

    public void testGroupByQuery() throws Exception {
        DataContext dc = new CsvDataContext(new File("src/test/resources/csv_people.csv"));
        Table table = dc.getDefaultSchema().getTableByName("csv_people.csv");

        Query q = new Query();
        q.from(table);
        q.groupBy(table.getColumnByName("gender"));
        q.select(new SelectItem(table.getColumnByName("gender")),
                new SelectItem(FunctionType.MAX, table.getColumnByName("age")),
                new SelectItem(FunctionType.MIN, table.getColumnByName("age")), new SelectItem(FunctionType.COUNT, "*",
                        "total"), new SelectItem(FunctionType.MIN, table.getColumnByName("id")).setAlias("firstId"));
        DataSet data = dc.executeQuery(q);
        assertEquals(
                "[csv_people.csv.gender, MAX(csv_people.csv.age), MIN(csv_people.csv.age), COUNT(*) AS total, MIN(csv_people.csv.id) AS firstId]",
                Arrays.toString(data.getSelectItems()));

        String[] expectations = new String[] { "Row[values=[female, 20, 17, 5, 5]]", "Row[values=[male, 19, 17, 4, 1]]" };
View Full Code Here

        assertEquals(2, row.length);
        assertEquals("[9, 9]", Arrays.toString(row));
    }

    public void testOffsetAndMaxrows() throws Exception {
        DataContext dc = new CsvDataContext(new File("src/test/resources/csv_people.csv"));

        Table table = dc.getDefaultSchema().getTables()[0];
        Query q = dc.query().from(table).select(table.getColumnByName("name")).toQuery();
        q.setFirstRow(3);
        q.setMaxRows(2);

        DataSet ds;

        ds = dc.executeQuery(q);
        assertEquals(1, ds.getSelectItems().length);
        assertTrue(ds.next());
        assertEquals("peter", ds.getRow().getValue(0).toString());
        assertTrue(ds.next());
        assertEquals("bob", ds.getRow().getValue(0).toString());
        assertFalse(ds.next());
        ds.close();

        // try with iterator
        ds = dc.executeQuery(q);
        int i = 0;
        for (Row row : ds) {
            assertNotNull(row);
            i++;
        }
View Full Code Here

        assertFalse(file.exists());
    }

    public void testOnlyNumberOneSymbol() throws Exception {
        DataContext dc = new CsvDataContext(new File("src/test/resources/csv_only_number_one.csv"));
        Map<Column, TypeConverter<?, ?>> converters = Converters.autoDetectConverters(dc, dc.getDefaultSchema()
                .getTables()[0], 1000);

        assertEquals(1, converters.size());
        assertEquals(StringToBooleanConverter.class, converters.values().iterator().next().getClass());

        dc = Converters.addTypeConverters(dc, converters);

        Table table = dc.getDefaultSchema().getTables()[0];
        MutableColumn col = (MutableColumn) table.getColumns()[0];
        Query q = dc.query().from(table).select(col).toQuery();
        assertEquals("SELECT csv_only_number_one.csv.number FROM resources.csv_only_number_one.csv", q.toSql());

        DataSet ds = dc.executeQuery(q);
        while (ds.next()) {
            assertEquals(true, ds.getRow().getValue(0));
        }
        ds.close();

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

        ds = dc.executeQuery(q);
        while (ds.next()) {
            assertEquals(1, ds.getRow().getValue(0));
        }
        ds.close();
    }
View Full Code Here

TOP

Related Classes of org.apache.metamodel.DataContext

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.